diff --git a/CONTRIBUTORS b/CONTRIBUTORS --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -1,1107 +1,1111 @@ For the purposes of the license agreement in the file COPYRIGHT, a 'contributor' is anybody who is listed in this file (CONTRIBUTORS) or who is listed as an author in one of the source files of this Isabelle distribution. Contributions to Isabelle2023 ----------------------------- +* August 2022 - July 2023: Hannah Lachnitt, Stanford and Mathias Fleury, UFR + Start work toward reconstructing cvc5 proof in the SMT method. This + is currently very experimental and is also changing on the cvc5 side. + * October 2022: Jeremy Sylvestre Lemmas for Fun and List. Contributions to Isabelle2022 ----------------------------- * August 2022: Norbert Schirmer, Apple Record simproc that sorts update expressions. * June 2022: Jan van Brügge, TU München Strict cardinality bounds for BNFs. * April - August 2021: Denis Paluca and Fabian Huch, TU München Various improvements to Isabelle/VSCode. * March 2021: Florian Haftmann, TU München More ambitious minimization of case expressions in generated code; code generation: type annotations in pattern bindings are printed in a way suitable for Scala 3. * July 2022: Florian Haftmann, TU München and René Thiemann, UIBK Theory Code_Abstract_Char implements characters by target language integers, sacrificing pattern patching in exchange for dramatically increased performance for comparisions. * November 2021, July - August 2022: Fabian Huch and Makarius Wenzel Improved HTML presentation. Contributions to Isabelle2021-1 ------------------------------- * September / October 2021: Jasmin Blanchette, Martin Desharnais, Mathias Fleury, Makarius Wenzel Upgrade of automatic theorem provers in Sledgehammer and the "smt" proof method. * July - September 2021: Makarius Wenzel Significantly improved Isabelle/Haskell library. * July - September 2021: Jasmin Blanchette, Martin Desharnais Various improvements to Sledgehammer. * September 2021: Dominique Unruh New theory of infinite sums (theory HOL-Analysis.Infinite_Sum), ordering of complex numbers (theory HOL-Library.Complex_Order), and products of uniform spaces (theory HOL-Analysis.Product_Vector). * August 2021: Fabian Huch, TU München Improved HTML presentation: links to formal entities. * November 2020 / July 2021: Norbert Schirmer, Apple Various improvements and cleanup of session "HOL-Statespace". * July 2021: Florian Haftmann Further consolidation of bit operations and word types. * June 2021: Florian Haftmann More context situations susceptible to global_interpretation. * March 2021: Lukas Stevens New order prover. * March 2021: Florian Haftmann Dedicated session for combinatorics. * March 2021: Simon Foster and Leo Freitas More symbol definitions for Z Notation: Isabelle fonts and LaTeX macros. * February 2021: Manuel Eberl New material in sessions HOL-Analysis and HOL-Probability, most notably Hoeffding's inequality and the negative binomial distribution * January 2021: Jakub Kądziołka Some lemmas for HOL-Computational_Algebra. * January 2021: Martin Rasyzk Fast set operations for red-black trees. Contributions to Isabelle2021 ----------------------------- * January 2021: Manuel Eberl Characteristic of a semiring. * January 2021: Manuel Eberl Algebraic integers in HOL-Computational_Algebra. * December 2020: Stepan Holub Contributed lemmas for theory HOL.List. * December 2020: Martin Desharnais Zipperposition 2.0 as external prover for Sledgehammer. * December 2020: Walter Guttmann Extension of session HOL-Hoare with total correctness proof system. * November / December 2020: Makarius Wenzel Improved HTML presentation and PDF document preparation, using mostly Isabelle/Scala instead of Isabelle/ML. * November 2020: Stepan Holub Removed preconditions from lemma comm_append_are_replicate. * November 2020: Florian Haftmann Bundle mixins for locale and class expressions. * November 2020: Jakub Kądziołka Stronger lemmas about orders of group elements (generate_pow_card). * October 2020: Jasmin Blanchette, Martin Desharnais, Mathias Fleury Support veriT as external prover in Sledgehammer. * October 2020: Mathias Fleury Updated proof reconstruction for the SMT solver veriT in the smt method. * October 2020: Jasmin Blanchette, Martin Desharnais Support E prover 2.5 as external prover in Sledgehammer. * September 2020: Florian Haftmann Substantial reworking and modularization of Word library, with generic type conversions. * August 2020: Makarius Wenzel Finally enable PIDE protocol for batch-builds, with various consequences of handling session build databases, Isabelle/Scala within Isabelle/ML etc. * August 2020: Makarius Wenzel Improved monitoring of runtime statistics: ML GC progress and Java. * July 2020: Martin Desharnais Update to Metis 2.4. * June 2020: Makarius Wenzel Batch-builds via "isabelle build" allow to invoke Scala from ML. * June 2020: Florian Haftmann Simproc defined_all for more aggressive substitution with variables from assumptions. * May 2020: Makarius Wenzel Antiquotations for Isabelle systems programming, notably @{scala_function} and @{scala} to invoke Scala from ML. * May 2020: Florian Haftmann Generic algebraically founded bit operations NOT, AND, OR, XOR. Contributions to Isabelle2020 ----------------------------- * February 2020: E. Gunther, M. Pagano and P. Sánchez Terraf Simplified, generalised version of ZF/Constructible. * January 2020: LC Paulson The full finite Ramsey's theorem and elements of finite and infinite Ramsey theory. * December 2019: Basil Fürer, Andreas Lochbihler, Joshua Schneider, Dmitriy Traytel Extension of lift_bnf to support quotient types. * November 2019: Peter Zeller, TU Kaiserslautern Update of Isabelle/VSCode to WebviewPanel API. * October..December 2019: Makarius Wenzel Isabelle/Phabrictor server setup, including Linux platform support in Isabelle/Scala. Client-side tool "isabelle hg_setup". * October 2019: Maximilian Schäffeler Port of the HOL Light decision procedure for metric spaces. * October 2019: Makarius Wenzel More scalable Isabelle dump and underlying headless PIDE session. * August 2019: Makarius Wenzel Better support for proof terms in Isabelle/Pure, notably via method combinator SUBPROOFS (ML) and "subproofs" (Isar). * July 2019: Alexander Krauss, Makarius Wenzel Minimal support for a soft-type system within the Isabelle logical framework. Contributions to Isabelle2019 ----------------------------- * April 2019: LC Paulson Homology and supporting lemmas on topology and group theory * April 2019: Paulo de Vilhena and Martin Baillon Group theory developments, esp. algebraic closure of a field * February/March 2019: Makarius Wenzel Stateless management of export artifacts in the Isabelle/HOL code generator. * February 2019: Manuel Eberl Exponentiation by squaring, used to implement "power" in monoid_mult and fast modular exponentiation. * February 2019: Manuel Eberl Carmichael's function, primitive roots in residue rings, more properties of the order in residue rings. * February 2019: Jeremy Sylvestre Formal Laurent Series and overhaul of Formal power series. * January 2019: Florian Haftmann Clarified syntax and congruence rules for big operators on sets involving the image operator. * January 2019: Florian Haftmann Renovation of code generation, particularly export into session data and proper strings and proper integers based on zarith for OCaml. * January 2019: Andreas Lochbihler New implementation for case_of_simps based on Code_Lazy's pattern matching elimination algorithm. * November/December 2018: Makarius Wenzel Support for Isabelle/Haskell applications of Isabelle/PIDE. * August/September 2018: Makarius Wenzel Improvements of headless Isabelle/PIDE session and server, and systematic exports from theory documents. * December 2018: Florian Haftmann Generic executable sorting algorithms based on executable comparators. * October 2018: Mathias Fleury Proof reconstruction for the SMT solver veriT in the smt method. Contributions to Isabelle2018 ----------------------------- * July 2018: Manuel Eberl "real_asymp" proof method for automatic proofs of real limits, "Big-O" statements, etc. * June 2018: Fabian Immler More tool support for HOL-Types_To_Sets. * June 2018: Martin Baillon and Paulo Emílio de Vilhena A variety of contributions to HOL-Algebra. * June 2018: Wenda Li New/strengthened results involving analysis, topology, etc. * May/June 2018: Makarius Wenzel System infrastructure to export blobs as theory presentation, and to dump PIDE database content in batch mode. * May 2018: Manuel Eberl Landau symbols and asymptotic equivalence (moved from the AFP). * May 2018: Jose Divasón (Universidad de la Rioja), Jesús Aransay (Universidad de la Rioja), Johannes Hölzl (VU Amsterdam), Fabian Immler (TUM) Generalizations in the formalization of linear algebra. * May 2018: Florian Haftmann Consolidation of string-like types in HOL. * May 2018: Andreas Lochbihler (Digital Asset), Pascal Stoop (ETH Zurich) Code generation with lazy evaluation semantics. * March 2018: Florian Haftmann Abstract bit operations push_bit, take_bit, drop_bit, alongside with an algebraic foundation for bit strings and word types in HOL-ex. * March 2018: Viorel Preoteasa Generalisation of complete_distrib_lattice * February 2018: Wenda Li A unified definition for the order of zeros and poles. Improved reasoning around non-essential singularities. * January 2018: Sebastien Gouezel Various small additions to HOL-Analysis * December 2017: Jan Gilcher, Andreas Lochbihler, Dmitriy Traytel A new conditional parametricity prover. * October 2017: Alexander Maletzky Derivation of axiom "iff" in theory HOL.HOL from the other axioms. Contributions to Isabelle2017 ----------------------------- * September 2017: Lawrence Paulson HOL-Analysis, e.g. simplicial complexes, Jordan Curve Theorem. * September 2017: Jasmin Blanchette Further integration of Nunchaku model finder. * November 2016 - June 2017: Makarius Wenzel New Isabelle/VSCode, with underlying restructuring of Isabelle/PIDE. * 2017: Makarius Wenzel Session-qualified theory names (theory imports and ROOT files). Prover IDE improvements. Support for SQL databases in Isabelle/Scala: SQLite and PostgreSQL. * August 2017: Andreas Lochbihler, ETH Zurich type of unordered pairs (HOL-Library.Uprod) * August 2017: Manuel Eberl, TUM HOL-Analysis: infinite products over natural numbers, infinite sums over arbitrary sets, connection between formal power series and analytic complex functions * March 2017: Alasdair Armstrong, University of Sheffield and Simon Foster, University of York Fixed-point theory and Galois Connections in HOL-Algebra. * February 2017: Florian Haftmann, TUM Statically embedded computations implemented by generated code. Contributions to Isabelle2016-1 ------------------------------- * December 2016: Ondřej Kunčar, TUM Types_To_Sets: experimental extension of Higher-Order Logic to allow translation of types to sets. * October 2016: Jasmin Blanchette Integration of Nunchaku model finder. * October 2016: Jaime Mendizabal Roche, TUM Ported remaining theories of session Old_Number_Theory to the new Number_Theory and removed Old_Number_Theory. * September 2016: Sascha Boehme Proof method "argo" based on SMT technology for a combination of quantifier-free propositional logic, equality and linear real arithmetic * July 2016: Daniel Stuewe Height-size proofs in HOL-Data_Structures. * July 2016: Manuel Eberl, TUM Algebraic foundation for primes; generalization from nat to general factorial rings. * June 2016: Andreas Lochbihler, ETH Zurich Formalisation of discrete subprobability distributions. * June 2016: Florian Haftmann, TUM Improvements to code generation: optional timing measurements, more succint closures for static evaluation, less ambiguities concering Scala implicits. * May 2016: Manuel Eberl, TUM Code generation for Probability Mass Functions. * March 2016: Florian Haftmann, TUM Abstract factorial rings with unique factorization. * March 2016: Florian Haftmann, TUM Reworking of the HOL char type as special case of a finite numeral type. * March 2016: Andreas Lochbihler, ETH Zurich Reasoning support for monotonicity, continuity and admissibility in chain-complete partial orders. * February - October 2016: Makarius Wenzel Prover IDE improvements. ML IDE improvements: bootstrap of Pure. Isar language consolidation. Notational modernization of HOL. Tight Poly/ML integration. More Isabelle/Scala system programming modules (e.g. SSH, Mercurial). * Winter 2016: Jasmin Blanchette, Inria & LORIA & MPII, Aymeric Bouzy, Ecole polytechnique, Andreas Lochbihler, ETH Zurich, Andrei Popescu, Middlesex University, and Dmitriy Traytel, ETH Zurich 'corec' command and friends. * January 2016: Florian Haftmann, TUM Abolition of compound operators INFIMUM and SUPREMUM for complete lattices. Contributions to Isabelle2016 ----------------------------- * Winter 2016: Manuel Eberl, TUM Support for real exponentiation ("powr") in the "approximation" method. (This was removed in Isabelle 2015 due to a changed definition of "powr".) * Summer 2015 - Winter 2016: Lawrence C Paulson, Cambridge General, homology form of Cauchy's integral theorem and supporting material (ported from HOL Light). * Winter 2015/16: Gerwin Klein, NICTA New print_record command. * May - December 2015: Makarius Wenzel Prover IDE improvements. More Isar language elements. Document language refinements. Poly/ML debugger integration. Improved multi-platform and multi-architecture support. * Winter 2015: Manuel Eberl, TUM The radius of convergence of power series and various summability tests. Harmonic numbers and the Euler-Mascheroni constant. The Generalised Binomial Theorem. The complex and real Gamma/log-Gamma/Digamma/Polygamma functions and their most important properties. * Autumn 2015: Manuel Eberl, TUM Proper definition of division (with remainder) for formal power series; Euclidean Ring and GCD instance for formal power series. * Autumn 2015: Florian Haftmann, TUM Rewrite definitions for global interpretations and sublocale declarations. * Autumn 2015: Andreas Lochbihler Bourbaki-Witt fixpoint theorem for increasing functions on chain-complete partial orders. * Autumn 2015: Chaitanya Mangla, Lawrence C Paulson, and Manuel Eberl A large number of additional binomial identities. * Summer 2015: Daniel Matichuk, NICTA and Makarius Wenzel Isar subgoal command for proof structure within unstructured proof scripts. * Summer 2015: Florian Haftmann, TUM Generic partial division in rings as inverse operation of multiplication. * Summer 2015: Manuel Eberl and Florian Haftmann, TUM Type class hierarchy with common algebraic notions of integral (semi)domains like units, associated elements and normalization wrt. units. * Summer 2015: Florian Haftmann, TUM Fundamentals of abstract type class for factorial rings. * Summer 2015: Julian Biendarra, TUM and Dmitriy Traytel, ETH Zurich Command to lift a BNF structure on the raw type to the abstract type for typedefs. * Summer 2014: Jeremy Avigad, Luke Serafin, CMU, and Johannes Hölzl, TUM Proof of the central limit theorem: includes weak convergence, characteristic functions, and Levy's uniqueness and continuity theorem. Contributions to Isabelle2015 ----------------------------- * 2014/2015: Daniel Matichuk, Toby Murray, NICTA and Makarius Wenzel The Eisbach proof method language and "match" method. * Winter 2014 and Spring 2015: Ondrej Kuncar, TUM Extension of lift_definition to execute lifted functions that have as a return type a datatype containing a subtype. * March 2015: Jasmin Blanchette, Inria & LORIA & MPII, Mathias Fleury, MPII, and Dmitriy Traytel, TUM More multiset theorems, syntax, and operations. * December 2014: Johannes Hölzl, Manuel Eberl, Sudeep Kanav, TUM, and Jeremy Avigad, Luke Serafin, CMU Various integration theorems: mostly integration on intervals and substitution. * September 2014: Florian Haftmann, TUM Lexicographic order on functions and sum/product over function bodies. * August 2014: Andreas Lochbihler, ETH Zurich Test infrastructure for executing generated code in target languages. * August 2014: Manuel Eberl, TUM Generic euclidean algorithms for GCD et al. Contributions to Isabelle2014 ----------------------------- * July 2014: Thomas Sewell, NICTA Preserve equality hypotheses in "clarify" and friends. New "hypsubst_thin" method configuration option. * Summer 2014: Florian Haftmann, TUM Consolidation and generalization of facts concerning (abelian) semigroups and monoids, particularly products (resp. sums) on finite sets. * Summer 2014: Mathias Fleury, ENS Rennes, and Albert Steckermeier, TUM Work on exotic automatic theorem provers for Sledgehammer (LEO-II, veriT, Waldmeister, etc.). * June 2014: Florian Haftmann, TUM Internal reorganisation of the local theory / named target stack. * June 2014: Sudeep Kanav, TUM, Jeremy Avigad, CMU, and Johannes Hölzl, TUM Various properties of exponentially, Erlang, and normal distributed random variables. * May 2014: Cezary Kaliszyk, University of Innsbruck, and Jasmin Blanchette, TUM SML-based engines for MaSh. * March 2014: René Thiemann Improved code generation for multisets. * February 2014: Florian Haftmann, TUM Permanent interpretation inside theory, locale and class targets with mixin definitions. * Spring 2014: Lawrence C Paulson, Cambridge Theory Complex_Basic_Analysis. Tidying up Number_Theory vs Old_Number_Theory * Winter 2013 and Spring 2014: Ondrej Kuncar, TUM Various improvements to Lifting/Transfer, integration with the BNF package. * Winter 2013 and Spring 2014: Makarius Wenzel, Université Paris-Sud / LRI Improvements of Isabelle/Scala and Isabelle/jEdit Prover IDE. * Fall 2013 and Winter 2014: Martin Desharnais, Lorenz Panny, Dmitriy Traytel, and Jasmin Blanchette, TUM Various improvements to the BNF-based (co)datatype package, including a more polished "primcorec" command, optimizations, and integration in the "HOL" session. * Winter/Spring 2014: Sascha Boehme, QAware GmbH, and Jasmin Blanchette, TUM "SMT2" module and "smt2" proof method, based on SMT-LIB 2 and Z3 4.3. * January 2014: Lars Hupel, TUM An improved, interactive simplifier trace with integration into the Isabelle/jEdit Prover IDE. * December 2013: Florian Haftmann, TUM Consolidation of abstract interpretations concerning min and max. * November 2013: Florian Haftmann, TUM Abolition of negative numeral literals in the logic. Contributions to Isabelle2013-1 ------------------------------- * September 2013: Lars Noschinski, TUM Conversion between function definitions as list of equations and case expressions in HOL. New library Simps_Case_Conv with commands case_of_simps, simps_of_case. * September 2013: Nik Sultana, University of Cambridge Improvements to HOL/TPTP parser and import facilities. * September 2013: Johannes Hölzl and Dmitriy Traytel, TUM New "coinduction" method (residing in HOL-BNF) to avoid boilerplate. * Summer 2013: Makarius Wenzel, Université Paris-Sud / LRI Improvements of Isabelle/Scala and Isabelle/jEdit Prover IDE. * Summer 2013: Manuel Eberl, TUM Generation of elimination rules in the function package. New command "fun_cases". * Summer 2013: Christian Sternagel, JAIST Improved support for ad hoc overloading of constants, including documentation and examples. * Spring and Summer 2013: Lorenz Panny, Dmitriy Traytel, and Jasmin Blanchette, TUM Various improvements to the BNF-based (co)datatype package, including "primrec_new" and "primcorec" commands and a compatibility layer. * Spring and Summer 2013: Ondrej Kuncar, TUM Various improvements of Lifting and Transfer packages. * Spring 2013: Brian Huffman, Galois Inc. Improvements of the Transfer package. * Summer 2013: Daniel Kühlwein, ICIS, Radboud University Nijmegen Jasmin Blanchette, TUM Various improvements to MaSh, including a server mode. * First half of 2013: Steffen Smolka, TUM Further improvements to Sledgehammer's Isar proof generator. * May 2013: Florian Haftmann, TUM Ephemeral interpretation in local theories. * May 2013: Lukas Bulwahn and Nicolai Schaffroth, TUM Spec_Check: A Quickcheck tool for Isabelle/ML. * April 2013: Stefan Berghofer, secunet Security Networks AG Dmitriy Traytel, TUM Makarius Wenzel, Université Paris-Sud / LRI Case translations as a separate check phase independent of the datatype package. * March 2013: Florian Haftmann, TUM Reform of "big operators" on sets. * March 2013: Florian Haftmann, TUM Algebraic locale hierarchy for orderings and (semi)lattices. * February 2013: Florian Haftmann, TUM Reworking and consolidation of code generation for target language numerals. * February 2013: Florian Haftmann, TUM Sieve of Eratosthenes. Contributions to Isabelle2013 ----------------------------- * 2012: Makarius Wenzel, Université Paris-Sud / LRI Improvements of Isabelle/Scala and Isabelle/jEdit Prover IDE. * Fall 2012: Daniel Kühlwein, ICIS, Radboud University Nijmegen Jasmin Blanchette, TUM Implemented Machine Learning for Sledgehammer (MaSh). * Fall 2012: Steffen Smolka, TUM Various improvements to Sledgehammer's Isar proof generator, including a smart type annotation algorithm and proof shrinking. * December 2012: Alessandro Coglio, Kestrel Contributions to HOL's Lattice library. * November 2012: Fabian Immler, TUM "Symbols" dockable for Isabelle/jEdit. * November 2012: Fabian Immler, TUM Proof of the Daniell-Kolmogorov theorem: the existence of the limit of projective families. * October 2012: Andreas Lochbihler, KIT Efficient construction of red-black trees from sorted associative lists. * September 2012: Florian Haftmann, TUM Lattice instances for type option. * September 2012: Christian Sternagel, JAIST Consolidated HOL/Library (theories: Prefix_Order, Sublist, and Sublist_Order) w.r.t. prefixes, suffixes, and embedding on lists. * August 2012: Dmitriy Traytel, Andrei Popescu, Jasmin Blanchette, TUM New BNF-based (co)datatype package. * August 2012: Andrei Popescu and Dmitriy Traytel, TUM Theories of ordinals and cardinals. * July 2012: Makarius Wenzel, Université Paris-Sud / LRI Advanced support for Isabelle sessions and build management, notably "isabelle build". * June 2012: Felix Kuperjans, Lukas Bulwahn, TUM and Rafal Kolanski, NICTA Simproc for rewriting set comprehensions into pointfree expressions. * May 2012: Andreas Lochbihler, KIT Theory of almost everywhere constant functions. * 2010-2012: Markus Kaiser and Lukas Bulwahn, TUM Graphview in Scala/Swing. Contributions to Isabelle2012 ----------------------------- * April 2012: Johannes Hölzl, TUM Probability: Introduced type to represent measures instead of locales. * April 2012: Johannes Hölzl, Fabian Immler, TUM Float: Moved to Dyadic rationals to represent floating point numers. * April 2012: Thomas Sewell, NICTA and 2010: Sascha Boehme, TUM Theory HOL/Word/WordBitwise: logic/circuit expansion of bitvector equalities/inequalities. * March 2012: Christian Sternagel, JAIST Consolidated theory of relation composition. * March 2012: Nik Sultana, University of Cambridge HOL/TPTP parser and import facilities. * March 2012: Cezary Kaliszyk, University of Innsbruck and Alexander Krauss, QAware GmbH Faster and more scalable Import mechanism for HOL Light proofs. * January 2012: Florian Haftmann, TUM, et al. (Re-)Introduction of the "set" type constructor. * 2012: Ondrej Kuncar, TUM New package Lifting, various improvements and refinements to the Quotient package. * 2011/2012: Jasmin Blanchette, TUM Various improvements to Sledgehammer, notably: tighter integration with SPASS, support for more provers (Alt-Ergo, iProver, iProver-Eq). * 2011/2012: Makarius Wenzel, Université Paris-Sud / LRI Various refinements of local theory infrastructure. Improvements of Isabelle/Scala layer and Isabelle/jEdit Prover IDE. Contributions to Isabelle2011-1 ------------------------------- * September 2011: Peter Gammie Theory HOL/Library/Saturated: numbers with saturated arithmetic. * August 2011: Florian Haftmann, Johannes Hölzl and Lars Noschinski, TUM Refined theory on complete lattices. * August 2011: Brian Huffman, Portland State University Miscellaneous cleanup of Complex_Main and Multivariate_Analysis. * June 2011: Brian Huffman, Portland State University Proof method "countable_datatype" for theory Library/Countable. * 2011: Jasmin Blanchette, TUM Various improvements to Sledgehammer, notably: use of sound translations, support for more provers (Waldmeister, LEO-II, Satallax). Further development of Nitpick and 'try' command. * 2011: Andreas Lochbihler, Karlsruhe Institute of Technology Theory HOL/Library/Cset_Monad allows do notation for computable sets (cset) via the generic monad ad-hoc overloading facility. * 2011: Johannes Hölzl, Armin Heller, TUM and Bogdan Grechuk, University of Edinburgh Theory HOL/Library/Extended_Reals: real numbers extended with plus and minus infinity. * 2011: Makarius Wenzel, Université Paris-Sud / LRI Various building blocks for Isabelle/Scala layer and Isabelle/jEdit Prover IDE. Contributions to Isabelle2011 ----------------------------- * January 2011: Stefan Berghofer, secunet Security Networks AG HOL-SPARK: an interactive prover back-end for SPARK. * October 2010: Bogdan Grechuk, University of Edinburgh Extended convex analysis in Multivariate Analysis. * October 2010: Dmitriy Traytel, TUM Coercive subtyping via subtype constraints. * October 2010: Alexander Krauss, TUM Command partial_function for function definitions based on complete partial orders in HOL. * September 2010: Florian Haftmann, TUM Refined concepts for evaluation, i.e., normalization of terms using different techniques. * September 2010: Florian Haftmann, TUM Code generation for Scala. * August 2010: Johannes Hoelzl, Armin Heller, and Robert Himmelmann, TUM Improved Probability theory in HOL. * July 2010: Florian Haftmann, TUM Reworking and extension of the Imperative HOL framework. * July 2010: Alexander Krauss, TUM and Christian Sternagel, University of Innsbruck Ad-hoc overloading. Generic do notation for monads. Contributions to Isabelle2009-2 ------------------------------- * 2009/2010: Stefan Berghofer, Alexander Krauss, and Andreas Schropp, TUM, Makarius Wenzel, TUM / LRI Elimination of type classes from proof terms. * April 2010: Florian Haftmann, TUM Reorganization of abstract algebra type classes. * April 2010: Florian Haftmann, TUM Code generation for data representations involving invariants; various collections avaiable in theories Fset, Dlist, RBT, Mapping and AssocList. * March 2010: Sascha Boehme, TUM Efficient SHA1 library for Poly/ML. * February 2010: Cezary Kaliszyk and Christian Urban, TUM Quotient type package for Isabelle/HOL. Contributions to Isabelle2009-1 ------------------------------- * November 2009, Brian Huffman, PSU New definitional domain package for HOLCF. * November 2009: Robert Himmelmann, TUM Derivation and Brouwer's fixpoint theorem in Multivariate Analysis. * November 2009: Stefan Berghofer and Lukas Bulwahn, TUM A tabled implementation of the reflexive transitive closure. * November 2009: Lukas Bulwahn, TUM Predicate Compiler: a compiler for inductive predicates to equational specifications. * November 2009: Sascha Boehme, TUM and Burkhart Wolff, LRI Paris HOL-Boogie: an interactive prover back-end for Boogie and VCC. * October 2009: Jasmin Blanchette, TUM Nitpick: yet another counterexample generator for Isabelle/HOL. * October 2009: Sascha Boehme, TUM Extension of SMT method: proof-reconstruction for the SMT solver Z3. * October 2009: Florian Haftmann, TUM Refinement of parts of the HOL datatype package. * October 2009: Florian Haftmann, TUM Generic term styles for term antiquotations. * September 2009: Thomas Sewell, NICTA More efficient HOL/record implementation. * September 2009: Sascha Boehme, TUM SMT method using external SMT solvers. * September 2009: Florian Haftmann, TUM Refinement of sets and lattices. * July 2009: Jeremy Avigad and Amine Chaieb New number theory. * July 2009: Philipp Meyer, TUM HOL/Library/Sum_Of_Squares: functionality to call a remote csdp prover. * July 2009: Florian Haftmann, TUM New quickcheck implementation using new code generator. * July 2009: Florian Haftmann, TUM HOL/Library/Fset: an explicit type of sets; finite sets ready to use for code generation. * June 2009: Florian Haftmann, TUM HOL/Library/Tree: search trees implementing mappings, ready to use for code generation. * March 2009: Philipp Meyer, TUM Minimization tool for results from Sledgehammer. Contributions to Isabelle2009 ----------------------------- * March 2009: Robert Himmelmann, TUM and Amine Chaieb, University of Cambridge Elementary topology in Euclidean space. * March 2009: Johannes Hoelzl, TUM Method "approximation", which proves real valued inequalities by computation. * February 2009: Filip Maric, Univ. of Belgrade A Serbian theory. * February 2009: Jasmin Christian Blanchette, TUM Misc cleanup of HOL/refute. * February 2009: Timothy Bourke, NICTA New find_consts command. * February 2009: Timothy Bourke, NICTA "solves" criterion for find_theorems and auto_solve option * December 2008: Clemens Ballarin, TUM New locale implementation. * December 2008: Armin Heller, TUM and Alexander Krauss, TUM Method "sizechange" for advanced termination proofs. * November 2008: Timothy Bourke, NICTA Performance improvement (factor 50) for find_theorems. * 2008: Florian Haftmann, TUM Various extensions and restructurings in HOL, improvements in evaluation mechanisms, new module binding.ML for name bindings. * October 2008: Fabian Immler, TUM ATP manager for Sledgehammer, based on ML threads instead of Posix processes. Additional ATP wrappers, including remote SystemOnTPTP services. * September 2008: Stefan Berghofer, TUM and Marc Bezem, Univ. Bergen Prover for coherent logic. * August 2008: Fabian Immler, TUM Vampire wrapper script for remote SystemOnTPTP service. Contributions to Isabelle2008 ----------------------------- * 2007/2008: Alexander Krauss, TUM and Florian Haftmann, TUM and Stefan Berghofer, TUM HOL library improvements. * 2007/2008: Brian Huffman, PSU HOLCF library improvements. * 2007/2008: Stefan Berghofer, TUM HOL-Nominal package improvements. * March 2008: Markus Reiter, TUM HOL/Library/RBT: red-black trees. * February 2008: Alexander Krauss, TUM and Florian Haftmann, TUM and Lukas Bulwahn, TUM and John Matthews, Galois: HOL/Library/Imperative_HOL: Haskell-style imperative data structures for HOL. * December 2007: Norbert Schirmer, Uni Saarbruecken Misc improvements of record package in HOL. * December 2007: Florian Haftmann, TUM Overloading and class instantiation target. * December 2007: Florian Haftmann, TUM New version of primrec package for local theories. * December 2007: Alexander Krauss, TUM Method "induction_scheme" in HOL. * November 2007: Peter Lammich, Uni Muenster HOL-Lattice: some more lemmas. Contributions to Isabelle2007 ----------------------------- * October 2007: Norbert Schirmer, TUM / Uni Saarbruecken State Spaces: The Locale Way (in HOL). * October 2007: Mark A. Hillebrand, DFKI Robust sub/superscripts in LaTeX document output. * August 2007: Jeremy Dawson, NICTA and Paul Graunke, Galois and Brian Huffman, PSU and Gerwin Klein, NICTA and John Matthews, Galois HOL-Word: a library for fixed-size machine words in Isabelle. * August 2007: Brian Huffman, PSU HOL/Library/Boolean_Algebra and HOL/Library/Numeral_Type. * June 2007: Amine Chaieb, TUM Semiring normalization and Groebner Bases. Support for dense linear orders. * June 2007: Joe Hurd, Oxford Metis theorem-prover. * 2007: Kong W. Susanto, Cambridge HOL: Metis prover integration. * 2007: Stefan Berghofer, TUM HOL: inductive predicates and sets. * 2007: Norbert Schirmer, TUM HOL/record: misc improvements. * 2006/2007: Alexander Krauss, TUM HOL: function package and related theories on termination. * 2006/2007: Florian Haftmann, TUM Pure: generic code generator framework. Pure: class package. HOL: theory reorganization, code generator setup. * 2006/2007: Christian Urban, TUM and Stefan Berghofer, TUM and Julien Narboux, TUM HOL/Nominal package and related tools. * November 2006: Lukas Bulwahn, TUM HOL: method "lexicographic_order" for function package. * October 2006: Stefan Hohe, TUM HOL-Algebra: ideals and quotients over rings. * August 2006: Amine Chaieb, TUM Experimental support for generic reflection and reification in HOL. * July 2006: Rafal Kolanski, NICTA Hex (0xFF) and binary (0b1011) numerals. * May 2006: Klaus Aehlig, LMU Command 'normal_form': normalization by evaluation. * May 2006: Amine Chaieb, TUM HOL-Complex: Ferrante and Rackoff Algorithm for linear real arithmetic. * February 2006: Benjamin Porter, NICTA HOL and HOL-Complex: generalised mean value theorem, continuum is not denumerable, harmonic and arithmetic series, and denumerability of rationals. * October 2005: Martin Wildmoser, TUM Sketch for Isar 'guess' element. Contributions to Isabelle2005 ----------------------------- * September 2005: Lukas Bulwahn and Bernhard Haeupler, TUM HOL-Complex: Formalization of Taylor series. * September 2005: Stephan Merz, Alwen Tiu, QSL Loria Components for SAT solver method using zChaff. * September 2005: Ning Zhang and Christian Urban, LMU Munich A Chinese theory. * September 2005: Bernhard Haeupler, TUM Method comm_ring for proving equalities in commutative rings. * July/August 2005: Jeremy Avigad, Carnegie Mellon University Various improvements of the HOL and HOL-Complex library. * July 2005: Florian Zuleger, Johannes Hoelzl, and Simon Funke, TUM Some structured proofs about completeness of real numbers. * May 2005: Rafal Kolanski and Gerwin Klein, NICTA Improved retrieval of facts from theory/proof context. * February 2005: Lucas Dixon, University of Edinburgh Improved subst method. * 2005: Brian Huffman, OGI Various improvements of HOLCF. Some improvements of the HOL-Complex library. * 2005: Claire Quigley and Jia Meng, University of Cambridge Some support for asynchronous communication with external provers (experimental). * 2005: Florian Haftmann, TUM Contributions to document 'sugar'. Various ML combinators, notably linear functional transformations. Some cleanup of ML legacy. Additional antiquotations. Improved Isabelle web site. * 2004/2005: David Aspinall, University of Edinburgh Various elements of XML and PGIP based communication with user interfaces (experimental). * 2004/2005: Gerwin Klein, NICTA Contributions to document 'sugar'. Improved Isabelle web site. Improved HTML presentation of theories. * 2004/2005: Clemens Ballarin, TUM Provers: tools for transitive relations and quasi orders. Improved version of locales, notably interpretation of locales. Improved version of HOL-Algebra. * 2004/2005: Amine Chaieb, TUM Improved version of HOL presburger method. * 2004/2005: Steven Obua, TUM Improved version of HOL/Import, support for HOL-Light. Improved version of HOL-Complex-Matrix. Pure/defs: more sophisticated checks on well-formedness of overloading. Pure/Tools: an experimental evaluator for lambda terms. * 2004/2005: Norbert Schirmer, TUM Contributions to document 'sugar'. Improved version of HOL/record. * 2004/2005: Sebastian Skalberg, TUM Improved version of HOL/Import. Some internal ML reorganizations. * 2004/2005: Tjark Weber, TUM SAT solver method using zChaff. Improved version of HOL/refute. :maxLineLen=78: diff --git a/src/HOL/SMT.thy b/src/HOL/SMT.thy --- a/src/HOL/SMT.thy +++ b/src/HOL/SMT.thy @@ -1,922 +1,924 @@ (* Title: HOL/SMT.thy Author: Sascha Boehme, TU Muenchen Author: Jasmin Blanchette, VU Amsterdam *) section \Bindings to Satisfiability Modulo Theories (SMT) solvers based on SMT-LIB 2\ theory SMT imports Divides Numeral_Simprocs keywords "smt_status" :: diag begin subsection \A skolemization tactic and proof method\ lemma choices: "\Q. \x. \y ya. Q x y ya \ \f fa. \x. Q x (f x) (fa x)" "\Q. \x. \y ya yb. Q x y ya yb \ \f fa fb. \x. Q x (f x) (fa x) (fb x)" "\Q. \x. \y ya yb yc. Q x y ya yb yc \ \f fa fb fc. \x. Q x (f x) (fa x) (fb x) (fc x)" "\Q. \x. \y ya yb yc yd. Q x y ya yb yc yd \ \f fa fb fc fd. \x. Q x (f x) (fa x) (fb x) (fc x) (fd x)" "\Q. \x. \y ya yb yc yd ye. Q x y ya yb yc yd ye \ \f fa fb fc fd fe. \x. Q x (f x) (fa x) (fb x) (fc x) (fd x) (fe x)" "\Q. \x. \y ya yb yc yd ye yf. Q x y ya yb yc yd ye yf \ \f fa fb fc fd fe ff. \x. Q x (f x) (fa x) (fb x) (fc x) (fd x) (fe x) (ff x)" "\Q. \x. \y ya yb yc yd ye yf yg. Q x y ya yb yc yd ye yf yg \ \f fa fb fc fd fe ff fg. \x. Q x (f x) (fa x) (fb x) (fc x) (fd x) (fe x) (ff x) (fg x)" by metis+ lemma bchoices: "\Q. \x \ S. \y ya. Q x y ya \ \f fa. \x \ S. Q x (f x) (fa x)" "\Q. \x \ S. \y ya yb. Q x y ya yb \ \f fa fb. \x \ S. Q x (f x) (fa x) (fb x)" "\Q. \x \ S. \y ya yb yc. Q x y ya yb yc \ \f fa fb fc. \x \ S. Q x (f x) (fa x) (fb x) (fc x)" "\Q. \x \ S. \y ya yb yc yd. Q x y ya yb yc yd \ \f fa fb fc fd. \x \ S. Q x (f x) (fa x) (fb x) (fc x) (fd x)" "\Q. \x \ S. \y ya yb yc yd ye. Q x y ya yb yc yd ye \ \f fa fb fc fd fe. \x \ S. Q x (f x) (fa x) (fb x) (fc x) (fd x) (fe x)" "\Q. \x \ S. \y ya yb yc yd ye yf. Q x y ya yb yc yd ye yf \ \f fa fb fc fd fe ff. \x \ S. Q x (f x) (fa x) (fb x) (fc x) (fd x) (fe x) (ff x)" "\Q. \x \ S. \y ya yb yc yd ye yf yg. Q x y ya yb yc yd ye yf yg \ \f fa fb fc fd fe ff fg. \x \ S. Q x (f x) (fa x) (fb x) (fc x) (fd x) (fe x) (ff x) (fg x)" by metis+ ML \ fun moura_tac ctxt = Atomize_Elim.atomize_elim_tac ctxt THEN' SELECT_GOAL (Clasimp.auto_tac (ctxt addSIs @{thms choice choices bchoice bchoices}) THEN ALLGOALS (Metis_Tactic.metis_tac (take 1 ATP_Proof_Reconstruct.partial_type_encs) ATP_Proof_Reconstruct.default_metis_lam_trans ctxt [] ORELSE' blast_tac ctxt)) \ method_setup moura = \ Scan.succeed (SIMPLE_METHOD' o moura_tac) \ "solve skolemization goals, especially those arising from Z3 proofs" hide_fact (open) choices bchoices subsection \Triggers for quantifier instantiation\ text \ Some SMT solvers support patterns as a quantifier instantiation heuristics. Patterns may either be positive terms (tagged by "pat") triggering quantifier instantiations -- when the solver finds a term matching a positive pattern, it instantiates the corresponding quantifier accordingly -- or negative terms (tagged by "nopat") inhibiting quantifier instantiations. A list of patterns of the same kind is called a multipattern, and all patterns in a multipattern are considered conjunctively for quantifier instantiation. A list of multipatterns is called a trigger, and their multipatterns act disjunctively during quantifier instantiation. Each multipattern should mention at least all quantified variables of the preceding quantifier block. \ typedecl 'a symb_list consts Symb_Nil :: "'a symb_list" Symb_Cons :: "'a \ 'a symb_list \ 'a symb_list" typedecl pattern consts pat :: "'a \ pattern" nopat :: "'a \ pattern" definition trigger :: "pattern symb_list symb_list \ bool \ bool" where "trigger _ P = P" subsection \Higher-order encoding\ text \ Application is made explicit for constants occurring with varying numbers of arguments. This is achieved by the introduction of the following constant. \ definition fun_app :: "'a \ 'a" where "fun_app f = f" text \ Some solvers support a theory of arrays which can be used to encode higher-order functions. The following set of lemmas specifies the properties of such (extensional) arrays. \ lemmas array_rules = ext fun_upd_apply fun_upd_same fun_upd_other fun_upd_upd fun_app_def subsection \Normalization\ lemma case_bool_if[abs_def]: "case_bool x y P = (if P then x else y)" by simp lemmas Ex1_def_raw = Ex1_def[abs_def] lemmas Ball_def_raw = Ball_def[abs_def] lemmas Bex_def_raw = Bex_def[abs_def] lemmas abs_if_raw = abs_if[abs_def] lemmas min_def_raw = min_def[abs_def] lemmas max_def_raw = max_def[abs_def] lemma nat_zero_as_int: "0 = nat 0" by simp lemma nat_one_as_int: "1 = nat 1" by simp lemma nat_numeral_as_int: "numeral = (\i. nat (numeral i))" by simp lemma nat_less_as_int: "(<) = (\a b. int a < int b)" by simp lemma nat_leq_as_int: "(\) = (\a b. int a \ int b)" by simp lemma Suc_as_int: "Suc = (\a. nat (int a + 1))" by (rule ext) simp lemma nat_plus_as_int: "(+) = (\a b. nat (int a + int b))" by (rule ext)+ simp lemma nat_minus_as_int: "(-) = (\a b. nat (int a - int b))" by (rule ext)+ simp lemma nat_times_as_int: "(*) = (\a b. nat (int a * int b))" by (simp add: nat_mult_distrib) lemma nat_div_as_int: "(div) = (\a b. nat (int a div int b))" by (simp add: nat_div_distrib) lemma nat_mod_as_int: "(mod) = (\a b. nat (int a mod int b))" by (simp add: nat_mod_distrib) lemma int_Suc: "int (Suc n) = int n + 1" by simp lemma int_plus: "int (n + m) = int n + int m" by (rule of_nat_add) lemma int_minus: "int (n - m) = int (nat (int n - int m))" by auto lemma nat_int_comparison: fixes a b :: nat shows "(a = b) = (int a = int b)" and "(a < b) = (int a < int b)" and "(a \ b) = (int a \ int b)" by simp_all lemma int_ops: fixes a b :: nat shows "int 0 = 0" and "int 1 = 1" and "int (numeral n) = numeral n" and "int (Suc a) = int a + 1" and "int (a + b) = int a + int b" and "int (a - b) = (if int a < int b then 0 else int a - int b)" and "int (a * b) = int a * int b" and "int (a div b) = int a div int b" and "int (a mod b) = int a mod int b" by (auto intro: zdiv_int zmod_int) lemma int_if: fixes a b :: nat shows "int (if P then a else b) = (if P then int a else int b)" by simp subsection \Integer division and modulo for Z3\ text \ The following Z3-inspired definitions are overspecified for the case where \l = 0\. This Schönheitsfehler is corrected in the \div_as_z3div\ and \mod_as_z3mod\ theorems. \ definition z3div :: "int \ int \ int" where "z3div k l = (if l \ 0 then k div l else - (k div - l))" definition z3mod :: "int \ int \ int" where "z3mod k l = k mod (if l \ 0 then l else - l)" lemma div_as_z3div: "\k l. k div l = (if l = 0 then 0 else if l > 0 then z3div k l else z3div (- k) (- l))" by (simp add: z3div_def) lemma mod_as_z3mod: "\k l. k mod l = (if l = 0 then k else if l > 0 then z3mod k l else - z3mod (- k) (- l))" by (simp add: z3mod_def) subsection \Extra theorems for veriT reconstruction\ lemma verit_sko_forall: \(\x. P x) \ P (SOME x. \P x)\ using someI[of \\x. \P x\] by auto lemma verit_sko_forall': \P (SOME x. \P x) = A \ (\x. P x) = A\ by (subst verit_sko_forall) lemma verit_sko_forall'': \B = A \ (SOME x. P x) = A \ (SOME x. P x) = B\ by auto lemma verit_sko_forall_indirect: \x = (SOME x. \P x) \ (\x. P x) \ P x\ using someI[of \\x. \P x\] by auto lemma verit_sko_forall_indirect2: \x = (SOME x. \P x) \ (\x :: 'a. (P x = P' x)) \(\x. P' x) \ P x\ using someI[of \\x. \P x\] by auto lemma verit_sko_ex: \(\x. P x) \ P (SOME x. P x)\ using someI[of \\x. P x\] by auto lemma verit_sko_ex': \P (SOME x. P x) = A \ (\x. P x) = A\ by (subst verit_sko_ex) lemma verit_sko_ex_indirect: \x = (SOME x. P x) \ (\x. P x) \ P x\ using someI[of \\x. P x\] by auto lemma verit_sko_ex_indirect2: \x = (SOME x. P x) \ (\x. P x = P' x) \ (\x. P' x) \ P x\ using someI[of \\x. P x\] by auto lemma verit_Pure_trans: \P \ Q \ Q \ P\ by auto lemma verit_if_cong: assumes \b \ c\ and \c \ x \ u\ and \\ c \ y \ v\ shows \(if b then x else y) \ (if c then u else v)\ using assms if_cong[of b c x u] by auto lemma verit_if_weak_cong': \b \ c \ (if b then x else y) \ (if c then x else y)\ by auto lemma verit_or_neg: \(A \ B) \ B \ \A\ \(\A \ B) \ B \ A\ by auto lemma verit_subst_bool: \P \ f True \ f P\ by auto lemma verit_and_pos: \(a \ \(b \ c) \ A) \ \(a \ b \ c) \ A\ \(a \ b \ A) \ \(a \ b) \ A\ \(a \ A) \ \a \ A\ \(\a \ A) \ a \ A\ by blast+ lemma verit_or_pos: \A \ A' \ (c \ A) \ (\c \ A')\ \A \ A' \ (\c \ A) \ (c \ A')\ by blast+ lemma verit_la_generic: \(a::int) \ x \ a = x \ a \ x\ by linarith lemma verit_bfun_elim: \(if b then P True else P False) = P b\ \(\b. P' b) = (P' False \ P' True)\ \(\b. P' b) = (P' False \ P' True)\ by (cases b) (auto simp: all_bool_eq ex_bool_eq) lemma verit_eq_true_simplify: \(P = True) \ P\ by auto lemma verit_and_neg: \(a \ \b \ A) \ \(a \ b) \ A\ \(a \ A) \ \a \ A\ \(\a \ A) \ a \ A\ by blast+ lemma verit_forall_inst: \A \ B \ \A \ B\ \\A \ B \ A \ B\ \A \ B \ \B \ A\ \A \ \B \ B \ A\ \A \ B \ \A \ B\ \\A \ B \ A \ B\ by blast+ lemma verit_eq_transitive: \A = B \ B = C \ A = C\ \A = B \ C = B \ A = C\ \B = A \ B = C \ A = C\ \B = A \ C = B \ A = C\ by auto lemma verit_bool_simplify: \\(P \ Q) \ P \ \Q\ \\(P \ Q) \ \P \ \Q\ \\(P \ Q) \ \P \ \Q\ \(P \ (Q \ R)) \ ((P \ Q) \ R)\ \((P \ Q) \ Q) \ P \ Q\ \(Q \ (P \ Q)) \ (P \ Q)\ \ \This rule was inverted\ \P \ (P \ Q) \ P \ Q\ \(P \ Q) \ P \ P \ Q\ (* \\Additional rules:\ * \((P \ Q) \ P) \ P\ * \((P \ Q) \ Q) \ P \ Q\ * \(P \ Q) \ P\ *) unfolding not_imp imp_conjL by auto text \We need the last equation for \<^term>\\(\a b. \P a b)\\ lemma verit_connective_def: \ \the definition of XOR is missing as the operator is not generated by Isabelle\ \(A = B) \ ((A \ B) \ (B \ A))\ \(If A B C) = ((A \ B) \ (\A \ C))\ \(\x. P x) \ \(\x. \P x)\ \\(\x. P x) \ (\x. \P x)\ by auto lemma verit_ite_simplify: \(If True B C) = B\ \(If False B C) = C\ \(If A' B B) = B\ \(If (\A') B C) = (If A' C B)\ \(If c (If c A B) C) = (If c A C)\ \(If c C (If c A B)) = (If c C B)\ \(If A' True False) = A'\ \(If A' False True) \ \A'\ \(If A' True B') \ A'\B'\ \(If A' B' False) \ A'\B'\ \(If A' False B') \ \A'\B'\ \(If A' B' True) \ \A'\B'\ \x \ True \ x\ \x \ False \ x\ for B C :: 'a and A' B' C' :: bool by auto lemma verit_and_simplify1: \True \ b \ b\ \b \ True \ b\ \False \ b \ False\ \b \ False \ False\ \(c \ \c) \ False\ \(\c \ c) \ False\ \\\a = a\ by auto lemmas verit_and_simplify = conj_ac de_Morgan_conj disj_not1 lemma verit_or_simplify_1: \False \ b \ b\ \b \ False \ b\ \b \ \b\ \\b \ b\ by auto lemmas verit_or_simplify = disj_ac lemma verit_not_simplify: \\ \b \ b\ \\True \ False\ \\False \ True\ by auto lemma verit_implies_simplify: \(\a \ \b) \ (b \ a)\ \(False \ a) \ True\ \(a \ True) \ True\ \(True \ a) \ a\ \(a \ False) \ \a\ \(a \ a) \ True\ \(\a \ a) \ a\ \(a \ \a) \ \a\ \((a \ b) \ b) \ a \ b\ by auto lemma verit_equiv_simplify: \((\a) = (\b)) \ (a = b)\ \(a = a) \ True\ \(a = (\a)) \ False\ \((\a) = a) \ False\ \(True = a) \ a\ \(a = True) \ a\ \(False = a) \ \a\ \(a = False) \ \a\ \\\a \ a\ \(\ False) = True\ for a b :: bool by auto lemmas verit_eq_simplify = semiring_char_0_class.eq_numeral_simps eq_refl zero_neq_one num.simps neg_equal_zero equal_neg_zero one_neq_zero neg_equal_iff_equal lemma verit_minus_simplify: \(a :: 'a :: cancel_comm_monoid_add) - a = 0\ \(a :: 'a :: cancel_comm_monoid_add) - 0 = a\ \0 - (b :: 'b :: {group_add}) = -b\ \- (- (b :: 'b :: group_add)) = b\ by auto lemma verit_sum_simplify: \(a :: 'a :: cancel_comm_monoid_add) + 0 = a\ by auto lemmas verit_prod_simplify = (* already included: mult_zero_class.mult_zero_right mult_zero_class.mult_zero_left *) mult_1 mult_1_right lemma verit_comp_simplify1: \(a :: 'a ::order) < a \ False\ \a \ a\ \\(b' \ a') \ (a' :: 'b :: linorder) < b'\ by auto lemmas verit_comp_simplify = verit_comp_simplify1 le_numeral_simps le_num_simps less_numeral_simps less_num_simps zero_less_one zero_le_one less_neg_numeral_simps lemma verit_la_disequality: \(a :: 'a ::linorder) = b \ \a \ b \ \b \ a\ by auto context begin text \For the reconstruction, we need to keep the order of the arguments.\ named_theorems smt_arith_multiplication \Theorems to reconstruct arithmetic theorems.\ named_theorems smt_arith_combine \Theorems to reconstruct arithmetic theorems.\ named_theorems smt_arith_simplify \Theorems to combine theorems in the LA procedure\ lemmas [smt_arith_simplify] = div_add dvd_numeral_simp divmod_steps less_num_simps le_num_simps if_True if_False divmod_cancel dvd_mult dvd_mult2 less_irrefl prod.case numeral_plus_one divmod_step_def order.refl le_zero_eq le_numeral_simps less_numeral_simps mult.right_neutral simp_thms divides_aux_eq mult_nonneg_nonneg dvd_imp_mod_0 dvd_add zero_less_one mod_mult_self4 numeral_mod_numeral divmod_trivial prod.sel mult.left_neutral div_pos_pos_trivial arith_simps div_add div_mult_self1 add_le_cancel_left add_le_same_cancel2 not_one_le_zero le_numeral_simps add_le_same_cancel1 zero_neq_one zero_le_one le_num_simps add_Suc mod_div_trivial nat.distinct mult_minus_right add.inverse_inverse distrib_left_numeral mult_num_simps numeral_times_numeral add_num_simps divmod_steps rel_simps if_True if_False numeral_div_numeral divmod_cancel prod.case add_num_simps one_plus_numeral fst_conv arith_simps sub_num_simps dbl_inc_simps dbl_simps mult_1 add_le_cancel_right left_diff_distrib_numeral add_uminus_conv_diff zero_neq_one zero_le_one One_nat_def add_Suc mod_div_trivial nat.distinct of_int_1 numerals numeral_One of_int_numeral add_uminus_conv_diff zle_diff1_eq add_less_same_cancel2 minus_add_distrib add_uminus_conv_diff mult.left_neutral semiring_class.distrib_right add_diff_cancel_left' add_diff_eq ring_distribs mult_minus_left minus_diff_eq lemma [smt_arith_simplify]: \\ (a' :: 'a :: linorder) < b' \ b' \ a'\ \\ (a' :: 'a :: linorder) \ b' \ b' < a'\ \(c::int) mod Numeral1 = 0\ \(a::nat) mod Numeral1 = 0\ \(c::int) div Numeral1 = c\ \a div Numeral1 = a\ \(c::int) mod 1 = 0\ \a mod 1 = 0\ \(c::int) div 1 = c\ \a div 1 = a\ \\(a' \ b') \ a' = b'\ by auto lemma div_mod_decomp: "A = (A div n) * n + (A mod n)" for A :: nat by auto lemma div_less_mono: fixes A B :: nat assumes "A < B" "0 < n" and mod: "A mod n = 0""B mod n = 0" shows "(A div n) < (B div n)" proof - show ?thesis using assms(1) apply (subst (asm) div_mod_decomp[of "A" n]) apply (subst (asm) div_mod_decomp[of "B" n]) unfolding mod by (use assms(2,3) in \auto simp: ac_simps\) qed lemma verit_le_mono_div: fixes A B :: nat assumes "A < B" "0 < n" shows "(A div n) + (if B mod n = 0 then 1 else 0) \ (B div n)" by (auto simp: ac_simps Suc_leI assms less_mult_imp_div_less div_le_mono less_imp_le_nat) lemmas [smt_arith_multiplication] = verit_le_mono_div[THEN mult_le_mono1, unfolded add_mult_distrib] div_le_mono[THEN mult_le_mono2, unfolded add_mult_distrib] lemma div_mod_decomp_int: "A = (A div n) * n + (A mod n)" for A :: int by auto lemma zdiv_mono_strict: fixes A B :: int assumes "A < B" "0 < n" and mod: "A mod n = 0""B mod n = 0" shows "(A div n) < (B div n)" proof - show ?thesis using assms(1) apply (subst (asm) div_mod_decomp_int[of A n]) apply (subst (asm) div_mod_decomp_int[of B n]) unfolding mod by (use assms(2,3) in \auto simp: ac_simps\) qed lemma verit_le_mono_div_int: \A div n + (if B mod n = 0 then 1 else 0) \ B div n\ if \A < B\ \0 < n\ for A B n :: int proof - from \A < B\ \0 < n\ have \A div n \ B div n\ by (auto intro: zdiv_mono1) show ?thesis proof (cases \n dvd B\) case False with \A div n \ B div n\ show ?thesis by auto next case True then obtain C where \B = n * C\ .. then have \B div n = C\ using \0 < n\ by simp from \0 < n\ have \A mod n \ 0\ by simp have \A div n < C\ proof (rule ccontr) assume \\ A div n < C\ then have \C \ A div n\ by simp with \B div n = C\ \A div n \ B div n\ have \A div n = C\ by simp moreover from \A < B\ have \n * (A div n) + A mod n < B\ by simp ultimately have \n * C + A mod n < n * C\ using \B = n * C\ by simp moreover have \A mod n \ 0\ using \0 < n\ by simp ultimately show False by simp qed with \n dvd B\ \B div n = C\ show ?thesis by simp qed qed lemma verit_less_mono_div_int2: fixes A B :: int assumes "A \ B" "0 < -n" shows "(A div n) \ (B div n)" using assms(1) assms(2) zdiv_mono1_neg by auto lemmas [smt_arith_multiplication] = verit_le_mono_div_int[THEN mult_left_mono, unfolded int_distrib] zdiv_mono1[THEN mult_left_mono, unfolded int_distrib] lemmas [smt_arith_multiplication] = arg_cong[of _ _ \\a :: nat. a div n * p\ for n p :: nat, THEN sym] arg_cong[of _ _ \\a :: int. a div n * p\ for n p :: int, THEN sym] lemma [smt_arith_combine]: "a < b \ c < d \ a + c + 2 \ b + d" "a < b \ c \ d \ a + c + 1 \ b + d" "a \ b \ c < d \ a + c + 1 \ b + d" for a b c :: int by auto lemma [smt_arith_combine]: "a < b \ c < d \ a + c + 2 \ b + d" "a < b \ c \ d \ a + c + 1 \ b + d" "a \ b \ c < d \ a + c + 1 \ b + d" for a b c :: nat by auto lemmas [smt_arith_combine] = add_strict_mono add_less_le_mono add_mono add_le_less_mono lemma [smt_arith_combine]: \m < n \ c = d \ m + c < n + d\ \m \ n \ c = d \ m + c \ n + d\ \c = d \ m < n \ m + c < n + d\ \c = d \ m \ n \ m + c \ n + d\ for m :: \'a :: ordered_cancel_ab_semigroup_add\ by (auto intro: ordered_cancel_ab_semigroup_add_class.add_strict_right_mono ordered_ab_semigroup_add_class.add_right_mono) lemma verit_negate_coefficient: \a \ (b :: 'a :: {ordered_ab_group_add}) \ -a \ -b\ \a < b \ -a > -b\ \a = b \ -a = -b\ by auto end lemma verit_ite_intro: \(if a then P (if a then a' else b') else Q) \ (if a then P a' else Q)\ \(if a then P' else Q' (if a then a' else b')) \ (if a then P' else Q' b')\ \A = f (if a then R else S) \ (if a then A = f R else A = f S)\ by auto lemma verit_ite_if_cong: fixes x y :: bool assumes "b=c" and "c \ True \ x = u" and "c \ False \ y = v" shows "(if b then x else y) \ (if c then u else v)" proof - have H: "(if b then x else y) = (if c then u else v)" using assms by (auto split: if_splits) show "(if b then x else y) \ (if c then u else v)" by (subst H) auto qed subsection \Setup\ ML_file \Tools/SMT/smt_util.ML\ ML_file \Tools/SMT/smt_failure.ML\ ML_file \Tools/SMT/smt_config.ML\ ML_file \Tools/SMT/smt_builtin.ML\ ML_file \Tools/SMT/smt_datatypes.ML\ ML_file \Tools/SMT/smt_normalize.ML\ ML_file \Tools/SMT/smt_translate.ML\ ML_file \Tools/SMT/smtlib.ML\ ML_file \Tools/SMT/smtlib_interface.ML\ ML_file \Tools/SMT/smtlib_proof.ML\ ML_file \Tools/SMT/smtlib_isar.ML\ ML_file \Tools/SMT/z3_proof.ML\ ML_file \Tools/SMT/z3_isar.ML\ ML_file \Tools/SMT/smt_solver.ML\ ML_file \Tools/SMT/cvc_interface.ML\ ML_file \Tools/SMT/lethe_proof.ML\ ML_file \Tools/SMT/lethe_isar.ML\ ML_file \Tools/SMT/lethe_proof_parse.ML\ ML_file \Tools/SMT/cvc_proof_parse.ML\ ML_file \Tools/SMT/conj_disj_perm.ML\ ML_file \Tools/SMT/smt_replay_methods.ML\ ML_file \Tools/SMT/smt_replay.ML\ ML_file \Tools/SMT/smt_replay_arith.ML\ ML_file \Tools/SMT/z3_interface.ML\ ML_file \Tools/SMT/z3_replay_rules.ML\ ML_file \Tools/SMT/z3_replay_methods.ML\ ML_file \Tools/SMT/z3_replay.ML\ ML_file \Tools/SMT/lethe_replay_methods.ML\ +ML_file \Tools/SMT/cvc5_replay_methods.ML\ ML_file \Tools/SMT/verit_replay_methods.ML\ ML_file \Tools/SMT/verit_strategies.ML\ ML_file \Tools/SMT/verit_replay.ML\ +ML_file \Tools/SMT/cvc5_replay.ML\ ML_file \Tools/SMT/smt_systems.ML\ subsection \Configuration\ text \ The current configuration can be printed by the command \smt_status\, which shows the values of most options. \ subsection \General configuration options\ text \ The option \smt_solver\ can be used to change the target SMT solver. The possible values can be obtained from the \smt_status\ command. \ declare [[smt_solver = z3]] text \ Since SMT solvers are potentially nonterminating, there is a timeout (given in seconds) to restrict their runtime. \ declare [[smt_timeout = 0]] text \ SMT solvers apply randomized heuristics. In case a problem is not solvable by an SMT solver, changing the following option might help. \ declare [[smt_random_seed = 1]] text \ In general, the binding to SMT solvers runs as an oracle, i.e, the SMT solvers are fully trusted without additional checks. The following option can cause the SMT solver to run in proof-producing mode, giving a checkable certificate. This is currently implemented only for veriT and Z3. \ declare [[smt_oracle = false]] text \ Each SMT solver provides several command-line options to tweak its behaviour. They can be passed to the solver by setting the following options. \ declare [[cvc4_options = ""]] -declare [[cvc5_options = ""]] +declare [[cvc5_options = "--proof-format-mode=alethe --proof-granularity=dsl-rewrite"]] declare [[verit_options = ""]] declare [[z3_options = ""]] text \ The SMT method provides an inference mechanism to detect simple triggers in quantified formulas, which might increase the number of problems solvable by SMT solvers (note: triggers guide quantifier instantiations in the SMT solver). To turn it on, set the following option. \ declare [[smt_infer_triggers = false]] text \ Enable the following option to use built-in support for datatypes, codatatypes, and records in CVC4 and cvc5. Currently, this is implemented only in oracle mode. \ declare [[cvc_extensions = false]] text \ Enable the following option to use built-in support for div/mod, datatypes, and records in Z3. Currently, this is implemented only in oracle mode. \ declare [[z3_extensions = false]] subsection \Certificates\ text \ By setting the option \smt_certificates\ to the name of a file, all following applications of an SMT solver a cached in that file. Any further application of the same SMT solver (using the very same configuration) re-uses the cached certificate instead of invoking the solver. An empty string disables caching certificates. The filename should be given as an explicit path. It is good practice to use the name of the current theory (with ending \.certs\ instead of \.thy\) as the certificates file. Certificate files should be used at most once in a certain theory context, to avoid race conditions with other concurrent accesses. \ declare [[smt_certificates = ""]] text \ The option \smt_read_only_certificates\ controls whether only stored certificates should be used or invocation of an SMT solver is allowed. When set to \true\, no SMT solver will ever be invoked and only the existing certificates found in the configured cache are used; when set to \false\ and there is no cached certificate for some proposition, then the configured SMT solver is invoked. \ declare [[smt_read_only_certificates = false]] subsection \Tracing\ text \ The SMT method, when applied, traces important information. To make it entirely silent, set the following option to \false\. \ declare [[smt_verbose = true]] text \ For tracing the generated problem file given to the SMT solver as well as the returned result of the solver, the option \smt_trace\ should be set to \true\. \ declare [[smt_trace = false]] subsection \Schematic rules for Z3 proof reconstruction\ text \ Several prof rules of Z3 are not very well documented. There are two lemma groups which can turn failing Z3 proof reconstruction attempts into succeeding ones: the facts in \z3_rule\ are tried prior to any implemented reconstruction procedure for all uncertain Z3 proof rules; the facts in \z3_simp\ are only fed to invocations of the simplifier when reconstructing theory-specific proof steps. \ lemmas [z3_rule] = refl eq_commute conj_commute disj_commute simp_thms nnf_simps ring_distribs field_simps times_divide_eq_right times_divide_eq_left if_True if_False not_not NO_MATCH_def lemma [z3_rule]: "(P \ Q) = (\ (\ P \ \ Q))" "(P \ Q) = (\ (\ Q \ \ P))" "(\ P \ Q) = (\ (P \ \ Q))" "(\ P \ Q) = (\ (\ Q \ P))" "(P \ \ Q) = (\ (\ P \ Q))" "(P \ \ Q) = (\ (Q \ \ P))" "(\ P \ \ Q) = (\ (P \ Q))" "(\ P \ \ Q) = (\ (Q \ P))" by auto lemma [z3_rule]: "(P \ Q) = (Q \ \ P)" "(\ P \ Q) = (P \ Q)" "(\ P \ Q) = (Q \ P)" "(True \ P) = P" "(P \ True) = True" "(False \ P) = True" "(P \ P) = True" "(\ (A \ \ B)) \ (A \ B)" by auto lemma [z3_rule]: "((P = Q) \ R) = (R \ (Q = (\ P)))" by auto lemma [z3_rule]: "(\ True) = False" "(\ False) = True" "(x = x) = True" "(P = True) = P" "(True = P) = P" "(P = False) = (\ P)" "(False = P) = (\ P)" "((\ P) = P) = False" "(P = (\ P)) = False" "((\ P) = (\ Q)) = (P = Q)" "\ (P = (\ Q)) = (P = Q)" "\ ((\ P) = Q) = (P = Q)" "(P \ Q) = (Q = (\ P))" "(P = Q) = ((\ P \ Q) \ (P \ \ Q))" "(P \ Q) = ((\ P \ \ Q) \ (P \ Q))" by auto lemma [z3_rule]: "(if P then P else \ P) = True" "(if \ P then \ P else P) = True" "(if P then True else False) = P" "(if P then False else True) = (\ P)" "(if P then Q else True) = ((\ P) \ Q)" "(if P then Q else True) = (Q \ (\ P))" "(if P then Q else \ Q) = (P = Q)" "(if P then Q else \ Q) = (Q = P)" "(if P then \ Q else Q) = (P = (\ Q))" "(if P then \ Q else Q) = ((\ Q) = P)" "(if \ P then x else y) = (if P then y else x)" "(if P then (if Q then x else y) else x) = (if P \ (\ Q) then y else x)" "(if P then (if Q then x else y) else x) = (if (\ Q) \ P then y else x)" "(if P then (if Q then x else y) else y) = (if P \ Q then x else y)" "(if P then (if Q then x else y) else y) = (if Q \ P then x else y)" "(if P then x else if P then y else z) = (if P then x else z)" "(if P then x else if Q then x else y) = (if P \ Q then x else y)" "(if P then x else if Q then x else y) = (if Q \ P then x else y)" "(if P then x = y else x = z) = (x = (if P then y else z))" "(if P then x = y else y = z) = (y = (if P then x else z))" "(if P then x = y else z = y) = (y = (if P then x else z))" by auto lemma [z3_rule]: "0 + (x::int) = x" "x + 0 = x" "x + x = 2 * x" "0 * x = 0" "1 * x = x" "x + y = y + x" by auto lemma [z3_rule]: (* for def-axiom *) "P = Q \ P \ Q" "P = Q \ \ P \ \ Q" "(\ P) = Q \ \ P \ Q" "(\ P) = Q \ P \ \ Q" "P = (\ Q) \ \ P \ Q" "P = (\ Q) \ P \ \ Q" "P \ Q \ P \ \ Q" "P \ Q \ \ P \ Q" "P \ (\ Q) \ P \ Q" "(\ P) \ Q \ P \ Q" "P \ Q \ P \ (\ Q)" "P \ Q \ (\ P) \ Q" "P \ \ Q \ P \ Q" "\ P \ Q \ P \ Q" "P \ y = (if P then x else y)" "P \ (if P then x else y) = y" "\ P \ x = (if P then x else y)" "\ P \ (if P then x else y) = x" "P \ R \ \ (if P then Q else R)" "\ P \ Q \ \ (if P then Q else R)" "\ (if P then Q else R) \ \ P \ Q" "\ (if P then Q else R) \ P \ R" "(if P then Q else R) \ \ P \ \ Q" "(if P then Q else R) \ P \ \ R" "(if P then \ Q else R) \ \ P \ Q" "(if P then Q else \ R) \ P \ R" by auto hide_type (open) symb_list pattern hide_const (open) Symb_Nil Symb_Cons trigger pat nopat fun_app z3div z3mod end diff --git a/src/HOL/SMT_Examples/Boogie_Dijkstra.certs b/src/HOL/SMT_Examples/Boogie_Dijkstra.certs --- a/src/HOL/SMT_Examples/Boogie_Dijkstra.certs +++ b/src/HOL/SMT_Examples/Boogie_Dijkstra.certs @@ -1,5968 +1,2984 @@ 0a2d12aeeed9535b86d7d58cd35af090d5095447 2983 0 unsat ((set-logic AUFLIA) (declare-fun ?v0!20 () B_Vertex$) (declare-fun ?v0!19 () B_Vertex$) (declare-fun ?v1!18 () B_Vertex$) (declare-fun ?v0!17 () B_Vertex$) (declare-fun ?v1!16 () B_Vertex$) (declare-fun ?v0!15 () B_Vertex$) (declare-fun ?v0!14 () B_Vertex$) (declare-fun ?v0!13 () B_Vertex$) (declare-fun ?v0!12 () B_Vertex$) (declare-fun ?v0!11 () B_Vertex$) (declare-fun ?v1!10 () B_Vertex$) (declare-fun ?v1!9 (B_Vertex$) B_Vertex$) (declare-fun ?v0!8 () B_Vertex$) (declare-fun ?v1!7 (B_Vertex$) B_Vertex$) (declare-fun ?v1!6 (B_Vertex$) B_Vertex$) (declare-fun ?v0!5 () B_Vertex$) (declare-fun ?v0!4 () B_Vertex$) (declare-fun ?v1!3 () B_Vertex$) (declare-fun ?v0!2 () B_Vertex$) (declare-fun ?v1!1 () B_Vertex$) (declare-fun ?v0!0 () B_Vertex$) (proof (let ((?x260 (fun_upd$ v_b_Visited_G_1$ v_b_v_G_1$ true))) (let (($x5237 (fun_app$ ?x260 ?v0!20))) (let (($x9037 (not $x5237))) (let (($x261 (= v_b_Visited_G_2$ ?x260))) (let (($x3724 (forall ((?v1 B_Vertex$) )(! (let ((?x1906 (v_b_SP_G_2$ ?v0!20))) (let ((?x1907 (* (- 1) ?x1906))) (let ((?x268 (v_b_SP_G_2$ ?v1))) (let (($x2237 (= (+ ?x268 ?x1907 (b_G$ (pair$ ?v1 ?v0!20))) 0))) (let (($x286 (fun_app$ v_b_Visited_G_2$ ?v1))) (let (($x295 (not $x286))) (or (>= (+ ?x268 ?x1907) 0) $x295 (not $x2237)))))))) :pattern ( (v_b_SP_G_2$ ?v1) ) :pattern ( (fun_app$ v_b_Visited_G_2$ ?v1) ) :pattern ( (pair$ ?v1 ?v0!20) ) :qid k!38)) )) (let (($x3729 (not $x3724))) (let ((?x1906 (v_b_SP_G_2$ ?v0!20))) (let ((?x1907 (* (- 1) ?x1906))) (let ((?x1908 (+ b_Infinity$ ?x1907))) (let (($x1909 (<= ?x1908 0))) (let (($x1904 (= ?v0!20 b_Source$))) (let (($x3715 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x298 (v_b_SP_G_2$ ?v0))) (let ((?x1258 (* (- 1) ?x298))) (let ((?x268 (v_b_SP_G_2$ ?v1))) (let ((?x152 (b_G$ (pair$ ?v1 ?v0)))) (let (($x1277 (>= (+ ?x152 ?x268 ?x1258) 0))) (let (($x917 (<= (+ b_Infinity$ (* (- 1) ?x152)) 0))) (let (($x286 (fun_app$ v_b_Visited_G_2$ ?v1))) (let (($x295 (not $x286))) (or $x295 $x917 $x1277))))))))) :pattern ( (pair$ ?v1 ?v0) ) :qid k!38)) )) (let (($x3720 (not $x3715))) (let (($x3732 (or $x3720 $x1904 $x1909 $x3729))) (let (($x3735 (not $x3732))) (let ((?x1888 (v_b_SP_G_2$ ?v0!19))) (let ((?x1889 (* (- 1) ?x1888))) (let ((?x1887 (v_b_SP_G_2$ ?v1!18))) (let ((?x1879 (pair$ ?v1!18 ?v0!19))) (let ((?x1880 (b_G$ ?x1879))) (let (($x1891 (>= (+ ?x1880 ?x1887 ?x1889) 0))) (let (($x1883 (<= (+ b_Infinity$ (* (- 1) ?x1880)) 0))) (let (($x1878 (fun_app$ v_b_Visited_G_2$ ?v1!18))) (let (($x2786 (not $x1878))) (let (($x2801 (or $x2786 $x1883 $x1891))) (let (($x2806 (not $x2801))) (let (($x3738 (or $x2806 $x3735))) (let (($x3741 (not $x3738))) (let (($x3707 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let (($x1257 (>= (+ (v_b_SP_G_2$ ?v1) (* (- 1) (v_b_SP_G_2$ ?v0))) 0))) (let (($x296 (fun_app$ v_b_Visited_G_2$ ?v0))) (let (($x2763 (not $x296))) (let (($x286 (fun_app$ v_b_Visited_G_2$ ?v1))) (or $x286 $x2763 $x1257))))) :pattern ( (v_b_SP_G_2$ ?v1) (v_b_SP_G_2$ ?v0) ) :qid k!38)) )) (let (($x3712 (not $x3707))) (let (($x3744 (or $x3712 $x3741))) (let (($x3747 (not $x3744))) (let (($x1864 (>= (+ (v_b_SP_G_2$ ?v1!16) (* (- 1) (v_b_SP_G_2$ ?v0!17))) 0))) (let (($x1857 (fun_app$ v_b_Visited_G_2$ ?v0!17))) (let (($x2740 (not $x1857))) (let (($x1855 (fun_app$ v_b_Visited_G_2$ ?v1!16))) (let (($x2755 (or $x1855 $x2740 $x1864))) (let (($x2760 (not $x2755))) (let (($x3750 (or $x2760 $x3747))) (let (($x3753 (not $x3750))) (let (($x3698 (forall ((?v0 B_Vertex$) )(! (let ((?x268 (v_b_SP_G_2$ ?v0))) (>= ?x268 0)) :pattern ( (v_b_SP_G_2$ ?v0) ) :qid k!38)) )) (let (($x3703 (not $x3698))) (let (($x3756 (or $x3703 $x3753))) (let (($x3759 (not $x3756))) (let ((?x1841 (v_b_SP_G_2$ ?v0!15))) (let (($x1842 (>= ?x1841 0))) (let (($x1843 (not $x1842))) (let (($x3762 (or $x1843 $x3759))) (let (($x3765 (not $x3762))) (let ((?x291 (v_b_SP_G_2$ b_Source$))) (let (($x292 (= ?x291 0))) (let (($x768 (not $x292))) (let (($x3768 (or $x768 $x3765))) (let (($x3771 (not $x3768))) (let (($x3774 (or $x768 $x3771))) (let (($x3777 (not $x3774))) (let (($x3690 (forall ((?v0 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0))) (let ((?x268 (v_b_SP_G_2$ ?v0))) (let (($x273 (= ?x268 ?x171))) (let (($x286 (fun_app$ v_b_Visited_G_2$ ?v0))) (let (($x295 (not $x286))) (or $x295 $x273)))))) :pattern ( (fun_app$ v_b_Visited_G_2$ ?v0) ) :pattern ( (v_b_SP_G_2$ ?v0) ) :pattern ( (fun_app$a v_b_SP_G_1$ ?v0) ) :qid k!38)) )) (let (($x3695 (not $x3690))) (let (($x3780 (or $x3695 $x3777))) (let (($x3783 (not $x3780))) (let ((?x1822 (fun_app$a v_b_SP_G_1$ ?v0!14))) (let ((?x1821 (v_b_SP_G_2$ ?v0!14))) (let (($x1823 (= ?x1821 ?x1822))) (let (($x1824 (or (not (fun_app$ v_b_Visited_G_2$ ?v0!14)) $x1823))) (let (($x1825 (not $x1824))) (let (($x3786 (or $x1825 $x3783))) (let (($x3789 (not $x3786))) (let (($x3681 (forall ((?v0 B_Vertex$) )(! (>= (+ (fun_app$a v_b_SP_G_1$ ?v0) (* (- 1) (v_b_SP_G_2$ ?v0))) 0) :pattern ( (fun_app$a v_b_SP_G_1$ ?v0) ) :pattern ( (v_b_SP_G_2$ ?v0) ) :qid k!38)) )) (let (($x3686 (not $x3681))) (let (($x3792 (or $x3686 $x3789))) (let (($x3795 (not $x3792))) (let ((?x1804 (v_b_SP_G_2$ ?v0!13))) (let ((?x1805 (* (- 1) ?x1804))) (let ((?x1803 (fun_app$a v_b_SP_G_1$ ?v0!13))) (let ((?x1806 (+ ?x1803 ?x1805))) (let (($x1807 (>= ?x1806 0))) (let (($x1808 (not $x1807))) (let (($x3798 (or $x1808 $x3795))) (let (($x3801 (not $x3798))) (let (($x3673 (forall ((?v0 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0))) (let ((?x268 (v_b_SP_G_2$ ?v0))) (let (($x273 (= ?x268 ?x171))) (let ((?x254 (fun_app$a v_b_SP_G_1$ v_b_v_G_1$))) (let ((?x1168 (* (- 1) ?x254))) (let (($x1170 (<= (+ ?x171 ?x1168 (* (- 1) (b_G$ (pair$ v_b_v_G_1$ ?v0)))) 0))) (let (($x1164 (<= (+ b_Infinity$ (* (- 1) (b_G$ (pair$ v_b_v_G_1$ ?v0)))) 0))) (let (($x2712 (or $x1164 $x1170))) (let (($x2713 (not $x2712))) (or $x2713 $x273)))))))))) :pattern ( (pair$ v_b_v_G_1$ ?v0) ) :pattern ( (fun_app$a v_b_SP_G_1$ ?v0) ) :pattern ( (v_b_SP_G_2$ ?v0) ) :qid k!38)) )) (let (($x3678 (not $x3673))) (let (($x3665 (forall ((?v0 B_Vertex$) )(! (let ((?x268 (v_b_SP_G_2$ ?v0))) (let ((?x1181 (* (- 1) ?x268))) (let ((?x263 (b_G$ (pair$ v_b_v_G_1$ ?v0)))) (let ((?x254 (fun_app$a v_b_SP_G_1$ v_b_v_G_1$))) (let (($x1180 (= (+ ?x254 ?x263 ?x1181) 0))) (let (($x1170 (<= (+ (fun_app$a v_b_SP_G_1$ ?v0) (* (- 1) ?x254) (* (- 1) ?x263)) 0))) (let (($x1164 (<= (+ b_Infinity$ (* (- 1) ?x263)) 0))) (or $x1164 $x1170 $x1180)))))))) :pattern ( (pair$ v_b_v_G_1$ ?v0) ) :pattern ( (fun_app$a v_b_SP_G_1$ ?v0) ) :pattern ( (v_b_SP_G_2$ ?v0) ) :qid k!38)) )) (let (($x3670 (not $x3665))) (let (($x2930 (not $x261))) (let (($x3655 (forall ((?v0 B_Vertex$) )(! (let ((?x254 (fun_app$a v_b_SP_G_1$ v_b_v_G_1$))) (let ((?x1168 (* (- 1) ?x254))) (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0))) (let (($x175 (fun_app$ v_b_Visited_G_1$ ?v0))) (or $x175 (>= (+ ?x171 ?x1168) 0)))))) :pattern ( (fun_app$ v_b_Visited_G_1$ ?v0) ) :pattern ( (fun_app$a v_b_SP_G_1$ ?v0) ) :qid k!38)) )) (let (($x3660 (not $x3655))) (let ((?x254 (fun_app$a v_b_SP_G_1$ v_b_v_G_1$))) (let ((?x1168 (* (- 1) ?x254))) (let ((?x1207 (+ b_Infinity$ ?x1168))) (let (($x1208 (<= ?x1207 0))) (let (($x252 (fun_app$ v_b_Visited_G_1$ v_b_v_G_1$))) (let ((?x1770 (fun_app$a v_b_SP_G_1$ ?v0!12))) (let ((?x1771 (* (- 1) ?x1770))) (let ((?x1772 (+ b_Infinity$ ?x1771))) (let (($x1773 (<= ?x1772 0))) (let (($x1768 (fun_app$ v_b_Visited_G_1$ ?v0!12))) (let (($x3804 (or $x1768 $x1773 $x252 $x1208 $x3660 $x2930 $x3670 $x3678 $x3801))) (let (($x3807 (not $x3804))) (let ((?x242 (fun_app$a v_b_SP_G_3$ b_Source$))) (let (($x243 (= ?x242 0))) (let (($x3617 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x227 (fun_app$a v_b_SP_G_3$ ?v1))) (let ((?x152 (b_G$ (pair$ ?v1 ?v0)))) (let (($x1135 (>= (+ ?x152 ?x227 (* (- 1) (fun_app$a v_b_SP_G_3$ ?v0))) 0))) (let (($x917 (<= (+ b_Infinity$ (* (- 1) ?x152)) 0))) (let (($x1094 (<= (+ b_Infinity$ (* (- 1) ?x227)) 0))) (or $x1094 $x917 $x1135)))))) :pattern ( (pair$ ?v1 ?v0) ) :qid k!38)) )) (let (($x3622 (not $x3617))) (let (($x3625 (or $x3622 $x243))) (let (($x3628 (not $x3625))) (let ((?x1729 (fun_app$a v_b_SP_G_3$ ?v0!11))) (let ((?x1730 (* (- 1) ?x1729))) (let ((?x1721 (pair$ ?v1!10 ?v0!11))) (let ((?x1722 (b_G$ ?x1721))) (let ((?x1716 (fun_app$a v_b_SP_G_3$ ?v1!10))) (let ((?x2201 (+ ?x1716 ?x1722 ?x1730))) (let (($x2204 (>= ?x2201 0))) (let (($x1725 (<= (+ b_Infinity$ (* (- 1) ?x1722)) 0))) (let (($x1719 (<= (+ b_Infinity$ (* (- 1) ?x1716)) 0))) (let (($x2640 (or $x1719 $x1725 $x2204))) (let (($x2645 (not $x2640))) (let (($x3631 (or $x2645 $x3628))) (let (($x3634 (not $x3631))) (let (($x3609 (forall ((?v0 B_Vertex$) )(! (let ((?x227 (fun_app$a v_b_SP_G_3$ ?v0))) (let ((?x2186 (+ ?x227 (* (- 1) (fun_app$a v_b_SP_G_3$ (?v1!9 ?v0))) (* (- 1) (b_G$ (pair$ (?v1!9 ?v0) ?v0)))))) (let (($x2187 (= ?x2186 0))) (let (($x2171 (<= (+ ?x227 (* (- 1) (fun_app$a v_b_SP_G_3$ (?v1!9 ?v0)))) 0))) (let (($x2612 (not (or $x2171 (not $x2187))))) (let (($x1094 (<= (+ b_Infinity$ (* (- 1) ?x227)) 0))) (let (($x123 (= ?v0 b_Source$))) (or $x123 $x1094 $x2612)))))))) :pattern ( (fun_app$a v_b_SP_G_3$ ?v0) ) :qid k!38)) )) (let (($x3614 (not $x3609))) (let (($x3637 (or $x3614 $x3634))) (let (($x3640 (not $x3637))) (let (($x3595 (forall ((?v1 B_Vertex$) )(! (let ((?x1656 (fun_app$a v_b_SP_G_3$ ?v0!8))) (let ((?x1657 (* (- 1) ?x1656))) (let ((?x227 (fun_app$a v_b_SP_G_3$ ?v1))) (let (($x2143 (= (+ ?x227 ?x1657 (b_G$ (pair$ ?v1 ?v0!8))) 0))) (or (>= (+ ?x227 ?x1657) 0) (not $x2143)))))) :pattern ( (fun_app$a v_b_SP_G_3$ ?v1) ) :pattern ( (pair$ ?v1 ?v0!8) ) :qid k!38)) )) (let (($x3600 (not $x3595))) (let (($x1659 (<= (+ b_Infinity$ (* (- 1) (fun_app$a v_b_SP_G_3$ ?v0!8))) 0))) (let (($x1654 (= ?v0!8 b_Source$))) (let (($x3603 (or $x1654 $x1659 $x3600))) (let (($x3606 (not $x3603))) (let (($x3643 (or $x3606 $x3640))) (let (($x3646 (not $x3643))) (let (($x217 (= v_b_oldSP_G_1$ v_b_oldSP_G_0$))) (let (($x2704 (not $x217))) (let (($x214 (= v_b_SP_G_3$ v_b_SP_G_1$))) (let (($x2703 (not $x214))) (let (($x212 (= v_b_v_G_2$ v_b_v_G_0$))) (let (($x2702 (not $x212))) (let (($x209 (= v_b_Visited_G_3$ v_b_Visited_G_1$))) (let (($x2701 (not $x209))) (let (($x3585 (forall ((?v0 B_Vertex$) )(! (let (($x997 (<= (+ b_Infinity$ (* (- 1) (fun_app$a v_b_SP_G_1$ ?v0))) 0))) (let (($x175 (fun_app$ v_b_Visited_G_1$ ?v0))) (or $x175 $x997))) :pattern ( (fun_app$ v_b_Visited_G_1$ ?v0) ) :pattern ( (fun_app$a v_b_SP_G_1$ ?v0) ) :qid k!38)) )) (let (($x3590 (not $x3585))) (let (($x3649 (or $x3590 $x2701 $x2702 $x2703 $x2704 $x3646))) (let (($x3652 (not $x3649))) (let (($x3810 (or $x3652 $x3807))) (let (($x3813 (not $x3810))) (let (($x3576 (forall ((?v0 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0))) (let ((?x2123 (+ ?x171 (* (- 1) (fun_app$a v_b_SP_G_1$ (?v1!7 ?v0))) (* (- 1) (b_G$ (pair$ (?v1!7 ?v0) ?v0)))))) (let (($x2124 (= ?x2123 0))) (let (($x2108 (<= (+ ?x171 (* (- 1) (fun_app$a v_b_SP_G_1$ (?v1!7 ?v0)))) 0))) (let (($x2546 (not (or $x2108 (not (fun_app$ v_b_Visited_G_1$ (?v1!7 ?v0))) (not $x2124))))) (let (($x997 (<= (+ b_Infinity$ (* (- 1) ?x171)) 0))) (let (($x123 (= ?v0 b_Source$))) (or $x123 $x997 $x2546)))))))) :pattern ( (fun_app$a v_b_SP_G_1$ ?v0) ) :qid k!38)) )) (let (($x3581 (not $x3576))) (let (($x3568 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v1))) (let ((?x152 (b_G$ (pair$ ?v1 ?v0)))) (let (($x985 (>= (+ ?x152 ?x171 (* (- 1) (fun_app$a v_b_SP_G_1$ ?v0))) 0))) (let (($x917 (<= (+ b_Infinity$ (* (- 1) ?x152)) 0))) (let (($x175 (fun_app$ v_b_Visited_G_1$ ?v1))) (let (($x176 (not $x175))) (or $x176 $x917 $x985))))))) :pattern ( (pair$ ?v1 ?v0) ) :qid k!38)) )) (let (($x3573 (not $x3568))) (let (($x3560 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v1))) (let (($x1010 (>= (+ ?x171 (* (- 1) (fun_app$a v_b_SP_G_1$ ?v0))) 0))) (let (($x175 (fun_app$ v_b_Visited_G_1$ ?v1))) (or $x175 (not (fun_app$ v_b_Visited_G_1$ ?v0)) $x1010)))) :pattern ( (fun_app$ v_b_Visited_G_1$ ?v1) (fun_app$ v_b_Visited_G_1$ ?v0) ) :qid k!38)) )) (let (($x3565 (not $x3560))) (let (($x3551 (forall ((?v0 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0))) (>= ?x171 0)) :pattern ( (fun_app$a v_b_SP_G_1$ ?v0) ) :qid k!38)) )) (let (($x3556 (not $x3551))) (let ((?x169 (fun_app$a v_b_SP_G_1$ b_Source$))) (let (($x170 (= ?x169 0))) (let (($x2947 (not $x170))) (let (($x3542 (forall ((?v0 B_Vertex$) )(! (let ((?x124 (v_b_SP_G_0$ ?v0))) (let ((?x2085 (+ ?x124 (* (- 1) (v_b_SP_G_0$ (?v1!6 ?v0))) (* (- 1) (b_G$ (pair$ (?v1!6 ?v0) ?v0)))))) (let (($x2086 (= ?x2085 0))) (let (($x2070 (<= (+ ?x124 (* (- 1) (v_b_SP_G_0$ (?v1!6 ?v0)))) 0))) (let (($x2473 (not (or $x2070 (not (fun_app$ v_b_Visited_G_0$ (?v1!6 ?v0))) (not $x2086))))) (let (($x942 (<= (+ b_Infinity$ (* (- 1) ?x124)) 0))) (let (($x123 (= ?v0 b_Source$))) (or $x123 $x942 $x2473)))))))) :pattern ( (v_b_SP_G_0$ ?v0) ) :qid k!38)) )) (let (($x3547 (not $x3542))) (let (($x3816 (or $x3547 $x2947 $x3556 $x3565 $x3573 $x3581 $x3813))) (let (($x3819 (not $x3816))) (let (($x3528 (forall ((?v1 B_Vertex$) )(! (let ((?x1535 (v_b_SP_G_0$ ?v0!5))) (let ((?x1536 (* (- 1) ?x1535))) (let ((?x124 (v_b_SP_G_0$ ?v1))) (let (($x133 (fun_app$ v_b_Visited_G_0$ ?v1))) (let (($x134 (not $x133))) (or (>= (+ ?x124 ?x1536) 0) $x134 (not (= (+ ?x124 ?x1536 (b_G$ (pair$ ?v1 ?v0!5))) 0)))))))) :pattern ( (v_b_SP_G_0$ ?v1) ) :pattern ( (fun_app$ v_b_Visited_G_0$ ?v1) ) :pattern ( (pair$ ?v1 ?v0!5) ) :qid k!38)) )) (let (($x3533 (not $x3528))) (let ((?x1535 (v_b_SP_G_0$ ?v0!5))) (let ((?x1536 (* (- 1) ?x1535))) (let ((?x1537 (+ b_Infinity$ ?x1536))) (let (($x1538 (<= ?x1537 0))) (let (($x1533 (= ?v0!5 b_Source$))) (let (($x3536 (or $x1533 $x1538 $x3533))) (let (($x1534 (not $x1533))) (let ((@x5072 (unit-resolution (def-axiom (or $x3536 $x1534)) (hypothesis (not $x3536)) $x1534))) (let (($x5500 (= b_Infinity$ ?x1535))) (let (($x6555 (not $x5500))) (let (($x1539 (not $x1538))) (let ((@x5027 (unit-resolution (def-axiom (or $x3536 $x1539)) (hypothesis (not $x3536)) $x1539))) (let ((@x5583 (symm (commutativity (= $x5500 (= ?x1535 b_Infinity$))) (= (= ?x1535 b_Infinity$) $x5500)))) (let (($x5648 (= ?x1535 b_Infinity$))) (let (($x3488 (forall ((?v0 B_Vertex$) )(! (let (($x123 (= ?v0 b_Source$))) (or $x123 (= (v_b_SP_G_0$ ?v0) b_Infinity$))) :pattern ( (v_b_SP_G_0$ ?v0) ) :qid k!38)) )) (let (($x355 (forall ((?v0 B_Vertex$) )(! (let (($x123 (= ?v0 b_Source$))) (or $x123 (= (v_b_SP_G_0$ ?v0) b_Infinity$))) :qid k!38)) )) (let (($x123 (= ?0 b_Source$))) (let (($x352 (or $x123 (= (v_b_SP_G_0$ ?0) b_Infinity$)))) (let (($x135 (forall ((?v0 B_Vertex$) )(! (let (($x133 (fun_app$ v_b_Visited_G_0$ ?v0))) (not $x133)) :qid k!38)) )) (let (($x349 (forall ((?v0 B_Vertex$) )(! (let (($x123 (= ?v0 b_Source$))) (let (($x128 (not $x123))) (or $x128 (= (v_b_SP_G_0$ ?v0) 0)))) :qid k!38)) )) (let (($x885 (and $x349 $x355 $x135))) (let (($x1324 (forall ((?v0 B_Vertex$) )(! (let (($x1318 (exists ((?v1 B_Vertex$) )(! (let ((?x298 (v_b_SP_G_2$ ?v0))) (let ((?x1258 (* (- 1) ?x298))) (let ((?x268 (v_b_SP_G_2$ ?v1))) (let ((?x152 (b_G$ (pair$ ?v1 ?v0)))) (let (($x1301 (= (+ ?x152 ?x268 ?x1258) 0))) (let (($x286 (fun_app$ v_b_Visited_G_2$ ?v1))) (let (($x1257 (>= (+ ?x268 ?x1258) 0))) (let (($x1304 (not $x1257))) (and $x1304 $x286 $x1301))))))))) :qid k!38)) )) (let (($x123 (= ?v0 b_Source$))) (let (($x128 (not $x123))) (let (($x1295 (and $x128 (not (<= (+ b_Infinity$ (* (- 1) (v_b_SP_G_2$ ?v0))) 0))))) (or (not $x1295) $x1318))))) :qid k!38)) )) (let (($x1284 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x298 (v_b_SP_G_2$ ?v0))) (let ((?x1258 (* (- 1) ?x298))) (let ((?x268 (v_b_SP_G_2$ ?v1))) (let ((?x152 (b_G$ (pair$ ?v1 ?v0)))) (let (($x1277 (>= (+ ?x152 ?x268 ?x1258) 0))) (let (($x917 (<= (+ b_Infinity$ (* (- 1) ?x152)) 0))) (let (($x918 (not $x917))) (let (($x286 (fun_app$ v_b_Visited_G_2$ ?v1))) (let (($x1271 (and $x286 $x918))) (let (($x1274 (not $x1271))) (or $x1274 $x1277))))))))))) :qid k!38)) )) (let (($x1287 (not $x1284))) (let (($x1327 (or $x1287 $x1324))) (let (($x1330 (and $x1284 $x1327))) (let (($x1265 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let (($x1257 (>= (+ (v_b_SP_G_2$ ?v1) (* (- 1) (v_b_SP_G_2$ ?v0))) 0))) (let (($x296 (fun_app$ v_b_Visited_G_2$ ?v0))) (let (($x286 (fun_app$ v_b_Visited_G_2$ ?v1))) (let (($x295 (not $x286))) (let (($x297 (and $x295 $x296))) (let (($x659 (not $x297))) (or $x659 $x1257))))))) :qid k!38)) )) (let (($x1268 (not $x1265))) (let (($x1333 (or $x1268 $x1330))) (let (($x1336 (and $x1265 $x1333))) (let (($x1251 (forall ((?v0 B_Vertex$) )(! (let ((?x268 (v_b_SP_G_2$ ?v0))) (>= ?x268 0)) :qid k!38)) )) (let (($x1254 (not $x1251))) (let (($x1339 (or $x1254 $x1336))) (let (($x1342 (and $x1251 $x1339))) (let (($x1345 (or $x768 $x1342))) (let (($x1348 (and $x292 $x1345))) (let (($x647 (forall ((?v0 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0))) (let ((?x268 (v_b_SP_G_2$ ?v0))) (let (($x273 (= ?x268 ?x171))) (let (($x286 (fun_app$ v_b_Visited_G_2$ ?v0))) (let (($x295 (not $x286))) (or $x295 $x273)))))) :qid k!38)) )) (let (($x780 (not $x647))) (let (($x1351 (or $x780 $x1348))) (let (($x1354 (and $x647 $x1351))) (let (($x1242 (forall ((?v0 B_Vertex$) )(! (>= (+ (fun_app$a v_b_SP_G_1$ ?v0) (* (- 1) (v_b_SP_G_2$ ?v0))) 0) :qid k!38)) )) (let (($x1245 (not $x1242))) (let (($x1357 (or $x1245 $x1354))) (let (($x1360 (and $x1242 $x1357))) (let (($x1194 (forall ((?v0 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0))) (let ((?x268 (v_b_SP_G_2$ ?v0))) (let (($x273 (= ?x268 ?x171))) (let ((?x254 (fun_app$a v_b_SP_G_1$ v_b_v_G_1$))) (let ((?x1168 (* (- 1) ?x254))) (let (($x1170 (<= (+ ?x171 ?x1168 (* (- 1) (b_G$ (pair$ v_b_v_G_1$ ?v0)))) 0))) (let (($x1164 (<= (+ b_Infinity$ (* (- 1) (b_G$ (pair$ v_b_v_G_1$ ?v0)))) 0))) (let (($x1174 (and (not $x1164) (not $x1170)))) (or $x1174 $x273))))))))) :qid k!38)) )) (let (($x1188 (forall ((?v0 B_Vertex$) )(! (let ((?x268 (v_b_SP_G_2$ ?v0))) (let ((?x1181 (* (- 1) ?x268))) (let ((?x263 (b_G$ (pair$ v_b_v_G_1$ ?v0)))) (let ((?x254 (fun_app$a v_b_SP_G_1$ v_b_v_G_1$))) (let (($x1180 (= (+ ?x254 ?x263 ?x1181) 0))) (let (($x1170 (<= (+ (fun_app$a v_b_SP_G_1$ ?v0) (* (- 1) ?x254) (* (- 1) ?x263)) 0))) (let (($x1174 (and (not (<= (+ b_Infinity$ (* (- 1) ?x263)) 0)) (not $x1170)))) (let (($x1177 (not $x1174))) (or $x1177 $x1180))))))))) :qid k!38)) )) (let (($x1204 (forall ((?v0 B_Vertex$) )(! (let ((?x254 (fun_app$a v_b_SP_G_1$ v_b_v_G_1$))) (let ((?x1168 (* (- 1) ?x254))) (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0))) (let (($x175 (fun_app$ v_b_Visited_G_1$ ?v0))) (or $x175 (>= (+ ?x171 ?x1168) 0)))))) :qid k!38)) )) (let (($x1209 (not $x1208))) (let (($x253 (not $x252))) (let (($x1075 (exists ((?v0 B_Vertex$) )(! (let (($x997 (<= (+ b_Infinity$ (* (- 1) (fun_app$a v_b_SP_G_1$ ?v0))) 0))) (let (($x998 (not $x997))) (let (($x175 (fun_app$ v_b_Visited_G_1$ ?v0))) (let (($x176 (not $x175))) (and $x176 $x998))))) :qid k!38)) )) (let (($x1230 (and $x1075 $x253 $x1209 $x1204 $x261 $x1188 $x1194))) (let (($x1235 (not $x1230))) (let (($x1363 (or $x1235 $x1360))) (let (($x1141 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x227 (fun_app$a v_b_SP_G_3$ ?v1))) (let ((?x152 (b_G$ (pair$ ?v1 ?v0)))) (let (($x1135 (>= (+ ?x152 ?x227 (* (- 1) (fun_app$a v_b_SP_G_3$ ?v0))) 0))) (let (($x917 (<= (+ b_Infinity$ (* (- 1) ?x152)) 0))) (let (($x918 (not $x917))) (let (($x1094 (<= (+ b_Infinity$ (* (- 1) ?x227)) 0))) (let (($x1095 (not $x1094))) (let (($x1129 (and $x1095 $x918))) (let (($x1132 (not $x1129))) (or $x1132 $x1135)))))))))) :qid k!38)) )) (let (($x1144 (not $x1141))) (let (($x1147 (or $x1144 $x243))) (let (($x1150 (and $x1141 $x1147))) (let (($x1123 (forall ((?v0 B_Vertex$) )(! (let (($x1117 (exists ((?v1 B_Vertex$) )(! (let ((?x227 (fun_app$a v_b_SP_G_3$ ?v1))) (let ((?x152 (b_G$ (pair$ ?v1 ?v0)))) (and (not (>= (+ ?x227 (* (- 1) (fun_app$a v_b_SP_G_3$ ?v0))) 0)) (= (+ ?x152 ?x227 (* (- 1) (fun_app$a v_b_SP_G_3$ ?v0))) 0)))) :qid k!38)) )) (let (($x1094 (<= (+ b_Infinity$ (* (- 1) (fun_app$a v_b_SP_G_3$ ?v0))) 0))) (let (($x1095 (not $x1094))) (let (($x123 (= ?v0 b_Source$))) (let (($x128 (not $x123))) (let (($x1098 (and $x128 $x1095))) (let (($x1101 (not $x1098))) (or $x1101 $x1117)))))))) :qid k!38)) )) (let (($x1126 (not $x1123))) (let (($x1153 (or $x1126 $x1150))) (let (($x1156 (and $x1123 $x1153))) (let (($x1078 (not $x1075))) (let (($x1084 (and $x1078 $x209 $x212 $x214 $x217))) (let (($x1089 (not $x1084))) (let (($x1159 (or $x1089 $x1156))) (let (($x1366 (and $x1159 $x1363))) (let (($x1032 (forall ((?v0 B_Vertex$) )(! (let (($x1026 (exists ((?v1 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v1))) (let ((?x152 (b_G$ (pair$ ?v1 ?v0)))) (let (($x1007 (= (+ ?x152 ?x171 (* (- 1) (fun_app$a v_b_SP_G_1$ ?v0))) 0))) (let (($x175 (fun_app$ v_b_Visited_G_1$ ?v1))) (let (($x1010 (>= (+ ?x171 (* (- 1) (fun_app$a v_b_SP_G_1$ ?v0))) 0))) (let (($x1012 (not $x1010))) (and $x1012 $x175 $x1007))))))) :qid k!38)) )) (let (($x997 (<= (+ b_Infinity$ (* (- 1) (fun_app$a v_b_SP_G_1$ ?v0))) 0))) (let (($x998 (not $x997))) (let (($x123 (= ?v0 b_Source$))) (let (($x128 (not $x123))) (let (($x1001 (and $x128 $x998))) (let (($x1004 (not $x1001))) (or $x1004 $x1026)))))))) :qid k!38)) )) (let (($x992 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v1))) (let ((?x152 (b_G$ (pair$ ?v1 ?v0)))) (let (($x985 (>= (+ ?x152 ?x171 (* (- 1) (fun_app$a v_b_SP_G_1$ ?v0))) 0))) (let (($x917 (<= (+ b_Infinity$ (* (- 1) ?x152)) 0))) (let (($x918 (not $x917))) (let (($x175 (fun_app$ v_b_Visited_G_1$ ?v1))) (let (($x978 (and $x175 $x918))) (let (($x981 (not $x978))) (or $x981 $x985))))))))) :qid k!38)) )) (let (($x1040 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v1))) (let (($x1010 (>= (+ ?x171 (* (- 1) (fun_app$a v_b_SP_G_1$ ?v0))) 0))) (let (($x177 (fun_app$ v_b_Visited_G_1$ ?v0))) (let (($x175 (fun_app$ v_b_Visited_G_1$ ?v1))) (let (($x176 (not $x175))) (let (($x178 (and $x176 $x177))) (let (($x398 (not $x178))) (or $x398 $x1010)))))))) :qid k!38)) )) (let (($x1046 (forall ((?v0 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0))) (>= ?x171 0)) :qid k!38)) )) (let (($x975 (forall ((?v0 B_Vertex$) )(! (let (($x969 (exists ((?v1 B_Vertex$) )(! (let ((?x152 (b_G$ (pair$ ?v1 ?v0)))) (let ((?x124 (v_b_SP_G_0$ ?v1))) (let (($x952 (= (+ ?x124 (* (- 1) (v_b_SP_G_0$ ?v0)) ?x152) 0))) (let (($x133 (fun_app$ v_b_Visited_G_0$ ?v1))) (let (($x902 (>= (+ ?x124 (* (- 1) (v_b_SP_G_0$ ?v0))) 0))) (let (($x955 (not $x902))) (and $x955 $x133 $x952))))))) :qid k!38)) )) (let (($x123 (= ?v0 b_Source$))) (let (($x128 (not $x123))) (let (($x946 (and $x128 (not (<= (+ b_Infinity$ (* (- 1) (v_b_SP_G_0$ ?v0))) 0))))) (let (($x949 (not $x946))) (or $x949 $x969)))))) :qid k!38)) )) (let (($x1064 (and $x975 $x170 $x1046 $x1040 $x992 $x1032))) (let (($x1069 (not $x1064))) (let (($x1369 (or $x1069 $x1366))) (let (($x1372 (and $x975 $x1369))) (let (($x934 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x152 (b_G$ (pair$ ?v1 ?v0)))) (let ((?x124 (v_b_SP_G_0$ ?v1))) (let (($x928 (>= (+ ?x124 (* (- 1) (v_b_SP_G_0$ ?v0)) ?x152) 0))) (let (($x917 (<= (+ b_Infinity$ (* (- 1) ?x152)) 0))) (let (($x918 (not $x917))) (let (($x133 (fun_app$ v_b_Visited_G_0$ ?v1))) (let (($x921 (and $x133 $x918))) (let (($x924 (not $x921))) (or $x924 $x928))))))))) :qid k!38)) )) (let (($x937 (not $x934))) (let (($x1375 (or $x937 $x1372))) (let (($x1378 (and $x934 $x1375))) (let (($x909 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let (($x902 (>= (+ (v_b_SP_G_0$ ?v1) (* (- 1) (v_b_SP_G_0$ ?v0))) 0))) (let (($x133 (fun_app$ v_b_Visited_G_0$ ?v1))) (let (($x134 (not $x133))) (let (($x146 (and $x134 (fun_app$ v_b_Visited_G_0$ ?v0)))) (let (($x377 (not $x146))) (or $x377 $x902)))))) :qid k!38)) )) (let (($x912 (not $x909))) (let (($x1381 (or $x912 $x1378))) (let (($x1384 (and $x909 $x1381))) (let (($x894 (forall ((?v0 B_Vertex$) )(! (let ((?x124 (v_b_SP_G_0$ ?v0))) (>= ?x124 0)) :qid k!38)) )) (let (($x897 (not $x894))) (let (($x1387 (or $x897 $x1384))) (let (($x1390 (and $x894 $x1387))) (let ((?x141 (v_b_SP_G_0$ b_Source$))) (let (($x142 (= ?x141 0))) (let (($x864 (not $x142))) (let (($x1393 (or $x864 $x1390))) (let (($x1396 (and $x142 $x1393))) (let (($x1402 (not (or (not $x885) $x1396)))) (let (($x315 (forall ((?v0 B_Vertex$) )(! (let (($x313 (exists ((?v1 B_Vertex$) )(! (let (($x286 (fun_app$ v_b_Visited_G_2$ ?v1))) (let (($x311 (and $x286 (= (v_b_SP_G_2$ ?v0) (+ (v_b_SP_G_2$ ?v1) (b_G$ (pair$ ?v1 ?v0))))))) (let ((?x298 (v_b_SP_G_2$ ?v0))) (let ((?x268 (v_b_SP_G_2$ ?v1))) (let (($x309 (< ?x268 ?x298))) (and $x309 $x311)))))) :qid k!38)) )) (let (($x123 (= ?v0 b_Source$))) (let (($x128 (not $x123))) (let (($x308 (and $x128 (< (v_b_SP_G_2$ ?v0) b_Infinity$)))) (=> $x308 $x313))))) :qid k!38)) )) (let (($x316 (and $x315 false))) (let (($x317 (=> $x316 true))) (let (($x318 (and $x315 $x317))) (let (($x306 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x152 (b_G$ (pair$ ?v1 ?v0)))) (let ((?x268 (v_b_SP_G_2$ ?v1))) (let ((?x303 (+ ?x268 ?x152))) (let ((?x298 (v_b_SP_G_2$ ?v0))) (let (($x153 (< ?x152 b_Infinity$))) (let (($x286 (fun_app$ v_b_Visited_G_2$ ?v1))) (let (($x302 (and $x286 $x153))) (=> $x302 (<= ?x298 ?x303))))))))) :qid k!38)) )) (let (($x319 (=> $x306 $x318))) (let (($x301 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x268 (v_b_SP_G_2$ ?v1))) (let ((?x298 (v_b_SP_G_2$ ?v0))) (let (($x299 (<= ?x298 ?x268))) (let (($x296 (fun_app$ v_b_Visited_G_2$ ?v0))) (let (($x286 (fun_app$ v_b_Visited_G_2$ ?v1))) (let (($x295 (not $x286))) (let (($x297 (and $x295 $x296))) (=> $x297 $x299)))))))) :qid k!38)) )) (let (($x321 (=> $x301 (and $x306 $x319)))) (let (($x294 (forall ((?v0 B_Vertex$) )(! (let ((?x268 (v_b_SP_G_2$ ?v0))) (<= 0 ?x268)) :qid k!38)) )) (let (($x323 (=> $x294 (and $x301 $x321)))) (let (($x325 (=> $x292 (and $x294 $x323)))) (let (($x288 (forall ((?v0 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0))) (let ((?x268 (v_b_SP_G_2$ ?v0))) (let (($x273 (= ?x268 ?x171))) (let (($x286 (fun_app$ v_b_Visited_G_2$ ?v0))) (=> $x286 $x273))))) :qid k!38)) )) (let (($x290 (and $x288 (and true true)))) (let (($x327 (=> $x290 (and $x292 $x325)))) (let (($x285 (forall ((?v0 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0))) (let ((?x268 (v_b_SP_G_2$ ?v0))) (<= ?x268 ?x171))) :qid k!38)) )) (let (($x329 (=> $x285 (and $x288 $x327)))) (let (($x275 (forall ((?v0 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0))) (let ((?x268 (v_b_SP_G_2$ ?v0))) (let (($x273 (= ?x268 ?x171))) (let ((?x263 (b_G$ (pair$ v_b_v_G_1$ ?v0)))) (let ((?x254 (fun_app$a v_b_SP_G_1$ v_b_v_G_1$))) (let ((?x265 (+ ?x254 ?x263))) (let (($x267 (and (< ?x263 b_Infinity$) (< ?x265 ?x171)))) (let (($x272 (not $x267))) (=> $x272 $x273))))))))) :qid k!38)) )) (let (($x271 (forall ((?v0 B_Vertex$) )(! (let ((?x263 (b_G$ (pair$ v_b_v_G_1$ ?v0)))) (let ((?x254 (fun_app$a v_b_SP_G_1$ v_b_v_G_1$))) (let ((?x265 (+ ?x254 ?x263))) (let ((?x268 (v_b_SP_G_2$ ?v0))) (let (($x269 (= ?x268 ?x265))) (let (($x267 (and (< ?x263 b_Infinity$) (< ?x265 (fun_app$a v_b_SP_G_1$ ?v0))))) (=> $x267 $x269))))))) :qid k!38)) )) (let (($x258 (forall ((?v0 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0))) (let ((?x254 (fun_app$a v_b_SP_G_1$ v_b_v_G_1$))) (let (($x256 (<= ?x254 ?x171))) (let (($x175 (fun_app$ v_b_Visited_G_1$ ?v0))) (let (($x176 (not $x175))) (=> $x176 $x256)))))) :qid k!38)) )) (let (($x255 (< ?x254 b_Infinity$))) (let (($x206 (exists ((?v0 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0))) (let (($x188 (< ?x171 b_Infinity$))) (let (($x175 (fun_app$ v_b_Visited_G_1$ ?v0))) (let (($x176 (not $x175))) (and $x176 $x188))))) :qid k!38)) )) (let (($x281 (and $x206 (and $x253 (and $x255 (and $x258 (and $x261 (and $x271 $x275)))))))) (let (($x282 (and true $x281))) (let (($x283 (and true $x282))) (let (($x331 (=> $x283 (and $x285 $x329)))) (let (($x245 (and $x243 (=> $x243 true)))) (let (($x241 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x152 (b_G$ (pair$ ?v1 ?v0)))) (let ((?x227 (fun_app$a v_b_SP_G_3$ ?v1))) (let ((?x232 (+ ?x227 ?x152))) (let ((?x230 (fun_app$a v_b_SP_G_3$ ?v0))) (let (($x153 (< ?x152 b_Infinity$))) (let (($x228 (< ?x227 b_Infinity$))) (let (($x238 (and $x228 $x153))) (=> $x238 (<= ?x230 ?x232))))))))) :qid k!38)) )) (let (($x246 (=> $x241 $x245))) (let (($x237 (forall ((?v0 B_Vertex$) )(! (let (($x235 (exists ((?v1 B_Vertex$) )(! (let ((?x152 (b_G$ (pair$ ?v1 ?v0)))) (let ((?x227 (fun_app$a v_b_SP_G_3$ ?v1))) (let ((?x232 (+ ?x227 ?x152))) (let ((?x230 (fun_app$a v_b_SP_G_3$ ?v0))) (let (($x231 (< ?x227 ?x230))) (and $x231 (= ?x230 ?x232))))))) :qid k!38)) )) (let ((?x227 (fun_app$a v_b_SP_G_3$ ?v0))) (let (($x228 (< ?x227 b_Infinity$))) (let (($x123 (= ?v0 b_Source$))) (let (($x128 (not $x123))) (let (($x229 (and $x128 $x228))) (=> $x229 $x235))))))) :qid k!38)) )) (let (($x248 (=> $x237 (and $x241 $x246)))) (let (($x222 (and true (and $x209 (and $x212 (and $x214 (and $x217 true))))))) (let (($x223 (and true $x222))) (let (($x207 (not $x206))) (let (($x225 (and true (and $x207 $x223)))) (let (($x226 (and true $x225))) (let (($x250 (=> $x226 (and $x237 $x248)))) (let (($x196 (forall ((?v0 B_Vertex$) )(! (let (($x194 (exists ((?v1 B_Vertex$) )(! (let ((?x152 (b_G$ (pair$ ?v1 ?v0)))) (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v1))) (let ((?x184 (+ ?x171 ?x152))) (let ((?x179 (fun_app$a v_b_SP_G_1$ ?v0))) (let (($x175 (fun_app$ v_b_Visited_G_1$ ?v1))) (let (($x190 (< ?x171 ?x179))) (and $x190 (and $x175 (= ?x179 ?x184))))))))) :qid k!38)) )) (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0))) (let (($x188 (< ?x171 b_Infinity$))) (let (($x123 (= ?v0 b_Source$))) (let (($x128 (not $x123))) (let (($x189 (and $x128 $x188))) (=> $x189 $x194))))))) :qid k!38)) )) (let (($x197 (and $x196 true))) (let (($x187 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x152 (b_G$ (pair$ ?v1 ?v0)))) (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v1))) (let ((?x184 (+ ?x171 ?x152))) (let ((?x179 (fun_app$a v_b_SP_G_1$ ?v0))) (let (($x153 (< ?x152 b_Infinity$))) (let (($x175 (fun_app$ v_b_Visited_G_1$ ?v1))) (let (($x183 (and $x175 $x153))) (=> $x183 (<= ?x179 ?x184))))))))) :qid k!38)) )) (let (($x182 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v1))) (let ((?x179 (fun_app$a v_b_SP_G_1$ ?v0))) (let (($x180 (<= ?x179 ?x171))) (let (($x177 (fun_app$ v_b_Visited_G_1$ ?v0))) (let (($x175 (fun_app$ v_b_Visited_G_1$ ?v1))) (let (($x176 (not $x175))) (let (($x178 (and $x176 $x177))) (=> $x178 $x180)))))))) :qid k!38)) )) (let (($x173 (forall ((?v0 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0))) (<= 0 ?x171)) :qid k!38)) )) (let (($x202 (and true (and $x170 (and $x173 (and $x182 (and $x187 $x197))))))) (let (($x203 (and true $x202))) (let (($x167 (forall ((?v0 B_Vertex$) )(! (let (($x165 (exists ((?v1 B_Vertex$) )(! (let (($x133 (fun_app$ v_b_Visited_G_0$ ?v1))) (let (($x163 (and $x133 (= (v_b_SP_G_0$ ?v0) (+ (v_b_SP_G_0$ ?v1) (b_G$ (pair$ ?v1 ?v0))))))) (and (< (v_b_SP_G_0$ ?v1) (v_b_SP_G_0$ ?v0)) $x163))) :qid k!38)) )) (let (($x123 (= ?v0 b_Source$))) (let (($x128 (not $x123))) (let (($x160 (and $x128 (< (v_b_SP_G_0$ ?v0) b_Infinity$)))) (=> $x160 $x165))))) :qid k!38)) )) (let (($x333 (=> (and $x167 $x203) (and $x250 $x331)))) (let (($x158 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x147 (v_b_SP_G_0$ ?v0))) (let (($x156 (<= ?x147 (+ (v_b_SP_G_0$ ?v1) (b_G$ (pair$ ?v1 ?v0)))))) (let ((?x152 (b_G$ (pair$ ?v1 ?v0)))) (let (($x153 (< ?x152 b_Infinity$))) (let (($x133 (fun_app$ v_b_Visited_G_0$ ?v1))) (let (($x154 (and $x133 $x153))) (=> $x154 $x156))))))) :qid k!38)) )) (let (($x335 (=> $x158 (and $x167 $x333)))) (let (($x150 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x124 (v_b_SP_G_0$ ?v1))) (let ((?x147 (v_b_SP_G_0$ ?v0))) (let (($x148 (<= ?x147 ?x124))) (let (($x133 (fun_app$ v_b_Visited_G_0$ ?v1))) (let (($x134 (not $x133))) (let (($x146 (and $x134 (fun_app$ v_b_Visited_G_0$ ?v0)))) (=> $x146 $x148))))))) :qid k!38)) )) (let (($x337 (=> $x150 (and $x158 $x335)))) (let (($x144 (forall ((?v0 B_Vertex$) )(! (let ((?x124 (v_b_SP_G_0$ ?v0))) (<= 0 ?x124)) :qid k!38)) )) (let (($x339 (=> $x144 (and $x150 $x337)))) (let (($x341 (=> $x142 (and $x144 $x339)))) (let (($x131 (forall ((?v0 B_Vertex$) )(! (let (($x123 (= ?v0 b_Source$))) (let (($x128 (not $x123))) (=> $x128 (= (v_b_SP_G_0$ ?v0) b_Infinity$)))) :qid k!38)) )) (let (($x127 (forall ((?v0 B_Vertex$) )(! (let (($x123 (= ?v0 b_Source$))) (=> $x123 (= (v_b_SP_G_0$ ?v0) 0))) :qid k!38)) )) (let (($x139 (and true (and $x127 (and $x131 (and $x135 true)))))) (let (($x140 (and true $x139))) (let (($x343 (=> $x140 (and $x142 $x341)))) (let (($x344 (not $x343))) (let (($x705 (forall ((?v0 B_Vertex$) )(! (let (($x693 (exists ((?v1 B_Vertex$) )(! (let ((?x268 (v_b_SP_G_2$ ?v1))) (let ((?x152 (b_G$ (pair$ ?v1 ?v0)))) (let ((?x666 (+ ?x152 ?x268))) (let ((?x298 (v_b_SP_G_2$ ?v0))) (let (($x684 (= ?x298 ?x666))) (let (($x286 (fun_app$ v_b_Visited_G_2$ ?v1))) (let (($x687 (and $x286 $x684))) (let (($x309 (< ?x268 ?x298))) (and $x309 $x687))))))))) :qid k!38)) )) (let (($x123 (= ?v0 b_Source$))) (let (($x128 (not $x123))) (let (($x308 (and $x128 (< (v_b_SP_G_2$ ?v0) b_Infinity$)))) (or (not $x308) $x693))))) :qid k!38)) )) (let (($x681 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x268 (v_b_SP_G_2$ ?v1))) (let ((?x152 (b_G$ (pair$ ?v1 ?v0)))) (let ((?x666 (+ ?x152 ?x268))) (let ((?x298 (v_b_SP_G_2$ ?v0))) (let (($x669 (<= ?x298 ?x666))) (or (not (and (fun_app$ v_b_Visited_G_2$ ?v1) (< ?x152 b_Infinity$))) $x669)))))) :qid k!38)) )) (let (($x733 (or (not $x681) $x705))) (let (($x738 (and $x681 $x733))) (let (($x663 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x268 (v_b_SP_G_2$ ?v1))) (let ((?x298 (v_b_SP_G_2$ ?v0))) (let (($x299 (<= ?x298 ?x268))) (let (($x296 (fun_app$ v_b_Visited_G_2$ ?v0))) (let (($x286 (fun_app$ v_b_Visited_G_2$ ?v1))) (let (($x295 (not $x286))) (let (($x297 (and $x295 $x296))) (let (($x659 (not $x297))) (or $x659 $x299))))))))) :qid k!38)) )) (let (($x745 (or (not $x663) $x738))) (let (($x750 (and $x663 $x745))) (let (($x757 (or (not $x294) $x750))) (let (($x762 (and $x294 $x757))) (let (($x769 (or $x768 $x762))) (let (($x774 (and $x292 $x769))) (let (($x781 (or $x780 $x774))) (let (($x786 (and $x647 $x781))) (let (($x793 (or (not $x285) $x786))) (let (($x798 (and $x285 $x793))) (let (($x612 (forall ((?v0 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0))) (let ((?x268 (v_b_SP_G_2$ ?v0))) (let (($x273 (= ?x268 ?x171))) (let ((?x263 (b_G$ (pair$ v_b_v_G_1$ ?v0)))) (let ((?x254 (fun_app$a v_b_SP_G_1$ v_b_v_G_1$))) (let ((?x265 (+ ?x254 ?x263))) (let (($x267 (and (< ?x263 b_Infinity$) (< ?x265 ?x171)))) (or $x267 $x273)))))))) :qid k!38)) )) (let (($x606 (forall ((?v0 B_Vertex$) )(! (let ((?x263 (b_G$ (pair$ v_b_v_G_1$ ?v0)))) (let ((?x254 (fun_app$a v_b_SP_G_1$ v_b_v_G_1$))) (let ((?x265 (+ ?x254 ?x263))) (let ((?x268 (v_b_SP_G_2$ ?v0))) (let (($x269 (= ?x268 ?x265))) (let (($x267 (and (< ?x263 b_Infinity$) (< ?x265 (fun_app$a v_b_SP_G_1$ ?v0))))) (let (($x272 (not $x267))) (or $x272 $x269)))))))) :qid k!38)) )) (let (($x615 (and $x606 $x612))) (let (($x618 (and $x261 $x615))) (let (($x600 (forall ((?v0 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0))) (let ((?x254 (fun_app$a v_b_SP_G_1$ v_b_v_G_1$))) (let (($x256 (<= ?x254 ?x171))) (let (($x175 (fun_app$ v_b_Visited_G_1$ ?v0))) (or $x175 $x256))))) :qid k!38)) )) (let (($x621 (and $x600 $x618))) (let (($x624 (and $x255 $x621))) (let (($x627 (and $x253 $x624))) (let (($x630 (and $x206 $x627))) (let (($x805 (or (not $x630) $x798))) (let (($x552 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x227 (fun_app$a v_b_SP_G_3$ ?v1))) (let ((?x152 (b_G$ (pair$ ?v1 ?v0)))) (let ((?x516 (+ ?x152 ?x227))) (let ((?x230 (fun_app$a v_b_SP_G_3$ ?v0))) (let (($x540 (<= ?x230 ?x516))) (or (not (and (< ?x227 b_Infinity$) (< ?x152 b_Infinity$))) $x540)))))) :qid k!38)) )) (let (($x568 (or (not $x552) $x243))) (let (($x573 (and $x552 $x568))) (let (($x537 (forall ((?v0 B_Vertex$) )(! (let (($x525 (exists ((?v1 B_Vertex$) )(! (let ((?x227 (fun_app$a v_b_SP_G_3$ ?v1))) (let ((?x152 (b_G$ (pair$ ?v1 ?v0)))) (let ((?x516 (+ ?x152 ?x227))) (let ((?x230 (fun_app$a v_b_SP_G_3$ ?v0))) (let (($x519 (= ?x230 ?x516))) (let (($x231 (< ?x227 ?x230))) (and $x231 $x519))))))) :qid k!38)) )) (let ((?x227 (fun_app$a v_b_SP_G_3$ ?v0))) (let (($x228 (< ?x227 b_Infinity$))) (let (($x123 (= ?v0 b_Source$))) (let (($x128 (not $x123))) (let (($x229 (and $x128 $x228))) (or (not $x229) $x525))))))) :qid k!38)) )) (let (($x580 (or (not $x537) $x573))) (let (($x585 (and $x537 $x580))) (let (($x592 (or (not (and $x207 (and $x209 (and $x212 (and $x214 $x217))))) $x585))) (let (($x810 (and $x592 $x805))) (let (($x444 (forall ((?v0 B_Vertex$) )(! (let (($x432 (exists ((?v1 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v1))) (let ((?x152 (b_G$ (pair$ ?v1 ?v0)))) (let ((?x405 (+ ?x152 ?x171))) (let ((?x179 (fun_app$a v_b_SP_G_1$ ?v0))) (let (($x423 (= ?x179 ?x405))) (let (($x175 (fun_app$ v_b_Visited_G_1$ ?v1))) (let (($x426 (and $x175 $x423))) (let (($x190 (< ?x171 ?x179))) (and $x190 $x426))))))))) :qid k!38)) )) (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0))) (let (($x188 (< ?x171 b_Infinity$))) (let (($x123 (= ?v0 b_Source$))) (let (($x128 (not $x123))) (let (($x189 (and $x128 $x188))) (or (not $x189) $x432))))))) :qid k!38)) )) (let (($x420 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v1))) (let ((?x152 (b_G$ (pair$ ?v1 ?v0)))) (let ((?x405 (+ ?x152 ?x171))) (let ((?x179 (fun_app$a v_b_SP_G_1$ ?v0))) (let (($x408 (<= ?x179 ?x405))) (or (not (and (fun_app$ v_b_Visited_G_1$ ?v1) (< ?x152 b_Infinity$))) $x408)))))) :qid k!38)) )) (let (($x454 (and $x420 $x444))) (let (($x402 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v1))) (let ((?x179 (fun_app$a v_b_SP_G_1$ ?v0))) (let (($x180 (<= ?x179 ?x171))) (let (($x177 (fun_app$ v_b_Visited_G_1$ ?v0))) (let (($x175 (fun_app$ v_b_Visited_G_1$ ?v1))) (let (($x176 (not $x175))) (let (($x178 (and $x176 $x177))) (let (($x398 (not $x178))) (or $x398 $x180))))))))) :qid k!38)) )) (let (($x457 (and $x402 $x454))) (let (($x460 (and $x173 $x457))) (let (($x463 (and $x170 $x460))) (let (($x395 (forall ((?v0 B_Vertex$) )(! (let (($x165 (exists ((?v1 B_Vertex$) )(! (let (($x133 (fun_app$ v_b_Visited_G_0$ ?v1))) (let (($x163 (and $x133 (= (v_b_SP_G_0$ ?v0) (+ (v_b_SP_G_0$ ?v1) (b_G$ (pair$ ?v1 ?v0))))))) (and (< (v_b_SP_G_0$ ?v1) (v_b_SP_G_0$ ?v0)) $x163))) :qid k!38)) )) (let (($x123 (= ?v0 b_Source$))) (let (($x128 (not $x123))) (let (($x160 (and $x128 (< (v_b_SP_G_0$ ?v0) b_Infinity$)))) (or (not $x160) $x165))))) :qid k!38)) )) (let (($x477 (and $x395 $x463))) (let (($x817 (or (not $x477) $x810))) (let (($x822 (and $x395 $x817))) (let (($x388 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x147 (v_b_SP_G_0$ ?v0))) (let (($x156 (<= ?x147 (+ (v_b_SP_G_0$ ?v1) (b_G$ (pair$ ?v1 ?v0)))))) (let ((?x152 (b_G$ (pair$ ?v1 ?v0)))) (let (($x153 (< ?x152 b_Infinity$))) (let (($x133 (fun_app$ v_b_Visited_G_0$ ?v1))) (let (($x154 (and $x133 $x153))) (or (not $x154) $x156))))))) :qid k!38)) )) (let (($x829 (or (not $x388) $x822))) (let (($x834 (and $x388 $x829))) (let (($x381 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x124 (v_b_SP_G_0$ ?v1))) (let ((?x147 (v_b_SP_G_0$ ?v0))) (let (($x148 (<= ?x147 ?x124))) (let (($x133 (fun_app$ v_b_Visited_G_0$ ?v1))) (let (($x134 (not $x133))) (let (($x146 (and $x134 (fun_app$ v_b_Visited_G_0$ ?v0)))) (let (($x377 (not $x146))) (or $x377 $x148)))))))) :qid k!38)) )) (let (($x841 (or (not $x381) $x834))) (let (($x846 (and $x381 $x841))) (let (($x853 (or (not $x144) $x846))) (let (($x858 (and $x144 $x853))) (let (($x865 (or $x864 $x858))) (let (($x870 (and $x142 $x865))) (let (($x877 (or (not (and $x349 (and $x355 $x135))) $x870))) (let (($x1318 (exists ((?v1 B_Vertex$) )(! (let ((?x298 (v_b_SP_G_2$ ?0))) (let ((?x1258 (* (- 1) ?x298))) (let ((?x268 (v_b_SP_G_2$ ?v1))) (let ((?x152 (b_G$ (pair$ ?v1 ?0)))) (let (($x1301 (= (+ ?x152 ?x268 ?x1258) 0))) (let (($x286 (fun_app$ v_b_Visited_G_2$ ?v1))) (let (($x1257 (>= (+ ?x268 ?x1258) 0))) (let (($x1304 (not $x1257))) (and $x1304 $x286 $x1301))))))))) :qid k!38)) )) (let (($x128 (not $x123))) (let (($x1295 (and $x128 (not (<= (+ b_Infinity$ (* (- 1) (v_b_SP_G_2$ ?0))) 0))))) (let (($x693 (exists ((?v1 B_Vertex$) )(! (let ((?x268 (v_b_SP_G_2$ ?v1))) (let ((?x152 (b_G$ (pair$ ?v1 ?0)))) (let ((?x666 (+ ?x152 ?x268))) (let ((?x298 (v_b_SP_G_2$ ?0))) (let (($x684 (= ?x298 ?x666))) (let (($x286 (fun_app$ v_b_Visited_G_2$ ?v1))) (let (($x687 (and $x286 $x684))) (let (($x309 (< ?x268 ?x298))) (and $x309 $x687))))))))) :qid k!38)) )) (let (($x700 (or (not (and $x128 (< (v_b_SP_G_2$ ?0) b_Infinity$))) $x693))) (let ((?x298 (v_b_SP_G_2$ ?1))) (let ((?x1258 (* (- 1) ?x298))) (let ((?x268 (v_b_SP_G_2$ ?0))) (let ((?x152 (b_G$ (pair$ ?0 ?1)))) (let (($x1301 (= (+ ?x152 ?x268 ?x1258) 0))) (let (($x286 (fun_app$ v_b_Visited_G_2$ ?0))) (let (($x1257 (>= (+ ?x268 ?x1258) 0))) (let (($x1304 (not $x1257))) (let (($x1313 (and $x1304 $x286 $x1301))) (let ((?x666 (+ ?x152 ?x268))) (let (($x684 (= ?x298 ?x666))) (let (($x687 (and $x286 $x684))) (let (($x309 (< ?x268 ?x298))) (let (($x690 (and $x309 $x687))) (let ((@x1312 (monotonicity (rewrite (= $x309 $x1304)) (monotonicity (rewrite (= $x684 $x1301)) (= $x687 (and $x286 $x1301))) (= $x690 (and $x1304 (and $x286 $x1301)))))) (let ((@x1317 (trans @x1312 (rewrite (= (and $x1304 (and $x286 $x1301)) $x1313)) (= $x690 $x1313)))) (let (($x1293 (= (< ?x268 b_Infinity$) (not (<= (+ b_Infinity$ (* (- 1) ?x268)) 0))))) (let ((@x1297 (monotonicity (rewrite $x1293) (= (and $x128 (< ?x268 b_Infinity$)) $x1295)))) (let ((@x1300 (monotonicity @x1297 (= (not (and $x128 (< ?x268 b_Infinity$))) (not $x1295))))) (let ((@x1323 (monotonicity @x1300 (quant-intro @x1317 (= $x693 $x1318)) (= $x700 (or (not $x1295) $x1318))))) (let (($x1277 (>= (+ ?x152 ?x268 ?x1258) 0))) (let (($x917 (<= (+ b_Infinity$ (* (- 1) ?x152)) 0))) (let (($x918 (not $x917))) (let (($x1271 (and $x286 $x918))) (let (($x1274 (not $x1271))) (let (($x1281 (or $x1274 $x1277))) (let (($x669 (<= ?x298 ?x666))) (let (($x676 (or (not (and $x286 (< ?x152 b_Infinity$))) $x669))) (let ((@x920 (rewrite (= (< ?x152 b_Infinity$) $x918)))) (let ((@x1276 (monotonicity (monotonicity @x920 (= (and $x286 (< ?x152 b_Infinity$)) $x1271)) (= (not (and $x286 (< ?x152 b_Infinity$))) $x1274)))) (let ((@x1286 (quant-intro (monotonicity @x1276 (rewrite (= $x669 $x1277)) (= $x676 $x1281)) (= $x681 $x1284)))) (let ((@x1329 (monotonicity (monotonicity @x1286 (= (not $x681) $x1287)) (quant-intro @x1323 (= $x705 $x1324)) (= $x733 $x1327)))) (let (($x296 (fun_app$ v_b_Visited_G_2$ ?1))) (let (($x295 (not $x286))) (let (($x297 (and $x295 $x296))) (let (($x659 (not $x297))) (let (($x1262 (or $x659 $x1257))) (let (($x299 (<= ?x298 ?x268))) (let (($x660 (or $x659 $x299))) (let ((@x1267 (quant-intro (monotonicity (rewrite (= $x299 $x1257)) (= $x660 $x1262)) (= $x663 $x1265)))) (let ((@x1335 (monotonicity (monotonicity @x1267 (= (not $x663) $x1268)) (monotonicity @x1286 @x1329 (= $x738 $x1330)) (= $x745 $x1333)))) (let ((@x1253 (quant-intro (rewrite (= (<= 0 ?x268) (>= ?x268 0))) (= $x294 $x1251)))) (let ((@x1341 (monotonicity (monotonicity @x1253 (= (not $x294) $x1254)) (monotonicity @x1267 @x1335 (= $x750 $x1336)) (= $x757 $x1339)))) (let ((@x1347 (monotonicity (monotonicity @x1253 @x1341 (= $x762 $x1342)) (= $x769 $x1345)))) (let ((@x1356 (monotonicity (monotonicity (monotonicity @x1347 (= $x774 $x1348)) (= $x781 $x1351)) (= $x786 $x1354)))) (let (($x1238 (>= (+ (fun_app$a v_b_SP_G_1$ ?0) (* (- 1) ?x268)) 0))) (let ((@x1244 (quant-intro (rewrite (= (<= ?x268 (fun_app$a v_b_SP_G_1$ ?0)) $x1238)) (= $x285 $x1242)))) (let ((@x1359 (monotonicity (monotonicity @x1244 (= (not $x285) $x1245)) @x1356 (= $x793 $x1357)))) (let (($x1227 (and $x1075 (and $x253 (and $x1209 (and $x1204 (and $x261 (and $x1188 $x1194)))))))) (let (($x1225 (= $x627 (and $x253 (and $x1209 (and $x1204 (and $x261 (and $x1188 $x1194)))))))) (let ((?x171 (fun_app$a v_b_SP_G_1$ ?0))) (let (($x273 (= ?x268 ?x171))) (let (($x1170 (<= (+ ?x171 ?x1168 (* (- 1) (b_G$ (pair$ v_b_v_G_1$ ?0)))) 0))) (let (($x1164 (<= (+ b_Infinity$ (* (- 1) (b_G$ (pair$ v_b_v_G_1$ ?0)))) 0))) (let (($x1174 (and (not $x1164) (not $x1170)))) (let (($x1191 (or $x1174 $x273))) (let (($x267 (and (< (b_G$ (pair$ v_b_v_G_1$ ?0)) b_Infinity$) (< (+ ?x254 (b_G$ (pair$ v_b_v_G_1$ ?0))) ?x171)))) (let (($x609 (or $x267 $x273))) (let ((@x1173 (rewrite (= (< (+ ?x254 (b_G$ (pair$ v_b_v_G_1$ ?0))) ?x171) (not $x1170))))) (let ((@x1167 (rewrite (= (< (b_G$ (pair$ v_b_v_G_1$ ?0)) b_Infinity$) (not $x1164))))) (let ((@x1193 (monotonicity (monotonicity @x1167 @x1173 (= $x267 $x1174)) (= $x609 $x1191)))) (let (($x1180 (= (+ ?x254 (b_G$ (pair$ v_b_v_G_1$ ?0)) (* (- 1) ?x268)) 0))) (let (($x1177 (not $x1174))) (let (($x1185 (or $x1177 $x1180))) (let ((?x263 (b_G$ (pair$ v_b_v_G_1$ ?0)))) (let ((?x265 (+ ?x254 ?x263))) (let (($x269 (= ?x268 ?x265))) (let (($x272 (not $x267))) (let (($x603 (or $x272 $x269))) (let ((@x1179 (monotonicity (monotonicity @x1167 @x1173 (= $x267 $x1174)) (= $x272 $x1177)))) (let ((@x1190 (quant-intro (monotonicity @x1179 (rewrite (= $x269 $x1180)) (= $x603 $x1185)) (= $x606 $x1188)))) (let ((@x1214 (monotonicity @x1190 (quant-intro @x1193 (= $x612 $x1194)) (= $x615 (and $x1188 $x1194))))) (let (($x175 (fun_app$ v_b_Visited_G_1$ ?0))) (let (($x1201 (or $x175 (>= (+ ?x171 ?x1168) 0)))) (let (($x256 (<= ?x254 ?x171))) (let (($x597 (or $x175 $x256))) (let ((@x1203 (monotonicity (rewrite (= $x256 (>= (+ ?x171 ?x1168) 0))) (= $x597 $x1201)))) (let ((@x1220 (monotonicity (quant-intro @x1203 (= $x600 $x1204)) (monotonicity @x1214 (= $x618 (and $x261 (and $x1188 $x1194)))) (= $x621 (and $x1204 (and $x261 (and $x1188 $x1194))))))) (let ((@x1223 (monotonicity (rewrite (= $x255 $x1209)) @x1220 (= $x624 (and $x1209 (and $x1204 (and $x261 (and $x1188 $x1194)))))))) (let (($x997 (<= (+ b_Infinity$ (* (- 1) ?x171)) 0))) (let (($x998 (not $x997))) (let (($x176 (not $x175))) (let (($x1072 (and $x176 $x998))) (let ((@x1074 (monotonicity (rewrite (= (< ?x171 b_Infinity$) $x998)) (= (and $x176 (< ?x171 b_Infinity$)) $x1072)))) (let ((@x1229 (monotonicity (quant-intro @x1074 (= $x206 $x1075)) (monotonicity @x1223 $x1225) (= $x630 $x1227)))) (let ((@x1237 (monotonicity (trans @x1229 (rewrite (= $x1227 $x1230)) (= $x630 $x1230)) (= (not $x630) $x1235)))) (let ((@x1365 (monotonicity @x1237 (monotonicity @x1244 @x1359 (= $x798 $x1360)) (= $x805 $x1363)))) (let ((?x227 (fun_app$a v_b_SP_G_3$ ?0))) (let (($x1135 (>= (+ ?x152 ?x227 (* (- 1) (fun_app$a v_b_SP_G_3$ ?1))) 0))) (let (($x1094 (<= (+ b_Infinity$ (* (- 1) ?x227)) 0))) (let (($x1095 (not $x1094))) (let (($x1129 (and $x1095 $x918))) (let (($x1132 (not $x1129))) (let (($x1138 (or $x1132 $x1135))) (let ((?x516 (+ ?x152 ?x227))) (let ((?x230 (fun_app$a v_b_SP_G_3$ ?1))) (let (($x540 (<= ?x230 ?x516))) (let (($x547 (or (not (and (< ?x227 b_Infinity$) (< ?x152 b_Infinity$))) $x540))) (let ((@x1131 (monotonicity (rewrite (= (< ?x227 b_Infinity$) $x1095)) @x920 (= (and (< ?x227 b_Infinity$) (< ?x152 b_Infinity$)) $x1129)))) (let ((@x1134 (monotonicity @x1131 (= (not (and (< ?x227 b_Infinity$) (< ?x152 b_Infinity$))) $x1132)))) (let ((@x1143 (quant-intro (monotonicity @x1134 (rewrite (= $x540 $x1135)) (= $x547 $x1138)) (= $x552 $x1141)))) (let ((@x1149 (monotonicity (monotonicity @x1143 (= (not $x552) $x1144)) (= $x568 $x1147)))) (let (($x1117 (exists ((?v1 B_Vertex$) )(! (let ((?x227 (fun_app$a v_b_SP_G_3$ ?v1))) (let ((?x152 (b_G$ (pair$ ?v1 ?0)))) (and (not (>= (+ ?x227 (* (- 1) (fun_app$a v_b_SP_G_3$ ?0))) 0)) (= (+ ?x152 ?x227 (* (- 1) (fun_app$a v_b_SP_G_3$ ?0))) 0)))) :qid k!38)) )) (let (($x1098 (and $x128 $x1095))) (let (($x1101 (not $x1098))) (let (($x1120 (or $x1101 $x1117))) (let (($x525 (exists ((?v1 B_Vertex$) )(! (let ((?x227 (fun_app$a v_b_SP_G_3$ ?v1))) (let ((?x152 (b_G$ (pair$ ?v1 ?0)))) (let ((?x516 (+ ?x152 ?x227))) (let ((?x230 (fun_app$a v_b_SP_G_3$ ?0))) (let (($x519 (= ?x230 ?x516))) (let (($x231 (< ?x227 ?x230))) (and $x231 $x519))))))) :qid k!38)) )) (let (($x532 (or (not (and $x128 (< ?x227 b_Infinity$))) $x525))) (let (($x1114 (and (not (>= (+ ?x227 (* (- 1) ?x230)) 0)) (= (+ ?x152 ?x227 (* (- 1) ?x230)) 0)))) (let (($x519 (= ?x230 ?x516))) (let (($x231 (< ?x227 ?x230))) (let (($x522 (and $x231 $x519))) (let ((@x1116 (monotonicity (rewrite (= $x231 (not (>= (+ ?x227 (* (- 1) ?x230)) 0)))) (rewrite (= $x519 (= (+ ?x152 ?x227 (* (- 1) ?x230)) 0))) (= $x522 $x1114)))) (let ((@x1100 (monotonicity (rewrite (= (< ?x227 b_Infinity$) $x1095)) (= (and $x128 (< ?x227 b_Infinity$)) $x1098)))) (let ((@x1122 (monotonicity (monotonicity @x1100 (= (not (and $x128 (< ?x227 b_Infinity$))) $x1101)) (quant-intro @x1116 (= $x525 $x1117)) (= $x532 $x1120)))) (let ((@x1128 (monotonicity (quant-intro @x1122 (= $x537 $x1123)) (= (not $x537) $x1126)))) (let ((@x1155 (monotonicity @x1128 (monotonicity @x1143 @x1149 (= $x573 $x1150)) (= $x580 $x1153)))) (let ((@x1086 (rewrite (= (and $x1078 (and $x209 (and $x212 (and $x214 $x217)))) $x1084)))) (let (($x488 (and $x209 (and $x212 (and $x214 $x217))))) (let (($x502 (and $x207 $x488))) (let ((@x1083 (monotonicity (monotonicity (quant-intro @x1074 (= $x206 $x1075)) (= $x207 $x1078)) (= $x502 (and $x1078 $x488))))) (let ((@x1091 (monotonicity (trans @x1083 @x1086 (= $x502 $x1084)) (= (not $x502) $x1089)))) (let ((@x1161 (monotonicity @x1091 (monotonicity (quant-intro @x1122 (= $x537 $x1123)) @x1155 (= $x585 $x1156)) (= $x592 $x1159)))) (let (($x1065 (= (and $x975 (and $x170 (and $x1046 (and $x1040 (and $x992 $x1032))))) $x1064))) (let (($x1062 (= $x477 (and $x975 (and $x170 (and $x1046 (and $x1040 (and $x992 $x1032)))))))) (let (($x1026 (exists ((?v1 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v1))) (let ((?x152 (b_G$ (pair$ ?v1 ?0)))) (let (($x1007 (= (+ ?x152 ?x171 (* (- 1) (fun_app$a v_b_SP_G_1$ ?0))) 0))) (let (($x175 (fun_app$ v_b_Visited_G_1$ ?v1))) (let (($x1010 (>= (+ ?x171 (* (- 1) (fun_app$a v_b_SP_G_1$ ?0))) 0))) (let (($x1012 (not $x1010))) (and $x1012 $x175 $x1007))))))) :qid k!38)) )) (let (($x1001 (and $x128 $x998))) (let (($x1004 (not $x1001))) (let (($x1029 (or $x1004 $x1026))) (let (($x432 (exists ((?v1 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v1))) (let ((?x152 (b_G$ (pair$ ?v1 ?0)))) (let ((?x405 (+ ?x152 ?x171))) (let ((?x179 (fun_app$a v_b_SP_G_1$ ?0))) (let (($x423 (= ?x179 ?x405))) (let (($x175 (fun_app$ v_b_Visited_G_1$ ?v1))) (let (($x426 (and $x175 $x423))) (let (($x190 (< ?x171 ?x179))) (and $x190 $x426))))))))) :qid k!38)) )) (let (($x439 (or (not (and $x128 (< ?x171 b_Infinity$))) $x432))) (let (($x1007 (= (+ ?x152 ?x171 (* (- 1) (fun_app$a v_b_SP_G_1$ ?1))) 0))) (let (($x1010 (>= (+ ?x171 (* (- 1) (fun_app$a v_b_SP_G_1$ ?1))) 0))) (let (($x1012 (not $x1010))) (let (($x1021 (and $x1012 $x175 $x1007))) (let ((?x405 (+ ?x152 ?x171))) (let ((?x179 (fun_app$a v_b_SP_G_1$ ?1))) (let (($x423 (= ?x179 ?x405))) (let (($x426 (and $x175 $x423))) (let (($x190 (< ?x171 ?x179))) (let (($x429 (and $x190 $x426))) (let ((@x1020 (monotonicity (rewrite (= $x190 $x1012)) (monotonicity (rewrite (= $x423 $x1007)) (= $x426 (and $x175 $x1007))) (= $x429 (and $x1012 (and $x175 $x1007)))))) (let ((@x1025 (trans @x1020 (rewrite (= (and $x1012 (and $x175 $x1007)) $x1021)) (= $x429 $x1021)))) (let ((@x1003 (monotonicity (rewrite (= (< ?x171 b_Infinity$) $x998)) (= (and $x128 (< ?x171 b_Infinity$)) $x1001)))) (let ((@x1031 (monotonicity (monotonicity @x1003 (= (not (and $x128 (< ?x171 b_Infinity$))) $x1004)) (quant-intro @x1025 (= $x432 $x1026)) (= $x439 $x1029)))) (let (($x985 (>= (+ ?x152 ?x171 (* (- 1) ?x179)) 0))) (let (($x978 (and $x175 $x918))) (let (($x981 (not $x978))) (let (($x989 (or $x981 $x985))) (let (($x408 (<= ?x179 ?x405))) (let (($x415 (or (not (and $x175 (< ?x152 b_Infinity$))) $x408))) (let ((@x983 (monotonicity (monotonicity @x920 (= (and $x175 (< ?x152 b_Infinity$)) $x978)) (= (not (and $x175 (< ?x152 b_Infinity$))) $x981)))) (let ((@x994 (quant-intro (monotonicity @x983 (rewrite (= $x408 $x985)) (= $x415 $x989)) (= $x420 $x992)))) (let ((@x1051 (monotonicity @x994 (quant-intro @x1031 (= $x444 $x1032)) (= $x454 (and $x992 $x1032))))) (let (($x177 (fun_app$ v_b_Visited_G_1$ ?1))) (let (($x178 (and $x176 $x177))) (let (($x398 (not $x178))) (let (($x1037 (or $x398 $x1010))) (let (($x180 (<= ?x179 ?x171))) (let (($x399 (or $x398 $x180))) (let ((@x1042 (quant-intro (monotonicity (rewrite (= $x180 $x1010)) (= $x399 $x1037)) (= $x402 $x1040)))) (let ((@x1048 (quant-intro (rewrite (= (<= 0 ?x171) (>= ?x171 0))) (= $x173 $x1046)))) (let ((@x1057 (monotonicity @x1048 (monotonicity @x1042 @x1051 (= $x457 (and $x1040 (and $x992 $x1032)))) (= $x460 (and $x1046 (and $x1040 (and $x992 $x1032))))))) (let ((@x1060 (monotonicity @x1057 (= $x463 (and $x170 (and $x1046 (and $x1040 (and $x992 $x1032)))))))) (let (($x969 (exists ((?v1 B_Vertex$) )(! (let ((?x152 (b_G$ (pair$ ?v1 ?0)))) (let ((?x124 (v_b_SP_G_0$ ?v1))) (let (($x952 (= (+ ?x124 (* (- 1) (v_b_SP_G_0$ ?0)) ?x152) 0))) (let (($x133 (fun_app$ v_b_Visited_G_0$ ?v1))) (let (($x902 (>= (+ ?x124 (* (- 1) (v_b_SP_G_0$ ?0))) 0))) (let (($x955 (not $x902))) (and $x955 $x133 $x952))))))) :qid k!38)) )) (let (($x946 (and $x128 (not (<= (+ b_Infinity$ (* (- 1) (v_b_SP_G_0$ ?0))) 0))))) (let (($x949 (not $x946))) (let (($x972 (or $x949 $x969))) (let (($x165 (exists ((?v1 B_Vertex$) )(! (let (($x133 (fun_app$ v_b_Visited_G_0$ ?v1))) (let (($x163 (and $x133 (= (v_b_SP_G_0$ ?0) (+ (v_b_SP_G_0$ ?v1) (b_G$ (pair$ ?v1 ?0))))))) (and (< (v_b_SP_G_0$ ?v1) (v_b_SP_G_0$ ?0)) $x163))) :qid k!38)) )) (let (($x392 (or (not (and $x128 (< (v_b_SP_G_0$ ?0) b_Infinity$))) $x165))) (let (($x952 (= (+ (v_b_SP_G_0$ ?0) (* (- 1) (v_b_SP_G_0$ ?1)) ?x152) 0))) (let (($x133 (fun_app$ v_b_Visited_G_0$ ?0))) (let (($x902 (>= (+ (v_b_SP_G_0$ ?0) (* (- 1) (v_b_SP_G_0$ ?1))) 0))) (let (($x955 (not $x902))) (let (($x964 (and $x955 $x133 $x952))) (let (($x164 (and (< (v_b_SP_G_0$ ?0) (v_b_SP_G_0$ ?1)) (and $x133 (= (v_b_SP_G_0$ ?1) (+ (v_b_SP_G_0$ ?0) ?x152)))))) (let (($x959 (= (and $x133 (= (v_b_SP_G_0$ ?1) (+ (v_b_SP_G_0$ ?0) ?x152))) (and $x133 $x952)))) (let ((@x954 (rewrite (= (= (v_b_SP_G_0$ ?1) (+ (v_b_SP_G_0$ ?0) ?x152)) $x952)))) (let ((@x963 (monotonicity (rewrite (= (< (v_b_SP_G_0$ ?0) (v_b_SP_G_0$ ?1)) $x955)) (monotonicity @x954 $x959) (= $x164 (and $x955 (and $x133 $x952)))))) (let ((@x968 (trans @x963 (rewrite (= (and $x955 (and $x133 $x952)) $x964)) (= $x164 $x964)))) (let (($x944 (= (< (v_b_SP_G_0$ ?0) b_Infinity$) (not (<= (+ b_Infinity$ (* (- 1) (v_b_SP_G_0$ ?0))) 0))))) (let ((@x948 (monotonicity (rewrite $x944) (= (and $x128 (< (v_b_SP_G_0$ ?0) b_Infinity$)) $x946)))) (let ((@x951 (monotonicity @x948 (= (not (and $x128 (< (v_b_SP_G_0$ ?0) b_Infinity$))) $x949)))) (let ((@x977 (quant-intro (monotonicity @x951 (quant-intro @x968 (= $x165 $x969)) (= $x392 $x972)) (= $x395 $x975)))) (let ((@x1071 (monotonicity (trans (monotonicity @x977 @x1060 $x1062) (rewrite $x1065) (= $x477 $x1064)) (= (not $x477) $x1069)))) (let ((@x1371 (monotonicity @x1071 (monotonicity @x1161 @x1365 (= $x810 $x1366)) (= $x817 $x1369)))) (let (($x928 (>= (+ (v_b_SP_G_0$ ?0) (* (- 1) (v_b_SP_G_0$ ?1)) ?x152) 0))) (let (($x921 (and $x133 $x918))) (let (($x924 (not $x921))) (let (($x931 (or $x924 $x928))) (let ((?x147 (v_b_SP_G_0$ ?1))) (let (($x156 (<= ?x147 (+ (v_b_SP_G_0$ ?0) ?x152)))) (let (($x385 (or (not (and $x133 (< ?x152 b_Infinity$))) $x156))) (let ((@x926 (monotonicity (monotonicity @x920 (= (and $x133 (< ?x152 b_Infinity$)) $x921)) (= (not (and $x133 (< ?x152 b_Infinity$))) $x924)))) (let ((@x936 (quant-intro (monotonicity @x926 (rewrite (= $x156 $x928)) (= $x385 $x931)) (= $x388 $x934)))) (let ((@x1377 (monotonicity (monotonicity @x936 (= (not $x388) $x937)) (monotonicity @x977 @x1371 (= $x822 $x1372)) (= $x829 $x1375)))) (let (($x134 (not $x133))) (let (($x146 (and $x134 (fun_app$ v_b_Visited_G_0$ ?1)))) (let (($x377 (not $x146))) (let (($x906 (or $x377 $x902))) (let ((?x124 (v_b_SP_G_0$ ?0))) (let (($x148 (<= ?x147 ?x124))) (let (($x378 (or $x377 $x148))) (let ((@x911 (quant-intro (monotonicity (rewrite (= $x148 $x902)) (= $x378 $x906)) (= $x381 $x909)))) (let ((@x1383 (monotonicity (monotonicity @x911 (= (not $x381) $x912)) (monotonicity @x936 @x1377 (= $x834 $x1378)) (= $x841 $x1381)))) (let ((@x896 (quant-intro (rewrite (= (<= 0 ?x124) (>= ?x124 0))) (= $x144 $x894)))) (let ((@x1389 (monotonicity (monotonicity @x896 (= (not $x144) $x897)) (monotonicity @x911 @x1383 (= $x846 $x1384)) (= $x853 $x1387)))) (let ((@x1395 (monotonicity (monotonicity @x896 @x1389 (= $x858 $x1390)) (= $x865 $x1393)))) (let ((@x890 (monotonicity (rewrite (= (and $x349 (and $x355 $x135)) $x885)) (= (not (and $x349 (and $x355 $x135))) (not $x885))))) (let ((@x1401 (monotonicity @x890 (monotonicity @x1395 (= $x870 $x1396)) (= $x877 (or (not $x885) $x1396))))) (let (($x313 (exists ((?v1 B_Vertex$) )(! (let (($x286 (fun_app$ v_b_Visited_G_2$ ?v1))) (let (($x311 (and $x286 (= (v_b_SP_G_2$ ?0) (+ (v_b_SP_G_2$ ?v1) (b_G$ (pair$ ?v1 ?0))))))) (let ((?x298 (v_b_SP_G_2$ ?0))) (let ((?x268 (v_b_SP_G_2$ ?v1))) (let (($x309 (< ?x268 ?x298))) (and $x309 $x311)))))) :qid k!38)) )) (let (($x308 (and $x128 (< ?x268 b_Infinity$)))) (let (($x314 (=> $x308 $x313))) (let ((@x686 (monotonicity (rewrite (= (+ ?x268 ?x152) ?x666)) (= (= ?x298 (+ ?x268 ?x152)) $x684)))) (let ((@x692 (monotonicity (monotonicity @x686 (= (and $x286 (= ?x298 (+ ?x268 ?x152))) $x687)) (= (and $x309 (and $x286 (= ?x298 (+ ?x268 ?x152)))) $x690)))) (let ((@x698 (monotonicity (quant-intro @x692 (= $x313 $x693)) (= $x314 (=> $x308 $x693))))) (let ((@x707 (quant-intro (trans @x698 (rewrite (= (=> $x308 $x693) $x700)) (= $x314 $x700)) (= $x315 $x705)))) (let ((@x714 (trans (monotonicity @x707 (= $x316 (and $x705 false))) (rewrite (= (and $x705 false) false)) (= $x316 false)))) (let ((@x721 (trans (monotonicity @x714 (= $x317 (=> false true))) (rewrite (= (=> false true) true)) (= $x317 true)))) (let ((@x728 (trans (monotonicity @x707 @x721 (= $x318 (and $x705 true))) (rewrite (= (and $x705 true) $x705)) (= $x318 $x705)))) (let (($x153 (< ?x152 b_Infinity$))) (let (($x302 (and $x286 $x153))) (let (($x305 (=> $x302 (<= ?x298 (+ ?x268 ?x152))))) (let ((@x671 (monotonicity (rewrite (= (+ ?x268 ?x152) ?x666)) (= (<= ?x298 (+ ?x268 ?x152)) $x669)))) (let ((@x680 (trans (monotonicity @x671 (= $x305 (=> $x302 $x669))) (rewrite (= (=> $x302 $x669) $x676)) (= $x305 $x676)))) (let ((@x731 (monotonicity (quant-intro @x680 (= $x306 $x681)) @x728 (= $x319 (=> $x681 $x705))))) (let ((@x740 (monotonicity (quant-intro @x680 (= $x306 $x681)) (trans @x731 (rewrite (= (=> $x681 $x705) $x733)) (= $x319 $x733)) (= (and $x306 $x319) $x738)))) (let ((@x743 (monotonicity (quant-intro (rewrite (= (=> $x297 $x299) $x660)) (= $x301 $x663)) @x740 (= $x321 (=> $x663 $x738))))) (let ((@x752 (monotonicity (quant-intro (rewrite (= (=> $x297 $x299) $x660)) (= $x301 $x663)) (trans @x743 (rewrite (= (=> $x663 $x738) $x745)) (= $x321 $x745)) (= (and $x301 $x321) $x750)))) (let ((@x761 (trans (monotonicity @x752 (= $x323 (=> $x294 $x750))) (rewrite (= (=> $x294 $x750) $x757)) (= $x323 $x757)))) (let ((@x767 (monotonicity (monotonicity @x761 (= (and $x294 $x323) $x762)) (= $x325 (=> $x292 $x762))))) (let ((@x776 (monotonicity (trans @x767 (rewrite (= (=> $x292 $x762) $x769)) (= $x325 $x769)) (= (and $x292 $x325) $x774)))) (let ((@x649 (quant-intro (rewrite (= (=> $x286 $x273) (or $x295 $x273))) (= $x288 $x647)))) (let ((@x654 (monotonicity @x649 (rewrite (= (and true true) true)) (= $x290 (and $x647 true))))) (let ((@x779 (monotonicity (trans @x654 (rewrite (= (and $x647 true) $x647)) (= $x290 $x647)) @x776 (= $x327 (=> $x647 $x774))))) (let ((@x788 (monotonicity @x649 (trans @x779 (rewrite (= (=> $x647 $x774) $x781)) (= $x327 $x781)) (= (and $x288 $x327) $x786)))) (let ((@x797 (trans (monotonicity @x788 (= $x329 (=> $x285 $x786))) (rewrite (= (=> $x285 $x786) $x793)) (= $x329 $x793)))) (let (($x628 (= (and $x253 (and $x255 (and $x258 (and $x261 (and $x271 $x275))))) $x627))) (let ((@x617 (monotonicity (quant-intro (rewrite (= (=> $x267 $x269) $x603)) (= $x271 $x606)) (quant-intro (rewrite (= (=> $x272 $x273) $x609)) (= $x275 $x612)) (= (and $x271 $x275) $x615)))) (let ((@x623 (monotonicity (quant-intro (rewrite (= (=> $x176 $x256) $x597)) (= $x258 $x600)) (monotonicity @x617 (= (and $x261 (and $x271 $x275)) $x618)) (= (and $x258 (and $x261 (and $x271 $x275))) $x621)))) (let ((@x626 (monotonicity @x623 (= (and $x255 (and $x258 (and $x261 (and $x271 $x275)))) $x624)))) (let ((@x635 (monotonicity (monotonicity (monotonicity @x626 $x628) (= $x281 $x630)) (= $x282 (and true $x630))))) (let ((@x641 (monotonicity (trans @x635 (rewrite (= (and true $x630) $x630)) (= $x282 $x630)) (= $x283 (and true $x630))))) (let ((@x803 (monotonicity (trans @x641 (rewrite (= (and true $x630) $x630)) (= $x283 $x630)) (monotonicity @x797 (= (and $x285 $x329) $x798)) (= $x331 (=> $x630 $x798))))) (let ((@x559 (monotonicity (rewrite (= (=> $x243 true) true)) (= $x245 (and $x243 true))))) (let (($x228 (< ?x227 b_Infinity$))) (let (($x238 (and $x228 $x153))) (let (($x240 (=> $x238 (<= ?x230 (+ ?x227 ?x152))))) (let ((@x542 (monotonicity (rewrite (= (+ ?x227 ?x152) ?x516)) (= (<= ?x230 (+ ?x227 ?x152)) $x540)))) (let ((@x551 (trans (monotonicity @x542 (= $x240 (=> $x238 $x540))) (rewrite (= (=> $x238 $x540) $x547)) (= $x240 $x547)))) (let ((@x566 (monotonicity (quant-intro @x551 (= $x241 $x552)) (trans @x559 (rewrite (= (and $x243 true) $x243)) (= $x245 $x243)) (= $x246 (=> $x552 $x243))))) (let ((@x575 (monotonicity (quant-intro @x551 (= $x241 $x552)) (trans @x566 (rewrite (= (=> $x552 $x243) $x568)) (= $x246 $x568)) (= (and $x241 $x246) $x573)))) (let (($x235 (exists ((?v1 B_Vertex$) )(! (let ((?x152 (b_G$ (pair$ ?v1 ?0)))) (let ((?x227 (fun_app$a v_b_SP_G_3$ ?v1))) (let ((?x232 (+ ?x227 ?x152))) (let ((?x230 (fun_app$a v_b_SP_G_3$ ?0))) (let (($x231 (< ?x227 ?x230))) (and $x231 (= ?x230 ?x232))))))) :qid k!38)) )) (let (($x229 (and $x128 $x228))) (let (($x236 (=> $x229 $x235))) (let ((@x521 (monotonicity (rewrite (= (+ ?x227 ?x152) ?x516)) (= (= ?x230 (+ ?x227 ?x152)) $x519)))) (let ((@x527 (quant-intro (monotonicity @x521 (= (and $x231 (= ?x230 (+ ?x227 ?x152))) $x522)) (= $x235 $x525)))) (let ((@x536 (trans (monotonicity @x527 (= $x236 (=> $x229 $x525))) (rewrite (= (=> $x229 $x525) $x532)) (= $x236 $x532)))) (let ((@x578 (monotonicity (quant-intro @x536 (= $x237 $x537)) @x575 (= $x248 (=> $x537 $x573))))) (let ((@x587 (monotonicity (quant-intro @x536 (= $x237 $x537)) (trans @x578 (rewrite (= (=> $x537 $x573) $x580)) (= $x248 $x580)) (= (and $x237 $x248) $x585)))) (let (($x486 (= (and $x212 (and $x214 (and $x217 true))) (and $x212 (and $x214 $x217))))) (let ((@x484 (monotonicity (rewrite (= (and $x217 true) $x217)) (= (and $x214 (and $x217 true)) (and $x214 $x217))))) (let ((@x490 (monotonicity (monotonicity @x484 $x486) (= (and $x209 (and $x212 (and $x214 (and $x217 true)))) $x488)))) (let ((@x497 (trans (monotonicity @x490 (= $x222 (and true $x488))) (rewrite (= (and true $x488) $x488)) (= $x222 $x488)))) (let ((@x501 (trans (monotonicity @x497 (= $x223 (and true $x488))) (rewrite (= (and true $x488) $x488)) (= $x223 $x488)))) (let ((@x507 (monotonicity (monotonicity @x501 (= (and $x207 $x223) $x502)) (= $x225 (and true $x502))))) (let ((@x513 (monotonicity (trans @x507 (rewrite (= (and true $x502) $x502)) (= $x225 $x502)) (= $x226 (and true $x502))))) (let ((@x590 (monotonicity (trans @x513 (rewrite (= (and true $x502) $x502)) (= $x226 $x502)) @x587 (= $x250 (=> $x502 $x585))))) (let ((@x812 (monotonicity (trans @x590 (rewrite (= (=> $x502 $x585) $x592)) (= $x250 $x592)) (trans @x803 (rewrite (= (=> $x630 $x798) $x805)) (= $x331 $x805)) (= (and $x250 $x331) $x810)))) (let (($x194 (exists ((?v1 B_Vertex$) )(! (let ((?x152 (b_G$ (pair$ ?v1 ?0)))) (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v1))) (let ((?x184 (+ ?x171 ?x152))) (let ((?x179 (fun_app$a v_b_SP_G_1$ ?0))) (let (($x175 (fun_app$ v_b_Visited_G_1$ ?v1))) (let (($x190 (< ?x171 ?x179))) (and $x190 (and $x175 (= ?x179 ?x184))))))))) :qid k!38)) )) (let (($x188 (< ?x171 b_Infinity$))) (let (($x189 (and $x128 $x188))) (let (($x195 (=> $x189 $x194))) (let ((@x425 (monotonicity (rewrite (= (+ ?x171 ?x152) ?x405)) (= (= ?x179 (+ ?x171 ?x152)) $x423)))) (let ((@x431 (monotonicity (monotonicity @x425 (= (and $x175 (= ?x179 (+ ?x171 ?x152))) $x426)) (= (and $x190 (and $x175 (= ?x179 (+ ?x171 ?x152)))) $x429)))) (let ((@x437 (monotonicity (quant-intro @x431 (= $x194 $x432)) (= $x195 (=> $x189 $x432))))) (let ((@x446 (quant-intro (trans @x437 (rewrite (= (=> $x189 $x432) $x439)) (= $x195 $x439)) (= $x196 $x444)))) (let ((@x453 (trans (monotonicity @x446 (= $x197 (and $x444 true))) (rewrite (= (and $x444 true) $x444)) (= $x197 $x444)))) (let (($x183 (and $x175 $x153))) (let (($x186 (=> $x183 (<= ?x179 (+ ?x171 ?x152))))) (let ((@x410 (monotonicity (rewrite (= (+ ?x171 ?x152) ?x405)) (= (<= ?x179 (+ ?x171 ?x152)) $x408)))) (let ((@x419 (trans (monotonicity @x410 (= $x186 (=> $x183 $x408))) (rewrite (= (=> $x183 $x408) $x415)) (= $x186 $x415)))) (let ((@x456 (monotonicity (quant-intro @x419 (= $x187 $x420)) @x453 (= (and $x187 $x197) $x454)))) (let ((@x459 (monotonicity (quant-intro (rewrite (= (=> $x178 $x180) $x399)) (= $x182 $x402)) @x456 (= (and $x182 (and $x187 $x197)) $x457)))) (let ((@x465 (monotonicity (monotonicity @x459 (= (and $x173 (and $x182 (and $x187 $x197))) $x460)) (= (and $x170 (and $x173 (and $x182 (and $x187 $x197)))) $x463)))) (let ((@x472 (trans (monotonicity @x465 (= $x202 (and true $x463))) (rewrite (= (and true $x463) $x463)) (= $x202 $x463)))) (let ((@x476 (trans (monotonicity @x472 (= $x203 (and true $x463))) (rewrite (= (and true $x463) $x463)) (= $x203 $x463)))) (let ((@x397 (quant-intro (rewrite (= (=> (and $x128 (< ?x124 b_Infinity$)) $x165) $x392)) (= $x167 $x395)))) (let ((@x815 (monotonicity (monotonicity @x397 @x476 (= (and $x167 $x203) $x477)) @x812 (= $x333 (=> $x477 $x810))))) (let ((@x824 (monotonicity @x397 (trans @x815 (rewrite (= (=> $x477 $x810) $x817)) (= $x333 $x817)) (= (and $x167 $x333) $x822)))) (let ((@x390 (quant-intro (rewrite (= (=> (and $x133 $x153) $x156) $x385)) (= $x158 $x388)))) (let ((@x833 (trans (monotonicity @x390 @x824 (= $x335 (=> $x388 $x822))) (rewrite (= (=> $x388 $x822) $x829)) (= $x335 $x829)))) (let ((@x839 (monotonicity (quant-intro (rewrite (= (=> $x146 $x148) $x378)) (= $x150 $x381)) (monotonicity @x390 @x833 (= (and $x158 $x335) $x834)) (= $x337 (=> $x381 $x834))))) (let ((@x848 (monotonicity (quant-intro (rewrite (= (=> $x146 $x148) $x378)) (= $x150 $x381)) (trans @x839 (rewrite (= (=> $x381 $x834) $x841)) (= $x337 $x841)) (= (and $x150 $x337) $x846)))) (let ((@x857 (trans (monotonicity @x848 (= $x339 (=> $x144 $x846))) (rewrite (= (=> $x144 $x846) $x853)) (= $x339 $x853)))) (let ((@x863 (monotonicity (monotonicity @x857 (= (and $x144 $x339) $x858)) (= $x341 (=> $x142 $x858))))) (let ((@x872 (monotonicity (trans @x863 (rewrite (= (=> $x142 $x858) $x865)) (= $x341 $x865)) (= (and $x142 $x341) $x870)))) (let (($x363 (and $x349 (and $x355 $x135)))) (let (($x366 (and true $x363))) (let ((@x357 (quant-intro (rewrite (= (=> $x128 (= ?x124 b_Infinity$)) $x352)) (= $x131 $x355)))) (let ((@x362 (monotonicity @x357 (rewrite (= (and $x135 true) $x135)) (= (and $x131 (and $x135 true)) (and $x355 $x135))))) (let ((@x351 (quant-intro (rewrite (= (=> $x123 (= ?x124 0)) (or $x128 (= ?x124 0)))) (= $x127 $x349)))) (let ((@x365 (monotonicity @x351 @x362 (= (and $x127 (and $x131 (and $x135 true))) $x363)))) (let ((@x372 (trans (monotonicity @x365 (= $x139 $x366)) (rewrite (= $x366 $x363)) (= $x139 $x363)))) (let ((@x376 (trans (monotonicity @x372 (= $x140 $x366)) (rewrite (= $x366 $x363)) (= $x140 $x363)))) (let ((@x881 (trans (monotonicity @x376 @x872 (= $x343 (=> $x363 $x870))) (rewrite (= (=> $x363 $x870) $x877)) (= $x343 $x877)))) (let ((@x1406 (trans (monotonicity @x881 (= $x344 (not $x877))) (monotonicity @x1401 (= (not $x877) $x1402)) (= $x344 $x1402)))) (let ((@x1408 (not-or-elim (mp (asserted $x344) @x1406 $x1402) $x885))) (let ((@x1458 (mp~ (and-elim @x1408 $x355) (nnf-pos (refl (~ $x352 $x352)) (~ $x355 $x355)) $x355))) (let ((@x3493 (mp @x1458 (quant-intro (refl (= $x352 $x352)) (= $x355 $x3488)) $x3488))) (let ((@x5494 (rewrite (= (or (not $x3488) (or $x1533 $x5648)) (or (not $x3488) $x1533 $x5648))))) (let ((@x5498 (mp ((_ quant-inst ?v0!5) (or (not $x3488) (or $x1533 $x5648))) @x5494 (or (not $x3488) $x1533 $x5648)))) (let ((@x6448 (unit-resolution (hypothesis $x6555) (mp (unit-resolution @x5498 @x3493 (hypothesis $x1534) $x5648) @x5583 $x5500) false))) (let ((@x3189 (unit-resolution (lemma @x6448 (or $x5500 $x1533)) (unit-resolution ((_ th-lemma arith triangle-eq) (or $x6555 $x1538)) @x5027 $x6555) @x5072 false))) (let (($x3539 (not $x3536))) (let (($x3822 (or $x3539 $x3819))) (let (($x3825 (not $x3822))) (let (($x3519 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x152 (b_G$ (pair$ ?v1 ?v0)))) (let ((?x124 (v_b_SP_G_0$ ?v1))) (let (($x928 (>= (+ ?x124 (* (- 1) (v_b_SP_G_0$ ?v0)) ?x152) 0))) (let (($x917 (<= (+ b_Infinity$ (* (- 1) ?x152)) 0))) (let (($x133 (fun_app$ v_b_Visited_G_0$ ?v1))) (let (($x134 (not $x133))) (or $x134 $x917 $x928))))))) :pattern ( (pair$ ?v1 ?v0) ) :qid k!38)) )) (let (($x3524 (not $x3519))) (let (($x3828 (or $x3524 $x3825))) (let (($x3831 (not $x3828))) (let ((?x1517 (v_b_SP_G_0$ ?v0!4))) (let ((?x1518 (* (- 1) ?x1517))) (let ((?x1516 (v_b_SP_G_0$ ?v1!3))) (let ((?x1508 (pair$ ?v1!3 ?v0!4))) (let ((?x1509 (b_G$ ?x1508))) (let ((?x2040 (+ ?x1509 ?x1516 ?x1518))) (let (($x2043 (>= ?x2040 0))) (let (($x1512 (<= (+ b_Infinity$ (* (- 1) ?x1509)) 0))) (let (($x1507 (fun_app$ v_b_Visited_G_0$ ?v1!3))) (let (($x2389 (not $x1507))) (let (($x2404 (or $x2389 $x1512 $x2043))) (let (($x3495 (forall ((?v0 B_Vertex$) )(! (let (($x133 (fun_app$ v_b_Visited_G_0$ ?v0))) (not $x133)) :pattern ( (fun_app$ v_b_Visited_G_0$ ?v0) ) :qid k!38)) )) (let ((@x1463 (mp~ (and-elim @x1408 $x135) (nnf-pos (refl (~ $x134 $x134)) (~ $x135 $x135)) $x135))) (let ((@x3500 (mp @x1463 (quant-intro (refl (= $x134 $x134)) (= $x135 $x3495)) $x3495))) (let ((@x4007 (unit-resolution ((_ quant-inst ?v1!3) (or (not $x3495) $x2389)) @x3500 (hypothesis $x1507) false))) (let (($x2409 (not $x2404))) (let (($x3834 (or $x2409 $x3831))) (let (($x3837 (not $x3834))) (let (($x3510 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let (($x902 (>= (+ (v_b_SP_G_0$ ?v1) (* (- 1) (v_b_SP_G_0$ ?v0))) 0))) (let (($x133 (fun_app$ v_b_Visited_G_0$ ?v1))) (or $x133 (not (fun_app$ v_b_Visited_G_0$ ?v0)) $x902))) :pattern ( (v_b_SP_G_0$ ?v1) (v_b_SP_G_0$ ?v0) ) :qid k!38)) )) (let (($x3515 (not $x3510))) (let (($x3840 (or $x3515 $x3837))) (let (($x3843 (not $x3840))) (let (($x1493 (>= (+ (v_b_SP_G_0$ ?v1!1) (* (- 1) (v_b_SP_G_0$ ?v0!2))) 0))) (let (($x1486 (fun_app$ v_b_Visited_G_0$ ?v0!2))) (let (($x2343 (not $x1486))) (let (($x1484 (fun_app$ v_b_Visited_G_0$ ?v1!1))) (let (($x2358 (or $x1484 $x2343 $x1493))) (let (($x2363 (not $x2358))) (let (($x3846 (or $x2363 $x3843))) (let (($x3849 (not $x3846))) (let (($x3501 (forall ((?v0 B_Vertex$) )(! (let ((?x124 (v_b_SP_G_0$ ?v0))) (>= ?x124 0)) :pattern ( (v_b_SP_G_0$ ?v0) ) :qid k!38)) )) (let (($x3506 (not $x3501))) (let (($x3852 (or $x3506 $x3849))) (let (($x3855 (not $x3852))) (let ((?x1470 (v_b_SP_G_0$ ?v0!0))) (let (($x1471 (>= ?x1470 0))) (let (($x1472 (not $x1471))) (let ((@x5071 (hypothesis $x1472))) (let (($x5774 (<= ?x1470 0))) (let (($x82 (<= b_Infinity$ 0))) (let (($x83 (not $x82))) (let ((@x86 (mp (asserted (< 0 b_Infinity$)) (rewrite (= (< 0 b_Infinity$) $x83)) $x83))) (let (($x5117 (= b_Infinity$ ?x1470))) (let ((@x5579 (symm (commutativity (= $x5117 (= ?x1470 b_Infinity$))) (= (= ?x1470 b_Infinity$) $x5117)))) (let (($x3131 (= ?x1470 b_Infinity$))) (let (($x5739 (= ?v0!0 b_Source$))) (let (($x5713 (not $x5739))) (let ((@x5595 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not (= ?x1470 0)) $x1471)) @x5071 (not (= ?x1470 0))))) (let (($x3482 (forall ((?v0 B_Vertex$) )(! (let (($x123 (= ?v0 b_Source$))) (let (($x128 (not $x123))) (or $x128 (= (v_b_SP_G_0$ ?v0) 0)))) :pattern ( (v_b_SP_G_0$ ?v0) ) :qid k!38)) )) (let ((@x3486 (quant-intro (refl (= (or $x128 (= ?x124 0)) (or $x128 (= ?x124 0)))) (= $x349 $x3482)))) (let ((@x1452 (nnf-pos (refl (~ (or $x128 (= ?x124 0)) (or $x128 (= ?x124 0)))) (~ $x349 $x349)))) (let ((@x3487 (mp (mp~ (and-elim @x1408 $x349) @x1452 $x349) @x3486 $x3482))) (let (($x5769 (= (or (not $x3482) (or $x5713 (= ?x1470 0))) (or (not $x3482) $x5713 (= ?x1470 0))))) (let ((@x5448 (mp ((_ quant-inst ?v0!0) (or (not $x3482) (or $x5713 (= ?x1470 0)))) (rewrite $x5769) (or (not $x3482) $x5713 (= ?x1470 0))))) (let ((@x6281 (rewrite (= (or (not $x3488) (or $x5739 $x3131)) (or (not $x3488) $x5739 $x3131))))) (let ((@x6173 (mp ((_ quant-inst ?v0!0) (or (not $x3488) (or $x5739 $x3131))) @x6281 (or (not $x3488) $x5739 $x3131)))) (let ((@x6446 (mp (unit-resolution @x6173 @x3493 (unit-resolution @x5448 @x3487 @x5595 $x5713) $x3131) @x5579 $x5117))) (let ((@x6386 ((_ th-lemma arith triangle-eq) (or (not $x5117) (<= (+ b_Infinity$ (* (- 1) ?x1470)) 0))))) (let ((@x6387 (unit-resolution @x6386 @x6446 (<= (+ b_Infinity$ (* (- 1) ?x1470)) 0)))) (let ((@x3142 (lemma ((_ th-lemma arith farkas 1 -1 1) (hypothesis $x5774) @x6387 @x86 false) (or (not $x5774) $x1471)))) (let ((@x5085 (unit-resolution @x3142 (unit-resolution ((_ th-lemma arith farkas 1 1) (or $x5774 $x1471)) @x5071 $x5774) @x5071 false))) (let (($x3858 (or $x1472 $x3855))) (let (($x3861 (not $x3858))) (let (($x3864 (or $x864 $x3861))) (let (($x3867 (not $x3864))) (let (($x5885 (not $x3482))) (let (($x3145 (or $x5885 $x142))) (let ((@x4320 (monotonicity (rewrite (= (= b_Source$ b_Source$) true)) (= (not (= b_Source$ b_Source$)) (not true))))) (let ((@x5484 (trans @x4320 (rewrite (= (not true) false)) (= (not (= b_Source$ b_Source$)) false)))) (let ((@x5457 (monotonicity @x5484 (= (or (not (= b_Source$ b_Source$)) $x142) (or false $x142))))) (let ((@x5606 (trans @x5457 (rewrite (= (or false $x142) $x142)) (= (or (not (= b_Source$ b_Source$)) $x142) $x142)))) (let ((@x4948 (monotonicity @x5606 (= (or $x5885 (or (not (= b_Source$ b_Source$)) $x142)) $x3145)))) (let ((@x5799 (trans @x4948 (rewrite (= $x3145 $x3145)) (= (or $x5885 (or (not (= b_Source$ b_Source$)) $x142)) $x3145)))) (let ((@x5800 (mp ((_ quant-inst b_Source$) (or $x5885 (or (not (= b_Source$ b_Source$)) $x142))) @x5799 $x3145))) (let (($x3870 (or $x864 $x3867))) (let (($x2843 (forall ((?v1 B_Vertex$) )(! (let ((?x1906 (v_b_SP_G_2$ ?v0!20))) (let ((?x1907 (* (- 1) ?x1906))) (let ((?x268 (v_b_SP_G_2$ ?v1))) (let (($x2237 (= (+ ?x268 ?x1907 (b_G$ (pair$ ?v1 ?v0!20))) 0))) (let (($x286 (fun_app$ v_b_Visited_G_2$ ?v1))) (let (($x295 (not $x286))) (or (>= (+ ?x268 ?x1907) 0) $x295 (not $x2237)))))))) :qid k!38)) )) (let (($x2828 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x298 (v_b_SP_G_2$ ?v0))) (let ((?x1258 (* (- 1) ?x298))) (let ((?x268 (v_b_SP_G_2$ ?v1))) (let ((?x152 (b_G$ (pair$ ?v1 ?v0)))) (let (($x1277 (>= (+ ?x152 ?x268 ?x1258) 0))) (let (($x917 (<= (+ b_Infinity$ (* (- 1) ?x152)) 0))) (let (($x286 (fun_app$ v_b_Visited_G_2$ ?v1))) (let (($x295 (not $x286))) (or $x295 $x917 $x1277))))))))) :qid k!38)) )) (let (($x2852 (not (or (not $x2828) $x1904 $x1909 (not $x2843))))) (let (($x2857 (or $x2806 $x2852))) (let (($x2783 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let (($x1257 (>= (+ (v_b_SP_G_2$ ?v1) (* (- 1) (v_b_SP_G_2$ ?v0))) 0))) (let (($x296 (fun_app$ v_b_Visited_G_2$ ?v0))) (let (($x2763 (not $x296))) (let (($x286 (fun_app$ v_b_Visited_G_2$ ?v1))) (or $x286 $x2763 $x1257))))) :qid k!38)) )) (let (($x2866 (not (or (not $x2783) (not $x2857))))) (let (($x2871 (or $x2760 $x2866))) (let (($x2879 (not (or $x1254 (not $x2871))))) (let (($x2884 (or $x1843 $x2879))) (let (($x2892 (not (or $x768 (not $x2884))))) (let (($x2897 (or $x768 $x2892))) (let (($x2905 (not (or $x780 (not $x2897))))) (let (($x2910 (or $x1825 $x2905))) (let (($x2918 (not (or $x1245 (not $x2910))))) (let (($x2923 (or $x1808 $x2918))) (let (($x2737 (forall ((?v0 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0))) (let ((?x268 (v_b_SP_G_2$ ?v0))) (let (($x273 (= ?x268 ?x171))) (let ((?x254 (fun_app$a v_b_SP_G_1$ v_b_v_G_1$))) (let ((?x1168 (* (- 1) ?x254))) (let (($x1170 (<= (+ ?x171 ?x1168 (* (- 1) (b_G$ (pair$ v_b_v_G_1$ ?v0)))) 0))) (let (($x1164 (<= (+ b_Infinity$ (* (- 1) (b_G$ (pair$ v_b_v_G_1$ ?v0)))) 0))) (let (($x2712 (or $x1164 $x1170))) (let (($x2713 (not $x2712))) (or $x2713 $x273)))))))))) :qid k!38)) )) (let (($x2731 (forall ((?v0 B_Vertex$) )(! (let ((?x268 (v_b_SP_G_2$ ?v0))) (let ((?x1181 (* (- 1) ?x268))) (let ((?x263 (b_G$ (pair$ v_b_v_G_1$ ?v0)))) (let ((?x254 (fun_app$a v_b_SP_G_1$ v_b_v_G_1$))) (let (($x1180 (= (+ ?x254 ?x263 ?x1181) 0))) (let (($x1170 (<= (+ (fun_app$a v_b_SP_G_1$ ?v0) (* (- 1) ?x254) (* (- 1) ?x263)) 0))) (let (($x1164 (<= (+ b_Infinity$ (* (- 1) ?x263)) 0))) (or $x1164 $x1170 $x1180)))))))) :qid k!38)) )) (let (($x2934 (or $x1768 $x1773 $x252 $x1208 (not $x1204) $x2930 (not $x2731) (not $x2737) (not $x2923)))) (let (($x2935 (not $x2934))) (let (($x2667 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x227 (fun_app$a v_b_SP_G_3$ ?v1))) (let ((?x152 (b_G$ (pair$ ?v1 ?v0)))) (let (($x1135 (>= (+ ?x152 ?x227 (* (- 1) (fun_app$a v_b_SP_G_3$ ?v0))) 0))) (let (($x917 (<= (+ b_Infinity$ (* (- 1) ?x152)) 0))) (let (($x1094 (<= (+ b_Infinity$ (* (- 1) ?x227)) 0))) (or $x1094 $x917 $x1135)))))) :qid k!38)) )) (let (($x2675 (not (or (not $x2667) $x243)))) (let (($x2680 (or $x2645 $x2675))) (let (($x2623 (forall ((?v0 B_Vertex$) )(! (let ((?x227 (fun_app$a v_b_SP_G_3$ ?v0))) (let ((?x2186 (+ ?x227 (* (- 1) (fun_app$a v_b_SP_G_3$ (?v1!9 ?v0))) (* (- 1) (b_G$ (pair$ (?v1!9 ?v0) ?v0)))))) (let (($x2187 (= ?x2186 0))) (let (($x2171 (<= (+ ?x227 (* (- 1) (fun_app$a v_b_SP_G_3$ (?v1!9 ?v0)))) 0))) (let (($x2612 (not (or $x2171 (not $x2187))))) (let (($x1094 (<= (+ b_Infinity$ (* (- 1) ?x227)) 0))) (let (($x123 (= ?v0 b_Source$))) (or $x123 $x1094 $x2612)))))))) :qid k!38)) )) (let (($x2689 (not (or (not $x2623) (not $x2680))))) (let (($x2586 (forall ((?v1 B_Vertex$) )(! (let ((?x1656 (fun_app$a v_b_SP_G_3$ ?v0!8))) (let ((?x1657 (* (- 1) ?x1656))) (let ((?x227 (fun_app$a v_b_SP_G_3$ ?v1))) (let (($x2143 (= (+ ?x227 ?x1657 (b_G$ (pair$ ?v1 ?v0!8))) 0))) (or (>= (+ ?x227 ?x1657) 0) (not $x2143)))))) :qid k!38)) )) (let (($x2594 (not (or $x1654 $x1659 (not $x2586))))) (let (($x2694 (or $x2594 $x2689))) (let (($x2571 (forall ((?v0 B_Vertex$) )(! (let (($x997 (<= (+ b_Infinity$ (* (- 1) (fun_app$a v_b_SP_G_1$ ?v0))) 0))) (let (($x175 (fun_app$ v_b_Visited_G_1$ ?v0))) (or $x175 $x997))) :qid k!38)) )) (let (($x2707 (not (or (not $x2571) $x2701 $x2702 $x2703 $x2704 (not $x2694))))) (let (($x2940 (or $x2707 $x2935))) (let (($x2557 (forall ((?v0 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0))) (let ((?x2123 (+ ?x171 (* (- 1) (fun_app$a v_b_SP_G_1$ (?v1!7 ?v0))) (* (- 1) (b_G$ (pair$ (?v1!7 ?v0) ?v0)))))) (let (($x2124 (= ?x2123 0))) (let (($x2108 (<= (+ ?x171 (* (- 1) (fun_app$a v_b_SP_G_1$ (?v1!7 ?v0)))) 0))) (let (($x2546 (not (or $x2108 (not (fun_app$ v_b_Visited_G_1$ (?v1!7 ?v0))) (not $x2124))))) (let (($x997 (<= (+ b_Infinity$ (* (- 1) ?x171)) 0))) (let (($x123 (= ?v0 b_Source$))) (or $x123 $x997 $x2546)))))))) :qid k!38)) )) (let (($x2529 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v1))) (let ((?x152 (b_G$ (pair$ ?v1 ?v0)))) (let (($x985 (>= (+ ?x152 ?x171 (* (- 1) (fun_app$a v_b_SP_G_1$ ?v0))) 0))) (let (($x917 (<= (+ b_Infinity$ (* (- 1) ?x152)) 0))) (let (($x175 (fun_app$ v_b_Visited_G_1$ ?v1))) (let (($x176 (not $x175))) (or $x176 $x917 $x985))))))) :qid k!38)) )) (let (($x2507 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v1))) (let (($x1010 (>= (+ ?x171 (* (- 1) (fun_app$a v_b_SP_G_1$ ?v0))) 0))) (let (($x175 (fun_app$ v_b_Visited_G_1$ ?v1))) (or $x175 (not (fun_app$ v_b_Visited_G_1$ ?v0)) $x1010)))) :qid k!38)) )) (let (($x2484 (forall ((?v0 B_Vertex$) )(! (let ((?x124 (v_b_SP_G_0$ ?v0))) (let ((?x2085 (+ ?x124 (* (- 1) (v_b_SP_G_0$ (?v1!6 ?v0))) (* (- 1) (b_G$ (pair$ (?v1!6 ?v0) ?v0)))))) (let (($x2086 (= ?x2085 0))) (let (($x2070 (<= (+ ?x124 (* (- 1) (v_b_SP_G_0$ (?v1!6 ?v0)))) 0))) (let (($x2473 (not (or $x2070 (not (fun_app$ v_b_Visited_G_0$ (?v1!6 ?v0))) (not $x2086))))) (let (($x942 (<= (+ b_Infinity$ (* (- 1) ?x124)) 0))) (let (($x123 (= ?v0 b_Source$))) (or $x123 $x942 $x2473)))))))) :qid k!38)) )) (let (($x2953 (or (not $x2484) $x2947 (not $x1046) (not $x2507) (not $x2529) (not $x2557) (not $x2940)))) (let (($x2954 (not $x2953))) (let (($x2446 (forall ((?v1 B_Vertex$) )(! (let ((?x1535 (v_b_SP_G_0$ ?v0!5))) (let ((?x1536 (* (- 1) ?x1535))) (let ((?x124 (v_b_SP_G_0$ ?v1))) (let (($x133 (fun_app$ v_b_Visited_G_0$ ?v1))) (let (($x134 (not $x133))) (or (>= (+ ?x124 ?x1536) 0) $x134 (not (= (+ ?x124 ?x1536 (b_G$ (pair$ ?v1 ?v0!5))) 0)))))))) :qid k!38)) )) (let (($x2454 (not (or $x1533 $x1538 (not $x2446))))) (let (($x2959 (or $x2454 $x2954))) (let (($x2431 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x152 (b_G$ (pair$ ?v1 ?v0)))) (let ((?x124 (v_b_SP_G_0$ ?v1))) (let (($x928 (>= (+ ?x124 (* (- 1) (v_b_SP_G_0$ ?v0)) ?x152) 0))) (let (($x917 (<= (+ b_Infinity$ (* (- 1) ?x152)) 0))) (let (($x133 (fun_app$ v_b_Visited_G_0$ ?v1))) (let (($x134 (not $x133))) (or $x134 $x917 $x928))))))) :qid k!38)) )) (let (($x2968 (not (or (not $x2431) (not $x2959))))) (let (($x2973 (or $x2409 $x2968))) (let (($x2386 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let (($x902 (>= (+ (v_b_SP_G_0$ ?v1) (* (- 1) (v_b_SP_G_0$ ?v0))) 0))) (let (($x133 (fun_app$ v_b_Visited_G_0$ ?v1))) (or $x133 (not (fun_app$ v_b_Visited_G_0$ ?v0)) $x902))) :qid k!38)) )) (let (($x2982 (not (or (not $x2386) (not $x2973))))) (let (($x2987 (or $x2363 $x2982))) (let (($x2995 (not (or $x897 (not $x2987))))) (let (($x3000 (or $x1472 $x2995))) (let (($x3008 (not (or $x864 (not $x3000))))) (let (($x3013 (or $x864 $x3008))) (let (($x2832 (or (>= (+ ?x268 ?x1907) 0) $x295 (not (= (+ ?x268 ?x1907 (b_G$ (pair$ ?0 ?v0!20))) 0))))) (let ((@x3731 (monotonicity (quant-intro (refl (= $x2832 $x2832)) (= $x2843 $x3724)) (= (not $x2843) $x3729)))) (let ((@x3719 (quant-intro (refl (= (or $x295 $x917 $x1277) (or $x295 $x917 $x1277))) (= $x2828 $x3715)))) (let ((@x3734 (monotonicity (monotonicity @x3719 (= (not $x2828) $x3720)) @x3731 (= (or (not $x2828) $x1904 $x1909 (not $x2843)) $x3732)))) (let ((@x3743 (monotonicity (monotonicity (monotonicity @x3734 (= $x2852 $x3735)) (= $x2857 $x3738)) (= (not $x2857) $x3741)))) (let ((@x3711 (quant-intro (refl (= (or $x286 (not $x296) $x1257) (or $x286 (not $x296) $x1257))) (= $x2783 $x3707)))) (let ((@x3746 (monotonicity (monotonicity @x3711 (= (not $x2783) $x3712)) @x3743 (= (or (not $x2783) (not $x2857)) $x3744)))) (let ((@x3755 (monotonicity (monotonicity (monotonicity @x3746 (= $x2866 $x3747)) (= $x2871 $x3750)) (= (not $x2871) $x3753)))) (let ((@x3702 (quant-intro (refl (= (>= ?x268 0) (>= ?x268 0))) (= $x1251 $x3698)))) (let ((@x3758 (monotonicity (monotonicity @x3702 (= $x1254 $x3703)) @x3755 (= (or $x1254 (not $x2871)) $x3756)))) (let ((@x3767 (monotonicity (monotonicity (monotonicity @x3758 (= $x2879 $x3759)) (= $x2884 $x3762)) (= (not $x2884) $x3765)))) (let ((@x3773 (monotonicity (monotonicity @x3767 (= (or $x768 (not $x2884)) $x3768)) (= $x2892 $x3771)))) (let ((@x3779 (monotonicity (monotonicity @x3773 (= $x2897 $x3774)) (= (not $x2897) $x3777)))) (let ((@x3694 (quant-intro (refl (= (or $x295 $x273) (or $x295 $x273))) (= $x647 $x3690)))) (let ((@x3782 (monotonicity (monotonicity @x3694 (= $x780 $x3695)) @x3779 (= (or $x780 (not $x2897)) $x3780)))) (let ((@x3791 (monotonicity (monotonicity (monotonicity @x3782 (= $x2905 $x3783)) (= $x2910 $x3786)) (= (not $x2910) $x3789)))) (let ((@x3688 (monotonicity (quant-intro (refl (= $x1238 $x1238)) (= $x1242 $x3681)) (= $x1245 $x3686)))) (let ((@x3797 (monotonicity (monotonicity @x3688 @x3791 (= (or $x1245 (not $x2910)) $x3792)) (= $x2918 $x3795)))) (let ((@x3803 (monotonicity (monotonicity @x3797 (= $x2923 $x3798)) (= (not $x2923) $x3801)))) (let ((@x3675 (refl (= (or (not (or $x1164 $x1170)) $x273) (or (not (or $x1164 $x1170)) $x273))))) (let ((@x3680 (monotonicity (quant-intro @x3675 (= $x2737 $x3673)) (= (not $x2737) $x3678)))) (let ((@x3669 (quant-intro (refl (= (or $x1164 $x1170 $x1180) (or $x1164 $x1170 $x1180))) (= $x2731 $x3665)))) (let ((@x3662 (monotonicity (quant-intro (refl (= $x1201 $x1201)) (= $x1204 $x3655)) (= (not $x1204) $x3660)))) (let ((@x3806 (monotonicity @x3662 (monotonicity @x3669 (= (not $x2731) $x3670)) @x3680 @x3803 (= $x2934 $x3804)))) (let ((@x3621 (quant-intro (refl (= (or $x1094 $x917 $x1135) (or $x1094 $x917 $x1135))) (= $x2667 $x3617)))) (let ((@x3627 (monotonicity (monotonicity @x3621 (= (not $x2667) $x3622)) (= (or (not $x2667) $x243) $x3625)))) (let ((@x3636 (monotonicity (monotonicity (monotonicity @x3627 (= $x2675 $x3628)) (= $x2680 $x3631)) (= (not $x2680) $x3634)))) (let ((?x2186 (+ ?x227 (* (- 1) (fun_app$a v_b_SP_G_3$ (?v1!9 ?0))) (* (- 1) (b_G$ (pair$ (?v1!9 ?0) ?0)))))) (let (($x2187 (= ?x2186 0))) (let (($x2171 (<= (+ ?x227 (* (- 1) (fun_app$a v_b_SP_G_3$ (?v1!9 ?0)))) 0))) (let (($x2612 (not (or $x2171 (not $x2187))))) (let (($x2618 (or $x123 $x1094 $x2612))) (let ((@x3616 (monotonicity (quant-intro (refl (= $x2618 $x2618)) (= $x2623 $x3609)) (= (not $x2623) $x3614)))) (let ((@x3642 (monotonicity (monotonicity @x3616 @x3636 (= (or (not $x2623) (not $x2680)) $x3637)) (= $x2689 $x3640)))) (let ((?x1656 (fun_app$a v_b_SP_G_3$ ?v0!8))) (let ((?x1657 (* (- 1) ?x1656))) (let (($x2143 (= (+ ?x227 ?x1657 (b_G$ (pair$ ?0 ?v0!8))) 0))) (let (($x2575 (or (>= (+ ?x227 ?x1657) 0) (not $x2143)))) (let ((@x3602 (monotonicity (quant-intro (refl (= $x2575 $x2575)) (= $x2586 $x3595)) (= (not $x2586) $x3600)))) (let ((@x3608 (monotonicity (monotonicity @x3602 (= (or $x1654 $x1659 (not $x2586)) $x3603)) (= $x2594 $x3606)))) (let ((@x3648 (monotonicity (monotonicity @x3608 @x3642 (= $x2694 $x3643)) (= (not $x2694) $x3646)))) (let ((@x3589 (quant-intro (refl (= (or $x175 $x997) (or $x175 $x997))) (= $x2571 $x3585)))) (let ((@x3651 (monotonicity (monotonicity @x3589 (= (not $x2571) $x3590)) @x3648 (= (or (not $x2571) $x2701 $x2702 $x2703 $x2704 (not $x2694)) $x3649)))) (let ((@x3812 (monotonicity (monotonicity @x3651 (= $x2707 $x3652)) (monotonicity @x3806 (= $x2935 $x3807)) (= $x2940 $x3810)))) (let ((?x2123 (+ ?x171 (* (- 1) (fun_app$a v_b_SP_G_1$ (?v1!7 ?0))) (* (- 1) (b_G$ (pair$ (?v1!7 ?0) ?0)))))) (let (($x2124 (= ?x2123 0))) (let (($x2108 (<= (+ ?x171 (* (- 1) (fun_app$a v_b_SP_G_1$ (?v1!7 ?0)))) 0))) (let (($x2546 (not (or $x2108 (not (fun_app$ v_b_Visited_G_1$ (?v1!7 ?0))) (not $x2124))))) (let (($x2552 (or $x123 $x997 $x2546))) (let ((@x3583 (monotonicity (quant-intro (refl (= $x2552 $x2552)) (= $x2557 $x3576)) (= (not $x2557) $x3581)))) (let ((@x3572 (quant-intro (refl (= (or $x176 $x917 $x985) (or $x176 $x917 $x985))) (= $x2529 $x3568)))) (let ((@x3564 (quant-intro (refl (= (or $x175 (not $x177) $x1010) (or $x175 (not $x177) $x1010))) (= $x2507 $x3560)))) (let ((@x3555 (quant-intro (refl (= (>= ?x171 0) (>= ?x171 0))) (= $x1046 $x3551)))) (let ((?x2085 (+ ?x124 (* (- 1) (v_b_SP_G_0$ (?v1!6 ?0))) (* (- 1) (b_G$ (pair$ (?v1!6 ?0) ?0)))))) (let (($x2086 (= ?x2085 0))) (let (($x2070 (<= (+ ?x124 (* (- 1) (v_b_SP_G_0$ (?v1!6 ?0)))) 0))) (let (($x2473 (not (or $x2070 (not (fun_app$ v_b_Visited_G_0$ (?v1!6 ?0))) (not $x2086))))) (let (($x942 (<= (+ b_Infinity$ (* (- 1) ?x124)) 0))) (let (($x2479 (or $x123 $x942 $x2473))) (let ((@x3549 (monotonicity (quant-intro (refl (= $x2479 $x2479)) (= $x2484 $x3542)) (= (not $x2484) $x3547)))) (let ((@x3818 (monotonicity @x3549 (monotonicity @x3555 (= (not $x1046) $x3556)) (monotonicity @x3564 (= (not $x2507) $x3565)) (monotonicity @x3572 (= (not $x2529) $x3573)) @x3583 (monotonicity @x3812 (= (not $x2940) $x3813)) (= $x2953 $x3816)))) (let (($x2435 (or (>= (+ ?x124 ?x1536) 0) $x134 (not (= (+ ?x124 ?x1536 (b_G$ (pair$ ?0 ?v0!5))) 0))))) (let ((@x3535 (monotonicity (quant-intro (refl (= $x2435 $x2435)) (= $x2446 $x3528)) (= (not $x2446) $x3533)))) (let ((@x3541 (monotonicity (monotonicity @x3535 (= (or $x1533 $x1538 (not $x2446)) $x3536)) (= $x2454 $x3539)))) (let ((@x3824 (monotonicity @x3541 (monotonicity @x3818 (= $x2954 $x3819)) (= $x2959 $x3822)))) (let ((@x3523 (quant-intro (refl (= (or $x134 $x917 $x928) (or $x134 $x917 $x928))) (= $x2431 $x3519)))) (let ((@x3830 (monotonicity (monotonicity @x3523 (= (not $x2431) $x3524)) (monotonicity @x3824 (= (not $x2959) $x3825)) (= (or (not $x2431) (not $x2959)) $x3828)))) (let ((@x3839 (monotonicity (monotonicity (monotonicity @x3830 (= $x2968 $x3831)) (= $x2973 $x3834)) (= (not $x2973) $x3837)))) (let (($x2381 (or $x133 (not (fun_app$ v_b_Visited_G_0$ ?1)) $x902))) (let ((@x3517 (monotonicity (quant-intro (refl (= $x2381 $x2381)) (= $x2386 $x3510)) (= (not $x2386) $x3515)))) (let ((@x3845 (monotonicity (monotonicity @x3517 @x3839 (= (or (not $x2386) (not $x2973)) $x3840)) (= $x2982 $x3843)))) (let ((@x3851 (monotonicity (monotonicity @x3845 (= $x2987 $x3846)) (= (not $x2987) $x3849)))) (let ((@x3505 (quant-intro (refl (= (>= ?x124 0) (>= ?x124 0))) (= $x894 $x3501)))) (let ((@x3854 (monotonicity (monotonicity @x3505 (= $x897 $x3506)) @x3851 (= (or $x897 (not $x2987)) $x3852)))) (let ((@x3863 (monotonicity (monotonicity (monotonicity @x3854 (= $x2995 $x3855)) (= $x3000 $x3858)) (= (not $x3000) $x3861)))) (let ((@x3869 (monotonicity (monotonicity @x3863 (= (or $x864 (not $x3000)) $x3864)) (= $x3008 $x3867)))) (let (($x2246 (forall ((?v1 B_Vertex$) )(! (let ((?x1906 (v_b_SP_G_2$ ?v0!20))) (let ((?x1907 (* (- 1) ?x1906))) (let ((?x268 (v_b_SP_G_2$ ?v1))) (let (($x2237 (= (+ ?x268 ?x1907 (b_G$ (pair$ ?v1 ?v0!20))) 0))) (let (($x286 (fun_app$ v_b_Visited_G_2$ ?v1))) (let (($x2240 (and (not (>= (+ ?x268 ?x1907) 0)) $x286 $x2237))) (not $x2240))))))) :qid k!38)) )) (let (($x1910 (not $x1909))) (let (($x1905 (not $x1904))) (let (($x2255 (and $x1284 $x1905 $x1910 $x2246))) (let (($x1886 (not (and $x1878 (not $x1883))))) (let (($x1892 (or $x1886 $x1891))) (let (($x1893 (not $x1892))) (let (($x2260 (or $x1893 $x2255))) (let (($x2263 (and $x1265 $x2260))) (let (($x1859 (not (and (not $x1855) $x1857)))) (let (($x1865 (or $x1859 $x1864))) (let (($x1866 (not $x1865))) (let (($x2266 (or $x1866 $x2263))) (let (($x2269 (and $x1251 $x2266))) (let (($x2272 (or $x1843 $x2269))) (let (($x2275 (and $x292 $x2272))) (let (($x2278 (or $x768 $x2275))) (let (($x2281 (and $x647 $x2278))) (let (($x2284 (or $x1825 $x2281))) (let (($x2287 (and $x1242 $x2284))) (let (($x2290 (or $x1808 $x2287))) (let (($x1774 (not $x1773))) (let (($x1769 (not $x1768))) (let (($x2296 (and $x1769 $x1774 $x253 $x1209 $x1204 $x261 $x1188 $x1194 $x2290))) (let (($x1744 (not $x243))) (let (($x1747 (and $x1141 $x1744))) (let (($x1728 (not (and (not $x1719) (not $x1725))))) (let (($x2207 (or $x1728 $x2204))) (let (($x2210 (not $x2207))) (let (($x2213 (or $x2210 $x1747))) (let (($x2198 (forall ((?v0 B_Vertex$) )(! (let ((?x227 (fun_app$a v_b_SP_G_3$ ?v0))) (let ((?x2186 (+ ?x227 (* (- 1) (fun_app$a v_b_SP_G_3$ (?v1!9 ?v0))) (* (- 1) (b_G$ (pair$ (?v1!9 ?v0) ?v0)))))) (let (($x2187 (= ?x2186 0))) (let (($x2171 (<= (+ ?x227 (* (- 1) (fun_app$a v_b_SP_G_3$ (?v1!9 ?v0)))) 0))) (let (($x2192 (and (not $x2171) $x2187))) (let (($x1094 (<= (+ b_Infinity$ (* (- 1) ?x227)) 0))) (let (($x1095 (not $x1094))) (let (($x123 (= ?v0 b_Source$))) (let (($x128 (not $x123))) (let (($x1098 (and $x128 $x1095))) (let (($x1101 (not $x1098))) (or $x1101 $x2192)))))))))))) :qid k!38)) )) (let (($x2216 (and $x2198 $x2213))) (let (($x2152 (forall ((?v1 B_Vertex$) )(! (let ((?x1656 (fun_app$a v_b_SP_G_3$ ?v0!8))) (let ((?x1657 (* (- 1) ?x1656))) (let ((?x227 (fun_app$a v_b_SP_G_3$ ?v1))) (let (($x2143 (= (+ ?x227 ?x1657 (b_G$ (pair$ ?v1 ?v0!8))) 0))) (let (($x2146 (and (not (>= (+ ?x227 ?x1657) 0)) $x2143))) (not $x2146)))))) :qid k!38)) )) (let (($x1660 (not $x1659))) (let (($x1655 (not $x1654))) (let (($x2158 (and $x1655 $x1660 $x2152))) (let (($x2219 (or $x2158 $x2216))) (let (($x1636 (forall ((?v0 B_Vertex$) )(! (let (($x997 (<= (+ b_Infinity$ (* (- 1) (fun_app$a v_b_SP_G_1$ ?v0))) 0))) (let (($x998 (not $x997))) (let (($x175 (fun_app$ v_b_Visited_G_1$ ?v0))) (let (($x176 (not $x175))) (let (($x1072 (and $x176 $x998))) (not $x1072)))))) :qid k!38)) )) (let (($x2225 (and $x1636 $x209 $x212 $x214 $x217 $x2219))) (let (($x2301 (or $x2225 $x2296))) (let (($x2135 (forall ((?v0 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0))) (let ((?x2123 (+ ?x171 (* (- 1) (fun_app$a v_b_SP_G_1$ (?v1!7 ?v0))) (* (- 1) (b_G$ (pair$ (?v1!7 ?v0) ?v0)))))) (let (($x2124 (= ?x2123 0))) (let ((?x1608 (?v1!7 ?v0))) (let (($x1613 (fun_app$ v_b_Visited_G_1$ ?x1608))) (let (($x2129 (and (not (<= (+ ?x171 (* (- 1) (fun_app$a v_b_SP_G_1$ ?x1608))) 0)) $x1613 $x2124))) (let (($x997 (<= (+ b_Infinity$ (* (- 1) ?x171)) 0))) (let (($x998 (not $x997))) (let (($x123 (= ?v0 b_Source$))) (let (($x128 (not $x123))) (let (($x1001 (and $x128 $x998))) (let (($x1004 (not $x1001))) (or $x1004 $x2129))))))))))))) :qid k!38)) )) (let (($x2097 (forall ((?v0 B_Vertex$) )(! (let ((?x124 (v_b_SP_G_0$ ?v0))) (let ((?x2085 (+ ?x124 (* (- 1) (v_b_SP_G_0$ (?v1!6 ?v0))) (* (- 1) (b_G$ (pair$ (?v1!6 ?v0) ?v0)))))) (let (($x2086 (= ?x2085 0))) (let ((?x1573 (?v1!6 ?v0))) (let (($x1578 (fun_app$ v_b_Visited_G_0$ ?x1573))) (let (($x2091 (and (not (<= (+ ?x124 (* (- 1) (v_b_SP_G_0$ ?x1573))) 0)) $x1578 $x2086))) (let (($x123 (= ?v0 b_Source$))) (let (($x128 (not $x123))) (let (($x946 (and $x128 (not (<= (+ b_Infinity$ (* (- 1) ?x124)) 0))))) (let (($x949 (not $x946))) (or $x949 $x2091))))))))))) :qid k!38)) )) (let (($x2310 (and $x2097 $x170 $x1046 $x1040 $x992 $x2135 $x2301))) (let (($x1562 (forall ((?v1 B_Vertex$) )(! (let ((?x1535 (v_b_SP_G_0$ ?v0!5))) (let ((?x1536 (* (- 1) ?x1535))) (let ((?x124 (v_b_SP_G_0$ ?v1))) (let (($x133 (fun_app$ v_b_Visited_G_0$ ?v1))) (let (($x1549 (and (not (>= (+ ?x124 ?x1536) 0)) $x133 (= (+ ?x124 ?x1536 (b_G$ (pair$ ?v1 ?v0!5))) 0)))) (not $x1549)))))) :qid k!38)) )) (let (($x2057 (and $x1534 $x1539 $x1562))) (let (($x2315 (or $x2057 $x2310))) (let (($x2318 (and $x934 $x2315))) (let (($x1515 (not (and $x1507 (not $x1512))))) (let (($x2046 (or $x1515 $x2043))) (let (($x2049 (not $x2046))) (let (($x2321 (or $x2049 $x2318))) (let (($x2324 (and $x909 $x2321))) (let (($x1488 (not (and (not $x1484) $x1486)))) (let (($x1494 (or $x1488 $x1493))) (let (($x1495 (not $x1494))) (let (($x2327 (or $x1495 $x2324))) (let (($x2330 (and $x894 $x2327))) (let (($x2333 (or $x1472 $x2330))) (let (($x2336 (and $x142 $x2333))) (let (($x2339 (or $x864 $x2336))) (let ((@x2937 (rewrite (= (and $x1769 $x1774 $x253 $x1209 $x1204 $x261 $x2731 $x2737 $x2923) $x2935)))) (let (($x2237 (= (+ ?x268 ?x1907 (b_G$ (pair$ ?0 ?v0!20))) 0))) (let (($x2240 (and (not (>= (+ ?x268 ?x1907) 0)) $x286 $x2237))) (let (($x2243 (not $x2240))) (let ((@x2838 (monotonicity (rewrite (= $x2240 (not $x2832))) (= $x2243 (not (not $x2832)))))) (let ((@x2845 (quant-intro (trans @x2838 (rewrite (= (not (not $x2832)) $x2832)) (= $x2243 $x2832)) (= $x2246 $x2843)))) (let ((@x2815 (monotonicity (rewrite (= $x1271 (not (or $x295 $x917)))) (= $x1274 (not (not (or $x295 $x917))))))) (let ((@x2819 (trans @x2815 (rewrite (= (not (not (or $x295 $x917))) (or $x295 $x917))) (= $x1274 (or $x295 $x917))))) (let ((@x2827 (trans (monotonicity @x2819 (= $x1281 (or (or $x295 $x917) $x1277))) (rewrite (= (or (or $x295 $x917) $x1277) (or $x295 $x917 $x1277))) (= $x1281 (or $x295 $x917 $x1277))))) (let ((@x2848 (monotonicity (quant-intro @x2827 (= $x1284 $x2828)) @x2845 (= $x2255 (and $x2828 $x1905 $x1910 $x2843))))) (let ((@x2856 (trans @x2848 (rewrite (= (and $x2828 $x1905 $x1910 $x2843) $x2852)) (= $x2255 $x2852)))) (let ((@x2793 (monotonicity (rewrite (= (and $x1878 (not $x1883)) (not (or $x2786 $x1883)))) (= $x1886 (not (not (or $x2786 $x1883))))))) (let ((@x2797 (trans @x2793 (rewrite (= (not (not (or $x2786 $x1883))) (or $x2786 $x1883))) (= $x1886 (or $x2786 $x1883))))) (let ((@x2805 (trans (monotonicity @x2797 (= $x1892 (or (or $x2786 $x1883) $x1891))) (rewrite (= (or (or $x2786 $x1883) $x1891) $x2801)) (= $x1892 $x2801)))) (let ((@x2859 (monotonicity (monotonicity @x2805 (= $x1893 $x2806)) @x2856 (= $x2260 $x2857)))) (let ((@x2780 (rewrite (= (or (or $x286 (not $x296)) $x1257) (or $x286 (not $x296) $x1257))))) (let ((@x2772 (rewrite (= (not (not (or $x286 (not $x296)))) (or $x286 (not $x296)))))) (let ((@x2770 (monotonicity (rewrite (= $x297 (not (or $x286 (not $x296))))) (= $x659 (not (not (or $x286 (not $x296)))))))) (let ((@x2777 (monotonicity (trans @x2770 @x2772 (= $x659 (or $x286 (not $x296)))) (= $x1262 (or (or $x286 (not $x296)) $x1257))))) (let ((@x2785 (quant-intro (trans @x2777 @x2780 (= $x1262 (or $x286 (not $x296) $x1257))) (= $x1265 $x2783)))) (let ((@x2870 (trans (monotonicity @x2785 @x2859 (= $x2263 (and $x2783 $x2857))) (rewrite (= (and $x2783 $x2857) $x2866)) (= $x2263 $x2866)))) (let ((@x2747 (monotonicity (rewrite (= (and (not $x1855) $x1857) (not (or $x1855 $x2740)))) (= $x1859 (not (not (or $x1855 $x2740))))))) (let ((@x2751 (trans @x2747 (rewrite (= (not (not (or $x1855 $x2740))) (or $x1855 $x2740))) (= $x1859 (or $x1855 $x2740))))) (let ((@x2759 (trans (monotonicity @x2751 (= $x1865 (or (or $x1855 $x2740) $x1864))) (rewrite (= (or (or $x1855 $x2740) $x1864) $x2755)) (= $x1865 $x2755)))) (let ((@x2873 (monotonicity (monotonicity @x2759 (= $x1866 $x2760)) @x2870 (= $x2266 $x2871)))) (let ((@x2883 (trans (monotonicity @x2873 (= $x2269 (and $x1251 $x2871))) (rewrite (= (and $x1251 $x2871) $x2879)) (= $x2269 $x2879)))) (let ((@x2889 (monotonicity (monotonicity @x2883 (= $x2272 $x2884)) (= $x2275 (and $x292 $x2884))))) (let ((@x2899 (monotonicity (trans @x2889 (rewrite (= (and $x292 $x2884) $x2892)) (= $x2275 $x2892)) (= $x2278 $x2897)))) (let ((@x2909 (trans (monotonicity @x2899 (= $x2281 (and $x647 $x2897))) (rewrite (= (and $x647 $x2897) $x2905)) (= $x2281 $x2905)))) (let ((@x2915 (monotonicity (monotonicity @x2909 (= $x2284 $x2910)) (= $x2287 (and $x1242 $x2910))))) (let ((@x2925 (monotonicity (trans @x2915 (rewrite (= (and $x1242 $x2910) $x2918)) (= $x2287 $x2918)) (= $x2290 $x2923)))) (let ((@x2736 (monotonicity (rewrite (= $x1174 (not (or $x1164 $x1170)))) (= $x1191 (or (not (or $x1164 $x1170)) $x273))))) (let ((@x2718 (monotonicity (rewrite (= $x1174 (not (or $x1164 $x1170)))) (= $x1177 (not (not (or $x1164 $x1170))))))) (let ((@x2722 (trans @x2718 (rewrite (= (not (not (or $x1164 $x1170))) (or $x1164 $x1170))) (= $x1177 (or $x1164 $x1170))))) (let ((@x2730 (trans (monotonicity @x2722 (= $x1185 (or (or $x1164 $x1170) $x1180))) (rewrite (= (or (or $x1164 $x1170) $x1180) (or $x1164 $x1170 $x1180))) (= $x1185 (or $x1164 $x1170 $x1180))))) (let ((@x2928 (monotonicity (quant-intro @x2730 (= $x1188 $x2731)) (quant-intro @x2736 (= $x1194 $x2737)) @x2925 (= $x2296 (and $x1769 $x1774 $x253 $x1209 $x1204 $x261 $x2731 $x2737 $x2923))))) (let ((@x2654 (monotonicity (rewrite (= $x1129 (not (or $x1094 $x917)))) (= $x1132 (not (not (or $x1094 $x917))))))) (let ((@x2658 (trans @x2654 (rewrite (= (not (not (or $x1094 $x917))) (or $x1094 $x917))) (= $x1132 (or $x1094 $x917))))) (let ((@x2666 (trans (monotonicity @x2658 (= $x1138 (or (or $x1094 $x917) $x1135))) (rewrite (= (or (or $x1094 $x917) $x1135) (or $x1094 $x917 $x1135))) (= $x1138 (or $x1094 $x917 $x1135))))) (let ((@x2672 (monotonicity (quant-intro @x2666 (= $x1141 $x2667)) (= $x1747 (and $x2667 $x1744))))) (let ((@x2632 (monotonicity (rewrite (= (and (not $x1719) (not $x1725)) (not (or $x1719 $x1725)))) (= $x1728 (not (not (or $x1719 $x1725))))))) (let ((@x2636 (trans @x2632 (rewrite (= (not (not (or $x1719 $x1725))) (or $x1719 $x1725))) (= $x1728 (or $x1719 $x1725))))) (let ((@x2644 (trans (monotonicity @x2636 (= $x2207 (or (or $x1719 $x1725) $x2204))) (rewrite (= (or (or $x1719 $x1725) $x2204) $x2640)) (= $x2207 $x2640)))) (let ((@x2682 (monotonicity (monotonicity @x2644 (= $x2210 $x2645)) (trans @x2672 (rewrite (= (and $x2667 $x1744) $x2675)) (= $x1747 $x2675)) (= $x2213 $x2680)))) (let ((@x2605 (monotonicity (rewrite (= $x1098 (not (or $x123 $x1094)))) (= $x1101 (not (not (or $x123 $x1094))))))) (let ((@x2609 (trans @x2605 (rewrite (= (not (not (or $x123 $x1094))) (or $x123 $x1094))) (= $x1101 (or $x123 $x1094))))) (let ((@x2617 (monotonicity @x2609 (rewrite (= (and (not $x2171) $x2187) $x2612)) (= (or $x1101 (and (not $x2171) $x2187)) (or (or $x123 $x1094) $x2612))))) (let ((@x2622 (trans @x2617 (rewrite (= (or (or $x123 $x1094) $x2612) $x2618)) (= (or $x1101 (and (not $x2171) $x2187)) $x2618)))) (let ((@x2685 (monotonicity (quant-intro @x2622 (= $x2198 $x2623)) @x2682 (= $x2216 (and $x2623 $x2680))))) (let (($x2146 (and (not (>= (+ ?x227 ?x1657) 0)) $x2143))) (let (($x2149 (not $x2146))) (let ((@x2581 (monotonicity (rewrite (= $x2146 (not $x2575))) (= $x2149 (not (not $x2575)))))) (let ((@x2588 (quant-intro (trans @x2581 (rewrite (= (not (not $x2575)) $x2575)) (= $x2149 $x2575)) (= $x2152 $x2586)))) (let ((@x2598 (trans (monotonicity @x2588 (= $x2158 (and $x1655 $x1660 $x2586))) (rewrite (= (and $x1655 $x1660 $x2586) $x2594)) (= $x2158 $x2594)))) (let ((@x2696 (monotonicity @x2598 (trans @x2685 (rewrite (= (and $x2623 $x2680) $x2689)) (= $x2216 $x2689)) (= $x2219 $x2694)))) (let ((@x2566 (monotonicity (rewrite (= $x1072 (not (or $x175 $x997)))) (= (not $x1072) (not (not (or $x175 $x997))))))) (let ((@x2570 (trans @x2566 (rewrite (= (not (not (or $x175 $x997))) (or $x175 $x997))) (= (not $x1072) (or $x175 $x997))))) (let ((@x2699 (monotonicity (quant-intro @x2570 (= $x1636 $x2571)) @x2696 (= $x2225 (and $x2571 $x209 $x212 $x214 $x217 $x2694))))) (let ((@x2711 (trans @x2699 (rewrite (= (and $x2571 $x209 $x212 $x214 $x217 $x2694) $x2707)) (= $x2225 $x2707)))) (let ((?x1608 (?v1!7 ?0))) (let (($x1613 (fun_app$ v_b_Visited_G_1$ ?x1608))) (let (($x2129 (and (not $x2108) $x1613 $x2124))) (let (($x2132 (or $x1004 $x2129))) (let ((@x2538 (monotonicity (rewrite (= $x1001 (not (or $x123 $x997)))) (= $x1004 (not (not (or $x123 $x997))))))) (let ((@x2542 (trans @x2538 (rewrite (= (not (not (or $x123 $x997))) (or $x123 $x997))) (= $x1004 (or $x123 $x997))))) (let ((@x2551 (monotonicity @x2542 (rewrite (= $x2129 $x2546)) (= $x2132 (or (or $x123 $x997) $x2546))))) (let ((@x2556 (trans @x2551 (rewrite (= (or (or $x123 $x997) $x2546) $x2552)) (= $x2132 $x2552)))) (let ((@x2516 (monotonicity (rewrite (= $x978 (not (or $x176 $x917)))) (= $x981 (not (not (or $x176 $x917))))))) (let ((@x2520 (trans @x2516 (rewrite (= (not (not (or $x176 $x917))) (or $x176 $x917))) (= $x981 (or $x176 $x917))))) (let ((@x2528 (trans (monotonicity @x2520 (= $x989 (or (or $x176 $x917) $x985))) (rewrite (= (or (or $x176 $x917) $x985) (or $x176 $x917 $x985))) (= $x989 (or $x176 $x917 $x985))))) (let ((@x2504 (rewrite (= (or (or $x175 (not $x177)) $x1010) (or $x175 (not $x177) $x1010))))) (let ((@x2496 (rewrite (= (not (not (or $x175 (not $x177)))) (or $x175 (not $x177)))))) (let ((@x2494 (monotonicity (rewrite (= $x178 (not (or $x175 (not $x177))))) (= $x398 (not (not (or $x175 (not $x177)))))))) (let ((@x2501 (monotonicity (trans @x2494 @x2496 (= $x398 (or $x175 (not $x177)))) (= $x1037 (or (or $x175 (not $x177)) $x1010))))) (let ((@x2509 (quant-intro (trans @x2501 @x2504 (= $x1037 (or $x175 (not $x177) $x1010))) (= $x1040 $x2507)))) (let ((?x1573 (?v1!6 ?0))) (let (($x1578 (fun_app$ v_b_Visited_G_0$ ?x1573))) (let (($x2091 (and (not $x2070) $x1578 $x2086))) (let (($x2094 (or $x949 $x2091))) (let ((@x2465 (monotonicity (rewrite (= $x946 (not (or $x123 $x942)))) (= $x949 (not (not (or $x123 $x942))))))) (let ((@x2469 (trans @x2465 (rewrite (= (not (not (or $x123 $x942))) (or $x123 $x942))) (= $x949 (or $x123 $x942))))) (let ((@x2478 (monotonicity @x2469 (rewrite (= $x2091 $x2473)) (= $x2094 (or (or $x123 $x942) $x2473))))) (let ((@x2483 (trans @x2478 (rewrite (= (or (or $x123 $x942) $x2473) $x2479)) (= $x2094 $x2479)))) (let ((@x2945 (monotonicity (quant-intro @x2483 (= $x2097 $x2484)) @x2509 (quant-intro @x2528 (= $x992 $x2529)) (quant-intro @x2556 (= $x2135 $x2557)) (monotonicity @x2711 (trans @x2928 @x2937 (= $x2296 $x2935)) (= $x2301 $x2940)) (= $x2310 (and $x2484 $x170 $x1046 $x2507 $x2529 $x2557 $x2940))))) (let ((@x2958 (trans @x2945 (rewrite (= (and $x2484 $x170 $x1046 $x2507 $x2529 $x2557 $x2940) $x2954)) (= $x2310 $x2954)))) (let (($x1549 (and (not (>= (+ ?x124 ?x1536) 0)) $x133 (= (+ ?x124 ?x1536 (b_G$ (pair$ ?0 ?v0!5))) 0)))) (let (($x1559 (not $x1549))) (let ((@x2441 (monotonicity (rewrite (= $x1549 (not $x2435))) (= $x1559 (not (not $x2435)))))) (let ((@x2448 (quant-intro (trans @x2441 (rewrite (= (not (not $x2435)) $x2435)) (= $x1559 $x2435)) (= $x1562 $x2446)))) (let ((@x2458 (trans (monotonicity @x2448 (= $x2057 (and $x1534 $x1539 $x2446))) (rewrite (= (and $x1534 $x1539 $x2446) $x2454)) (= $x2057 $x2454)))) (let ((@x2418 (monotonicity (rewrite (= $x921 (not (or $x134 $x917)))) (= $x924 (not (not (or $x134 $x917))))))) (let ((@x2422 (trans @x2418 (rewrite (= (not (not (or $x134 $x917))) (or $x134 $x917))) (= $x924 (or $x134 $x917))))) (let ((@x2430 (trans (monotonicity @x2422 (= $x931 (or (or $x134 $x917) $x928))) (rewrite (= (or (or $x134 $x917) $x928) (or $x134 $x917 $x928))) (= $x931 (or $x134 $x917 $x928))))) (let ((@x2964 (monotonicity (quant-intro @x2430 (= $x934 $x2431)) (monotonicity @x2458 @x2958 (= $x2315 $x2959)) (= $x2318 (and $x2431 $x2959))))) (let ((@x2396 (monotonicity (rewrite (= (and $x1507 (not $x1512)) (not (or $x2389 $x1512)))) (= $x1515 (not (not (or $x2389 $x1512))))))) (let ((@x2400 (trans @x2396 (rewrite (= (not (not (or $x2389 $x1512))) (or $x2389 $x1512))) (= $x1515 (or $x2389 $x1512))))) (let ((@x2408 (trans (monotonicity @x2400 (= $x2046 (or (or $x2389 $x1512) $x2043))) (rewrite (= (or (or $x2389 $x1512) $x2043) $x2404)) (= $x2046 $x2404)))) (let ((@x2975 (monotonicity (monotonicity @x2408 (= $x2049 $x2409)) (trans @x2964 (rewrite (= (and $x2431 $x2959) $x2968)) (= $x2318 $x2968)) (= $x2321 $x2973)))) (let (($x2382 (= (or (or $x133 (not (fun_app$ v_b_Visited_G_0$ ?1))) $x902) $x2381))) (let (($x2379 (= $x906 (or (or $x133 (not (fun_app$ v_b_Visited_G_0$ ?1))) $x902)))) (let (($x2367 (or $x133 (not (fun_app$ v_b_Visited_G_0$ ?1))))) (let ((@x2373 (monotonicity (rewrite (= $x146 (not $x2367))) (= $x377 (not (not $x2367)))))) (let ((@x2380 (monotonicity (trans @x2373 (rewrite (= (not (not $x2367)) $x2367)) (= $x377 $x2367)) $x2379))) (let ((@x2388 (quant-intro (trans @x2380 (rewrite $x2382) (= $x906 $x2381)) (= $x909 $x2386)))) (let ((@x2986 (trans (monotonicity @x2388 @x2975 (= $x2324 (and $x2386 $x2973))) (rewrite (= (and $x2386 $x2973) $x2982)) (= $x2324 $x2982)))) (let ((@x2350 (monotonicity (rewrite (= (and (not $x1484) $x1486) (not (or $x1484 $x2343)))) (= $x1488 (not (not (or $x1484 $x2343))))))) (let ((@x2354 (trans @x2350 (rewrite (= (not (not (or $x1484 $x2343))) (or $x1484 $x2343))) (= $x1488 (or $x1484 $x2343))))) (let ((@x2362 (trans (monotonicity @x2354 (= $x1494 (or (or $x1484 $x2343) $x1493))) (rewrite (= (or (or $x1484 $x2343) $x1493) $x2358)) (= $x1494 $x2358)))) (let ((@x2989 (monotonicity (monotonicity @x2362 (= $x1495 $x2363)) @x2986 (= $x2327 $x2987)))) (let ((@x2999 (trans (monotonicity @x2989 (= $x2330 (and $x894 $x2987))) (rewrite (= (and $x894 $x2987) $x2995)) (= $x2330 $x2995)))) (let ((@x3005 (monotonicity (monotonicity @x2999 (= $x2333 $x3000)) (= $x2336 (and $x142 $x3000))))) (let ((@x3015 (monotonicity (trans @x3005 (rewrite (= (and $x142 $x3000) $x3008)) (= $x2336 $x3008)) (= $x2339 $x3013)))) (let (($x1933 (forall ((?v1 B_Vertex$) )(! (let ((?x1906 (v_b_SP_G_2$ ?v0!20))) (let ((?x1907 (* (- 1) ?x1906))) (let ((?x268 (v_b_SP_G_2$ ?v1))) (let (($x286 (fun_app$ v_b_Visited_G_2$ ?v1))) (let (($x1920 (and (not (>= (+ ?x268 ?x1907) 0)) $x286 (= (+ (b_G$ (pair$ ?v1 ?v0!20)) ?x268 ?x1907) 0)))) (not $x1920)))))) :qid k!38)) )) (let (($x1927 (not (not (and $x1905 $x1910))))) (let (($x1937 (and $x1927 $x1933))) (let (($x1942 (and $x1284 $x1937))) (let (($x1946 (or $x1893 $x1942))) (let (($x1950 (and $x1265 $x1946))) (let (($x1954 (or $x1866 $x1950))) (let (($x1958 (and $x1251 $x1954))) (let (($x1962 (or $x1843 $x1958))) (let (($x1837 (not $x768))) (let (($x1966 (and $x1837 $x1962))) (let (($x1970 (or $x768 $x1966))) (let (($x1974 (and $x647 $x1970))) (let (($x1978 (or $x1825 $x1974))) (let (($x1982 (and $x1242 $x1978))) (let (($x1986 (or $x1808 $x1982))) (let (($x1796 (and (and $x1769 $x1774) $x253 $x1209 $x1204 $x261 $x1188 $x1194))) (let (($x1990 (and $x1796 $x1986))) (let (($x1734 (not (or $x1728 (>= (+ ?x1722 ?x1716 ?x1730) 0))))) (let (($x1751 (or $x1734 $x1747))) (let (($x1708 (forall ((?v0 B_Vertex$) )(! (let ((?x227 (fun_app$a v_b_SP_G_3$ ?v0))) (let ((?x1092 (* (- 1) ?x227))) (let ((?x1694 (fun_app$a v_b_SP_G_3$ (?v1!9 ?v0)))) (let ((?x1699 (b_G$ (pair$ (?v1!9 ?v0) ?v0)))) (let (($x1701 (= (+ ?x1699 ?x1694 ?x1092) 0))) (let (($x1702 (and (not (>= (+ ?x1694 ?x1092) 0)) $x1701))) (let (($x1094 (<= (+ b_Infinity$ ?x1092) 0))) (let (($x1095 (not $x1094))) (let (($x123 (= ?v0 b_Source$))) (let (($x128 (not $x123))) (let (($x1098 (and $x128 $x1095))) (let (($x1101 (not $x1098))) (or $x1101 $x1702))))))))))))) :qid k!38)) )) (let (($x1755 (and $x1708 $x1751))) (let (($x1682 (forall ((?v1 B_Vertex$) )(! (let ((?x1656 (fun_app$a v_b_SP_G_3$ ?v0!8))) (let ((?x1657 (* (- 1) ?x1656))) (let ((?x227 (fun_app$a v_b_SP_G_3$ ?v1))) (let (($x1670 (and (not (>= (+ ?x227 ?x1657) 0)) (= (+ (b_G$ (pair$ ?v1 ?v0!8)) ?x227 ?x1657) 0)))) (not $x1670))))) :qid k!38)) )) (let (($x1676 (not (not (and $x1655 $x1660))))) (let (($x1686 (and $x1676 $x1682))) (let (($x1759 (or $x1686 $x1755))) (let (($x1647 (and $x1636 $x209 $x212 $x214 $x217))) (let (($x1763 (and $x1647 $x1759))) (let (($x1994 (or $x1763 $x1990))) (let (($x1624 (forall ((?v0 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0))) (let ((?x995 (* (- 1) ?x171))) (let ((?x1608 (?v1!7 ?v0))) (let ((?x1609 (fun_app$a v_b_SP_G_1$ ?x1608))) (let ((?x1615 (b_G$ (pair$ ?x1608 ?v0)))) (let (($x1617 (= (+ ?x1615 ?x1609 ?x995) 0))) (let (($x1613 (fun_app$ v_b_Visited_G_1$ ?x1608))) (let (($x1618 (and (not (>= (+ ?x1609 ?x995) 0)) $x1613 $x1617))) (let (($x997 (<= (+ b_Infinity$ ?x995) 0))) (let (($x998 (not $x997))) (let (($x123 (= ?v0 b_Source$))) (let (($x128 (not $x123))) (let (($x1001 (and $x128 $x998))) (let (($x1004 (not $x1001))) (or $x1004 $x1618))))))))))))))) :qid k!38)) )) (let (($x1589 (forall ((?v0 B_Vertex$) )(! (let ((?x1580 (b_G$ (pair$ (?v1!6 ?v0) ?v0)))) (let ((?x124 (v_b_SP_G_0$ ?v0))) (let ((?x940 (* (- 1) ?x124))) (let ((?x1573 (?v1!6 ?v0))) (let ((?x1574 (v_b_SP_G_0$ ?x1573))) (let (($x1582 (= (+ ?x1574 ?x940 ?x1580) 0))) (let (($x1578 (fun_app$ v_b_Visited_G_0$ ?x1573))) (let (($x1583 (and (not (>= (+ ?x1574 ?x940) 0)) $x1578 $x1582))) (let (($x123 (= ?v0 b_Source$))) (let (($x128 (not $x123))) (let (($x946 (and $x128 (not (<= (+ b_Infinity$ ?x940) 0))))) (let (($x949 (not $x946))) (or $x949 $x1583))))))))))))) :qid k!38)) )) (let (($x1627 (and $x1589 $x170 $x1046 $x1040 $x992 $x1624))) (let (($x1998 (and $x1627 $x1994))) (let (($x1556 (not (not (and $x1534 $x1539))))) (let (($x1566 (and $x1556 $x1562))) (let (($x2002 (or $x1566 $x1998))) (let (($x2006 (and $x934 $x2002))) (let (($x1522 (not (or $x1515 (>= (+ ?x1516 ?x1518 ?x1509) 0))))) (let (($x2010 (or $x1522 $x2006))) (let (($x2014 (and $x909 $x2010))) (let (($x2018 (or $x1495 $x2014))) (let (($x2022 (and $x894 $x2018))) (let (($x2026 (or $x1472 $x2022))) (let (($x1466 (not $x864))) (let (($x2030 (and $x1466 $x2026))) (let (($x2034 (or $x864 $x2030))) (let (($x1920 (and (not (>= (+ ?x268 ?x1907) 0)) $x286 (= (+ (b_G$ (pair$ ?0 ?v0!20)) ?x268 ?x1907) 0)))) (let (($x1930 (not $x1920))) (let (($x2235 (= (+ (b_G$ (pair$ ?0 ?v0!20)) ?x268 ?x1907) (+ ?x268 ?x1907 (b_G$ (pair$ ?0 ?v0!20)))))) (let ((@x2239 (monotonicity (rewrite $x2235) (= (= (+ (b_G$ (pair$ ?0 ?v0!20)) ?x268 ?x1907) 0) $x2237)))) (let ((@x2248 (quant-intro (monotonicity (monotonicity @x2239 (= $x1920 $x2240)) (= $x1930 $x2243)) (= $x1933 $x2246)))) (let ((@x2251 (monotonicity (rewrite (= $x1927 (and $x1905 $x1910))) @x2248 (= $x1937 (and (and $x1905 $x1910) $x2246))))) (let ((@x2259 (trans (monotonicity @x2251 (= $x1942 (and $x1284 (and (and $x1905 $x1910) $x2246)))) (rewrite (= (and $x1284 (and (and $x1905 $x1910) $x2246)) $x2255)) (= $x1942 $x2255)))) (let ((@x2268 (monotonicity (monotonicity (monotonicity @x2259 (= $x1946 $x2260)) (= $x1950 $x2263)) (= $x1954 $x2266)))) (let ((@x2277 (monotonicity (rewrite (= $x1837 $x292)) (monotonicity (monotonicity @x2268 (= $x1958 $x2269)) (= $x1962 $x2272)) (= $x1966 $x2275)))) (let ((@x2286 (monotonicity (monotonicity (monotonicity @x2277 (= $x1970 $x2278)) (= $x1974 $x2281)) (= $x1978 $x2284)))) (let ((@x2295 (monotonicity (monotonicity (monotonicity @x2286 (= $x1982 $x2287)) (= $x1986 $x2290)) (= $x1990 (and $x1796 $x2290))))) (let ((@x2206 (monotonicity (rewrite (= (+ ?x1722 ?x1716 ?x1730) ?x2201)) (= (>= (+ ?x1722 ?x1716 ?x1730) 0) $x2204)))) (let ((@x2209 (monotonicity @x2206 (= (or $x1728 (>= (+ ?x1722 ?x1716 ?x1730) 0)) $x2207)))) (let (($x2192 (and (not $x2171) $x2187))) (let (($x2195 (or $x1101 $x2192))) (let ((?x1092 (* (- 1) ?x227))) (let ((?x1694 (fun_app$a v_b_SP_G_3$ (?v1!9 ?0)))) (let ((?x1699 (b_G$ (pair$ (?v1!9 ?0) ?0)))) (let (($x1701 (= (+ ?x1699 ?x1694 ?x1092) 0))) (let (($x1702 (and (not (>= (+ ?x1694 ?x1092) 0)) $x1701))) (let (($x1705 (or $x1101 $x1702))) (let ((@x2184 (monotonicity (rewrite (= (+ ?x1699 ?x1694 ?x1092) (+ ?x1092 ?x1694 ?x1699))) (= $x1701 (= (+ ?x1092 ?x1694 ?x1699) 0))))) (let ((@x2191 (trans @x2184 (rewrite (= (= (+ ?x1092 ?x1694 ?x1699) 0) $x2187)) (= $x1701 $x2187)))) (let ((@x2168 (monotonicity (rewrite (= (+ ?x1694 ?x1092) (+ ?x1092 ?x1694))) (= (>= (+ ?x1694 ?x1092) 0) (>= (+ ?x1092 ?x1694) 0))))) (let ((@x2175 (trans @x2168 (rewrite (= (>= (+ ?x1092 ?x1694) 0) $x2171)) (= (>= (+ ?x1694 ?x1092) 0) $x2171)))) (let ((@x2194 (monotonicity (monotonicity @x2175 (= (not (>= (+ ?x1694 ?x1092) 0)) (not $x2171))) @x2191 (= $x1702 $x2192)))) (let ((@x2218 (monotonicity (quant-intro (monotonicity @x2194 (= $x1705 $x2195)) (= $x1708 $x2198)) (monotonicity (monotonicity @x2209 (= $x1734 $x2210)) (= $x1751 $x2213)) (= $x1755 $x2216)))) (let (($x1670 (and (not (>= (+ ?x227 ?x1657) 0)) (= (+ (b_G$ (pair$ ?0 ?v0!8)) ?x227 ?x1657) 0)))) (let (($x1679 (not $x1670))) (let (($x2141 (= (+ (b_G$ (pair$ ?0 ?v0!8)) ?x227 ?x1657) (+ ?x227 ?x1657 (b_G$ (pair$ ?0 ?v0!8)))))) (let ((@x2145 (monotonicity (rewrite $x2141) (= (= (+ (b_G$ (pair$ ?0 ?v0!8)) ?x227 ?x1657) 0) $x2143)))) (let ((@x2154 (quant-intro (monotonicity (monotonicity @x2145 (= $x1670 $x2146)) (= $x1679 $x2149)) (= $x1682 $x2152)))) (let ((@x2157 (monotonicity (rewrite (= $x1676 (and $x1655 $x1660))) @x2154 (= $x1686 (and (and $x1655 $x1660) $x2152))))) (let ((@x2162 (trans @x2157 (rewrite (= (and (and $x1655 $x1660) $x2152) $x2158)) (= $x1686 $x2158)))) (let ((@x2224 (monotonicity (monotonicity @x2162 @x2218 (= $x1759 $x2219)) (= $x1763 (and $x1647 $x2219))))) (let ((@x2303 (monotonicity (trans @x2224 (rewrite (= (and $x1647 $x2219) $x2225)) (= $x1763 $x2225)) (trans @x2295 (rewrite (= (and $x1796 $x2290) $x2296)) (= $x1990 $x2296)) (= $x1994 $x2301)))) (let ((?x995 (* (- 1) ?x171))) (let ((?x1609 (fun_app$a v_b_SP_G_1$ ?x1608))) (let ((?x1615 (b_G$ (pair$ ?x1608 ?0)))) (let (($x1617 (= (+ ?x1615 ?x1609 ?x995) 0))) (let (($x1618 (and (not (>= (+ ?x1609 ?x995) 0)) $x1613 $x1617))) (let (($x1621 (or $x1004 $x1618))) (let ((@x2121 (monotonicity (rewrite (= (+ ?x1615 ?x1609 ?x995) (+ ?x995 ?x1609 ?x1615))) (= $x1617 (= (+ ?x995 ?x1609 ?x1615) 0))))) (let ((@x2128 (trans @x2121 (rewrite (= (= (+ ?x995 ?x1609 ?x1615) 0) $x2124)) (= $x1617 $x2124)))) (let ((@x2105 (monotonicity (rewrite (= (+ ?x1609 ?x995) (+ ?x995 ?x1609))) (= (>= (+ ?x1609 ?x995) 0) (>= (+ ?x995 ?x1609) 0))))) (let ((@x2112 (trans @x2105 (rewrite (= (>= (+ ?x995 ?x1609) 0) $x2108)) (= (>= (+ ?x1609 ?x995) 0) $x2108)))) (let ((@x2131 (monotonicity (monotonicity @x2112 (= (not (>= (+ ?x1609 ?x995) 0)) (not $x2108))) @x2128 (= $x1618 $x2129)))) (let (($x1582 (= (+ (v_b_SP_G_0$ ?x1573) (* (- 1) ?x124) (b_G$ (pair$ ?x1573 ?0))) 0))) (let (($x1583 (and (not (>= (+ (v_b_SP_G_0$ ?x1573) (* (- 1) ?x124)) 0)) $x1578 $x1582))) (let (($x1586 (or $x949 $x1583))) (let (($x2081 (= (+ (* (- 1) ?x124) (v_b_SP_G_0$ ?x1573) (b_G$ (pair$ ?x1573 ?0))) 0))) (let (($x2079 (= (+ (v_b_SP_G_0$ ?x1573) (* (- 1) ?x124) (b_G$ (pair$ ?x1573 ?0))) (+ (* (- 1) ?x124) (v_b_SP_G_0$ ?x1573) (b_G$ (pair$ ?x1573 ?0)))))) (let ((@x2090 (trans (monotonicity (rewrite $x2079) (= $x1582 $x2081)) (rewrite (= $x2081 $x2086)) (= $x1582 $x2086)))) (let (($x2076 (= (not (>= (+ (v_b_SP_G_0$ ?x1573) (* (- 1) ?x124)) 0)) (not $x2070)))) (let (($x1576 (>= (+ (v_b_SP_G_0$ ?x1573) (* (- 1) ?x124)) 0))) (let (($x2063 (= (+ (v_b_SP_G_0$ ?x1573) (* (- 1) ?x124)) (+ (* (- 1) ?x124) (v_b_SP_G_0$ ?x1573))))) (let ((@x2067 (monotonicity (rewrite $x2063) (= $x1576 (>= (+ (* (- 1) ?x124) (v_b_SP_G_0$ ?x1573)) 0))))) (let ((@x2074 (trans @x2067 (rewrite (= (>= (+ (* (- 1) ?x124) (v_b_SP_G_0$ ?x1573)) 0) $x2070)) (= $x1576 $x2070)))) (let ((@x2096 (monotonicity (monotonicity (monotonicity @x2074 $x2076) @x2090 (= $x1583 $x2091)) (= $x1586 $x2094)))) (let ((@x2306 (monotonicity (quant-intro @x2096 (= $x1589 $x2097)) (quant-intro (monotonicity @x2131 (= $x1621 $x2132)) (= $x1624 $x2135)) (= $x1627 (and $x2097 $x170 $x1046 $x1040 $x992 $x2135))))) (let ((@x2309 (monotonicity @x2306 @x2303 (= $x1998 (and (and $x2097 $x170 $x1046 $x1040 $x992 $x2135) $x2301))))) (let ((@x2314 (trans @x2309 (rewrite (= (and (and $x2097 $x170 $x1046 $x1040 $x992 $x2135) $x2301) $x2310)) (= $x1998 $x2310)))) (let ((@x2056 (monotonicity (rewrite (= $x1556 (and $x1534 $x1539))) (= $x1566 (and (and $x1534 $x1539) $x1562))))) (let ((@x2061 (trans @x2056 (rewrite (= (and (and $x1534 $x1539) $x1562) $x2057)) (= $x1566 $x2057)))) (let ((@x2320 (monotonicity (monotonicity @x2061 @x2314 (= $x2002 $x2315)) (= $x2006 $x2318)))) (let ((@x2045 (monotonicity (rewrite (= (+ ?x1516 ?x1518 ?x1509) ?x2040)) (= (>= (+ ?x1516 ?x1518 ?x1509) 0) $x2043)))) (let ((@x2048 (monotonicity @x2045 (= (or $x1515 (>= (+ ?x1516 ?x1518 ?x1509) 0)) $x2046)))) (let ((@x2323 (monotonicity (monotonicity @x2048 (= $x1522 $x2049)) @x2320 (= $x2010 $x2321)))) (let ((@x2332 (monotonicity (monotonicity (monotonicity @x2323 (= $x2014 $x2324)) (= $x2018 $x2327)) (= $x2022 $x2330)))) (let ((@x2338 (monotonicity (rewrite (= $x1466 $x142)) (monotonicity @x2332 (= $x2026 $x2333)) (= $x2030 $x2336)))) (let (($x1921 (exists ((?v1 B_Vertex$) )(! (let ((?x1906 (v_b_SP_G_2$ ?v0!20))) (let ((?x1907 (* (- 1) ?x1906))) (let ((?x268 (v_b_SP_G_2$ ?v1))) (let (($x286 (fun_app$ v_b_Visited_G_2$ ?v1))) (and (not (>= (+ ?x268 ?x1907) 0)) $x286 (= (+ (b_G$ (pair$ ?v1 ?v0!20)) ?x268 ?x1907) 0)))))) :qid k!38)) )) (let ((@x1939 (nnf-neg (refl (~ $x1927 $x1927)) (nnf-neg (refl (~ $x1930 $x1930)) (~ (not $x1921) $x1933)) (~ (not (or (not (and $x1905 $x1910)) $x1921)) $x1937)))) (let ((@x1941 (trans (sk (~ (not $x1324) (not (or (not (and $x1905 $x1910)) $x1921)))) @x1939 (~ (not $x1324) $x1937)))) (let ((@x1902 (nnf-neg (nnf-pos (refl (~ $x1281 $x1281)) (~ $x1284 $x1284)) (~ (not $x1287) $x1284)))) (let ((@x1949 (nnf-neg (sk (~ $x1287 $x1893)) (nnf-neg @x1902 @x1941 (~ (not $x1327) $x1942)) (~ (not $x1330) $x1946)))) (let ((@x1875 (nnf-neg (nnf-pos (refl (~ $x1262 $x1262)) (~ $x1265 $x1265)) (~ (not $x1268) $x1265)))) (let ((@x1957 (nnf-neg (sk (~ $x1268 $x1866)) (nnf-neg @x1875 @x1949 (~ (not $x1333) $x1950)) (~ (not $x1336) $x1954)))) (let ((@x1852 (nnf-neg (nnf-pos (refl (~ (>= ?x268 0) (>= ?x268 0))) (~ $x1251 $x1251)) (~ (not $x1254) $x1251)))) (let ((@x1965 (nnf-neg (sk (~ $x1254 $x1843)) (nnf-neg @x1852 @x1957 (~ (not $x1339) $x1958)) (~ (not $x1342) $x1962)))) (let ((@x1973 (nnf-neg (refl (~ $x768 $x768)) (nnf-neg (refl (~ $x1837 $x1837)) @x1965 (~ (not $x1345) $x1966)) (~ (not $x1348) $x1970)))) (let ((@x1834 (nnf-neg (nnf-pos (refl (~ (or $x295 $x273) (or $x295 $x273))) (~ $x647 $x647)) (~ (not $x780) $x647)))) (let ((@x1981 (nnf-neg (sk (~ $x780 $x1825)) (nnf-neg @x1834 @x1973 (~ (not $x1351) $x1974)) (~ (not $x1354) $x1978)))) (let ((@x1817 (nnf-neg (nnf-pos (refl (~ $x1238 $x1238)) (~ $x1242 $x1242)) (~ (not $x1245) $x1242)))) (let ((@x1989 (nnf-neg (sk (~ $x1245 $x1808)) (nnf-neg @x1817 @x1981 (~ (not $x1357) $x1982)) (~ (not $x1360) $x1986)))) (let ((@x1798 (monotonicity (sk (~ $x1075 (and $x1769 $x1774))) (refl (~ $x253 $x253)) (refl (~ $x1209 $x1209)) (nnf-pos (refl (~ $x1201 $x1201)) (~ $x1204 $x1204)) (refl (~ $x261 $x261)) (nnf-pos (refl (~ $x1185 $x1185)) (~ $x1188 $x1188)) (nnf-pos (refl (~ $x1191 $x1191)) (~ $x1194 $x1194)) (~ $x1230 $x1796)))) (let ((@x1993 (nnf-neg (nnf-neg @x1798 (~ (not $x1235) $x1796)) @x1989 (~ (not $x1363) $x1990)))) (let ((@x1743 (nnf-neg (nnf-pos (refl (~ $x1138 $x1138)) (~ $x1141 $x1141)) (~ (not $x1144) $x1141)))) (let ((@x1754 (nnf-neg (sk (~ $x1144 $x1734)) (nnf-neg @x1743 (refl (~ $x1744 $x1744)) (~ (not $x1147) $x1747)) (~ (not $x1150) $x1751)))) (let ((@x1710 (nnf-pos (monotonicity (refl (~ $x1101 $x1101)) (sk (~ $x1117 $x1702)) (~ $x1120 $x1705)) (~ $x1123 $x1708)))) (let ((@x1758 (nnf-neg (nnf-neg @x1710 (~ (not $x1126) $x1708)) @x1754 (~ (not $x1153) $x1755)))) (let (($x1671 (exists ((?v1 B_Vertex$) )(! (let ((?x1656 (fun_app$a v_b_SP_G_3$ ?v0!8))) (let ((?x1657 (* (- 1) ?x1656))) (let ((?x227 (fun_app$a v_b_SP_G_3$ ?v1))) (and (not (>= (+ ?x227 ?x1657) 0)) (= (+ (b_G$ (pair$ ?v1 ?v0!8)) ?x227 ?x1657) 0))))) :qid k!38)) )) (let ((@x1688 (nnf-neg (refl (~ $x1676 $x1676)) (nnf-neg (refl (~ $x1679 $x1679)) (~ (not $x1671) $x1682)) (~ (not (or (not (and $x1655 $x1660)) $x1671)) $x1686)))) (let ((@x1690 (trans (sk (~ $x1126 (not (or (not (and $x1655 $x1660)) $x1671)))) @x1688 (~ $x1126 $x1686)))) (let ((@x1649 (monotonicity (nnf-neg (refl (~ (not $x1072) (not $x1072))) (~ $x1078 $x1636)) (refl (~ $x209 $x209)) (refl (~ $x212 $x212)) (refl (~ $x214 $x214)) (refl (~ $x217 $x217)) (~ $x1084 $x1647)))) (let ((@x1766 (nnf-neg (nnf-neg @x1649 (~ (not $x1089) $x1647)) (nnf-neg @x1690 @x1758 (~ (not $x1156) $x1759)) (~ (not $x1159) $x1763)))) (let ((@x1626 (nnf-pos (monotonicity (refl (~ $x1004 $x1004)) (sk (~ $x1026 $x1618)) (~ $x1029 $x1621)) (~ $x1032 $x1624)))) (let ((@x1591 (nnf-pos (monotonicity (refl (~ $x949 $x949)) (sk (~ $x969 $x1583)) (~ $x972 $x1586)) (~ $x975 $x1589)))) (let ((@x1629 (monotonicity @x1591 (refl (~ $x170 $x170)) (nnf-pos (refl (~ (>= ?x171 0) (>= ?x171 0))) (~ $x1046 $x1046)) (nnf-pos (refl (~ $x1037 $x1037)) (~ $x1040 $x1040)) (nnf-pos (refl (~ $x989 $x989)) (~ $x992 $x992)) @x1626 (~ $x1064 $x1627)))) (let ((@x2001 (nnf-neg (nnf-neg @x1629 (~ (not $x1069) $x1627)) (nnf-neg @x1766 @x1993 (~ (not $x1366) $x1994)) (~ (not $x1369) $x1998)))) (let (($x1550 (exists ((?v1 B_Vertex$) )(! (let ((?x1535 (v_b_SP_G_0$ ?v0!5))) (let ((?x1536 (* (- 1) ?x1535))) (let ((?x124 (v_b_SP_G_0$ ?v1))) (let (($x133 (fun_app$ v_b_Visited_G_0$ ?v1))) (and (not (>= (+ ?x124 ?x1536) 0)) $x133 (= (+ ?x124 ?x1536 (b_G$ (pair$ ?v1 ?v0!5))) 0)))))) :qid k!38)) )) (let ((@x1568 (nnf-neg (refl (~ $x1556 $x1556)) (nnf-neg (refl (~ $x1559 $x1559)) (~ (not $x1550) $x1562)) (~ (not (or (not (and $x1534 $x1539)) $x1550)) $x1566)))) (let ((@x1570 (trans (sk (~ (not $x975) (not (or (not (and $x1534 $x1539)) $x1550)))) @x1568 (~ (not $x975) $x1566)))) (let ((@x1531 (nnf-neg (nnf-pos (refl (~ $x931 $x931)) (~ $x934 $x934)) (~ (not $x937) $x934)))) (let ((@x2009 (nnf-neg @x1531 (nnf-neg @x1570 @x2001 (~ (not $x1372) $x2002)) (~ (not $x1375) $x2006)))) (let ((@x1504 (nnf-neg (nnf-pos (refl (~ $x906 $x906)) (~ $x909 $x909)) (~ (not $x912) $x909)))) (let ((@x2017 (nnf-neg @x1504 (nnf-neg (sk (~ $x937 $x1522)) @x2009 (~ (not $x1378) $x2010)) (~ (not $x1381) $x2014)))) (let ((@x1481 (nnf-neg (nnf-pos (refl (~ (>= ?x124 0) (>= ?x124 0))) (~ $x894 $x894)) (~ (not $x897) $x894)))) (let ((@x2025 (nnf-neg @x1481 (nnf-neg (sk (~ $x912 $x1495)) @x2017 (~ (not $x1384) $x2018)) (~ (not $x1387) $x2022)))) (let ((@x2033 (nnf-neg (refl (~ $x1466 $x1466)) (nnf-neg (sk (~ $x897 $x1472)) @x2025 (~ (not $x1390) $x2026)) (~ (not $x1393) $x2030)))) (let ((@x2037 (mp~ (not-or-elim (mp (asserted $x344) @x1406 $x1402) (not $x1396)) (nnf-neg (refl (~ $x864 $x864)) @x2033 (~ (not $x1396) $x2034)) $x2034))) (let ((@x3873 (mp (mp (mp @x2037 (monotonicity @x2338 (= $x2034 $x2339)) $x2339) @x3015 $x3013) (monotonicity @x3869 (= $x3013 $x3870)) $x3870))) (let ((@x4276 (unit-resolution @x3873 (lemma (unit-resolution @x5800 @x3487 (hypothesis $x864) false) $x142) $x3867))) (let ((@x4278 (unit-resolution (def-axiom (or $x3861 $x1472 $x3855)) (unit-resolution (def-axiom (or $x3864 $x3858)) @x4276 $x3858) (lemma @x5085 $x1471) $x3855))) (let ((@x3051 (unit-resolution ((_ quant-inst ?v0!2) (or (not $x3495) $x2343)) @x3500 (hypothesis $x1486) false))) (let ((@x4352 (unit-resolution (def-axiom (or $x3849 $x2363 $x3843)) (unit-resolution (def-axiom (or $x2358 $x1486)) (lemma @x3051 $x2343) $x2358) (unit-resolution (def-axiom (or $x3852 $x3846)) @x4278 $x3846) $x3843))) (let ((@x4355 (unit-resolution (def-axiom (or $x3837 $x2409 $x3831)) (unit-resolution (def-axiom (or $x3840 $x3834)) @x4352 $x3834) (unit-resolution (def-axiom (or $x2404 $x1507)) (lemma @x4007 $x2389) $x2404) $x3831))) (let ((@x4357 (unit-resolution (def-axiom (or $x3825 $x3539 $x3819)) (unit-resolution (def-axiom (or $x3828 $x3822)) @x4355 $x3822) (lemma @x3189 $x3536) $x3819))) (let ((@x4135 (unit-resolution (def-axiom (or $x3816 $x170)) @x4357 $x170))) (let ((@x4159 (hypothesis $x3652))) (let ((@x4139 (unit-resolution (def-axiom (or $x3649 $x214)) @x4159 $x214))) (let ((@x4149 (unit-resolution (def-axiom (or $x3625 $x1744)) (trans (monotonicity @x4139 (= ?x242 ?x169)) @x4135 $x243) $x3625))) (let (($x1720 (not $x1719))) (let ((@x3125 (hypothesis $x2645))) (let (($x4264 (>= (+ ?x1716 (* (- 1) (fun_app$a v_b_SP_G_1$ ?v1!10))) 0))) (let ((@x4002 (symm (hypothesis $x214) (= v_b_SP_G_1$ v_b_SP_G_3$)))) (let ((@x5768 (symm (monotonicity @x4002 (= (fun_app$a v_b_SP_G_1$ ?v1!10) ?x1716)) (= ?x1716 (fun_app$a v_b_SP_G_1$ ?v1!10))))) (let ((@x5656 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not (= ?x1716 (fun_app$a v_b_SP_G_1$ ?v1!10))) $x4264)) @x5768 $x4264))) (let (($x5398 (<= (+ b_Infinity$ (* (- 1) (fun_app$a v_b_SP_G_1$ ?v1!10))) 0))) (let (($x5689 (fun_app$ v_b_Visited_G_1$ ?v1!10))) (let (($x6142 (not $x5689))) (let ((?x5569 (fun_app$a v_b_SP_G_1$ ?v1!10))) (let ((?x5512 (fun_app$a v_b_SP_G_1$ ?v0!11))) (let ((?x5709 (* (- 1) ?x5512))) (let ((?x4184 (+ ?x1722 ?x5709 ?x5569))) (let (($x4211 (>= ?x4184 0))) (let ((?x4266 (+ ?x1729 ?x5709))) (let (($x4267 (<= ?x4266 0))) (let ((@x4273 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not (= ?x1729 ?x5512)) $x4267)) (symm (monotonicity @x4002 (= ?x5512 ?x1729)) (= ?x1729 ?x5512)) $x4267))) (let ((@x4363 ((_ th-lemma arith farkas 1 -1 -1 1) (hypothesis $x4267) (hypothesis $x4264) (hypothesis $x4211) (hypothesis (not $x2204)) false))) (let ((@x4274 (unit-resolution (lemma @x4363 (or (not $x4211) (not $x4267) (not $x4264) $x2204)) @x4273 @x5656 (unit-resolution (def-axiom (or $x2640 (not $x2204))) @x3125 (not $x2204)) (not $x4211)))) (let (($x4220 (or $x3573 $x6142 $x1725 $x4211))) (let (($x5674 (or $x6142 $x1725 (>= (+ ?x1722 ?x5569 ?x5709) 0)))) (let (($x4221 (or $x3573 $x5674))) (let ((@x4210 (monotonicity (rewrite (= (+ ?x1722 ?x5569 ?x5709) ?x4184)) (= (>= (+ ?x1722 ?x5569 ?x5709) 0) $x4211)))) (let ((@x4224 (monotonicity (monotonicity @x4210 (= $x5674 (or $x6142 $x1725 $x4211))) (= $x4221 (or $x3573 (or $x6142 $x1725 $x4211)))))) (let ((@x4227 (trans @x4224 (rewrite (= (or $x3573 (or $x6142 $x1725 $x4211)) $x4220)) (= $x4221 $x4220)))) (let ((@x4360 (unit-resolution (mp ((_ quant-inst ?v0!11 ?v1!10) $x4221) @x4227 $x4220) (unit-resolution (def-axiom (or $x3816 $x3568)) @x4357 $x3568) (unit-resolution (def-axiom (or $x2640 (not $x1725))) @x3125 (not $x1725)) (or $x6142 $x4211)))) (let (($x5857 (or $x5689 $x5398))) (let ((@x5652 (mp ((_ quant-inst ?v1!10) (or $x3590 $x5857)) (rewrite (= (or $x3590 $x5857) (or $x3590 $x5689 $x5398))) (or $x3590 $x5689 $x5398)))) (let ((@x4367 (unit-resolution (unit-resolution @x5652 (hypothesis $x3585) $x5857) (unit-resolution @x4360 @x4274 $x6142) $x5398))) (let ((@x4362 ((_ th-lemma arith farkas -1 1 1) @x4367 @x5656 (unit-resolution (def-axiom (or $x2640 $x1720)) @x3125 $x1720) false))) (let ((@x4151 (unit-resolution (lemma @x4362 (or $x2640 $x3590 $x2703)) (unit-resolution (def-axiom (or $x3649 $x3585)) @x4159 $x3585) @x4139 $x2640))) (let ((@x4161 (unit-resolution (def-axiom (or $x3637 $x3631)) (unit-resolution (def-axiom (or $x3634 $x2645 $x3628)) @x4151 @x4149 $x3634) $x3637))) (let ((@x4158 (unit-resolution (def-axiom (or $x3646 $x3606 $x3640)) @x4161 (unit-resolution (def-axiom (or $x3649 $x3643)) @x4159 $x3643) $x3606))) (let (($x3139 (<= (+ b_Infinity$ (* (- 1) (fun_app$a v_b_SP_G_1$ ?v0!8))) 0))) (let ((?x5112 (fun_app$a v_b_SP_G_1$ ?v0!8))) (let ((?x5119 (* (- 1) ?x5112))) (let ((?x3935 (?v1!7 ?v0!8))) (let ((?x3976 (pair$ ?x3935 ?v0!8))) (let ((?x3971 (b_G$ ?x3976))) (let ((?x3928 (fun_app$a v_b_SP_G_1$ ?x3935))) (let ((?x3958 (+ ?x3928 ?x3971 ?x5119))) (let (($x3970 (= ?x3958 0))) (let (($x3980 (not $x3970))) (let (($x3930 (fun_app$ v_b_Visited_G_1$ ?x3935))) (let (($x3959 (not $x3930))) (let (($x3890 (>= (+ ?x3928 ?x5119) 0))) (let (($x4009 (or $x3890 $x3959 $x3980))) (let ((?x4378 (fun_app$a v_b_SP_G_3$ ?x3935))) (let ((?x4397 (* (- 1) ?x4378))) (let ((?x4601 (+ ?x3928 ?x4397))) (let (($x4605 (>= ?x4601 0))) (let ((@x4642 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not (= ?x3928 ?x4378)) $x4605)) (symm (monotonicity (hypothesis $x214) (= ?x4378 ?x3928)) (= ?x3928 ?x4378)) $x4605))) (let ((?x4137 (+ ?x1656 ?x5119))) (let (($x4122 (>= ?x4137 0))) (let ((@x4625 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not (= ?x1656 ?x5112)) $x4122)) (symm (monotonicity @x4002 (= ?x5112 ?x1656)) (= ?x1656 ?x5112)) $x4122))) (let (($x4065 (<= ?x3958 0))) (let ((@x5126 (unit-resolution (def-axiom (or $x4009 $x3970)) (hypothesis (not $x4009)) $x3970))) (let (($x4604 (<= ?x4601 0))) (let ((@x5858 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not (= ?x3928 ?x4378)) $x4604)) (symm (monotonicity (hypothesis $x214) (= ?x4378 ?x3928)) (= ?x3928 ?x4378)) $x4604))) (let (($x4121 (<= ?x4137 0))) (let ((@x5140 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not (= ?x1656 ?x5112)) $x4121)) (symm (monotonicity @x4002 (= ?x5112 ?x1656)) (= ?x1656 ?x5112)) $x4121))) (let (($x4058 (>= ?x3958 0))) (let (($x4399 (<= (+ ?x1656 ?x4397) 0))) (let (($x4338 (not $x4399))) (let ((@x4989 (unit-resolution (def-axiom (or $x4009 (not $x3890))) (hypothesis (not $x4009)) (not $x3890)))) (let ((@x5003 (unit-resolution ((_ th-lemma arith assign-bounds -1 1 -1) (or $x4338 (not $x4122) $x3890 (not $x4605))) @x4989 @x4625 @x4642 $x4338))) (let (($x4758 (not $x4605))) (let (($x4757 (not $x4122))) (let (($x4898 (or $x4399 $x3600 (not $x4058) (not $x4121) (not $x4604) (not $x4065) $x4757 $x4758))) (let ((?x5665 (* (- 1) ?x3971))) (let ((?x4417 (+ ?x1656 ?x5665 ?x4397))) (let (($x4445 (>= ?x4417 0))) (let ((@x5038 (unit-resolution ((_ th-lemma arith assign-bounds 1 -1 -1) (or $x4445 (not $x4065) $x4757 $x4758)) (hypothesis $x4065) (hypothesis $x4122) (hypothesis $x4605) $x4445))) (let (($x4444 (<= ?x4417 0))) (let ((@x4331 (unit-resolution ((_ th-lemma arith assign-bounds 1 -1 -1) (or $x4444 (not $x4058) (not $x4121) (not $x4604))) (hypothesis $x4058) (hypothesis $x4121) (hypothesis $x4604) $x4444))) (let (($x4418 (= ?x4417 0))) (let (($x4428 (not $x4418))) (let (($x4430 (or $x4399 $x4428))) (let (($x4447 (or $x3600 $x4399 $x4428))) (let (($x4384 (>= (+ ?x4378 ?x1657) 0))) (let (($x4388 (or $x4384 (not (= (+ ?x4378 ?x1657 ?x3971) 0))))) (let (($x4432 (or $x3600 $x4388))) (let ((@x4414 (monotonicity (rewrite (= (+ ?x4378 ?x1657 ?x3971) (+ ?x1657 ?x3971 ?x4378))) (= (= (+ ?x4378 ?x1657 ?x3971) 0) (= (+ ?x1657 ?x3971 ?x4378) 0))))) (let ((@x4427 (trans @x4414 (rewrite (= (= (+ ?x1657 ?x3971 ?x4378) 0) $x4418)) (= (= (+ ?x4378 ?x1657 ?x3971) 0) $x4418)))) (let ((@x4396 (monotonicity (rewrite (= (+ ?x4378 ?x1657) (+ ?x1657 ?x4378))) (= $x4384 (>= (+ ?x1657 ?x4378) 0))))) (let ((@x4406 (trans @x4396 (rewrite (= (>= (+ ?x1657 ?x4378) 0) $x4399)) (= $x4384 $x4399)))) (let ((@x4446 (monotonicity @x4406 (monotonicity @x4427 (= (not (= (+ ?x4378 ?x1657 ?x3971) 0)) $x4428)) (= $x4388 $x4430)))) (let ((@x4442 (trans (monotonicity @x4446 (= $x4432 (or $x3600 $x4430))) (rewrite (= (or $x3600 $x4430) $x4447)) (= $x4432 $x4447)))) (let ((@x5041 (unit-resolution (mp ((_ quant-inst (?v1!7 ?v0!8)) $x4432) @x4442 $x4447) (hypothesis $x3595) $x4430))) (let ((@x4897 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x4418 (not $x4444) (not $x4445))) (unit-resolution @x5041 (hypothesis $x4338) $x4428) @x4331 @x5038 false))) (let ((@x3135 (unit-resolution (lemma @x4897 $x4898) @x5003 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x3980 $x4058)) @x5126 $x4058) (hypothesis $x3595) @x5140 @x5858 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x3980 $x4065)) @x5126 $x4065) @x4625 @x4642 false))) (let ((@x4168 (unit-resolution (lemma @x3135 (or $x4009 $x3600 $x2703)) (unit-resolution (def-axiom (or $x3603 $x3595)) @x4158 $x3595) @x4139 $x4009))) (let ((@x4189 (unit-resolution (def-axiom (or $x3816 $x3576)) @x4357 $x3576))) (let (($x4014 (not $x4009))) (let (($x4042 (or $x3581 $x1654 $x3139 $x4014))) (let (($x3956 (<= (+ ?x5112 (* (- 1) ?x3928)) 0))) (let (($x3033 (or $x1654 $x3139 (not (or $x3956 $x3959 (not (= (+ ?x5112 (* (- 1) ?x3928) ?x5665) 0))))))) (let (($x4043 (or $x3581 $x3033))) (let (($x3964 (= (not (or $x3956 $x3959 (not (= (+ ?x5112 (* (- 1) ?x3928) ?x5665) 0)))) $x4014))) (let (($x4010 (= (or $x3956 $x3959 (not (= (+ ?x5112 (* (- 1) ?x3928) ?x5665) 0))) $x4009))) (let (($x5977 (= (+ ?x5112 (* (- 1) ?x3928) ?x5665) 0))) (let ((@x3929 (rewrite (= (+ ?x5112 (* (- 1) ?x3928) ?x5665) (+ (* (- 1) ?x3928) ?x5665 ?x5112))))) (let ((@x3957 (monotonicity @x3929 (= $x5977 (= (+ (* (- 1) ?x3928) ?x5665 ?x5112) 0))))) (let ((@x3988 (trans @x3957 (rewrite (= (= (+ (* (- 1) ?x3928) ?x5665 ?x5112) 0) $x3970)) (= $x5977 $x3970)))) (let ((@x3898 (monotonicity (rewrite (= (+ ?x5112 (* (- 1) ?x3928)) (+ (* (- 1) ?x3928) ?x5112))) (= $x3956 (<= (+ (* (- 1) ?x3928) ?x5112) 0))))) (let ((@x3927 (trans @x3898 (rewrite (= (<= (+ (* (- 1) ?x3928) ?x5112) 0) $x3890)) (= $x3956 $x3890)))) (let ((@x4011 (monotonicity (monotonicity @x3927 (monotonicity @x3988 (= (not $x5977) $x3980)) $x4010) $x3964))) (let ((@x4050 (monotonicity (monotonicity @x4011 (= $x3033 (or $x1654 $x3139 $x4014))) (= $x4043 (or $x3581 (or $x1654 $x3139 $x4014)))))) (let ((@x4053 (trans @x4050 (rewrite (= (or $x3581 (or $x1654 $x3139 $x4014)) $x4042)) (= $x4043 $x4042)))) (let ((@x4248 (unit-resolution (mp ((_ quant-inst ?v0!8) $x4043) @x4053 $x4042) @x4189 (unit-resolution (def-axiom (or $x3603 $x1655)) @x4158 $x1655) (or $x3139 $x4014)))) (let (($x4136 (= ?x1656 ?x5112))) (let ((@x4235 (monotonicity (symm @x4139 (= v_b_SP_G_1$ v_b_SP_G_3$)) (= ?x5112 ?x1656)))) (let ((@x4237 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x4136) $x4122)) (symm @x4235 $x4136) $x4122))) (let ((@x4238 ((_ th-lemma arith farkas 1 -1 1) @x4237 (unit-resolution @x4248 @x4168 $x3139) (unit-resolution (def-axiom (or $x3603 $x1660)) @x4158 $x1660) false))) (let ((@x4802 (unit-resolution (def-axiom (or $x3813 $x3652 $x3807)) (lemma @x4238 $x3649) (unit-resolution (def-axiom (or $x3816 $x3810)) @x4357 $x3810) $x3807))) (let ((@x6739 (symm (unit-resolution (def-axiom (or $x3804 $x261)) @x4802 $x261) (= ?x260 v_b_Visited_G_2$)))) (let ((@x10168 (symm (monotonicity @x6739 (= $x5237 (fun_app$ v_b_Visited_G_2$ ?v0!20))) (= (fun_app$ v_b_Visited_G_2$ ?v0!20) $x5237)))) (let ((@x10119 (monotonicity @x10168 (= (not (fun_app$ v_b_Visited_G_2$ ?v0!20)) $x9037)))) (let (($x4298 (fun_app$ v_b_Visited_G_2$ ?v0!20))) (let (($x4299 (not $x4298))) (let ((?x4413 (fun_app$a v_b_SP_G_1$ ?v0!20))) (let ((?x4438 (* (- 1) ?x4413))) (let ((?x4439 (+ ?x1906 ?x4438))) (let (($x6002 (>= ?x4439 0))) (let (($x9479 (not $x6002))) (let ((@x9476 (hypothesis $x6002))) (let (($x9588 (or (not (<= (+ ?x1906 (* (- 1) (v_b_SP_G_2$ (?v1!7 ?v0!20)))) 0)) $x9479))) (let ((?x4661 (?v1!7 ?v0!20))) (let ((?x4662 (fun_app$a v_b_SP_G_1$ ?x4661))) (let ((?x4663 (* (- 1) ?x4662))) (let ((?x4664 (+ ?x4413 ?x4663))) (let (($x4665 (<= ?x4664 0))) (let ((?x4668 (pair$ ?x4661 ?v0!20))) (let ((?x4669 (b_G$ ?x4668))) (let ((?x4670 (* (- 1) ?x4669))) (let ((?x4671 (+ ?x4413 ?x4663 ?x4670))) (let (($x4672 (= ?x4671 0))) (let (($x4673 (not $x4672))) (let (($x4666 (fun_app$ v_b_Visited_G_1$ ?x4661))) (let (($x4667 (not $x4666))) (let (($x4674 (or $x4665 $x4667 $x4673))) (let (($x4675 (not $x4674))) (let (($x1884 (not $x1883))) (let ((@x8699 (hypothesis $x2806))) (let (($x7517 (<= (+ b_Infinity$ (* (- 1) (b_G$ (pair$ v_b_v_G_1$ ?v0!19)))) 0))) (let ((?x7554 (pair$ v_b_v_G_1$ ?v0!19))) (let ((?x7555 (b_G$ ?x7554))) (let ((?x7388 (fun_app$a v_b_SP_G_1$ ?v0!19))) (let ((?x7461 (* (- 1) ?x7388))) (let (($x4944 (>= (+ ?x254 ?x7461 ?x7555) 0))) (let (($x8378 (or $x7517 $x4944))) (let ((?x7471 (+ ?x254 ?x1889 ?x7555))) (let (($x6876 (= ?x7471 0))) (let (($x8868 (not $x6876))) (let (($x6123 (>= ?x7471 0))) (let (($x8149 (not $x6123))) (let ((?x7512 (* (- 1) ?x7555))) (let ((?x9069 (+ ?x1880 ?x7512))) (let (($x8504 (>= ?x9069 0))) (let (($x6383 (= ?v1!18 v_b_v_G_1$))) (let (($x5168 (fun_app$ v_b_Visited_G_1$ ?v1!18))) (let (($x6179 (not $x5168))) (let (($x7401 (<= (+ ?x1888 ?x7461) 0))) (let ((?x5283 (b_G$ (pair$ v_b_v_G_1$ ?v0!13)))) (let ((?x5139 (+ ?x254 ?x1805 ?x5283))) (let (($x4859 (= ?x5139 0))) (let (($x4202 (>= (+ ?x254 (* (- 1) ?x1803) ?x5283) 0))) (let (($x3165 (<= (+ b_Infinity$ (* (- 1) ?x5283)) 0))) (let (($x4930 (or $x3165 $x4202))) (let (($x4933 (not $x4930))) (let ((@x4771 (monotonicity (commutativity (= (= ?x1803 ?x1804) (= ?x1804 ?x1803))) (= (not (= ?x1803 ?x1804)) (not (= ?x1804 ?x1803)))))) (let (($x4765 (not (= ?x1803 ?x1804)))) (let ((@x4772 (mp (unit-resolution ((_ th-lemma arith triangle-eq) (or $x4765 $x1807)) (hypothesis $x1808) $x4765) @x4771 (not (= ?x1804 ?x1803))))) (let (($x4288 (= ?x1804 ?x1803))) (let (($x4284 (or $x4933 $x4288))) (let ((@x4803 (unit-resolution (def-axiom (or $x3804 $x3673)) @x4802 $x3673))) (let (($x4290 (or $x3678 $x4933 $x4288))) (let (($x4289 (or (not (or $x3165 (<= (+ ?x1803 ?x1168 (* (- 1) ?x5283)) 0))) $x4288))) (let (($x4291 (or $x3678 $x4289))) (let (($x3167 (<= (+ ?x1803 ?x1168 (* (- 1) ?x5283)) 0))) (let ((@x4198 (rewrite (= (+ ?x1803 ?x1168 (* (- 1) ?x5283)) (+ ?x1168 ?x1803 (* (- 1) ?x5283)))))) (let ((@x4195 (monotonicity @x4198 (= $x3167 (<= (+ ?x1168 ?x1803 (* (- 1) ?x5283)) 0))))) (let ((@x5138 (trans @x4195 (rewrite (= (<= (+ ?x1168 ?x1803 (* (- 1) ?x5283)) 0) $x4202)) (= $x3167 $x4202)))) (let ((@x4283 (monotonicity (monotonicity @x5138 (= (or $x3165 $x3167) $x4930)) (= (not (or $x3165 $x3167)) $x4933)))) (let ((@x4294 (monotonicity (monotonicity @x4283 (= $x4289 $x4284)) (= $x4291 (or $x3678 $x4284))))) (let ((@x5050 (mp ((_ quant-inst ?v0!13) $x4291) (trans @x4294 (rewrite (= (or $x3678 $x4284) $x4290)) (= $x4291 $x4290)) $x4290))) (let ((@x4805 (unit-resolution (def-axiom (or $x4930 (not $x3165))) (unit-resolution (unit-resolution @x5050 @x4803 $x4284) @x4772 $x4933) (not $x3165)))) (let ((@x4788 (unit-resolution (def-axiom (or $x4930 (not $x4202))) (unit-resolution (unit-resolution @x5050 @x4803 $x4284) @x4772 $x4933) (not $x4202)))) (let (($x5127 (or $x3165 $x4202 $x4859))) (let ((@x4789 (unit-resolution (def-axiom (or $x3804 $x3665)) @x4802 $x3665))) (let (($x5129 (or $x3670 $x3165 $x4202 $x4859))) (let (($x4192 (or $x3165 $x3167 (= (+ ?x254 ?x5283 ?x1805) 0)))) (let (($x5130 (or $x3670 $x4192))) (let ((@x4861 (monotonicity (rewrite (= (+ ?x254 ?x5283 ?x1805) ?x5139)) (= (= (+ ?x254 ?x5283 ?x1805) 0) $x4859)))) (let ((@x5135 (monotonicity (monotonicity @x5138 @x4861 (= $x4192 $x5127)) (= $x5130 (or $x3670 $x5127))))) (let ((@x5160 (mp ((_ quant-inst ?v0!13) $x5130) (trans @x5135 (rewrite (= (or $x3670 $x5127) $x5129)) (= $x5130 $x5129)) $x5129))) (let ((@x4787 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x4859) (>= ?x5139 0))) (unit-resolution (unit-resolution @x5160 @x4789 $x5127) @x4788 @x4805 $x4859) (>= ?x5139 0)))) (let ((@x4795 (unit-resolution ((_ th-lemma arith farkas 1 1) (or (<= ?x1806 0) $x1807)) (hypothesis $x1808) (<= ?x1806 0)))) (let ((@x5162 (unit-resolution (def-axiom (or $x3801 $x1808 $x3795)) (unit-resolution (def-axiom (or $x3804 $x3798)) @x4802 $x3798) $x3798))) (let ((@x4711 (unit-resolution @x5162 (lemma ((_ th-lemma arith farkas 1 -1 1) @x4795 @x4788 @x4787 false) $x1807) $x3795))) (let ((@x4714 (unit-resolution (def-axiom (or $x3792 $x3681)) @x4711 $x3681))) (let (($x6395 (or $x3686 $x7401))) (let ((@x8489 (monotonicity (rewrite (= (+ ?x7388 ?x1889) (+ ?x1889 ?x7388))) (= (>= (+ ?x7388 ?x1889) 0) (>= (+ ?x1889 ?x7388) 0))))) (let ((@x7634 (trans @x8489 (rewrite (= (>= (+ ?x1889 ?x7388) 0) $x7401)) (= (>= (+ ?x7388 ?x1889) 0) $x7401)))) (let ((@x8284 (trans (monotonicity @x7634 (= (or $x3686 (>= (+ ?x7388 ?x1889) 0)) $x6395)) (rewrite (= $x6395 $x6395)) (= (or $x3686 (>= (+ ?x7388 ?x1889) 0)) $x6395)))) (let ((@x8710 (unit-resolution (mp ((_ quant-inst ?v0!19) (or $x3686 (>= (+ ?x7388 ?x1889) 0))) @x8284 $x6395) @x4714 $x7401))) (let (($x8129 (>= (+ ?x1887 (* (- 1) (fun_app$a v_b_SP_G_1$ ?v1!18))) 0))) (let ((?x6950 (fun_app$a v_b_SP_G_1$ ?v1!18))) (let (($x6951 (= ?x1887 ?x6950))) (let (($x1819 (fun_app$ v_b_Visited_G_2$ ?v0!14))) (let (($x3393 (not $x1823))) (let (($x5543 (fun_app$ v_b_Visited_G_1$ ?v0!14))) (let (($x5064 (= ?v0!14 v_b_v_G_1$))) (let (($x6244 (or $x5064 $x5543))) (let (($x5974 (fun_app$ ?x260 ?v0!14))) (let (($x6373 (= $x5974 $x6244))) (let (($x3463 (forall ((?v0 B_Vertex_bool_fun$) (?v1 B_Vertex$) (?v2 Bool) (?v3 B_Vertex$) )(! (let (($x63 (fun_app$ (fun_upd$ ?v0 ?v1 ?v2) ?v3))) (= $x63 (ite (= ?v3 ?v1) ?v2 (fun_app$ ?v0 ?v3)))) :pattern ( (fun_app$ (fun_upd$ ?v0 ?v1 ?v2) ?v3) ) :qid k!34)) )) (let (($x73 (forall ((?v0 B_Vertex_bool_fun$) (?v1 B_Vertex$) (?v2 Bool) (?v3 B_Vertex$) )(! (let (($x63 (fun_app$ (fun_upd$ ?v0 ?v1 ?v2) ?v3))) (= $x63 (ite (= ?v3 ?v1) ?v2 (fun_app$ ?v0 ?v3)))) :qid k!34)) )) (let (($x63 (fun_app$ (fun_upd$ ?3 ?2 ?1) ?0))) (let (($x70 (= $x63 (ite (= ?0 ?2) ?1 (fun_app$ ?3 ?0))))) (let (($x68 (forall ((?v0 B_Vertex_bool_fun$) (?v1 B_Vertex$) (?v2 Bool) (?v3 B_Vertex$) )(! (let (($x63 (fun_app$ (fun_upd$ ?v0 ?v1 ?v2) ?v3))) (= $x63 (ite (= ?v3 ?v1) ?v2 (fun_app$ ?v0 ?v3)))) :qid k!34)) )) (let ((@x72 (rewrite (= (= $x63 (ite (= ?0 ?2) ?1 (fun_app$ ?3 ?0))) $x70)))) (let ((@x1438 (mp~ (mp (asserted $x68) (quant-intro @x72 (= $x68 $x73)) $x73) (nnf-pos (refl (~ $x70 $x70)) (~ $x73 $x73)) $x73))) (let ((@x3468 (mp @x1438 (quant-intro (refl (= $x70 $x70)) (= $x73 $x3463)) $x3463))) (let (($x4134 (not $x3463))) (let (($x5805 (or $x4134 $x6373))) (let ((@x5853 (monotonicity (rewrite (= (ite $x5064 true $x5543) $x6244)) (= (= $x5974 (ite $x5064 true $x5543)) $x6373)))) (let ((@x3152 (monotonicity @x5853 (= (or $x4134 (= $x5974 (ite $x5064 true $x5543))) $x5805)))) (let ((@x4912 (trans @x3152 (rewrite (= $x5805 $x5805)) (= (or $x4134 (= $x5974 (ite $x5064 true $x5543))) $x5805)))) (let ((@x4913 (mp ((_ quant-inst v_b_Visited_G_1$ v_b_v_G_1$ true ?v0!14) (or $x4134 (= $x5974 (ite $x5064 true $x5543)))) @x4912 $x5805))) (let ((@x5240 (mp (hypothesis $x1819) (symm (monotonicity @x6739 (= $x5974 $x1819)) (= $x1819 $x5974)) $x5974))) (let ((@x5728 (unit-resolution (def-axiom (or (not $x6373) (not $x5974) $x6244)) @x5240 (unit-resolution @x4913 @x3468 $x6373) $x6244))) (let ((@x7078 (hypothesis $x3393))) (let ((?x3063 (v_b_SP_G_2$ v_b_v_G_1$))) (let (($x3024 (= ?x3063 ?x254))) (let ((?x3076 (pair$ v_b_v_G_1$ v_b_v_G_1$))) (let ((?x3077 (b_G$ ?x3076))) (let (($x3038 (>= ?x3077 0))) (let (($x3080 (<= (+ b_Infinity$ (* (- 1) ?x3077)) 0))) (let (($x4540 (or $x3080 $x3038))) (let (($x6342 (= ?x3077 0))) (let (($x3469 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (or (not (= ?v0 ?v1)) (= (b_G$ (pair$ ?v0 ?v1)) 0)) :pattern ( (pair$ ?v0 ?v1) ) :qid k!36)) )) (let (($x95 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (or (not (= ?v0 ?v1)) (= (b_G$ (pair$ ?v0 ?v1)) 0)) :qid k!36)) )) (let (($x92 (or (not (= ?1 ?0)) (= (b_G$ (pair$ ?1 ?0)) 0)))) (let (($x89 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let (($x80 (= ?v0 ?v1))) (=> $x80 (= (b_G$ (pair$ ?v0 ?v1)) 0))) :qid k!36)) )) (let ((@x94 (rewrite (= (=> (= ?1 ?0) (= (b_G$ (pair$ ?1 ?0)) 0)) $x92)))) (let ((@x1443 (mp~ (mp (asserted $x89) (quant-intro @x94 (= $x89 $x95)) $x95) (nnf-pos (refl (~ $x92 $x92)) (~ $x95 $x95)) $x95))) (let ((@x3474 (mp @x1443 (quant-intro (refl (= $x92 $x92)) (= $x95 $x3469)) $x3469))) (let (($x3045 (not $x3469))) (let (($x6595 (or $x3045 $x6342))) (let ((@x6585 (monotonicity (rewrite (= (= v_b_v_G_1$ v_b_v_G_1$) true)) (= (not (= v_b_v_G_1$ v_b_v_G_1$)) (not true))))) (let ((@x6587 (trans @x6585 (rewrite (= (not true) false)) (= (not (= v_b_v_G_1$ v_b_v_G_1$)) false)))) (let ((@x6590 (monotonicity @x6587 (= (or (not (= v_b_v_G_1$ v_b_v_G_1$)) $x6342) (or false $x6342))))) (let ((@x6594 (trans @x6590 (rewrite (= (or false $x6342) $x6342)) (= (or (not (= v_b_v_G_1$ v_b_v_G_1$)) $x6342) $x6342)))) (let ((@x6599 (monotonicity @x6594 (= (or $x3045 (or (not (= v_b_v_G_1$ v_b_v_G_1$)) $x6342)) $x6595)))) (let ((@x6602 (trans @x6599 (rewrite (= $x6595 $x6595)) (= (or $x3045 (or (not (= v_b_v_G_1$ v_b_v_G_1$)) $x6342)) $x6595)))) (let ((@x6603 (mp ((_ quant-inst v_b_v_G_1$ v_b_v_G_1$) (or $x3045 (or (not (= v_b_v_G_1$ v_b_v_G_1$)) $x6342))) @x6602 $x6595))) (let ((@x6616 (lemma (unit-resolution @x6603 @x3474 (hypothesis (not $x6342)) false) $x6342))) (let ((@x7085 (unit-resolution (def-axiom (or $x4540 (not $x3038))) (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x6342) $x3038)) @x6616 $x3038) $x4540))) (let (($x4579 (not $x4540))) (let (($x4550 (or $x4579 $x3024))) (let (($x4556 (or $x3678 $x4579 $x3024))) (let (($x3874 (or (not (or $x3080 (<= (+ ?x254 ?x1168 (* (- 1) ?x3077)) 0))) $x3024))) (let (($x4557 (or $x3678 $x3874))) (let (($x3062 (<= (+ ?x254 ?x1168 (* (- 1) ?x3077)) 0))) (let ((@x4468 (monotonicity (rewrite (= (+ ?x254 ?x1168 (* (- 1) ?x3077)) (* (- 1) ?x3077))) (= $x3062 (<= (* (- 1) ?x3077) 0))))) (let ((@x4485 (trans @x4468 (rewrite (= (<= (* (- 1) ?x3077) 0) $x3038)) (= $x3062 $x3038)))) (let ((@x4549 (monotonicity (monotonicity @x4485 (= (or $x3080 $x3062) $x4540)) (= (not (or $x3080 $x3062)) $x4579)))) (let ((@x4561 (monotonicity (monotonicity @x4549 (= $x3874 $x4550)) (= $x4557 (or $x3678 $x4550))))) (let ((@x4574 (mp ((_ quant-inst v_b_v_G_1$) $x4557) (trans @x4561 (rewrite (= (or $x3678 $x4550) $x4556)) (= $x4557 $x4556)) $x4556))) (let ((@x7095 (trans (monotonicity (hypothesis $x5064) (= ?x1821 ?x3063)) (unit-resolution (unit-resolution @x4574 @x4803 $x4550) @x7085 $x3024) (= ?x1821 ?x254)))) (let ((@x7096 (trans @x7095 (symm (monotonicity (hypothesis $x5064) (= ?x1822 ?x254)) (= ?x254 ?x1822)) $x1823))) (let ((@x6504 (unit-resolution (lemma (unit-resolution @x7078 @x7096 false) (or (not $x5064) $x1823)) @x7078 (not $x5064)))) (let ((@x6501 (unit-resolution (def-axiom (or (not $x6244) $x5064 $x5543)) @x6504 (or (not $x6244) $x5543)))) (let (($x6879 (>= (+ ?x254 (* (- 1) ?x1822)) 0))) (let (($x7105 (not $x6879))) (let (($x6372 (>= (+ ?x254 (* (- 1) ?x1822) (b_G$ (pair$ v_b_v_G_1$ ?v0!14))) 0))) (let (($x6043 (not $x6372))) (let (($x5623 (<= (+ b_Infinity$ (* (- 1) (b_G$ (pair$ v_b_v_G_1$ ?v0!14)))) 0))) (let (($x6328 (or $x5623 $x6372))) (let (($x5555 (not $x6328))) (let (($x5565 (or $x3678 $x5555 $x1823))) (let (($x5711 (<= (+ ?x1822 ?x1168 (* (- 1) (b_G$ (pair$ v_b_v_G_1$ ?v0!14)))) 0))) (let (($x5760 (or (not (or $x5623 $x5711)) $x1823))) (let (($x5490 (or $x3678 $x5760))) (let (($x5031 (<= (+ ?x1168 ?x1822 (* (- 1) (b_G$ (pair$ v_b_v_G_1$ ?v0!14)))) 0))) (let (($x5019 (= (+ ?x1822 ?x1168 (* (- 1) (b_G$ (pair$ v_b_v_G_1$ ?v0!14)))) (+ ?x1168 ?x1822 (* (- 1) (b_G$ (pair$ v_b_v_G_1$ ?v0!14))))))) (let ((@x6180 (trans (monotonicity (rewrite $x5019) (= $x5711 $x5031)) (rewrite (= $x5031 $x6372)) (= $x5711 $x6372)))) (let ((@x5556 (monotonicity (monotonicity @x6180 (= (or $x5623 $x5711) $x6328)) (= (not (or $x5623 $x5711)) $x5555)))) (let ((@x4918 (monotonicity (monotonicity @x5556 (= $x5760 (or $x5555 $x1823))) (= $x5490 (or $x3678 (or $x5555 $x1823)))))) (let ((@x6362 (trans @x4918 (rewrite (= (or $x3678 (or $x5555 $x1823)) $x5565)) (= $x5490 $x5565)))) (let ((@x6339 (unit-resolution (def-axiom (or $x6328 $x6043)) (unit-resolution (mp ((_ quant-inst ?v0!14) $x5490) @x6362 $x5565) @x4803 @x7078 $x5555) $x6043))) (let ((?x5617 (pair$ v_b_v_G_1$ ?v0!14))) (let ((?x5621 (b_G$ ?x5617))) (let (($x6266 (>= ?x5621 0))) (let ((@x6636 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not (= ?x5621 0)) $x6266)) (hypothesis (not $x6266)) (not (= ?x5621 0))))) (let (($x6078 (= v_b_v_G_1$ ?v0!14))) (let (($x6076 (<= ?x5621 0))) (let ((@x6410 (unit-resolution ((_ th-lemma arith farkas 1 1) (or $x6266 $x6076)) (hypothesis (not $x6266)) $x6076))) (let (($x6080 (or $x6078 (not $x6076)))) (let (($x3475 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let (($x80 (= ?v0 ?v1))) (or $x80 (not (<= (b_G$ (pair$ ?v0 ?v1)) 0)))) :pattern ( (pair$ ?v0 ?v1) ) :qid k!37)) )) (let (($x116 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let (($x80 (= ?v0 ?v1))) (or $x80 (not (<= (b_G$ (pair$ ?v0 ?v1)) 0)))) :qid k!37)) )) (let (($x80 (= ?1 ?0))) (let (($x113 (or $x80 (not (<= (b_G$ (pair$ ?1 ?0)) 0))))) (let (($x101 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x29 (pair$ ?v0 ?v1))) (let ((?x81 (b_G$ ?x29))) (let (($x98 (< 0 ?x81))) (=> (not (= ?v0 ?v1)) $x98)))) :qid k!37)) )) (let (($x106 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x29 (pair$ ?v0 ?v1))) (let ((?x81 (b_G$ ?x29))) (let (($x98 (< 0 ?x81))) (let (($x80 (= ?v0 ?v1))) (or $x80 $x98))))) :qid k!37)) )) (let ((?x29 (pair$ ?1 ?0))) (let ((?x81 (b_G$ ?x29))) (let (($x98 (< 0 ?x81))) (let ((@x115 (monotonicity (rewrite (= $x98 (not (<= ?x81 0)))) (= (or $x80 $x98) $x113)))) (let ((@x108 (quant-intro (rewrite (= (=> (not $x80) $x98) (or $x80 $x98))) (= $x101 $x106)))) (let ((@x121 (mp (asserted $x101) (trans @x108 (quant-intro @x115 (= $x106 $x116)) (= $x101 $x116)) $x116))) (let ((@x3480 (mp (mp~ @x121 (nnf-pos (refl (~ $x113 $x113)) (~ $x116 $x116)) $x116) (quant-intro (refl (= $x113 $x113)) (= $x116 $x3475)) $x3475))) (let ((@x6389 (mp ((_ quant-inst v_b_v_G_1$ ?v0!14) (or (not $x3475) $x6080)) (rewrite (= (or (not $x3475) $x6080) (or (not $x3475) $x6078 (not $x6076)))) (or (not $x3475) $x6078 (not $x6076))))) (let (($x6086 (= ?x5621 0))) (let (($x6096 (or (not $x6078) $x6086))) (let ((@x6264 (mp ((_ quant-inst v_b_v_G_1$ ?v0!14) (or $x3045 $x6096)) (rewrite (= (or $x3045 $x6096) (or $x3045 (not $x6078) $x6086))) (or $x3045 (not $x6078) $x6086)))) (let ((@x6993 (unit-resolution (unit-resolution @x6264 @x3474 $x6096) (unit-resolution (unit-resolution @x6389 @x3480 $x6080) @x6410 $x6078) @x6636 false))) (let ((@x7107 (lemma ((_ th-lemma arith farkas 1 -1 1) (hypothesis $x6266) (hypothesis $x6043) (hypothesis $x6879) false) (or (not $x6266) $x6372 $x7105)))) (let ((@x6134 (unit-resolution (unit-resolution @x7107 (lemma @x6993 $x6266) (or $x6372 $x7105)) @x6339 $x7105))) (let ((@x6066 (unit-resolution (def-axiom (or $x3804 $x253)) @x4802 $x253))) (let ((@x6683 (unit-resolution (def-axiom (or $x3816 $x3560)) @x4357 $x3560))) (let (($x6034 (= (or $x3565 (or $x252 (not $x5543) $x6879)) (or $x3565 $x252 (not $x5543) $x6879)))) (let ((@x6556 (mp ((_ quant-inst ?v0!14 v_b_v_G_1$) (or $x3565 (or $x252 (not $x5543) $x6879))) (rewrite $x6034) (or $x3565 $x252 (not $x5543) $x6879)))) (let ((@x6850 (unit-resolution @x6556 @x6683 @x6066 @x6134 (unit-resolution @x6501 @x5728 $x5543) false))) (let ((@x5791 (unit-resolution (lemma @x6850 $x1824) (unit-resolution (def-axiom (or $x1824 $x3393)) (hypothesis $x1825) $x3393) (unit-resolution (def-axiom (or $x1824 $x1819)) (hypothesis $x1825) $x1819) false))) (let ((@x9261 (unit-resolution (def-axiom (or $x3789 $x1825 $x3783)) (unit-resolution (def-axiom (or $x3792 $x3786)) @x4711 $x3786) $x3786))) (let ((@x9263 (unit-resolution (def-axiom (or $x3780 $x3690)) (unit-resolution @x9261 (lemma @x5791 $x1824) $x3783) $x3690))) (let ((@x6271 (mp ((_ quant-inst ?v1!18) (or $x3695 (or $x2786 $x6951))) (rewrite (= (or $x3695 (or $x2786 $x6951)) (or $x3695 $x2786 $x6951))) (or $x3695 $x2786 $x6951)))) (let ((@x5205 (unit-resolution @x6271 @x9263 (unit-resolution (def-axiom (or $x2801 $x1878)) @x8699 $x1878) $x6951))) (let ((@x8621 ((_ th-lemma arith assign-bounds -1 -1 1) (or (not (>= (+ ?x1880 ?x6950 ?x7461) 0)) (not $x7401) $x1891 (not $x8129))))) (let ((@x8189 (unit-resolution @x8621 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x6951) $x8129)) @x5205 $x8129) (unit-resolution (def-axiom (or $x2801 (not $x1891))) @x8699 (not $x1891)) @x8710 (not (>= (+ ?x1880 ?x6950 ?x7461) 0))))) (let (($x5620 (= (or $x3573 (or $x6179 $x1883 (>= (+ ?x1880 ?x6950 ?x7461) 0))) (or $x3573 $x6179 $x1883 (>= (+ ?x1880 ?x6950 ?x7461) 0))))) (let ((@x7205 (mp ((_ quant-inst ?v0!19 ?v1!18) (or $x3573 (or $x6179 $x1883 (>= (+ ?x1880 ?x6950 ?x7461) 0)))) (rewrite $x5620) (or $x3573 $x6179 $x1883 (>= (+ ?x1880 ?x6950 ?x7461) 0))))) (let ((@x8192 (unit-resolution @x7205 (unit-resolution (def-axiom (or $x3816 $x3568)) @x4357 $x3568) (unit-resolution (def-axiom (or $x2801 $x1884)) @x8699 $x1884) (or $x6179 (>= (+ ?x1880 ?x6950 ?x7461) 0))))) (let (($x8059 (or $x6383 $x5168))) (let (($x4914 (fun_app$ ?x260 ?v1!18))) (let (($x8555 (= $x4914 $x8059))) (let (($x7052 (or $x4134 $x8555))) (let ((@x8554 (monotonicity (rewrite (= (ite $x6383 true $x5168) $x8059)) (= (= $x4914 (ite $x6383 true $x5168)) $x8555)))) (let ((@x8280 (monotonicity @x8554 (= (or $x4134 (= $x4914 (ite $x6383 true $x5168))) $x7052)))) (let ((@x7080 (trans @x8280 (rewrite (= $x7052 $x7052)) (= (or $x4134 (= $x4914 (ite $x6383 true $x5168))) $x7052)))) (let ((@x7791 (mp ((_ quant-inst v_b_Visited_G_1$ v_b_v_G_1$ true ?v1!18) (or $x4134 (= $x4914 (ite $x6383 true $x5168)))) @x7080 $x7052))) (let ((@x8161 (mp (unit-resolution (def-axiom (or $x2801 $x1878)) @x8699 $x1878) (symm (monotonicity @x6739 (= $x4914 $x1878)) (= $x1878 $x4914)) $x4914))) (let ((@x8162 (unit-resolution (def-axiom (or (not $x8555) (not $x4914) $x8059)) @x8161 (unit-resolution @x7791 @x3468 $x8555) $x8059))) (let ((@x8163 (unit-resolution (def-axiom (or (not $x8059) $x6383 $x5168)) @x8162 (unit-resolution @x8192 @x8189 $x6179) $x6383))) (let ((@x5864 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not (= ?x1880 ?x7555)) $x8504)) (monotonicity (monotonicity @x8163 (= ?x1879 ?x7554)) (= ?x1880 ?x7555)) $x8504))) (let (($x7609 (>= (+ ?x1887 (* (- 1) ?x3063)) 0))) (let ((@x5835 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not (= ?x1887 ?x3063)) $x7609)) (monotonicity @x8163 (= ?x1887 ?x3063)) $x7609))) (let ((?x3064 (* (- 1) ?x3063))) (let ((?x3904 (+ ?x254 ?x3064))) (let (($x3905 (<= ?x3904 0))) (let (($x4587 (= ?x254 ?x3063))) (let ((@x8351 (mp (unit-resolution (unit-resolution @x4574 @x4803 $x4550) @x7085 $x3024) (symm (commutativity (= $x4587 $x3024)) (= $x3024 $x4587)) $x4587))) (let ((@x8148 ((_ th-lemma arith farkas 1 -1 1 -1 1) (hypothesis $x6123) (hypothesis (not $x1891)) (hypothesis $x7609) (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x4587) $x3905)) @x8351 $x3905) (hypothesis $x8504) false))) (let ((@x6098 (unit-resolution (lemma @x8148 (or $x8149 $x1891 (not $x7609) (not $x8504))) (unit-resolution (def-axiom (or $x2801 (not $x1891))) @x8699 (not $x1891)) @x5835 @x5864 $x8149))) (let ((@x8175 (unit-resolution (def-axiom (or $x8378 (not $x7517))) (hypothesis (not $x8378)) (not $x7517)))) (let (($x7000 (not $x4944))) (let ((@x8640 (unit-resolution (def-axiom (or $x8378 $x7000)) (hypothesis (not $x8378)) $x7000))) (let (($x6310 (or $x7517 $x4944 $x6876))) (let (($x7071 (or $x3670 $x7517 $x4944 $x6876))) (let (($x7524 (<= (+ ?x7388 ?x1168 ?x7512) 0))) (let (($x7589 (or $x7517 $x7524 (= (+ ?x254 ?x7555 ?x1889) 0)))) (let (($x6768 (or $x3670 $x7589))) (let ((@x6946 (monotonicity (rewrite (= (+ ?x254 ?x7555 ?x1889) ?x7471)) (= (= (+ ?x254 ?x7555 ?x1889) 0) $x6876)))) (let ((@x7308 (monotonicity (rewrite (= (+ ?x7388 ?x1168 ?x7512) (+ ?x1168 ?x7388 ?x7512))) (= $x7524 (<= (+ ?x1168 ?x7388 ?x7512) 0))))) (let ((@x8377 (trans @x7308 (rewrite (= (<= (+ ?x1168 ?x7388 ?x7512) 0) $x4944)) (= $x7524 $x4944)))) (let ((@x6639 (monotonicity (monotonicity @x8377 @x6946 (= $x7589 $x6310)) (= $x6768 (or $x3670 $x6310))))) (let ((@x6030 (mp ((_ quant-inst ?v0!19) $x6768) (trans @x6639 (rewrite (= (or $x3670 $x6310) $x7071)) (= $x6768 $x7071)) $x7071))) (let ((@x8762 (unit-resolution (unit-resolution @x6030 @x4789 $x6310) @x8640 @x8175 (hypothesis $x8868) false))) (let ((@x8475 (unit-resolution (lemma @x8762 (or $x8378 $x6876)) (unit-resolution ((_ th-lemma arith triangle-eq) (or $x8868 $x6123)) @x6098 $x8868) $x8378))) (let ((@x8713 (lemma ((_ th-lemma arith farkas -1 -1 1) @x8710 (hypothesis $x8149) (hypothesis $x4944) false) (or $x7000 $x6123)))) (let ((@x7808 (unit-resolution (def-axiom (or (not $x8378) $x7517 $x4944)) (unit-resolution @x8713 @x6098 $x7000) @x8475 $x7517))) (let ((@x7807 ((_ th-lemma arith farkas 1 -1 1) @x5864 @x7808 (unit-resolution (def-axiom (or $x2801 $x1884)) @x8699 $x1884) false))) (let (($x3381 (not $x1864))) (let ((@x6859 (hypothesis $x2760))) (let ((@x6910 (unit-resolution (def-axiom (or $x2755 $x3381)) @x6859 $x3381))) (let (($x6437 (<= (+ ?x254 (* (- 1) (fun_app$a v_b_SP_G_1$ ?v1!16))) 0))) (let (($x4947 (fun_app$ v_b_Visited_G_1$ ?v1!16))) (let (($x6336 (= ?v1!16 v_b_v_G_1$))) (let (($x8534 (or $x6336 $x4947))) (let (($x6263 (fun_app$ ?x260 ?v1!16))) (let (($x6346 (= $x6263 $x8534))) (let (($x8582 (or $x4134 $x6346))) (let ((@x8309 (monotonicity (rewrite (= (ite $x6336 true $x4947) $x8534)) (= (= $x6263 (ite $x6336 true $x4947)) $x6346)))) (let ((@x8586 (monotonicity @x8309 (= (or $x4134 (= $x6263 (ite $x6336 true $x4947))) $x8582)))) (let ((@x8591 (trans @x8586 (rewrite (= $x8582 $x8582)) (= (or $x4134 (= $x6263 (ite $x6336 true $x4947))) $x8582)))) (let ((@x8592 (mp ((_ quant-inst v_b_Visited_G_1$ v_b_v_G_1$ true ?v1!16) (or $x4134 (= $x6263 (ite $x6336 true $x4947)))) @x8591 $x8582))) (let ((@x7062 (monotonicity (symm (monotonicity @x6739 (= $x6263 $x1855)) (= $x1855 $x6263)) (= (not $x1855) (not $x6263))))) (let ((@x7109 (mp (unit-resolution (def-axiom (or $x2755 (not $x1855))) @x6859 (not $x1855)) @x7062 (not $x6263)))) (let ((@x7053 (unit-resolution (def-axiom (or (not $x6346) $x6263 (not $x8534))) @x7109 (unit-resolution @x8592 @x3468 $x6346) (not $x8534)))) (let (($x7664 (or $x4947 $x6437))) (let ((@x7108 (unit-resolution (def-axiom (or $x3804 $x3655)) @x4802 $x3655))) (let (($x6930 (or $x3660 $x4947 $x6437))) (let (($x7189 (>= (+ (fun_app$a v_b_SP_G_1$ ?v1!16) ?x1168) 0))) (let (($x7192 (or $x4947 $x7189))) (let (($x7392 (or $x3660 $x7192))) (let ((@x6696 (rewrite (= (>= (+ ?x1168 (fun_app$a v_b_SP_G_1$ ?v1!16)) 0) $x6437)))) (let (($x7657 (= (+ (fun_app$a v_b_SP_G_1$ ?v1!16) ?x1168) (+ ?x1168 (fun_app$a v_b_SP_G_1$ ?v1!16))))) (let ((@x6394 (monotonicity (rewrite $x7657) (= $x7189 (>= (+ ?x1168 (fun_app$a v_b_SP_G_1$ ?v1!16)) 0))))) (let ((@x7789 (monotonicity (monotonicity (trans @x6394 @x6696 (= $x7189 $x6437)) (= $x7192 $x7664)) (= $x7392 (or $x3660 $x7664))))) (let ((@x7788 (mp ((_ quant-inst ?v1!16) $x7392) (trans @x7789 (rewrite (= (or $x3660 $x7664) $x6930)) (= $x7392 $x6930)) $x6930))) (let ((@x7110 (unit-resolution (unit-resolution @x7788 @x7108 $x7664) (unit-resolution (def-axiom (or $x8534 (not $x4947))) @x7053 (not $x4947)) $x6437))) (let (($x6906 (<= (+ (v_b_SP_G_2$ ?v0!17) (* (- 1) (fun_app$a v_b_SP_G_1$ ?v0!17))) 0))) (let (($x7394 (or $x3686 $x6906))) (let (($x6869 (>= (+ (fun_app$a v_b_SP_G_1$ ?v0!17) (* (- 1) (v_b_SP_G_2$ ?v0!17))) 0))) (let (($x7794 (>= (+ (* (- 1) (v_b_SP_G_2$ ?v0!17)) (fun_app$a v_b_SP_G_1$ ?v0!17)) 0))) (let (($x7505 (= (+ (fun_app$a v_b_SP_G_1$ ?v0!17) (* (- 1) (v_b_SP_G_2$ ?v0!17))) (+ (* (- 1) (v_b_SP_G_2$ ?v0!17)) (fun_app$a v_b_SP_G_1$ ?v0!17))))) (let ((@x6937 (trans (monotonicity (rewrite $x7505) (= $x6869 $x7794)) (rewrite (= $x7794 $x6906)) (= $x6869 $x6906)))) (let ((@x7419 (trans (monotonicity @x6937 (= (or $x3686 $x6869) $x7394)) (rewrite (= $x7394 $x7394)) (= (or $x3686 $x6869) $x7394)))) (let (($x6920 (>= (+ (v_b_SP_G_2$ ?v1!16) (* (- 1) (fun_app$a v_b_SP_G_1$ ?v1!16))) 0))) (let ((?x6958 (fun_app$a v_b_SP_G_1$ ?v1!16))) (let ((?x1860 (v_b_SP_G_2$ ?v1!16))) (let (($x6841 (= ?x1860 ?x6958))) (let (($x7027 (>= (+ ?x254 (b_G$ (pair$ v_b_v_G_1$ ?v1!16)) (* (- 1) ?x6958)) 0))) (let (($x6231 (<= (+ b_Infinity$ (* (- 1) (b_G$ (pair$ v_b_v_G_1$ ?v1!16)))) 0))) (let (($x7455 (or $x6231 $x7027))) (let ((?x6824 (pair$ v_b_v_G_1$ ?v1!16))) (let ((?x6825 (b_G$ ?x6824))) (let ((?x6938 (* (- 1) ?x1860))) (let ((?x6929 (+ ?x254 ?x6938 ?x6825))) (let (($x7553 (= ?x6929 0))) (let (($x7206 (not $x7553))) (let (($x6067 (<= ?x6929 0))) (let (($x6919 (not $x6067))) (let (($x6631 (fun_app$ v_b_Visited_G_1$ ?v0!17))) (let (($x6844 (= ?v0!17 v_b_v_G_1$))) (let (($x6265 (or $x6844 $x6631))) (let (($x6895 (fun_app$ ?x260 ?v0!17))) (let (($x6665 (= $x6895 $x6265))) (let (($x5717 (or $x4134 $x6665))) (let ((@x6990 (monotonicity (rewrite (= (ite $x6844 true $x6631) $x6265)) (= (= $x6895 (ite $x6844 true $x6631)) $x6665)))) (let ((@x7528 (monotonicity @x6990 (= (or $x4134 (= $x6895 (ite $x6844 true $x6631))) $x5717)))) (let ((@x7133 (trans @x7528 (rewrite (= $x5717 $x5717)) (= (or $x4134 (= $x6895 (ite $x6844 true $x6631))) $x5717)))) (let ((@x7043 (mp ((_ quant-inst v_b_Visited_G_1$ v_b_v_G_1$ true ?v0!17) (or $x4134 (= $x6895 (ite $x6844 true $x6631)))) @x7133 $x5717))) (let ((@x7214 (mp (unit-resolution (def-axiom (or $x2755 $x1857)) @x6859 $x1857) (symm (monotonicity @x6739 (= $x6895 $x1857)) (= $x1857 $x6895)) $x6895))) (let ((@x7215 (unit-resolution (def-axiom (or (not $x6665) (not $x6895) $x6265)) @x7214 (unit-resolution @x7043 @x3468 $x6665) $x6265))) (let (($x7558 (<= ?x6825 0))) (let (($x7559 (not $x7558))) (let ((@x6953 (symm (commutativity (= (= v_b_v_G_1$ ?v1!16) $x6336)) (= $x6336 (= v_b_v_G_1$ ?v1!16))))) (let ((@x6769 (mp (hypothesis (not $x6336)) (monotonicity @x6953 (= (not $x6336) (not (= v_b_v_G_1$ ?v1!16)))) (not (= v_b_v_G_1$ ?v1!16))))) (let (($x7557 (= v_b_v_G_1$ ?v1!16))) (let (($x7560 (or $x7557 $x7559))) (let ((@x5992 (mp ((_ quant-inst v_b_v_G_1$ ?v1!16) (or (not $x3475) $x7560)) (rewrite (= (or (not $x3475) $x7560) (or (not $x3475) $x7557 $x7559))) (or (not $x3475) $x7557 $x7559)))) (let ((@x6161 (hypothesis $x3381))) (let ((?x6285 (fun_app$a v_b_SP_G_1$ ?v0!17))) (let ((?x6904 (* (- 1) ?x6285))) (let ((?x7131 (+ ?x254 ?x6904))) (let (($x6000 (>= ?x7131 0))) (let (($x6858 (not $x6844))) (let ((?x1861 (v_b_SP_G_2$ ?v0!17))) (let (($x6188 (= ?x1861 ?x3063))) (let (($x5847 (not $x6188))) (let ((?x5089 (+ ?x1861 ?x3064))) (let (($x5848 (<= ?x5089 0))) (let (($x6925 (not $x5848))) (let ((@x6267 (hypothesis $x6067))) (let (($x3906 (>= ?x3904 0))) (let (($x4341 (or $x3686 $x3906))) (let ((@x4906 ((_ quant-inst v_b_v_G_1$) $x4341))) (let ((@x6160 (unit-resolution @x4906 @x4714 $x3906))) (let ((@x6971 (lemma ((_ th-lemma arith farkas 1 1 1 1 1) @x6267 (hypothesis $x5848) @x6161 @x6160 (hypothesis $x7559) false) (or $x6925 $x6919 $x1864 $x7558)))) (let ((@x6928 (unit-resolution @x6971 @x6267 @x6161 (unit-resolution (unit-resolution @x5992 @x3480 $x7560) @x6769 $x7559) $x6925))) (let ((@x6532 ((_ th-lemma arith triangle-eq) (or $x5847 $x5848)))) (let ((@x5114 (unit-resolution (hypothesis $x5847) (monotonicity (hypothesis $x6844) $x6188) false))) (let ((@x5115 (lemma @x5114 (or $x6858 $x6188)))) (let ((@x8623 (def-axiom (or (not $x6265) $x6844 $x6631)))) (let ((@x4834 (unit-resolution @x8623 (unit-resolution @x5115 (unit-resolution @x6532 @x6928 $x5847) $x6858) (hypothesis $x6265) $x6631))) (let (($x5475 (= (or $x3565 (or $x252 (not $x6631) $x6000)) (or $x3565 $x252 (not $x6631) $x6000)))) (let ((@x5735 (mp ((_ quant-inst ?v0!17 v_b_v_G_1$) (or $x3565 (or $x252 (not $x6631) $x6000))) (rewrite $x5475) (or $x3565 $x252 (not $x6631) $x6000)))) (let ((@x6914 ((_ th-lemma arith farkas 1 1 1 1 1) @x6267 (unit-resolution @x5735 @x6683 @x6066 @x4834 $x6000) (unit-resolution (mp ((_ quant-inst ?v0!17) (or $x3686 $x6869)) @x7419 $x7394) @x4714 $x6906) @x6161 (unit-resolution (unit-resolution @x5992 @x3480 $x7560) @x6769 $x7559) false))) (let ((@x7217 (unit-resolution (lemma @x6914 (or $x6919 $x1864 (not $x6265) $x6336)) @x6910 @x7215 (unit-resolution (def-axiom (or $x8534 (not $x6336))) @x7053 (not $x6336)) $x6919))) (let ((@x6357 (unit-resolution (def-axiom (or $x7455 (not $x6231))) (hypothesis (not $x7455)) (not $x6231)))) (let ((@x6426 (unit-resolution (def-axiom (or $x7455 (not $x7027))) (hypothesis (not $x7455)) (not $x7027)))) (let (($x7603 (or $x6231 $x7027 $x7553))) (let (($x5113 (or $x3670 $x6231 $x7027 $x7553))) (let (($x6826 (<= (+ ?x6958 ?x1168 (* (- 1) ?x6825)) 0))) (let (($x6927 (or $x6231 $x6826 (= (+ ?x254 ?x6825 ?x6938) 0)))) (let (($x7688 (or $x3670 $x6927))) (let ((@x7602 (monotonicity (rewrite (= (+ ?x254 ?x6825 ?x6938) ?x6929)) (= (= (+ ?x254 ?x6825 ?x6938) 0) $x7553)))) (let ((@x7947 (rewrite (= (+ ?x6958 ?x1168 (* (- 1) ?x6825)) (+ ?x1168 (* (- 1) ?x6825) ?x6958))))) (let ((@x7737 (monotonicity @x7947 (= $x6826 (<= (+ ?x1168 (* (- 1) ?x6825) ?x6958) 0))))) (let ((@x8385 (trans @x7737 (rewrite (= (<= (+ ?x1168 (* (- 1) ?x6825) ?x6958) 0) $x7027)) (= $x6826 $x7027)))) (let ((@x6604 (monotonicity (monotonicity @x8385 @x7602 (= $x6927 $x7603)) (= $x7688 (or $x3670 $x7603))))) (let ((@x7391 (mp ((_ quant-inst ?v1!16) $x7688) (trans @x6604 (rewrite (= (or $x3670 $x7603) $x5113)) (= $x7688 $x5113)) $x5113))) (let ((@x4197 (unit-resolution (unit-resolution @x7391 @x4789 $x7603) @x6426 @x6357 (hypothesis $x7206) false))) (let ((@x7250 (unit-resolution (lemma @x4197 (or $x7455 $x7553)) (unit-resolution ((_ th-lemma arith triangle-eq) (or $x7206 $x6067)) @x7217 $x7206) $x7455))) (let (($x7639 (not $x7455))) (let (($x7673 (or $x7639 $x6841))) (let (($x7669 (or $x3678 $x7639 $x6841))) (let ((@x7671 (monotonicity (monotonicity @x8385 (= (or $x6231 $x6826) $x7455)) (= (not (or $x6231 $x6826)) $x7639)))) (let ((@x7677 (monotonicity (monotonicity @x7671 (= (or (not (or $x6231 $x6826)) $x6841) $x7673)) (= (or $x3678 (or (not (or $x6231 $x6826)) $x6841)) (or $x3678 $x7673))))) (let ((@x7387 (trans @x7677 (rewrite (= (or $x3678 $x7673) $x7669)) (= (or $x3678 (or (not (or $x6231 $x6826)) $x6841)) $x7669)))) (let ((@x7252 (unit-resolution (mp ((_ quant-inst ?v1!16) (or $x3678 (or (not (or $x6231 $x6826)) $x6841))) @x7387 $x7669) @x4803 $x7673))) (let ((@x7315 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x6841) $x6920)) (unit-resolution @x7252 @x7250 $x6841) $x6920))) (let ((@x7323 (unit-resolution ((_ th-lemma arith assign-bounds -1 1 -1 -1) (or (not $x6000) (not $x6437) (not $x6920) (not $x6906) $x1864)) @x7315 (unit-resolution (mp ((_ quant-inst ?v0!17) (or $x3686 $x6869)) @x7419 $x7394) @x4714 $x6906) @x7110 @x6910 (not $x6000)))) (let ((@x7351 (unit-resolution ((_ th-lemma arith assign-bounds -1 1 -1 1) (or $x6925 (not $x3906) (not $x6437) (not $x6920) $x1864)) @x7315 @x6160 @x7110 @x6910 $x6925))) (let ((@x7364 (unit-resolution @x8623 (unit-resolution @x5115 (unit-resolution @x6532 @x7351 $x5847) $x6858) @x7215 $x6631))) (let (($x6106 (not (<= (b_G$ (pair$ v_b_v_G_1$ ?v0!15)) 0)))) (let (($x5808 (= v_b_v_G_1$ ?v0!15))) (let (($x5324 (not $x5808))) (let ((@x6624 (symm (commutativity (= $x5808 (= ?v0!15 v_b_v_G_1$))) (= (= ?v0!15 v_b_v_G_1$) $x5808)))) (let (($x6044 (= ?v0!15 v_b_v_G_1$))) (let (($x6867 (not $x6044))) (let (($x5521 (fun_app$ v_b_Visited_G_1$ ?v0!15))) (let (($x6849 (or $x6044 $x5521))) (let (($x6408 (fun_app$ ?x260 ?v0!15))) (let (($x6494 (= $x6408 $x6849))) (let (($x5683 (or $x4134 $x6494))) (let ((@x6072 (monotonicity (rewrite (= (ite $x6044 true $x5521) $x6849)) (= (= $x6408 (ite $x6044 true $x5521)) $x6494)))) (let ((@x6772 (monotonicity @x6072 (= (or $x4134 (= $x6408 (ite $x6044 true $x5521))) $x5683)))) (let ((@x5812 (trans @x6772 (rewrite (= $x5683 $x5683)) (= (or $x4134 (= $x6408 (ite $x6044 true $x5521))) $x5683)))) (let ((@x5804 (mp ((_ quant-inst v_b_Visited_G_1$ v_b_v_G_1$ true ?v0!15) (or $x4134 (= $x6408 (ite $x6044 true $x5521)))) @x5812 $x5683))) (let ((@x6715 (symm (monotonicity @x6739 (= $x6408 (fun_app$ v_b_Visited_G_2$ ?v0!15))) (= (fun_app$ v_b_Visited_G_2$ ?v0!15) $x6408)))) (let ((@x6719 (monotonicity @x6715 (= (not (fun_app$ v_b_Visited_G_2$ ?v0!15)) (not $x6408))))) (let (($x6151 (fun_app$ v_b_Visited_G_2$ ?v0!15))) (let (($x6527 (not $x6151))) (let ((@x6833 (hypothesis $x1843))) (let (($x6836 (or (not (>= (+ ?x1841 (* (- 1) (fun_app$a v_b_SP_G_1$ ?v0!15))) 0)) $x1842))) (let (($x6830 (>= (+ ?x1841 (* (- 1) (fun_app$a v_b_SP_G_1$ ?v0!15))) 0))) (let ((?x6459 (fun_app$a v_b_SP_G_1$ ?v0!15))) (let (($x6119 (>= ?x6459 0))) (let ((@x4713 (unit-resolution (def-axiom (or $x3816 $x3551)) @x4357 $x3551))) (let ((@x6834 ((_ th-lemma arith farkas -1 1 1) @x6833 (unit-resolution ((_ quant-inst ?v0!15) (or $x3556 $x6119)) @x4713 $x6119) (hypothesis $x6830) false))) (let ((@x6656 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not (= ?x1841 ?x6459)) $x6830)) (unit-resolution (lemma @x6834 $x6836) @x6833 (not $x6830)) (not (= ?x1841 ?x6459))))) (let (($x6618 (= (or $x3695 (or $x6527 (= ?x1841 ?x6459))) (or $x3695 $x6527 (= ?x1841 ?x6459))))) (let ((@x6610 (mp ((_ quant-inst ?v0!15) (or $x3695 (or $x6527 (= ?x1841 ?x6459)))) (rewrite $x6618) (or $x3695 $x6527 (= ?x1841 ?x6459))))) (let ((@x6720 (mp (unit-resolution @x6610 (hypothesis $x3690) @x6656 $x6527) @x6719 (not $x6408)))) (let ((@x6725 (unit-resolution (def-axiom (or (not $x6494) $x6408 (not $x6849))) @x6720 (unit-resolution @x5804 @x3468 $x6494) (not $x6849)))) (let ((@x6488 (mp (unit-resolution (def-axiom (or $x6849 $x6867)) @x6725 $x6867) (monotonicity @x6624 (= $x6867 $x5324)) $x5324))) (let (($x6164 (or $x5808 $x6106))) (let ((@x5318 (mp ((_ quant-inst v_b_v_G_1$ ?v0!15) (or (not $x3475) $x6164)) (rewrite (= (or (not $x3475) $x6164) (or (not $x3475) $x5808 $x6106))) (or (not $x3475) $x5808 $x6106)))) (let (($x3157 (>= ?x169 0))) (let ((?x4056 (+ ?x169 ?x1168))) (let (($x6181 (<= ?x4056 0))) (let (($x3907 (= v_b_v_G_1$ b_Source$))) (let ((?x3908 (?v1!7 v_b_v_G_1$))) (let ((?x3915 (pair$ ?x3908 v_b_v_G_1$))) (let ((?x3916 (b_G$ ?x3915))) (let ((?x3917 (* (- 1) ?x3916))) (let ((?x3909 (fun_app$a v_b_SP_G_1$ ?x3908))) (let ((?x3910 (* (- 1) ?x3909))) (let ((?x3918 (+ ?x254 ?x3910 ?x3917))) (let (($x3919 (= ?x3918 0))) (let (($x3913 (fun_app$ v_b_Visited_G_1$ ?x3908))) (let (($x3914 (not $x3913))) (let ((?x3911 (+ ?x254 ?x3910))) (let (($x3912 (<= ?x3911 0))) (let (($x3921 (or $x3912 $x3914 (not $x3919)))) (let (($x4342 (>= ?x3911 0))) (let (($x6807 (not $x4342))) (let ((@x6790 (hypothesis $x4342))) (let (($x5838 (>= ?x3909 0))) (let ((?x6528 (pair$ v_b_v_G_1$ ?v0!15))) (let ((?x6529 (b_G$ ?x6528))) (let ((?x6364 (* (- 1) ?x1841))) (let ((?x5981 (+ ?x254 ?x6364 ?x6529))) (let (($x6866 (<= ?x5981 0))) (let (($x6554 (= ?x5981 0))) (let (($x5936 (>= (+ ?x254 (* (- 1) ?x6459) ?x6529) 0))) (let (($x6303 (<= (+ b_Infinity$ (* (- 1) ?x6529)) 0))) (let (($x3933 (or $x6303 $x5936))) (let (($x6288 (not $x3933))) (let (($x6486 (= ?x1841 ?x6459))) (let (($x6685 (or $x3678 $x6288 $x6486))) (let (($x6462 (or (not (or $x6303 (<= (+ ?x6459 ?x1168 (* (- 1) ?x6529)) 0))) $x6486))) (let (($x6686 (or $x3678 $x6462))) (let (($x5681 (<= (+ ?x6459 ?x1168 (* (- 1) ?x6529)) 0))) (let ((@x3990 (rewrite (= (+ ?x6459 ?x1168 (* (- 1) ?x6529)) (+ ?x1168 ?x6459 (* (- 1) ?x6529)))))) (let ((@x4138 (monotonicity @x3990 (= $x5681 (<= (+ ?x1168 ?x6459 (* (- 1) ?x6529)) 0))))) (let ((@x3932 (trans @x4138 (rewrite (= (<= (+ ?x1168 ?x6459 (* (- 1) ?x6529)) 0) $x5936)) (= $x5681 $x5936)))) (let ((@x6693 (monotonicity (monotonicity @x3932 (= (or $x6303 $x5681) $x3933)) (= (not (or $x6303 $x5681)) $x6288)))) (let ((@x6509 (monotonicity (monotonicity @x6693 (= $x6462 (or $x6288 $x6486))) (= $x6686 (or $x3678 (or $x6288 $x6486)))))) (let ((@x5868 (trans @x6509 (rewrite (= (or $x3678 (or $x6288 $x6486)) $x6685)) (= $x6686 $x6685)))) (let ((@x6885 (unit-resolution (def-axiom (or $x3933 (not $x6303))) (hypothesis $x6288) (not $x6303)))) (let ((@x6886 (unit-resolution (def-axiom (or $x3933 (not $x5936))) (hypothesis $x6288) (not $x5936)))) (let (($x4983 (or $x6303 $x5936 $x6554))) (let (($x3903 (or $x3670 $x6303 $x5936 $x6554))) (let (($x5258 (or $x6303 $x5681 (= (+ ?x254 ?x6529 ?x6364) 0)))) (let (($x4854 (or $x3670 $x5258))) (let ((@x4987 (monotonicity (rewrite (= (+ ?x254 ?x6529 ?x6364) ?x5981)) (= (= (+ ?x254 ?x6529 ?x6364) 0) $x6554)))) (let ((@x5496 (monotonicity (monotonicity @x3932 @x4987 (= $x5258 $x4983)) (= $x4854 (or $x3670 $x4983))))) (let ((@x5069 (mp ((_ quant-inst ?v0!15) $x4854) (trans @x5496 (rewrite (= (or $x3670 $x4983) $x3903)) (= $x4854 $x3903)) $x3903))) (let ((@x6888 (unit-resolution (unit-resolution @x5069 @x4789 $x4983) @x6886 @x6885 (hypothesis (not $x6554)) false))) (let ((@x6099 (unit-resolution (lemma @x6888 (or $x3933 $x6554)) (unit-resolution (mp ((_ quant-inst ?v0!15) $x6686) @x5868 $x6685) @x4803 @x6656 $x6288) $x6554))) (let ((@x6871 ((_ th-lemma arith farkas 1 1 1 1 1) @x6833 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x6554) $x6866)) @x6099 $x6866) (unit-resolution ((_ quant-inst (?v1!7 v_b_v_G_1$)) (or $x3556 $x5838)) @x4713 $x5838) @x6790 (unit-resolution (unit-resolution @x5318 @x3480 $x6164) @x6488 $x6106) false))) (let ((@x6225 (unit-resolution (lemma @x6871 (or $x3695 $x1842 $x6807)) (hypothesis $x3690) @x6833 $x6807))) (let ((@x3174 (def-axiom (or $x3921 (not $x3912))))) (let ((@x6645 (unit-resolution @x3174 (unit-resolution ((_ th-lemma arith farkas 1 1) (or $x4342 $x3912)) @x6225 $x3912) $x3921))) (let (($x3922 (not $x3921))) (let (($x4599 (or $x3581 $x3907 $x1208 $x3922))) (let ((@x4617 (mp ((_ quant-inst v_b_v_G_1$) (or $x3581 (or $x3907 $x1208 $x3922))) (rewrite (= (or $x3581 (or $x3907 $x1208 $x3922)) $x4599)) $x4599))) (let ((@x6649 (unit-resolution @x4617 @x4189 (unit-resolution (def-axiom (or $x3804 $x1209)) @x4802 $x1209) (or $x3907 $x3922)))) (let ((@x5588 (symm (monotonicity (unit-resolution @x6649 @x6645 $x3907) (= ?x254 ?x169)) (= ?x169 ?x254)))) (let ((@x5241 ((_ th-lemma arith farkas 1 1 1 1 1) @x6833 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x6554) $x6866)) @x6099 $x6866) (unit-resolution ((_ th-lemma arith triangle-eq) (or (not (= ?x169 ?x254)) $x6181)) @x5588 $x6181) (unit-resolution ((_ th-lemma arith triangle-eq) (or $x2947 $x3157)) @x4135 $x3157) (unit-resolution (unit-resolution @x5318 @x3480 $x6164) @x6488 $x6106) false))) (let ((@x8742 (unit-resolution (def-axiom (or $x3780 $x3774)) (unit-resolution @x9261 (lemma @x5791 $x1824) $x3783) $x3774))) (let (($x4076 (= ?x291 ?x169))) (let (($x4073 (<= (+ ?x169 ?x1168 (* (- 1) (b_G$ (pair$ v_b_v_G_1$ b_Source$)))) 0))) (let (($x4071 (<= (+ b_Infinity$ (* (- 1) (b_G$ (pair$ v_b_v_G_1$ b_Source$)))) 0))) (let (($x4074 (or $x4071 $x4073))) (let (($x3924 (>= ?x254 0))) (let (($x4636 (or $x3556 $x3924))) (let ((@x4637 ((_ quant-inst v_b_v_G_1$) $x4636))) (let (($x4075 (not $x4074))) (let ((@x5775 (hypothesis $x4075))) (let ((?x4061 (pair$ v_b_v_G_1$ b_Source$))) (let ((?x4062 (b_G$ ?x4061))) (let (($x5863 (>= ?x4062 0))) (let (($x5333 (= ?x4062 0))) (let (($x5329 (<= ?x4062 0))) (let (($x4173 (<= ?x291 0))) (let ((?x4078 (* (- 1) ?x291))) (let ((?x4144 (+ ?x169 ?x4078))) (let (($x4145 (>= ?x4144 0))) (let (($x4905 (or $x3686 $x4145))) (let ((@x5229 ((_ quant-inst b_Source$) $x4905))) (let (($x3158 (<= ?x169 0))) (let ((@x4838 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x2947 $x3158)) @x4135 $x3158))) (let ((@x4827 (unit-resolution ((_ th-lemma arith assign-bounds -1 1) (or $x4173 (not $x3158) (not $x4145))) @x4838 (unit-resolution @x5229 @x4714 $x4145) $x4173))) (let ((?x4096 (+ ?x254 ?x4078 ?x4062))) (let (($x4116 (<= ?x4096 0))) (let (($x4099 (= ?x4096 0))) (let (($x4102 (or $x4071 $x4073 $x4099))) (let (($x4105 (or $x3670 $x4071 $x4073 $x4099))) (let (($x4095 (or $x4071 $x4073 (= (+ ?x254 ?x4062 ?x4078) 0)))) (let (($x4106 (or $x3670 $x4095))) (let ((@x4101 (monotonicity (rewrite (= (+ ?x254 ?x4062 ?x4078) ?x4096)) (= (= (+ ?x254 ?x4062 ?x4078) 0) $x4099)))) (let ((@x4110 (monotonicity (monotonicity @x4101 (= $x4095 $x4102)) (= $x4106 (or $x3670 $x4102))))) (let ((@x4115 (mp ((_ quant-inst b_Source$) $x4106) (trans @x4110 (rewrite (= (or $x3670 $x4102) $x4105)) (= $x4106 $x4105)) $x4105))) (let ((@x5780 (unit-resolution (unit-resolution @x4115 (hypothesis $x3665) $x4102) (unit-resolution (def-axiom (or $x4074 (not $x4073))) @x5775 (not $x4073)) (unit-resolution (def-axiom (or $x4074 (not $x4071))) @x5775 (not $x4071)) (hypothesis (not $x4099)) false))) (let ((@x4831 (unit-resolution (lemma @x5780 (or $x4074 $x4099 $x3670)) @x4789 (or $x4074 $x4099)))) (let ((@x4846 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x4099) $x4116)) (unit-resolution @x4831 @x5775 $x4099) $x4116))) (let ((@x5939 ((_ th-lemma arith farkas -1 1 -1 1) (hypothesis $x3924) (hypothesis $x4173) (hypothesis (not $x5329)) (hypothesis $x4116) false))) (let ((@x4867 (unit-resolution (lemma @x5939 (or $x5329 (not $x3924) (not $x4173) (not $x4116))) (unit-resolution @x4637 @x4713 $x3924) (or $x5329 (not $x4173) (not $x4116))))) (let (($x5274 (= (or (not $x3475) (or $x3907 (not $x5329))) (or (not $x3475) $x3907 (not $x5329))))) (let ((@x5275 (mp ((_ quant-inst v_b_v_G_1$ b_Source$) (or (not $x3475) (or $x3907 (not $x5329)))) (rewrite $x5274) (or (not $x3475) $x3907 (not $x5329))))) (let ((@x5099 (rewrite (= (or $x3045 (or (not $x3907) $x5333)) (or $x3045 (not $x3907) $x5333))))) (let ((@x5081 (mp ((_ quant-inst v_b_v_G_1$ b_Source$) (or $x3045 (or (not $x3907) $x5333))) @x5099 (or $x3045 (not $x3907) $x5333)))) (let ((@x4868 (unit-resolution @x5081 @x3474 (unit-resolution @x5275 @x3480 (unit-resolution @x4867 @x4846 @x4827 $x5329) $x3907) $x5333))) (let ((@x4872 ((_ th-lemma arith farkas -1 1 1 1) @x4838 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x5333) $x5863)) @x4868 $x5863) (unit-resolution (def-axiom (or $x4074 (not $x4073))) @x5775 (not $x4073)) (unit-resolution @x4637 @x4713 $x3924) false))) (let (($x4077 (or $x4075 $x4076))) (let (($x5055 (or $x3678 $x4075 $x4076))) (let ((@x5303 (mp ((_ quant-inst b_Source$) (or $x3678 $x4077)) (rewrite (= (or $x3678 $x4077) $x5055)) $x5055))) (let ((@x8878 (unit-resolution (unit-resolution @x5303 @x4803 $x4077) (lemma @x4872 $x4074) $x4076))) (let ((@x9287 (unit-resolution (def-axiom (or $x3777 $x768 $x3771)) (mp @x8878 (monotonicity @x4135 (= $x4076 $x292)) $x292) (or $x3777 $x3771)))) (let ((@x8755 (unit-resolution (def-axiom (or $x3768 $x3762)) (unit-resolution @x9287 @x8742 $x3771) $x3762))) (let ((@x8979 (unit-resolution (def-axiom (or $x3765 $x1843 $x3759)) @x8755 (unit-resolution (lemma @x5241 (or $x3695 $x1842)) @x9263 $x1842) $x3759))) (let ((@x9416 (unit-resolution (def-axiom (or $x3753 $x2760 $x3747)) (unit-resolution (def-axiom (or $x3756 $x3750)) @x8979 $x3750) $x3750))) (let ((@x9452 (unit-resolution @x9416 (lemma (unit-resolution @x5735 @x6683 @x6066 @x7364 @x7323 false) $x2755) $x3747))) (let ((@x9454 (unit-resolution (def-axiom (or $x3741 $x2806 $x3735)) (unit-resolution (def-axiom (or $x3744 $x3738)) @x9452 $x3738) $x3738))) (let ((@x9455 (unit-resolution @x9454 (lemma @x7807 $x2801) $x3735))) (let ((@x9475 (unit-resolution (def-axiom (or $x3732 $x1910)) @x9455 $x1910))) (let ((@x9478 ((_ th-lemma arith farkas -1 1 1) (hypothesis (<= (+ b_Infinity$ ?x4438) 0)) @x9476 @x9475 false))) (let ((@x9241 (unit-resolution (lemma @x9478 (or $x9479 (not (<= (+ b_Infinity$ ?x4438) 0)))) @x9476 (not (<= (+ b_Infinity$ ?x4438) 0))))) (let (($x4660 (<= (+ b_Infinity$ ?x4438) 0))) (let (($x8499 (or $x3581 $x1904 $x4660 $x4675))) (let ((@x7305 (mp ((_ quant-inst ?v0!20) (or $x3581 (or $x1904 $x4660 $x4675))) (rewrite (= (or $x3581 (or $x1904 $x4660 $x4675)) $x8499)) $x8499))) (let ((@x9599 (unit-resolution @x7305 @x4189 (unit-resolution (def-axiom (or $x3732 $x1905)) @x9455 $x1905) (or $x4660 $x4675)))) (let ((@x9582 (unit-resolution @x9599 @x9241 $x4675))) (let ((?x4717 (v_b_SP_G_2$ ?x4661))) (let ((?x4720 (* (- 1) ?x4717))) (let ((?x4721 (+ ?x4662 ?x4720))) (let (($x4728 (>= ?x4721 0))) (let ((@x9586 ((_ th-lemma arith farkas 1 1 -1 1) @x9476 (unit-resolution ((_ quant-inst (?v1!7 ?v0!20)) (or $x3686 $x4728)) @x4714 $x4728) (hypothesis (<= (+ ?x1906 ?x4720) 0)) (unit-resolution (def-axiom (or $x4674 (not $x4665))) @x9582 (not $x4665)) false))) (let ((@x8898 (unit-resolution (lemma @x9586 $x9588) @x9476 (not (<= (+ ?x1906 ?x4720) 0))))) (let ((?x7341 (+ ?x1906 ?x4670 ?x4720))) (let (($x7121 (= ?x7341 0))) (let (($x5719 (<= ?x7341 0))) (let (($x4844 (<= (+ b_Infinity$ ?x4670) 0))) (let (($x8387 (not $x4844))) (let (($x7025 (>= ?x4671 0))) (let ((@x8158 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x4673 $x7025)) (unit-resolution (def-axiom (or $x4674 $x4672)) @x9582 $x4672) $x7025))) (let (($x4825 (>= ?x4662 0))) (let ((@x8897 (unit-resolution ((_ th-lemma arith assign-bounds -1 -1 -1 -1) (or $x8387 (not $x4825) (not $x7025) $x1909 $x9479)) @x9475 (or $x8387 (not $x4825) (not $x7025) $x9479)))) (let ((@x8874 (unit-resolution @x8897 (unit-resolution ((_ quant-inst (?v1!7 ?v0!20)) (or $x3556 $x4825)) @x4713 $x4825) @x9476 @x8158 $x8387))) (let (($x4709 (fun_app$ v_b_Visited_G_2$ ?x4661))) (let ((@x6057 (monotonicity (symm (hypothesis $x261) (= ?x260 v_b_Visited_G_2$)) (= (fun_app$ ?x260 ?x4661) $x4709)))) (let ((@x6061 (monotonicity (symm @x6057 (= $x4709 (fun_app$ ?x260 ?x4661))) (= (not $x4709) (not (fun_app$ ?x260 ?x4661)))))) (let (($x6003 (fun_app$ ?x260 ?x4661))) (let (($x6010 (= ?x4661 v_b_v_G_1$))) (let (($x6013 (or $x6010 $x4666))) (let (($x6016 (= $x6003 $x6013))) (let (($x6019 (or $x4134 $x6016))) (let ((@x6018 (monotonicity (rewrite (= (ite $x6010 true $x4666) $x6013)) (= (= $x6003 (ite $x6010 true $x4666)) $x6016)))) (let ((@x6023 (monotonicity @x6018 (= (or $x4134 (= $x6003 (ite $x6010 true $x4666))) $x6019)))) (let ((@x6026 (trans @x6023 (rewrite (= $x6019 $x6019)) (= (or $x4134 (= $x6003 (ite $x6010 true $x4666))) $x6019)))) (let ((@x6027 (mp ((_ quant-inst v_b_Visited_G_1$ v_b_v_G_1$ true (?v1!7 ?v0!20)) (or $x4134 (= $x6003 (ite $x6010 true $x4666)))) @x6026 $x6019))) (let ((@x6050 (unit-resolution (def-axiom (or (not $x6016) $x6003 (not $x6013))) (unit-resolution (def-axiom (or $x6013 $x4667)) (hypothesis $x4666) $x6013) (or (not $x6016) $x6003)))) (let ((@x6063 (unit-resolution (unit-resolution @x6050 (unit-resolution @x6027 @x3468 $x6016) $x6003) (mp (hypothesis (not $x4709)) @x6061 (not $x6003)) false))) (let ((@x8957 (unit-resolution (lemma @x6063 (or $x4709 $x2930 $x4667)) (unit-resolution (def-axiom (or $x3804 $x261)) @x4802 $x261) (or $x4709 $x4667)))) (let ((@x8892 (unit-resolution @x8957 (unit-resolution (def-axiom (or $x4674 $x4666)) @x9582 $x4666) $x4709))) (let (($x4710 (not $x4709))) (let (($x6183 (or $x3720 $x4710 $x4844 $x5719))) (let (($x4848 (>= (+ ?x4669 ?x4717 ?x1907) 0))) (let (($x4849 (or $x4710 $x4844 $x4848))) (let (($x7891 (or $x3720 $x4849))) (let ((@x7340 (monotonicity (rewrite (= (+ ?x4669 ?x4717 ?x1907) (+ ?x1907 ?x4669 ?x4717))) (= $x4848 (>= (+ ?x1907 ?x4669 ?x4717) 0))))) (let ((@x7415 (trans @x7340 (rewrite (= (>= (+ ?x1907 ?x4669 ?x4717) 0) $x5719)) (= $x4848 $x5719)))) (let ((@x7922 (monotonicity (monotonicity @x7415 (= $x4849 (or $x4710 $x4844 $x5719))) (= $x7891 (or $x3720 (or $x4710 $x4844 $x5719)))))) (let ((@x7119 (trans @x7922 (rewrite (= (or $x3720 (or $x4710 $x4844 $x5719)) $x6183)) (= $x7891 $x6183)))) (let ((@x8954 (unit-resolution (mp ((_ quant-inst ?v0!20 (?v1!7 ?v0!20)) $x7891) @x7119 $x6183) (unit-resolution (def-axiom (or $x3732 $x3715)) @x9455 $x3715) @x8892 (or $x4844 $x5719)))) (let (($x8133 (>= ?x7341 0))) (let ((@x9055 (unit-resolution ((_ th-lemma arith assign-bounds -1 -1 -1) (or $x8133 (not $x7025) $x9479 (not $x4728))) (unit-resolution ((_ quant-inst (?v1!7 ?v0!20)) (or $x3686 $x4728)) @x4714 $x4728) @x8158 @x9476 $x8133))) (let ((@x9049 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x7121 (not $x5719) (not $x8133))) @x9055 (unit-resolution @x8954 @x8874 $x5719) $x7121))) (let (($x7918 (not $x7121))) (let ((?x4888 (+ ?x1906 ?x4720))) (let (($x7874 (<= ?x4888 0))) (let (($x8072 (or $x3729 $x7874 $x4710 $x7918))) (let (($x4877 (>= (+ ?x4717 ?x1907) 0))) (let (($x4881 (or $x4877 $x4710 (not (= (+ ?x4717 ?x1907 ?x4669) 0))))) (let (($x8040 (or $x3729 $x4881))) (let ((@x6258 (monotonicity (rewrite (= (+ ?x4717 ?x1907 ?x4669) (+ ?x1907 ?x4669 ?x4717))) (= (= (+ ?x4717 ?x1907 ?x4669) 0) (= (+ ?x1907 ?x4669 ?x4717) 0))))) (let ((@x7178 (trans @x6258 (rewrite (= (= (+ ?x1907 ?x4669 ?x4717) 0) $x7121)) (= (= (+ ?x4717 ?x1907 ?x4669) 0) $x7121)))) (let ((@x7871 (monotonicity (rewrite (= (+ ?x4717 ?x1907) (+ ?x1907 ?x4717))) (= $x4877 (>= (+ ?x1907 ?x4717) 0))))) (let ((@x7892 (trans @x7871 (rewrite (= (>= (+ ?x1907 ?x4717) 0) $x7874)) (= $x4877 $x7874)))) (let ((@x8041 (monotonicity @x7892 (monotonicity @x7178 (= (not (= (+ ?x4717 ?x1907 ?x4669) 0)) $x7918)) (= $x4881 (or $x7874 $x4710 $x7918))))) (let ((@x8107 (trans (monotonicity @x8041 (= $x8040 (or $x3729 (or $x7874 $x4710 $x7918)))) (rewrite (= (or $x3729 (or $x7874 $x4710 $x7918)) $x8072)) (= $x8040 $x8072)))) (let ((@x9051 (unit-resolution (mp ((_ quant-inst (?v1!7 ?v0!20)) $x8040) @x8107 $x8072) (unit-resolution (def-axiom (or $x3732 $x3724)) @x9455 $x3724) @x8892 (or $x7874 $x7918)))) (let ((@x10024 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not (= ?x1906 ?x4413)) $x6002)) (lemma (unit-resolution @x9051 @x9049 @x8898 false) $x9479) (not (= ?x1906 ?x4413))))) (let (($x4420 (= ?x1906 ?x4413))) (let (($x4423 (or $x4299 $x4420))) (let (($x8830 (or $x3695 $x4299 $x4420))) (let ((@x8691 (mp ((_ quant-inst ?v0!20) (or $x3695 $x4423)) (rewrite (= (or $x3695 $x4423) $x8830)) $x8830))) (let ((@x10120 (mp (unit-resolution (unit-resolution @x8691 @x9263 $x4423) @x10024 $x4299) @x10119 $x9037))) (let (($x4629 (fun_app$ v_b_Visited_G_1$ ?v0!20))) (let (($x5238 (= ?v0!20 v_b_v_G_1$))) (let (($x10274 (or $x5238 $x4629))) (let (($x10073 (= $x5237 $x10274))) (let (($x10506 (or $x4134 $x10073))) (let ((@x10500 (monotonicity (rewrite (= (ite $x5238 true $x4629) $x10274)) (= (= $x5237 (ite $x5238 true $x4629)) $x10073)))) (let ((@x10183 (monotonicity @x10500 (= (or $x4134 (= $x5237 (ite $x5238 true $x4629))) $x10506)))) (let ((@x10372 (trans @x10183 (rewrite (= $x10506 $x10506)) (= (or $x4134 (= $x5237 (ite $x5238 true $x4629))) $x10506)))) (let ((@x10020 (mp ((_ quant-inst v_b_Visited_G_1$ v_b_v_G_1$ true ?v0!20) (or $x4134 (= $x5237 (ite $x5238 true $x4629)))) @x10372 $x10506))) (let ((?x4454 (pair$ v_b_v_G_1$ ?v0!20))) (let ((?x4455 (b_G$ ?x4454))) (let ((?x4507 (+ ?x254 ?x1907 ?x4455))) (let (($x4527 (<= ?x4507 0))) (let (($x8001 (= ?x4507 0))) (let ((?x9161 (+ ?x254 ?x4438 ?x4455))) (let (($x9165 (>= ?x9161 0))) (let ((?x4456 (* (- 1) ?x4455))) (let ((?x4457 (+ b_Infinity$ ?x4456))) (let (($x4458 (<= ?x4457 0))) (let (($x8810 (or $x4458 $x9165))) (let (($x8814 (not $x8810))) (let (($x8919 (or $x8814 $x4420))) (let (($x8679 (or $x3678 $x8814 $x4420))) (let (($x4463 (or (not (or $x4458 (<= (+ ?x4413 ?x1168 ?x4456) 0))) $x4420))) (let (($x9386 (or $x3678 $x4463))) (let ((@x9164 (monotonicity (rewrite (= (+ ?x4413 ?x1168 ?x4456) (+ ?x1168 ?x4413 ?x4456))) (= (<= (+ ?x4413 ?x1168 ?x4456) 0) (<= (+ ?x1168 ?x4413 ?x4456) 0))))) (let ((@x8891 (trans @x9164 (rewrite (= (<= (+ ?x1168 ?x4413 ?x4456) 0) $x9165)) (= (<= (+ ?x4413 ?x1168 ?x4456) 0) $x9165)))) (let ((@x8813 (monotonicity @x8891 (= (or $x4458 (<= (+ ?x4413 ?x1168 ?x4456) 0)) $x8810)))) (let ((@x8815 (monotonicity @x8813 (= (not (or $x4458 (<= (+ ?x4413 ?x1168 ?x4456) 0))) $x8814)))) (let ((@x9295 (monotonicity (monotonicity @x8815 (= $x4463 $x8919)) (= $x9386 (or $x3678 $x8919))))) (let ((@x9441 (mp ((_ quant-inst ?v0!20) $x9386) (trans @x9295 (rewrite (= (or $x3678 $x8919) $x8679)) (= $x9386 $x8679)) $x8679))) (let ((@x9984 (unit-resolution (def-axiom (or $x8810 (not $x4458))) (hypothesis $x8814) (not $x4458)))) (let ((@x9985 (unit-resolution (def-axiom (or $x8810 (not $x9165))) (hypothesis $x8814) (not $x9165)))) (let (($x8926 (or $x4458 $x9165 $x8001))) (let (($x8928 (or $x3670 $x4458 $x9165 $x8001))) (let (($x4460 (<= (+ ?x4413 ?x1168 ?x4456) 0))) (let (($x4506 (or $x4458 $x4460 (= (+ ?x254 ?x4455 ?x1907) 0)))) (let (($x8929 (or $x3670 $x4506))) (let ((@x8925 (monotonicity (rewrite (= (+ ?x254 ?x4455 ?x1907) ?x4507)) (= (= (+ ?x254 ?x4455 ?x1907) 0) $x8001)))) (let ((@x8953 (monotonicity (monotonicity @x8891 @x8925 (= $x4506 $x8926)) (= $x8929 (or $x3670 $x8926))))) (let ((@x8682 (mp ((_ quant-inst ?v0!20) $x8929) (trans @x8953 (rewrite (= (or $x3670 $x8926) $x8928)) (= $x8929 $x8928)) $x8928))) (let ((@x9987 (unit-resolution (unit-resolution @x8682 @x4789 $x8926) @x9985 @x9984 (hypothesis (not $x8001)) false))) (let ((@x10276 (unit-resolution (lemma @x9987 (or $x8810 $x8001)) (unit-resolution (unit-resolution @x9441 @x4803 $x8919) @x10024 $x8814) $x8001))) (let ((?x4401 (+ ?x1906 ?x3064))) (let (($x6992 (<= ?x4401 0))) (let ((?x4566 (+ ?x1906 ?x3064 ?x4456))) (let (($x6987 (= ?x4566 0))) (let (($x4590 (>= ?x4566 0))) (let ((@x9966 (unit-resolution ((_ th-lemma arith assign-bounds 1 -1) (or (not $x4527) $x4590 (not $x3906))) @x6160 (or (not $x4527) $x4590)))) (let (($x4589 (<= ?x4566 0))) (let (($x4181 (>= ?x3063 0))) (let (($x6279 (or $x3703 $x4181))) (let ((@x6374 ((_ quant-inst v_b_v_G_1$) $x6279))) (let ((@x9257 (unit-resolution @x6374 (unit-resolution (def-axiom (or $x3756 $x3698)) @x8979 $x3698) $x4181))) (let (($x4146 (fun_app$ v_b_Visited_G_2$ v_b_v_G_1$))) (let (($x3097 (fun_app$ ?x260 v_b_v_G_1$))) (let (($x3456 (forall ((?v0 B_Vertex_bool_fun$) (?v1 B_Vertex$) (?v2 Bool) )(! (= (fun_app$ (fun_upd$ ?v0 ?v1 ?v2) ?v1) ?v2) :pattern ( (fun_upd$ ?v0 ?v1 ?v2) ) :qid k!33)) )) (let (($x55 (forall ((?v0 B_Vertex_bool_fun$) (?v1 B_Vertex$) (?v2 Bool) )(! (= (fun_app$ (fun_upd$ ?v0 ?v1 ?v2) ?v1) ?v2) :qid k!33)) )) (let (($x52 (= (fun_app$ (fun_upd$ ?2 ?1 ?0) ?1) ?0))) (let (($x50 (forall ((?v0 B_Vertex_bool_fun$) (?v1 B_Vertex$) (?v2 Bool) )(! (= (fun_app$ (fun_upd$ ?v0 ?v1 ?v2) ?v1) ?v2) :qid k!33)) )) (let ((@x54 (rewrite (= (= (fun_app$ (fun_upd$ ?2 ?1 ?0) ?1) ?0) $x52)))) (let ((@x1427 (mp~ (mp (asserted $x50) (quant-intro @x54 (= $x50 $x55)) $x55) (nnf-pos (refl (~ $x52 $x52)) (~ $x55 $x55)) $x55))) (let ((@x3461 (mp @x1427 (quant-intro (refl (= $x52 $x52)) (= $x55 $x3456)) $x3456))) (let (($x4383 (or (not $x3456) $x3097))) (let ((@x4480 (monotonicity (rewrite (= (= $x3097 true) $x3097)) (= (or (not $x3456) (= $x3097 true)) $x4383)))) (let ((@x4483 (trans @x4480 (rewrite (= $x4383 $x4383)) (= (or (not $x3456) (= $x3097 true)) $x4383)))) (let ((@x4484 (mp ((_ quant-inst v_b_Visited_G_1$ v_b_v_G_1$ true) (or (not $x3456) (= $x3097 true))) @x4483 $x4383))) (let ((@x9972 (mp (unit-resolution @x4484 @x3461 $x3097) (monotonicity @x6739 (= $x3097 $x4146)) $x4146))) (let ((@x5439 (unit-resolution ((_ th-lemma arith farkas 1 1) (or $x4590 $x4589)) (hypothesis (not $x4589)) $x4590))) (let (($x4147 (not $x4146))) (let (($x5371 (or $x3720 $x4147 $x4458 $x4589))) (let ((?x5354 (+ ?x4455 ?x3063 ?x1907))) (let (($x5355 (>= ?x5354 0))) (let (($x5358 (or $x4147 $x4458 $x5355))) (let (($x5372 (or $x3720 $x5358))) (let ((@x5363 (monotonicity (rewrite (= ?x5354 (+ ?x1907 ?x3063 ?x4455))) (= $x5355 (>= (+ ?x1907 ?x3063 ?x4455) 0))))) (let ((@x5367 (trans @x5363 (rewrite (= (>= (+ ?x1907 ?x3063 ?x4455) 0) $x4589)) (= $x5355 $x4589)))) (let ((@x5376 (monotonicity (monotonicity @x5367 (= $x5358 (or $x4147 $x4458 $x4589))) (= $x5372 (or $x3720 (or $x4147 $x4458 $x4589)))))) (let ((@x5380 (trans @x5376 (rewrite (= (or $x3720 (or $x4147 $x4458 $x4589)) $x5371)) (= $x5372 $x5371)))) (let ((@x5381 (mp ((_ quant-inst ?v0!20 v_b_v_G_1$) $x5372) @x5380 $x5371))) (let ((@x5443 (unit-resolution @x5381 (hypothesis $x3715) (hypothesis $x4146) (hypothesis (not $x4589)) $x4458))) (let ((@x5447 (lemma ((_ th-lemma arith farkas 1 1 1 1) @x5443 (hypothesis $x4181) @x5439 (hypothesis $x1910) false) (or $x4589 (not $x4181) $x1909 $x3720 $x4147)))) (let ((@x9976 (unit-resolution (unit-resolution @x5447 @x9972 (or $x4589 (not $x4181) $x1909 $x3720)) @x9257 (or $x4589 $x1909 $x3720)))) (let ((@x9977 (unit-resolution @x9976 (unit-resolution (def-axiom (or $x3732 $x3715)) @x9455 $x3715) @x9475 $x4589))) (let ((@x9991 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x6987 (not $x4589) (not $x4590))) @x9977 (or $x6987 (not $x4590))))) (let ((@x9992 (unit-resolution @x9991 (unit-resolution @x9966 (hypothesis $x4527) $x4590) $x6987))) (let (($x7023 (not $x6987))) (let (($x6921 (or $x3729 $x6992 $x4147 $x7023))) (let (($x4536 (>= (+ ?x3063 ?x1907) 0))) (let (($x4548 (or $x4536 $x4147 (not (= (+ ?x3063 ?x1907 ?x4455) 0))))) (let (($x8524 (or $x3729 $x4548))) (let ((@x7245 (monotonicity (rewrite (= (+ ?x3063 ?x1907 ?x4455) (+ ?x1907 ?x3063 ?x4455))) (= (= (+ ?x3063 ?x1907 ?x4455) 0) (= (+ ?x1907 ?x3063 ?x4455) 0))))) (let ((@x7022 (trans @x7245 (rewrite (= (= (+ ?x1907 ?x3063 ?x4455) 0) $x6987)) (= (= (+ ?x3063 ?x1907 ?x4455) 0) $x6987)))) (let ((@x7049 (monotonicity (rewrite (= (+ ?x3063 ?x1907) (+ ?x1907 ?x3063))) (= $x4536 (>= (+ ?x1907 ?x3063) 0))))) (let ((@x8373 (trans @x7049 (rewrite (= (>= (+ ?x1907 ?x3063) 0) $x6992)) (= $x4536 $x6992)))) (let ((@x7936 (monotonicity @x8373 (monotonicity @x7022 (= (not (= (+ ?x3063 ?x1907 ?x4455) 0)) $x7023)) (= $x4548 (or $x6992 $x4147 $x7023))))) (let ((@x8581 (trans (monotonicity @x7936 (= $x8524 (or $x3729 (or $x6992 $x4147 $x7023)))) (rewrite (= (or $x3729 (or $x6992 $x4147 $x7023)) $x6921)) (= $x8524 $x6921)))) (let ((@x8053 (mp ((_ quant-inst v_b_v_G_1$) $x8524) @x8581 $x6921))) (let ((@x9995 (unit-resolution @x8053 (unit-resolution (def-axiom (or $x3732 $x3724)) @x9455 $x3724) @x9972 (or $x6992 $x7023)))) (let (($x5406 (<= ?x4455 0))) (let (($x5407 (not $x5406))) (let (($x5405 (= v_b_v_G_1$ ?v0!20))) (let (($x5409 (not $x5405))) (let ((@x10003 (monotonicity (symm (commutativity (= $x5405 $x5238)) (= $x5238 $x5405)) (= (not $x5238) $x5409)))) (let (($x5408 (or $x5405 $x5407))) (let (($x3099 (not $x3475))) (let (($x9955 (or $x3099 $x5405 $x5407))) (let ((@x9962 (mp ((_ quant-inst v_b_v_G_1$ ?v0!20) (or $x3099 $x5408)) (rewrite (= (or $x3099 $x5408) $x9955)) $x9955))) (let ((@x10006 (unit-resolution (unit-resolution @x9962 @x3480 $x5408) (mp (hypothesis (not $x5238)) @x10003 $x5409) $x5407))) (let ((@x10007 ((_ th-lemma arith farkas -1 -1 1 1) @x6160 @x10006 (hypothesis $x4527) (unit-resolution @x9995 @x9992 $x6992) false))) (let ((@x10279 (unit-resolution (lemma @x10007 (or (not $x4527) $x5238)) (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x8001) $x4527)) @x10276 $x4527) $x5238))) (let ((@x10164 (unit-resolution (def-axiom (or (not $x10073) $x5237 (not $x10274))) (unit-resolution (def-axiom (or $x10274 (not $x5238))) @x10279 $x10274) (or (not $x10073) $x5237)))) (unit-resolution (unit-resolution @x10164 (unit-resolution @x10020 @x3468 $x10073) $x5237) @x10120 false)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) -671dbbaa69af094b25770f7444428c704a1576bd 2983 0 -unsat -((set-logic AUFLIA) -(declare-fun ?v0!20 () B_Vertex$) -(declare-fun ?v0!19 () B_Vertex$) -(declare-fun ?v1!18 () B_Vertex$) -(declare-fun ?v0!17 () B_Vertex$) -(declare-fun ?v1!16 () B_Vertex$) -(declare-fun ?v0!15 () B_Vertex$) -(declare-fun ?v0!14 () B_Vertex$) -(declare-fun ?v0!13 () B_Vertex$) -(declare-fun ?v0!12 () B_Vertex$) -(declare-fun ?v0!11 () B_Vertex$) -(declare-fun ?v1!10 () B_Vertex$) -(declare-fun ?v1!9 (B_Vertex$) B_Vertex$) -(declare-fun ?v0!8 () B_Vertex$) -(declare-fun ?v1!7 (B_Vertex$) B_Vertex$) -(declare-fun ?v1!6 (B_Vertex$) B_Vertex$) -(declare-fun ?v0!5 () B_Vertex$) -(declare-fun ?v0!4 () B_Vertex$) -(declare-fun ?v1!3 () B_Vertex$) -(declare-fun ?v0!2 () B_Vertex$) -(declare-fun ?v1!1 () B_Vertex$) -(declare-fun ?v0!0 () B_Vertex$) -(proof -(let ((?x260 (fun_upd$ v_b_Visited_G_1$ v_b_v_G_1$ true))) -(let (($x5237 (fun_app$ ?x260 ?v0!20))) -(let (($x9037 (not $x5237))) -(let (($x261 (= v_b_Visited_G_2$ ?x260))) -(let (($x3724 (forall ((?v1 B_Vertex$) )(! (let ((?x1906 (v_b_SP_G_2$ ?v0!20))) -(let ((?x1907 (* (- 1) ?x1906))) -(let ((?x268 (v_b_SP_G_2$ ?v1))) -(let (($x2237 (= (+ ?x268 ?x1907 (b_G$ (pair$ ?v1 ?v0!20))) 0))) -(let (($x286 (fun_app$ v_b_Visited_G_2$ ?v1))) -(let (($x295 (not $x286))) -(or (>= (+ ?x268 ?x1907) 0) $x295 (not $x2237)))))))) :pattern ( (v_b_SP_G_2$ ?v1) ) :pattern ( (fun_app$ v_b_Visited_G_2$ ?v1) ) :pattern ( (pair$ ?v1 ?v0!20) ) :qid k!38)) -)) -(let (($x3729 (not $x3724))) -(let ((?x1906 (v_b_SP_G_2$ ?v0!20))) -(let ((?x1907 (* (- 1) ?x1906))) -(let ((?x1908 (+ b_Infinity$ ?x1907))) -(let (($x1909 (<= ?x1908 0))) -(let (($x1904 (= ?v0!20 b_Source$))) -(let (($x3715 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x298 (v_b_SP_G_2$ ?v0))) -(let ((?x1258 (* (- 1) ?x298))) -(let ((?x268 (v_b_SP_G_2$ ?v1))) -(let ((?x152 (b_G$ (pair$ ?v1 ?v0)))) -(let (($x1277 (>= (+ ?x152 ?x268 ?x1258) 0))) -(let (($x917 (<= (+ b_Infinity$ (* (- 1) ?x152)) 0))) -(let (($x286 (fun_app$ v_b_Visited_G_2$ ?v1))) -(let (($x295 (not $x286))) -(or $x295 $x917 $x1277))))))))) :pattern ( (pair$ ?v1 ?v0) ) :qid k!38)) -)) -(let (($x3720 (not $x3715))) -(let (($x3732 (or $x3720 $x1904 $x1909 $x3729))) -(let (($x3735 (not $x3732))) -(let ((?x1888 (v_b_SP_G_2$ ?v0!19))) -(let ((?x1889 (* (- 1) ?x1888))) -(let ((?x1887 (v_b_SP_G_2$ ?v1!18))) -(let ((?x1879 (pair$ ?v1!18 ?v0!19))) -(let ((?x1880 (b_G$ ?x1879))) -(let (($x1891 (>= (+ ?x1880 ?x1887 ?x1889) 0))) -(let (($x1883 (<= (+ b_Infinity$ (* (- 1) ?x1880)) 0))) -(let (($x1878 (fun_app$ v_b_Visited_G_2$ ?v1!18))) -(let (($x2786 (not $x1878))) -(let (($x2801 (or $x2786 $x1883 $x1891))) -(let (($x2806 (not $x2801))) -(let (($x3738 (or $x2806 $x3735))) -(let (($x3741 (not $x3738))) -(let (($x3707 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let (($x1257 (>= (+ (v_b_SP_G_2$ ?v1) (* (- 1) (v_b_SP_G_2$ ?v0))) 0))) -(let (($x296 (fun_app$ v_b_Visited_G_2$ ?v0))) -(let (($x2763 (not $x296))) -(let (($x286 (fun_app$ v_b_Visited_G_2$ ?v1))) -(or $x286 $x2763 $x1257))))) :pattern ( (v_b_SP_G_2$ ?v1) (v_b_SP_G_2$ ?v0) ) :qid k!38)) -)) -(let (($x3712 (not $x3707))) -(let (($x3744 (or $x3712 $x3741))) -(let (($x3747 (not $x3744))) -(let (($x1864 (>= (+ (v_b_SP_G_2$ ?v1!16) (* (- 1) (v_b_SP_G_2$ ?v0!17))) 0))) -(let (($x1857 (fun_app$ v_b_Visited_G_2$ ?v0!17))) -(let (($x2740 (not $x1857))) -(let (($x1855 (fun_app$ v_b_Visited_G_2$ ?v1!16))) -(let (($x2755 (or $x1855 $x2740 $x1864))) -(let (($x2760 (not $x2755))) -(let (($x3750 (or $x2760 $x3747))) -(let (($x3753 (not $x3750))) -(let (($x3698 (forall ((?v0 B_Vertex$) )(! (let ((?x268 (v_b_SP_G_2$ ?v0))) -(>= ?x268 0)) :pattern ( (v_b_SP_G_2$ ?v0) ) :qid k!38)) -)) -(let (($x3703 (not $x3698))) -(let (($x3756 (or $x3703 $x3753))) -(let (($x3759 (not $x3756))) -(let ((?x1841 (v_b_SP_G_2$ ?v0!15))) -(let (($x1842 (>= ?x1841 0))) -(let (($x1843 (not $x1842))) -(let (($x3762 (or $x1843 $x3759))) -(let (($x3765 (not $x3762))) -(let ((?x291 (v_b_SP_G_2$ b_Source$))) -(let (($x292 (= ?x291 0))) -(let (($x768 (not $x292))) -(let (($x3768 (or $x768 $x3765))) -(let (($x3771 (not $x3768))) -(let (($x3774 (or $x768 $x3771))) -(let (($x3777 (not $x3774))) -(let (($x3690 (forall ((?v0 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0))) -(let ((?x268 (v_b_SP_G_2$ ?v0))) -(let (($x273 (= ?x268 ?x171))) -(let (($x286 (fun_app$ v_b_Visited_G_2$ ?v0))) -(let (($x295 (not $x286))) -(or $x295 $x273)))))) :pattern ( (fun_app$ v_b_Visited_G_2$ ?v0) ) :pattern ( (v_b_SP_G_2$ ?v0) ) :pattern ( (fun_app$a v_b_SP_G_1$ ?v0) ) :qid k!38)) -)) -(let (($x3695 (not $x3690))) -(let (($x3780 (or $x3695 $x3777))) -(let (($x3783 (not $x3780))) -(let ((?x1822 (fun_app$a v_b_SP_G_1$ ?v0!14))) -(let ((?x1821 (v_b_SP_G_2$ ?v0!14))) -(let (($x1823 (= ?x1821 ?x1822))) -(let (($x1824 (or (not (fun_app$ v_b_Visited_G_2$ ?v0!14)) $x1823))) -(let (($x1825 (not $x1824))) -(let (($x3786 (or $x1825 $x3783))) -(let (($x3789 (not $x3786))) -(let (($x3681 (forall ((?v0 B_Vertex$) )(! (>= (+ (fun_app$a v_b_SP_G_1$ ?v0) (* (- 1) (v_b_SP_G_2$ ?v0))) 0) :pattern ( (fun_app$a v_b_SP_G_1$ ?v0) ) :pattern ( (v_b_SP_G_2$ ?v0) ) :qid k!38)) -)) -(let (($x3686 (not $x3681))) -(let (($x3792 (or $x3686 $x3789))) -(let (($x3795 (not $x3792))) -(let ((?x1804 (v_b_SP_G_2$ ?v0!13))) -(let ((?x1805 (* (- 1) ?x1804))) -(let ((?x1803 (fun_app$a v_b_SP_G_1$ ?v0!13))) -(let ((?x1806 (+ ?x1803 ?x1805))) -(let (($x1807 (>= ?x1806 0))) -(let (($x1808 (not $x1807))) -(let (($x3798 (or $x1808 $x3795))) -(let (($x3801 (not $x3798))) -(let (($x3673 (forall ((?v0 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0))) -(let ((?x268 (v_b_SP_G_2$ ?v0))) -(let (($x273 (= ?x268 ?x171))) -(let ((?x254 (fun_app$a v_b_SP_G_1$ v_b_v_G_1$))) -(let ((?x1168 (* (- 1) ?x254))) -(let (($x1170 (<= (+ ?x171 ?x1168 (* (- 1) (b_G$ (pair$ v_b_v_G_1$ ?v0)))) 0))) -(let (($x1164 (<= (+ b_Infinity$ (* (- 1) (b_G$ (pair$ v_b_v_G_1$ ?v0)))) 0))) -(let (($x2712 (or $x1164 $x1170))) -(let (($x2713 (not $x2712))) -(or $x2713 $x273)))))))))) :pattern ( (pair$ v_b_v_G_1$ ?v0) ) :pattern ( (fun_app$a v_b_SP_G_1$ ?v0) ) :pattern ( (v_b_SP_G_2$ ?v0) ) :qid k!38)) -)) -(let (($x3678 (not $x3673))) -(let (($x3665 (forall ((?v0 B_Vertex$) )(! (let ((?x268 (v_b_SP_G_2$ ?v0))) -(let ((?x1181 (* (- 1) ?x268))) -(let ((?x263 (b_G$ (pair$ v_b_v_G_1$ ?v0)))) -(let ((?x254 (fun_app$a v_b_SP_G_1$ v_b_v_G_1$))) -(let (($x1180 (= (+ ?x254 ?x263 ?x1181) 0))) -(let (($x1170 (<= (+ (fun_app$a v_b_SP_G_1$ ?v0) (* (- 1) ?x254) (* (- 1) ?x263)) 0))) -(let (($x1164 (<= (+ b_Infinity$ (* (- 1) ?x263)) 0))) -(or $x1164 $x1170 $x1180)))))))) :pattern ( (pair$ v_b_v_G_1$ ?v0) ) :pattern ( (fun_app$a v_b_SP_G_1$ ?v0) ) :pattern ( (v_b_SP_G_2$ ?v0) ) :qid k!38)) -)) -(let (($x3670 (not $x3665))) -(let (($x2930 (not $x261))) -(let (($x3655 (forall ((?v0 B_Vertex$) )(! (let ((?x254 (fun_app$a v_b_SP_G_1$ v_b_v_G_1$))) -(let ((?x1168 (* (- 1) ?x254))) -(let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0))) -(let (($x175 (fun_app$ v_b_Visited_G_1$ ?v0))) -(or $x175 (>= (+ ?x171 ?x1168) 0)))))) :pattern ( (fun_app$ v_b_Visited_G_1$ ?v0) ) :pattern ( (fun_app$a v_b_SP_G_1$ ?v0) ) :qid k!38)) -)) -(let (($x3660 (not $x3655))) -(let ((?x254 (fun_app$a v_b_SP_G_1$ v_b_v_G_1$))) -(let ((?x1168 (* (- 1) ?x254))) -(let ((?x1207 (+ b_Infinity$ ?x1168))) -(let (($x1208 (<= ?x1207 0))) -(let (($x252 (fun_app$ v_b_Visited_G_1$ v_b_v_G_1$))) -(let ((?x1770 (fun_app$a v_b_SP_G_1$ ?v0!12))) -(let ((?x1771 (* (- 1) ?x1770))) -(let ((?x1772 (+ b_Infinity$ ?x1771))) -(let (($x1773 (<= ?x1772 0))) -(let (($x1768 (fun_app$ v_b_Visited_G_1$ ?v0!12))) -(let (($x3804 (or $x1768 $x1773 $x252 $x1208 $x3660 $x2930 $x3670 $x3678 $x3801))) -(let (($x3807 (not $x3804))) -(let ((?x242 (fun_app$a v_b_SP_G_3$ b_Source$))) -(let (($x243 (= ?x242 0))) -(let (($x3617 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x227 (fun_app$a v_b_SP_G_3$ ?v1))) -(let ((?x152 (b_G$ (pair$ ?v1 ?v0)))) -(let (($x1135 (>= (+ ?x152 ?x227 (* (- 1) (fun_app$a v_b_SP_G_3$ ?v0))) 0))) -(let (($x917 (<= (+ b_Infinity$ (* (- 1) ?x152)) 0))) -(let (($x1094 (<= (+ b_Infinity$ (* (- 1) ?x227)) 0))) -(or $x1094 $x917 $x1135)))))) :pattern ( (pair$ ?v1 ?v0) ) :qid k!38)) -)) -(let (($x3622 (not $x3617))) -(let (($x3625 (or $x3622 $x243))) -(let (($x3628 (not $x3625))) -(let ((?x1729 (fun_app$a v_b_SP_G_3$ ?v0!11))) -(let ((?x1730 (* (- 1) ?x1729))) -(let ((?x1721 (pair$ ?v1!10 ?v0!11))) -(let ((?x1722 (b_G$ ?x1721))) -(let ((?x1716 (fun_app$a v_b_SP_G_3$ ?v1!10))) -(let ((?x2201 (+ ?x1716 ?x1722 ?x1730))) -(let (($x2204 (>= ?x2201 0))) -(let (($x1725 (<= (+ b_Infinity$ (* (- 1) ?x1722)) 0))) -(let (($x1719 (<= (+ b_Infinity$ (* (- 1) ?x1716)) 0))) -(let (($x2640 (or $x1719 $x1725 $x2204))) -(let (($x2645 (not $x2640))) -(let (($x3631 (or $x2645 $x3628))) -(let (($x3634 (not $x3631))) -(let (($x3609 (forall ((?v0 B_Vertex$) )(! (let ((?x227 (fun_app$a v_b_SP_G_3$ ?v0))) -(let ((?x2186 (+ ?x227 (* (- 1) (fun_app$a v_b_SP_G_3$ (?v1!9 ?v0))) (* (- 1) (b_G$ (pair$ (?v1!9 ?v0) ?v0)))))) -(let (($x2187 (= ?x2186 0))) -(let (($x2171 (<= (+ ?x227 (* (- 1) (fun_app$a v_b_SP_G_3$ (?v1!9 ?v0)))) 0))) -(let (($x2612 (not (or $x2171 (not $x2187))))) -(let (($x1094 (<= (+ b_Infinity$ (* (- 1) ?x227)) 0))) -(let (($x123 (= ?v0 b_Source$))) -(or $x123 $x1094 $x2612)))))))) :pattern ( (fun_app$a v_b_SP_G_3$ ?v0) ) :qid k!38)) -)) -(let (($x3614 (not $x3609))) -(let (($x3637 (or $x3614 $x3634))) -(let (($x3640 (not $x3637))) -(let (($x3595 (forall ((?v1 B_Vertex$) )(! (let ((?x1656 (fun_app$a v_b_SP_G_3$ ?v0!8))) -(let ((?x1657 (* (- 1) ?x1656))) -(let ((?x227 (fun_app$a v_b_SP_G_3$ ?v1))) -(let (($x2143 (= (+ ?x227 ?x1657 (b_G$ (pair$ ?v1 ?v0!8))) 0))) -(or (>= (+ ?x227 ?x1657) 0) (not $x2143)))))) :pattern ( (fun_app$a v_b_SP_G_3$ ?v1) ) :pattern ( (pair$ ?v1 ?v0!8) ) :qid k!38)) -)) -(let (($x3600 (not $x3595))) -(let (($x1659 (<= (+ b_Infinity$ (* (- 1) (fun_app$a v_b_SP_G_3$ ?v0!8))) 0))) -(let (($x1654 (= ?v0!8 b_Source$))) -(let (($x3603 (or $x1654 $x1659 $x3600))) -(let (($x3606 (not $x3603))) -(let (($x3643 (or $x3606 $x3640))) -(let (($x3646 (not $x3643))) -(let (($x217 (= v_b_oldSP_G_1$ v_b_oldSP_G_0$))) -(let (($x2704 (not $x217))) -(let (($x214 (= v_b_SP_G_3$ v_b_SP_G_1$))) -(let (($x2703 (not $x214))) -(let (($x212 (= v_b_v_G_2$ v_b_v_G_0$))) -(let (($x2702 (not $x212))) -(let (($x209 (= v_b_Visited_G_3$ v_b_Visited_G_1$))) -(let (($x2701 (not $x209))) -(let (($x3585 (forall ((?v0 B_Vertex$) )(! (let (($x997 (<= (+ b_Infinity$ (* (- 1) (fun_app$a v_b_SP_G_1$ ?v0))) 0))) -(let (($x175 (fun_app$ v_b_Visited_G_1$ ?v0))) -(or $x175 $x997))) :pattern ( (fun_app$ v_b_Visited_G_1$ ?v0) ) :pattern ( (fun_app$a v_b_SP_G_1$ ?v0) ) :qid k!38)) -)) -(let (($x3590 (not $x3585))) -(let (($x3649 (or $x3590 $x2701 $x2702 $x2703 $x2704 $x3646))) -(let (($x3652 (not $x3649))) -(let (($x3810 (or $x3652 $x3807))) -(let (($x3813 (not $x3810))) -(let (($x3576 (forall ((?v0 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0))) -(let ((?x2123 (+ ?x171 (* (- 1) (fun_app$a v_b_SP_G_1$ (?v1!7 ?v0))) (* (- 1) (b_G$ (pair$ (?v1!7 ?v0) ?v0)))))) -(let (($x2124 (= ?x2123 0))) -(let (($x2108 (<= (+ ?x171 (* (- 1) (fun_app$a v_b_SP_G_1$ (?v1!7 ?v0)))) 0))) -(let (($x2546 (not (or $x2108 (not (fun_app$ v_b_Visited_G_1$ (?v1!7 ?v0))) (not $x2124))))) -(let (($x997 (<= (+ b_Infinity$ (* (- 1) ?x171)) 0))) -(let (($x123 (= ?v0 b_Source$))) -(or $x123 $x997 $x2546)))))))) :pattern ( (fun_app$a v_b_SP_G_1$ ?v0) ) :qid k!38)) -)) -(let (($x3581 (not $x3576))) -(let (($x3568 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v1))) -(let ((?x152 (b_G$ (pair$ ?v1 ?v0)))) -(let (($x985 (>= (+ ?x152 ?x171 (* (- 1) (fun_app$a v_b_SP_G_1$ ?v0))) 0))) -(let (($x917 (<= (+ b_Infinity$ (* (- 1) ?x152)) 0))) -(let (($x175 (fun_app$ v_b_Visited_G_1$ ?v1))) -(let (($x176 (not $x175))) -(or $x176 $x917 $x985))))))) :pattern ( (pair$ ?v1 ?v0) ) :qid k!38)) -)) -(let (($x3573 (not $x3568))) -(let (($x3560 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v1))) -(let (($x1010 (>= (+ ?x171 (* (- 1) (fun_app$a v_b_SP_G_1$ ?v0))) 0))) -(let (($x175 (fun_app$ v_b_Visited_G_1$ ?v1))) -(or $x175 (not (fun_app$ v_b_Visited_G_1$ ?v0)) $x1010)))) :pattern ( (fun_app$ v_b_Visited_G_1$ ?v1) (fun_app$ v_b_Visited_G_1$ ?v0) ) :qid k!38)) -)) -(let (($x3565 (not $x3560))) -(let (($x3551 (forall ((?v0 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0))) -(>= ?x171 0)) :pattern ( (fun_app$a v_b_SP_G_1$ ?v0) ) :qid k!38)) -)) -(let (($x3556 (not $x3551))) -(let ((?x169 (fun_app$a v_b_SP_G_1$ b_Source$))) -(let (($x170 (= ?x169 0))) -(let (($x2947 (not $x170))) -(let (($x3542 (forall ((?v0 B_Vertex$) )(! (let ((?x124 (v_b_SP_G_0$ ?v0))) -(let ((?x2085 (+ ?x124 (* (- 1) (v_b_SP_G_0$ (?v1!6 ?v0))) (* (- 1) (b_G$ (pair$ (?v1!6 ?v0) ?v0)))))) -(let (($x2086 (= ?x2085 0))) -(let (($x2070 (<= (+ ?x124 (* (- 1) (v_b_SP_G_0$ (?v1!6 ?v0)))) 0))) -(let (($x2473 (not (or $x2070 (not (fun_app$ v_b_Visited_G_0$ (?v1!6 ?v0))) (not $x2086))))) -(let (($x942 (<= (+ b_Infinity$ (* (- 1) ?x124)) 0))) -(let (($x123 (= ?v0 b_Source$))) -(or $x123 $x942 $x2473)))))))) :pattern ( (v_b_SP_G_0$ ?v0) ) :qid k!38)) -)) -(let (($x3547 (not $x3542))) -(let (($x3816 (or $x3547 $x2947 $x3556 $x3565 $x3573 $x3581 $x3813))) -(let (($x3819 (not $x3816))) -(let (($x3528 (forall ((?v1 B_Vertex$) )(! (let ((?x1535 (v_b_SP_G_0$ ?v0!5))) -(let ((?x1536 (* (- 1) ?x1535))) -(let ((?x124 (v_b_SP_G_0$ ?v1))) -(let (($x133 (fun_app$ v_b_Visited_G_0$ ?v1))) -(let (($x134 (not $x133))) -(or (>= (+ ?x124 ?x1536) 0) $x134 (not (= (+ ?x124 ?x1536 (b_G$ (pair$ ?v1 ?v0!5))) 0)))))))) :pattern ( (v_b_SP_G_0$ ?v1) ) :pattern ( (fun_app$ v_b_Visited_G_0$ ?v1) ) :pattern ( (pair$ ?v1 ?v0!5) ) :qid k!38)) -)) -(let (($x3533 (not $x3528))) -(let ((?x1535 (v_b_SP_G_0$ ?v0!5))) -(let ((?x1536 (* (- 1) ?x1535))) -(let ((?x1537 (+ b_Infinity$ ?x1536))) -(let (($x1538 (<= ?x1537 0))) -(let (($x1533 (= ?v0!5 b_Source$))) -(let (($x3536 (or $x1533 $x1538 $x3533))) -(let (($x1534 (not $x1533))) -(let ((@x5072 (unit-resolution (def-axiom (or $x3536 $x1534)) (hypothesis (not $x3536)) $x1534))) -(let (($x5500 (= b_Infinity$ ?x1535))) -(let (($x6555 (not $x5500))) -(let (($x1539 (not $x1538))) -(let ((@x5027 (unit-resolution (def-axiom (or $x3536 $x1539)) (hypothesis (not $x3536)) $x1539))) -(let ((@x5583 (symm (commutativity (= $x5500 (= ?x1535 b_Infinity$))) (= (= ?x1535 b_Infinity$) $x5500)))) -(let (($x5648 (= ?x1535 b_Infinity$))) -(let (($x3488 (forall ((?v0 B_Vertex$) )(! (let (($x123 (= ?v0 b_Source$))) -(or $x123 (= (v_b_SP_G_0$ ?v0) b_Infinity$))) :pattern ( (v_b_SP_G_0$ ?v0) ) :qid k!38)) -)) -(let (($x355 (forall ((?v0 B_Vertex$) )(! (let (($x123 (= ?v0 b_Source$))) -(or $x123 (= (v_b_SP_G_0$ ?v0) b_Infinity$))) :qid k!38)) -)) -(let (($x123 (= ?0 b_Source$))) -(let (($x352 (or $x123 (= (v_b_SP_G_0$ ?0) b_Infinity$)))) -(let (($x135 (forall ((?v0 B_Vertex$) )(! (let (($x133 (fun_app$ v_b_Visited_G_0$ ?v0))) -(not $x133)) :qid k!38)) -)) -(let (($x349 (forall ((?v0 B_Vertex$) )(! (let (($x123 (= ?v0 b_Source$))) -(let (($x128 (not $x123))) -(or $x128 (= (v_b_SP_G_0$ ?v0) 0)))) :qid k!38)) -)) -(let (($x885 (and $x349 $x355 $x135))) -(let (($x1324 (forall ((?v0 B_Vertex$) )(! (let (($x1318 (exists ((?v1 B_Vertex$) )(! (let ((?x298 (v_b_SP_G_2$ ?v0))) -(let ((?x1258 (* (- 1) ?x298))) -(let ((?x268 (v_b_SP_G_2$ ?v1))) -(let ((?x152 (b_G$ (pair$ ?v1 ?v0)))) -(let (($x1301 (= (+ ?x152 ?x268 ?x1258) 0))) -(let (($x286 (fun_app$ v_b_Visited_G_2$ ?v1))) -(let (($x1257 (>= (+ ?x268 ?x1258) 0))) -(let (($x1304 (not $x1257))) -(and $x1304 $x286 $x1301))))))))) :qid k!38)) -)) -(let (($x123 (= ?v0 b_Source$))) -(let (($x128 (not $x123))) -(let (($x1295 (and $x128 (not (<= (+ b_Infinity$ (* (- 1) (v_b_SP_G_2$ ?v0))) 0))))) -(or (not $x1295) $x1318))))) :qid k!38)) -)) -(let (($x1284 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x298 (v_b_SP_G_2$ ?v0))) -(let ((?x1258 (* (- 1) ?x298))) -(let ((?x268 (v_b_SP_G_2$ ?v1))) -(let ((?x152 (b_G$ (pair$ ?v1 ?v0)))) -(let (($x1277 (>= (+ ?x152 ?x268 ?x1258) 0))) -(let (($x917 (<= (+ b_Infinity$ (* (- 1) ?x152)) 0))) -(let (($x918 (not $x917))) -(let (($x286 (fun_app$ v_b_Visited_G_2$ ?v1))) -(let (($x1271 (and $x286 $x918))) -(let (($x1274 (not $x1271))) -(or $x1274 $x1277))))))))))) :qid k!38)) -)) -(let (($x1287 (not $x1284))) -(let (($x1327 (or $x1287 $x1324))) -(let (($x1330 (and $x1284 $x1327))) -(let (($x1265 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let (($x1257 (>= (+ (v_b_SP_G_2$ ?v1) (* (- 1) (v_b_SP_G_2$ ?v0))) 0))) -(let (($x296 (fun_app$ v_b_Visited_G_2$ ?v0))) -(let (($x286 (fun_app$ v_b_Visited_G_2$ ?v1))) -(let (($x295 (not $x286))) -(let (($x297 (and $x295 $x296))) -(let (($x659 (not $x297))) -(or $x659 $x1257))))))) :qid k!38)) -)) -(let (($x1268 (not $x1265))) -(let (($x1333 (or $x1268 $x1330))) -(let (($x1336 (and $x1265 $x1333))) -(let (($x1251 (forall ((?v0 B_Vertex$) )(! (let ((?x268 (v_b_SP_G_2$ ?v0))) -(>= ?x268 0)) :qid k!38)) -)) -(let (($x1254 (not $x1251))) -(let (($x1339 (or $x1254 $x1336))) -(let (($x1342 (and $x1251 $x1339))) -(let (($x1345 (or $x768 $x1342))) -(let (($x1348 (and $x292 $x1345))) -(let (($x647 (forall ((?v0 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0))) -(let ((?x268 (v_b_SP_G_2$ ?v0))) -(let (($x273 (= ?x268 ?x171))) -(let (($x286 (fun_app$ v_b_Visited_G_2$ ?v0))) -(let (($x295 (not $x286))) -(or $x295 $x273)))))) :qid k!38)) -)) -(let (($x780 (not $x647))) -(let (($x1351 (or $x780 $x1348))) -(let (($x1354 (and $x647 $x1351))) -(let (($x1242 (forall ((?v0 B_Vertex$) )(! (>= (+ (fun_app$a v_b_SP_G_1$ ?v0) (* (- 1) (v_b_SP_G_2$ ?v0))) 0) :qid k!38)) -)) -(let (($x1245 (not $x1242))) -(let (($x1357 (or $x1245 $x1354))) -(let (($x1360 (and $x1242 $x1357))) -(let (($x1194 (forall ((?v0 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0))) -(let ((?x268 (v_b_SP_G_2$ ?v0))) -(let (($x273 (= ?x268 ?x171))) -(let ((?x254 (fun_app$a v_b_SP_G_1$ v_b_v_G_1$))) -(let ((?x1168 (* (- 1) ?x254))) -(let (($x1170 (<= (+ ?x171 ?x1168 (* (- 1) (b_G$ (pair$ v_b_v_G_1$ ?v0)))) 0))) -(let (($x1164 (<= (+ b_Infinity$ (* (- 1) (b_G$ (pair$ v_b_v_G_1$ ?v0)))) 0))) -(let (($x1174 (and (not $x1164) (not $x1170)))) -(or $x1174 $x273))))))))) :qid k!38)) -)) -(let (($x1188 (forall ((?v0 B_Vertex$) )(! (let ((?x268 (v_b_SP_G_2$ ?v0))) -(let ((?x1181 (* (- 1) ?x268))) -(let ((?x263 (b_G$ (pair$ v_b_v_G_1$ ?v0)))) -(let ((?x254 (fun_app$a v_b_SP_G_1$ v_b_v_G_1$))) -(let (($x1180 (= (+ ?x254 ?x263 ?x1181) 0))) -(let (($x1170 (<= (+ (fun_app$a v_b_SP_G_1$ ?v0) (* (- 1) ?x254) (* (- 1) ?x263)) 0))) -(let (($x1174 (and (not (<= (+ b_Infinity$ (* (- 1) ?x263)) 0)) (not $x1170)))) -(let (($x1177 (not $x1174))) -(or $x1177 $x1180))))))))) :qid k!38)) -)) -(let (($x1204 (forall ((?v0 B_Vertex$) )(! (let ((?x254 (fun_app$a v_b_SP_G_1$ v_b_v_G_1$))) -(let ((?x1168 (* (- 1) ?x254))) -(let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0))) -(let (($x175 (fun_app$ v_b_Visited_G_1$ ?v0))) -(or $x175 (>= (+ ?x171 ?x1168) 0)))))) :qid k!38)) -)) -(let (($x1209 (not $x1208))) -(let (($x253 (not $x252))) -(let (($x1075 (exists ((?v0 B_Vertex$) )(! (let (($x997 (<= (+ b_Infinity$ (* (- 1) (fun_app$a v_b_SP_G_1$ ?v0))) 0))) -(let (($x998 (not $x997))) -(let (($x175 (fun_app$ v_b_Visited_G_1$ ?v0))) -(let (($x176 (not $x175))) -(and $x176 $x998))))) :qid k!38)) -)) -(let (($x1230 (and $x1075 $x253 $x1209 $x1204 $x261 $x1188 $x1194))) -(let (($x1235 (not $x1230))) -(let (($x1363 (or $x1235 $x1360))) -(let (($x1141 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x227 (fun_app$a v_b_SP_G_3$ ?v1))) -(let ((?x152 (b_G$ (pair$ ?v1 ?v0)))) -(let (($x1135 (>= (+ ?x152 ?x227 (* (- 1) (fun_app$a v_b_SP_G_3$ ?v0))) 0))) -(let (($x917 (<= (+ b_Infinity$ (* (- 1) ?x152)) 0))) -(let (($x918 (not $x917))) -(let (($x1094 (<= (+ b_Infinity$ (* (- 1) ?x227)) 0))) -(let (($x1095 (not $x1094))) -(let (($x1129 (and $x1095 $x918))) -(let (($x1132 (not $x1129))) -(or $x1132 $x1135)))))))))) :qid k!38)) -)) -(let (($x1144 (not $x1141))) -(let (($x1147 (or $x1144 $x243))) -(let (($x1150 (and $x1141 $x1147))) -(let (($x1123 (forall ((?v0 B_Vertex$) )(! (let (($x1117 (exists ((?v1 B_Vertex$) )(! (let ((?x227 (fun_app$a v_b_SP_G_3$ ?v1))) -(let ((?x152 (b_G$ (pair$ ?v1 ?v0)))) -(and (not (>= (+ ?x227 (* (- 1) (fun_app$a v_b_SP_G_3$ ?v0))) 0)) (= (+ ?x152 ?x227 (* (- 1) (fun_app$a v_b_SP_G_3$ ?v0))) 0)))) :qid k!38)) -)) -(let (($x1094 (<= (+ b_Infinity$ (* (- 1) (fun_app$a v_b_SP_G_3$ ?v0))) 0))) -(let (($x1095 (not $x1094))) -(let (($x123 (= ?v0 b_Source$))) -(let (($x128 (not $x123))) -(let (($x1098 (and $x128 $x1095))) -(let (($x1101 (not $x1098))) -(or $x1101 $x1117)))))))) :qid k!38)) -)) -(let (($x1126 (not $x1123))) -(let (($x1153 (or $x1126 $x1150))) -(let (($x1156 (and $x1123 $x1153))) -(let (($x1078 (not $x1075))) -(let (($x1084 (and $x1078 $x209 $x212 $x214 $x217))) -(let (($x1089 (not $x1084))) -(let (($x1159 (or $x1089 $x1156))) -(let (($x1366 (and $x1159 $x1363))) -(let (($x1032 (forall ((?v0 B_Vertex$) )(! (let (($x1026 (exists ((?v1 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v1))) -(let ((?x152 (b_G$ (pair$ ?v1 ?v0)))) -(let (($x1007 (= (+ ?x152 ?x171 (* (- 1) (fun_app$a v_b_SP_G_1$ ?v0))) 0))) -(let (($x175 (fun_app$ v_b_Visited_G_1$ ?v1))) -(let (($x1010 (>= (+ ?x171 (* (- 1) (fun_app$a v_b_SP_G_1$ ?v0))) 0))) -(let (($x1012 (not $x1010))) -(and $x1012 $x175 $x1007))))))) :qid k!38)) -)) -(let (($x997 (<= (+ b_Infinity$ (* (- 1) (fun_app$a v_b_SP_G_1$ ?v0))) 0))) -(let (($x998 (not $x997))) -(let (($x123 (= ?v0 b_Source$))) -(let (($x128 (not $x123))) -(let (($x1001 (and $x128 $x998))) -(let (($x1004 (not $x1001))) -(or $x1004 $x1026)))))))) :qid k!38)) -)) -(let (($x992 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v1))) -(let ((?x152 (b_G$ (pair$ ?v1 ?v0)))) -(let (($x985 (>= (+ ?x152 ?x171 (* (- 1) (fun_app$a v_b_SP_G_1$ ?v0))) 0))) -(let (($x917 (<= (+ b_Infinity$ (* (- 1) ?x152)) 0))) -(let (($x918 (not $x917))) -(let (($x175 (fun_app$ v_b_Visited_G_1$ ?v1))) -(let (($x978 (and $x175 $x918))) -(let (($x981 (not $x978))) -(or $x981 $x985))))))))) :qid k!38)) -)) -(let (($x1040 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v1))) -(let (($x1010 (>= (+ ?x171 (* (- 1) (fun_app$a v_b_SP_G_1$ ?v0))) 0))) -(let (($x177 (fun_app$ v_b_Visited_G_1$ ?v0))) -(let (($x175 (fun_app$ v_b_Visited_G_1$ ?v1))) -(let (($x176 (not $x175))) -(let (($x178 (and $x176 $x177))) -(let (($x398 (not $x178))) -(or $x398 $x1010)))))))) :qid k!38)) -)) -(let (($x1046 (forall ((?v0 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0))) -(>= ?x171 0)) :qid k!38)) -)) -(let (($x975 (forall ((?v0 B_Vertex$) )(! (let (($x969 (exists ((?v1 B_Vertex$) )(! (let ((?x152 (b_G$ (pair$ ?v1 ?v0)))) -(let ((?x124 (v_b_SP_G_0$ ?v1))) -(let (($x952 (= (+ ?x124 (* (- 1) (v_b_SP_G_0$ ?v0)) ?x152) 0))) -(let (($x133 (fun_app$ v_b_Visited_G_0$ ?v1))) -(let (($x902 (>= (+ ?x124 (* (- 1) (v_b_SP_G_0$ ?v0))) 0))) -(let (($x955 (not $x902))) -(and $x955 $x133 $x952))))))) :qid k!38)) -)) -(let (($x123 (= ?v0 b_Source$))) -(let (($x128 (not $x123))) -(let (($x946 (and $x128 (not (<= (+ b_Infinity$ (* (- 1) (v_b_SP_G_0$ ?v0))) 0))))) -(let (($x949 (not $x946))) -(or $x949 $x969)))))) :qid k!38)) -)) -(let (($x1064 (and $x975 $x170 $x1046 $x1040 $x992 $x1032))) -(let (($x1069 (not $x1064))) -(let (($x1369 (or $x1069 $x1366))) -(let (($x1372 (and $x975 $x1369))) -(let (($x934 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x152 (b_G$ (pair$ ?v1 ?v0)))) -(let ((?x124 (v_b_SP_G_0$ ?v1))) -(let (($x928 (>= (+ ?x124 (* (- 1) (v_b_SP_G_0$ ?v0)) ?x152) 0))) -(let (($x917 (<= (+ b_Infinity$ (* (- 1) ?x152)) 0))) -(let (($x918 (not $x917))) -(let (($x133 (fun_app$ v_b_Visited_G_0$ ?v1))) -(let (($x921 (and $x133 $x918))) -(let (($x924 (not $x921))) -(or $x924 $x928))))))))) :qid k!38)) -)) -(let (($x937 (not $x934))) -(let (($x1375 (or $x937 $x1372))) -(let (($x1378 (and $x934 $x1375))) -(let (($x909 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let (($x902 (>= (+ (v_b_SP_G_0$ ?v1) (* (- 1) (v_b_SP_G_0$ ?v0))) 0))) -(let (($x133 (fun_app$ v_b_Visited_G_0$ ?v1))) -(let (($x134 (not $x133))) -(let (($x146 (and $x134 (fun_app$ v_b_Visited_G_0$ ?v0)))) -(let (($x377 (not $x146))) -(or $x377 $x902)))))) :qid k!38)) -)) -(let (($x912 (not $x909))) -(let (($x1381 (or $x912 $x1378))) -(let (($x1384 (and $x909 $x1381))) -(let (($x894 (forall ((?v0 B_Vertex$) )(! (let ((?x124 (v_b_SP_G_0$ ?v0))) -(>= ?x124 0)) :qid k!38)) -)) -(let (($x897 (not $x894))) -(let (($x1387 (or $x897 $x1384))) -(let (($x1390 (and $x894 $x1387))) -(let ((?x141 (v_b_SP_G_0$ b_Source$))) -(let (($x142 (= ?x141 0))) -(let (($x864 (not $x142))) -(let (($x1393 (or $x864 $x1390))) -(let (($x1396 (and $x142 $x1393))) -(let (($x1402 (not (or (not $x885) $x1396)))) -(let (($x315 (forall ((?v0 B_Vertex$) )(! (let (($x313 (exists ((?v1 B_Vertex$) )(! (let (($x286 (fun_app$ v_b_Visited_G_2$ ?v1))) -(let (($x311 (and $x286 (= (v_b_SP_G_2$ ?v0) (+ (v_b_SP_G_2$ ?v1) (b_G$ (pair$ ?v1 ?v0))))))) -(let ((?x298 (v_b_SP_G_2$ ?v0))) -(let ((?x268 (v_b_SP_G_2$ ?v1))) -(let (($x309 (< ?x268 ?x298))) -(and $x309 $x311)))))) :qid k!38)) -)) -(let (($x123 (= ?v0 b_Source$))) -(let (($x128 (not $x123))) -(let (($x308 (and $x128 (< (v_b_SP_G_2$ ?v0) b_Infinity$)))) -(=> $x308 $x313))))) :qid k!38)) -)) -(let (($x316 (and $x315 false))) -(let (($x317 (=> $x316 true))) -(let (($x318 (and $x315 $x317))) -(let (($x306 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x152 (b_G$ (pair$ ?v1 ?v0)))) -(let ((?x268 (v_b_SP_G_2$ ?v1))) -(let ((?x303 (+ ?x268 ?x152))) -(let ((?x298 (v_b_SP_G_2$ ?v0))) -(let (($x153 (< ?x152 b_Infinity$))) -(let (($x286 (fun_app$ v_b_Visited_G_2$ ?v1))) -(let (($x302 (and $x286 $x153))) -(=> $x302 (<= ?x298 ?x303))))))))) :qid k!38)) -)) -(let (($x319 (=> $x306 $x318))) -(let (($x301 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x268 (v_b_SP_G_2$ ?v1))) -(let ((?x298 (v_b_SP_G_2$ ?v0))) -(let (($x299 (<= ?x298 ?x268))) -(let (($x296 (fun_app$ v_b_Visited_G_2$ ?v0))) -(let (($x286 (fun_app$ v_b_Visited_G_2$ ?v1))) -(let (($x295 (not $x286))) -(let (($x297 (and $x295 $x296))) -(=> $x297 $x299)))))))) :qid k!38)) -)) -(let (($x321 (=> $x301 (and $x306 $x319)))) -(let (($x294 (forall ((?v0 B_Vertex$) )(! (let ((?x268 (v_b_SP_G_2$ ?v0))) -(<= 0 ?x268)) :qid k!38)) -)) -(let (($x323 (=> $x294 (and $x301 $x321)))) -(let (($x325 (=> $x292 (and $x294 $x323)))) -(let (($x288 (forall ((?v0 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0))) -(let ((?x268 (v_b_SP_G_2$ ?v0))) -(let (($x273 (= ?x268 ?x171))) -(let (($x286 (fun_app$ v_b_Visited_G_2$ ?v0))) -(=> $x286 $x273))))) :qid k!38)) -)) -(let (($x290 (and $x288 (and true true)))) -(let (($x327 (=> $x290 (and $x292 $x325)))) -(let (($x285 (forall ((?v0 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0))) -(let ((?x268 (v_b_SP_G_2$ ?v0))) -(<= ?x268 ?x171))) :qid k!38)) -)) -(let (($x329 (=> $x285 (and $x288 $x327)))) -(let (($x275 (forall ((?v0 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0))) -(let ((?x268 (v_b_SP_G_2$ ?v0))) -(let (($x273 (= ?x268 ?x171))) -(let ((?x263 (b_G$ (pair$ v_b_v_G_1$ ?v0)))) -(let ((?x254 (fun_app$a v_b_SP_G_1$ v_b_v_G_1$))) -(let ((?x265 (+ ?x254 ?x263))) -(let (($x267 (and (< ?x263 b_Infinity$) (< ?x265 ?x171)))) -(let (($x272 (not $x267))) -(=> $x272 $x273))))))))) :qid k!38)) -)) -(let (($x271 (forall ((?v0 B_Vertex$) )(! (let ((?x263 (b_G$ (pair$ v_b_v_G_1$ ?v0)))) -(let ((?x254 (fun_app$a v_b_SP_G_1$ v_b_v_G_1$))) -(let ((?x265 (+ ?x254 ?x263))) -(let ((?x268 (v_b_SP_G_2$ ?v0))) -(let (($x269 (= ?x268 ?x265))) -(let (($x267 (and (< ?x263 b_Infinity$) (< ?x265 (fun_app$a v_b_SP_G_1$ ?v0))))) -(=> $x267 $x269))))))) :qid k!38)) -)) -(let (($x258 (forall ((?v0 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0))) -(let ((?x254 (fun_app$a v_b_SP_G_1$ v_b_v_G_1$))) -(let (($x256 (<= ?x254 ?x171))) -(let (($x175 (fun_app$ v_b_Visited_G_1$ ?v0))) -(let (($x176 (not $x175))) -(=> $x176 $x256)))))) :qid k!38)) -)) -(let (($x255 (< ?x254 b_Infinity$))) -(let (($x206 (exists ((?v0 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0))) -(let (($x188 (< ?x171 b_Infinity$))) -(let (($x175 (fun_app$ v_b_Visited_G_1$ ?v0))) -(let (($x176 (not $x175))) -(and $x176 $x188))))) :qid k!38)) -)) -(let (($x281 (and $x206 (and $x253 (and $x255 (and $x258 (and $x261 (and $x271 $x275)))))))) -(let (($x282 (and true $x281))) -(let (($x283 (and true $x282))) -(let (($x331 (=> $x283 (and $x285 $x329)))) -(let (($x245 (and $x243 (=> $x243 true)))) -(let (($x241 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x152 (b_G$ (pair$ ?v1 ?v0)))) -(let ((?x227 (fun_app$a v_b_SP_G_3$ ?v1))) -(let ((?x232 (+ ?x227 ?x152))) -(let ((?x230 (fun_app$a v_b_SP_G_3$ ?v0))) -(let (($x153 (< ?x152 b_Infinity$))) -(let (($x228 (< ?x227 b_Infinity$))) -(let (($x238 (and $x228 $x153))) -(=> $x238 (<= ?x230 ?x232))))))))) :qid k!38)) -)) -(let (($x246 (=> $x241 $x245))) -(let (($x237 (forall ((?v0 B_Vertex$) )(! (let (($x235 (exists ((?v1 B_Vertex$) )(! (let ((?x152 (b_G$ (pair$ ?v1 ?v0)))) -(let ((?x227 (fun_app$a v_b_SP_G_3$ ?v1))) -(let ((?x232 (+ ?x227 ?x152))) -(let ((?x230 (fun_app$a v_b_SP_G_3$ ?v0))) -(let (($x231 (< ?x227 ?x230))) -(and $x231 (= ?x230 ?x232))))))) :qid k!38)) -)) -(let ((?x227 (fun_app$a v_b_SP_G_3$ ?v0))) -(let (($x228 (< ?x227 b_Infinity$))) -(let (($x123 (= ?v0 b_Source$))) -(let (($x128 (not $x123))) -(let (($x229 (and $x128 $x228))) -(=> $x229 $x235))))))) :qid k!38)) -)) -(let (($x248 (=> $x237 (and $x241 $x246)))) -(let (($x222 (and true (and $x209 (and $x212 (and $x214 (and $x217 true))))))) -(let (($x223 (and true $x222))) -(let (($x207 (not $x206))) -(let (($x225 (and true (and $x207 $x223)))) -(let (($x226 (and true $x225))) -(let (($x250 (=> $x226 (and $x237 $x248)))) -(let (($x196 (forall ((?v0 B_Vertex$) )(! (let (($x194 (exists ((?v1 B_Vertex$) )(! (let ((?x152 (b_G$ (pair$ ?v1 ?v0)))) -(let ((?x171 (fun_app$a v_b_SP_G_1$ ?v1))) -(let ((?x184 (+ ?x171 ?x152))) -(let ((?x179 (fun_app$a v_b_SP_G_1$ ?v0))) -(let (($x175 (fun_app$ v_b_Visited_G_1$ ?v1))) -(let (($x190 (< ?x171 ?x179))) -(and $x190 (and $x175 (= ?x179 ?x184))))))))) :qid k!38)) -)) -(let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0))) -(let (($x188 (< ?x171 b_Infinity$))) -(let (($x123 (= ?v0 b_Source$))) -(let (($x128 (not $x123))) -(let (($x189 (and $x128 $x188))) -(=> $x189 $x194))))))) :qid k!38)) -)) -(let (($x197 (and $x196 true))) -(let (($x187 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x152 (b_G$ (pair$ ?v1 ?v0)))) -(let ((?x171 (fun_app$a v_b_SP_G_1$ ?v1))) -(let ((?x184 (+ ?x171 ?x152))) -(let ((?x179 (fun_app$a v_b_SP_G_1$ ?v0))) -(let (($x153 (< ?x152 b_Infinity$))) -(let (($x175 (fun_app$ v_b_Visited_G_1$ ?v1))) -(let (($x183 (and $x175 $x153))) -(=> $x183 (<= ?x179 ?x184))))))))) :qid k!38)) -)) -(let (($x182 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v1))) -(let ((?x179 (fun_app$a v_b_SP_G_1$ ?v0))) -(let (($x180 (<= ?x179 ?x171))) -(let (($x177 (fun_app$ v_b_Visited_G_1$ ?v0))) -(let (($x175 (fun_app$ v_b_Visited_G_1$ ?v1))) -(let (($x176 (not $x175))) -(let (($x178 (and $x176 $x177))) -(=> $x178 $x180)))))))) :qid k!38)) -)) -(let (($x173 (forall ((?v0 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0))) -(<= 0 ?x171)) :qid k!38)) -)) -(let (($x202 (and true (and $x170 (and $x173 (and $x182 (and $x187 $x197))))))) -(let (($x203 (and true $x202))) -(let (($x167 (forall ((?v0 B_Vertex$) )(! (let (($x165 (exists ((?v1 B_Vertex$) )(! (let (($x133 (fun_app$ v_b_Visited_G_0$ ?v1))) -(let (($x163 (and $x133 (= (v_b_SP_G_0$ ?v0) (+ (v_b_SP_G_0$ ?v1) (b_G$ (pair$ ?v1 ?v0))))))) -(and (< (v_b_SP_G_0$ ?v1) (v_b_SP_G_0$ ?v0)) $x163))) :qid k!38)) -)) -(let (($x123 (= ?v0 b_Source$))) -(let (($x128 (not $x123))) -(let (($x160 (and $x128 (< (v_b_SP_G_0$ ?v0) b_Infinity$)))) -(=> $x160 $x165))))) :qid k!38)) -)) -(let (($x333 (=> (and $x167 $x203) (and $x250 $x331)))) -(let (($x158 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x147 (v_b_SP_G_0$ ?v0))) -(let (($x156 (<= ?x147 (+ (v_b_SP_G_0$ ?v1) (b_G$ (pair$ ?v1 ?v0)))))) -(let ((?x152 (b_G$ (pair$ ?v1 ?v0)))) -(let (($x153 (< ?x152 b_Infinity$))) -(let (($x133 (fun_app$ v_b_Visited_G_0$ ?v1))) -(let (($x154 (and $x133 $x153))) -(=> $x154 $x156))))))) :qid k!38)) -)) -(let (($x335 (=> $x158 (and $x167 $x333)))) -(let (($x150 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x124 (v_b_SP_G_0$ ?v1))) -(let ((?x147 (v_b_SP_G_0$ ?v0))) -(let (($x148 (<= ?x147 ?x124))) -(let (($x133 (fun_app$ v_b_Visited_G_0$ ?v1))) -(let (($x134 (not $x133))) -(let (($x146 (and $x134 (fun_app$ v_b_Visited_G_0$ ?v0)))) -(=> $x146 $x148))))))) :qid k!38)) -)) -(let (($x337 (=> $x150 (and $x158 $x335)))) -(let (($x144 (forall ((?v0 B_Vertex$) )(! (let ((?x124 (v_b_SP_G_0$ ?v0))) -(<= 0 ?x124)) :qid k!38)) -)) -(let (($x339 (=> $x144 (and $x150 $x337)))) -(let (($x341 (=> $x142 (and $x144 $x339)))) -(let (($x131 (forall ((?v0 B_Vertex$) )(! (let (($x123 (= ?v0 b_Source$))) -(let (($x128 (not $x123))) -(=> $x128 (= (v_b_SP_G_0$ ?v0) b_Infinity$)))) :qid k!38)) -)) -(let (($x127 (forall ((?v0 B_Vertex$) )(! (let (($x123 (= ?v0 b_Source$))) -(=> $x123 (= (v_b_SP_G_0$ ?v0) 0))) :qid k!38)) -)) -(let (($x139 (and true (and $x127 (and $x131 (and $x135 true)))))) -(let (($x140 (and true $x139))) -(let (($x343 (=> $x140 (and $x142 $x341)))) -(let (($x344 (not $x343))) -(let (($x705 (forall ((?v0 B_Vertex$) )(! (let (($x693 (exists ((?v1 B_Vertex$) )(! (let ((?x268 (v_b_SP_G_2$ ?v1))) -(let ((?x152 (b_G$ (pair$ ?v1 ?v0)))) -(let ((?x666 (+ ?x152 ?x268))) -(let ((?x298 (v_b_SP_G_2$ ?v0))) -(let (($x684 (= ?x298 ?x666))) -(let (($x286 (fun_app$ v_b_Visited_G_2$ ?v1))) -(let (($x687 (and $x286 $x684))) -(let (($x309 (< ?x268 ?x298))) -(and $x309 $x687))))))))) :qid k!38)) -)) -(let (($x123 (= ?v0 b_Source$))) -(let (($x128 (not $x123))) -(let (($x308 (and $x128 (< (v_b_SP_G_2$ ?v0) b_Infinity$)))) -(or (not $x308) $x693))))) :qid k!38)) -)) -(let (($x681 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x268 (v_b_SP_G_2$ ?v1))) -(let ((?x152 (b_G$ (pair$ ?v1 ?v0)))) -(let ((?x666 (+ ?x152 ?x268))) -(let ((?x298 (v_b_SP_G_2$ ?v0))) -(let (($x669 (<= ?x298 ?x666))) -(or (not (and (fun_app$ v_b_Visited_G_2$ ?v1) (< ?x152 b_Infinity$))) $x669)))))) :qid k!38)) -)) -(let (($x733 (or (not $x681) $x705))) -(let (($x738 (and $x681 $x733))) -(let (($x663 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x268 (v_b_SP_G_2$ ?v1))) -(let ((?x298 (v_b_SP_G_2$ ?v0))) -(let (($x299 (<= ?x298 ?x268))) -(let (($x296 (fun_app$ v_b_Visited_G_2$ ?v0))) -(let (($x286 (fun_app$ v_b_Visited_G_2$ ?v1))) -(let (($x295 (not $x286))) -(let (($x297 (and $x295 $x296))) -(let (($x659 (not $x297))) -(or $x659 $x299))))))))) :qid k!38)) -)) -(let (($x745 (or (not $x663) $x738))) -(let (($x750 (and $x663 $x745))) -(let (($x757 (or (not $x294) $x750))) -(let (($x762 (and $x294 $x757))) -(let (($x769 (or $x768 $x762))) -(let (($x774 (and $x292 $x769))) -(let (($x781 (or $x780 $x774))) -(let (($x786 (and $x647 $x781))) -(let (($x793 (or (not $x285) $x786))) -(let (($x798 (and $x285 $x793))) -(let (($x612 (forall ((?v0 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0))) -(let ((?x268 (v_b_SP_G_2$ ?v0))) -(let (($x273 (= ?x268 ?x171))) -(let ((?x263 (b_G$ (pair$ v_b_v_G_1$ ?v0)))) -(let ((?x254 (fun_app$a v_b_SP_G_1$ v_b_v_G_1$))) -(let ((?x265 (+ ?x254 ?x263))) -(let (($x267 (and (< ?x263 b_Infinity$) (< ?x265 ?x171)))) -(or $x267 $x273)))))))) :qid k!38)) -)) -(let (($x606 (forall ((?v0 B_Vertex$) )(! (let ((?x263 (b_G$ (pair$ v_b_v_G_1$ ?v0)))) -(let ((?x254 (fun_app$a v_b_SP_G_1$ v_b_v_G_1$))) -(let ((?x265 (+ ?x254 ?x263))) -(let ((?x268 (v_b_SP_G_2$ ?v0))) -(let (($x269 (= ?x268 ?x265))) -(let (($x267 (and (< ?x263 b_Infinity$) (< ?x265 (fun_app$a v_b_SP_G_1$ ?v0))))) -(let (($x272 (not $x267))) -(or $x272 $x269)))))))) :qid k!38)) -)) -(let (($x615 (and $x606 $x612))) -(let (($x618 (and $x261 $x615))) -(let (($x600 (forall ((?v0 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0))) -(let ((?x254 (fun_app$a v_b_SP_G_1$ v_b_v_G_1$))) -(let (($x256 (<= ?x254 ?x171))) -(let (($x175 (fun_app$ v_b_Visited_G_1$ ?v0))) -(or $x175 $x256))))) :qid k!38)) -)) -(let (($x621 (and $x600 $x618))) -(let (($x624 (and $x255 $x621))) -(let (($x627 (and $x253 $x624))) -(let (($x630 (and $x206 $x627))) -(let (($x805 (or (not $x630) $x798))) -(let (($x552 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x227 (fun_app$a v_b_SP_G_3$ ?v1))) -(let ((?x152 (b_G$ (pair$ ?v1 ?v0)))) -(let ((?x516 (+ ?x152 ?x227))) -(let ((?x230 (fun_app$a v_b_SP_G_3$ ?v0))) -(let (($x540 (<= ?x230 ?x516))) -(or (not (and (< ?x227 b_Infinity$) (< ?x152 b_Infinity$))) $x540)))))) :qid k!38)) -)) -(let (($x568 (or (not $x552) $x243))) -(let (($x573 (and $x552 $x568))) -(let (($x537 (forall ((?v0 B_Vertex$) )(! (let (($x525 (exists ((?v1 B_Vertex$) )(! (let ((?x227 (fun_app$a v_b_SP_G_3$ ?v1))) -(let ((?x152 (b_G$ (pair$ ?v1 ?v0)))) -(let ((?x516 (+ ?x152 ?x227))) -(let ((?x230 (fun_app$a v_b_SP_G_3$ ?v0))) -(let (($x519 (= ?x230 ?x516))) -(let (($x231 (< ?x227 ?x230))) -(and $x231 $x519))))))) :qid k!38)) -)) -(let ((?x227 (fun_app$a v_b_SP_G_3$ ?v0))) -(let (($x228 (< ?x227 b_Infinity$))) -(let (($x123 (= ?v0 b_Source$))) -(let (($x128 (not $x123))) -(let (($x229 (and $x128 $x228))) -(or (not $x229) $x525))))))) :qid k!38)) -)) -(let (($x580 (or (not $x537) $x573))) -(let (($x585 (and $x537 $x580))) -(let (($x592 (or (not (and $x207 (and $x209 (and $x212 (and $x214 $x217))))) $x585))) -(let (($x810 (and $x592 $x805))) -(let (($x444 (forall ((?v0 B_Vertex$) )(! (let (($x432 (exists ((?v1 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v1))) -(let ((?x152 (b_G$ (pair$ ?v1 ?v0)))) -(let ((?x405 (+ ?x152 ?x171))) -(let ((?x179 (fun_app$a v_b_SP_G_1$ ?v0))) -(let (($x423 (= ?x179 ?x405))) -(let (($x175 (fun_app$ v_b_Visited_G_1$ ?v1))) -(let (($x426 (and $x175 $x423))) -(let (($x190 (< ?x171 ?x179))) -(and $x190 $x426))))))))) :qid k!38)) -)) -(let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0))) -(let (($x188 (< ?x171 b_Infinity$))) -(let (($x123 (= ?v0 b_Source$))) -(let (($x128 (not $x123))) -(let (($x189 (and $x128 $x188))) -(or (not $x189) $x432))))))) :qid k!38)) -)) -(let (($x420 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v1))) -(let ((?x152 (b_G$ (pair$ ?v1 ?v0)))) -(let ((?x405 (+ ?x152 ?x171))) -(let ((?x179 (fun_app$a v_b_SP_G_1$ ?v0))) -(let (($x408 (<= ?x179 ?x405))) -(or (not (and (fun_app$ v_b_Visited_G_1$ ?v1) (< ?x152 b_Infinity$))) $x408)))))) :qid k!38)) -)) -(let (($x454 (and $x420 $x444))) -(let (($x402 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v1))) -(let ((?x179 (fun_app$a v_b_SP_G_1$ ?v0))) -(let (($x180 (<= ?x179 ?x171))) -(let (($x177 (fun_app$ v_b_Visited_G_1$ ?v0))) -(let (($x175 (fun_app$ v_b_Visited_G_1$ ?v1))) -(let (($x176 (not $x175))) -(let (($x178 (and $x176 $x177))) -(let (($x398 (not $x178))) -(or $x398 $x180))))))))) :qid k!38)) -)) -(let (($x457 (and $x402 $x454))) -(let (($x460 (and $x173 $x457))) -(let (($x463 (and $x170 $x460))) -(let (($x395 (forall ((?v0 B_Vertex$) )(! (let (($x165 (exists ((?v1 B_Vertex$) )(! (let (($x133 (fun_app$ v_b_Visited_G_0$ ?v1))) -(let (($x163 (and $x133 (= (v_b_SP_G_0$ ?v0) (+ (v_b_SP_G_0$ ?v1) (b_G$ (pair$ ?v1 ?v0))))))) -(and (< (v_b_SP_G_0$ ?v1) (v_b_SP_G_0$ ?v0)) $x163))) :qid k!38)) -)) -(let (($x123 (= ?v0 b_Source$))) -(let (($x128 (not $x123))) -(let (($x160 (and $x128 (< (v_b_SP_G_0$ ?v0) b_Infinity$)))) -(or (not $x160) $x165))))) :qid k!38)) -)) -(let (($x477 (and $x395 $x463))) -(let (($x817 (or (not $x477) $x810))) -(let (($x822 (and $x395 $x817))) -(let (($x388 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x147 (v_b_SP_G_0$ ?v0))) -(let (($x156 (<= ?x147 (+ (v_b_SP_G_0$ ?v1) (b_G$ (pair$ ?v1 ?v0)))))) -(let ((?x152 (b_G$ (pair$ ?v1 ?v0)))) -(let (($x153 (< ?x152 b_Infinity$))) -(let (($x133 (fun_app$ v_b_Visited_G_0$ ?v1))) -(let (($x154 (and $x133 $x153))) -(or (not $x154) $x156))))))) :qid k!38)) -)) -(let (($x829 (or (not $x388) $x822))) -(let (($x834 (and $x388 $x829))) -(let (($x381 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x124 (v_b_SP_G_0$ ?v1))) -(let ((?x147 (v_b_SP_G_0$ ?v0))) -(let (($x148 (<= ?x147 ?x124))) -(let (($x133 (fun_app$ v_b_Visited_G_0$ ?v1))) -(let (($x134 (not $x133))) -(let (($x146 (and $x134 (fun_app$ v_b_Visited_G_0$ ?v0)))) -(let (($x377 (not $x146))) -(or $x377 $x148)))))))) :qid k!38)) -)) -(let (($x841 (or (not $x381) $x834))) -(let (($x846 (and $x381 $x841))) -(let (($x853 (or (not $x144) $x846))) -(let (($x858 (and $x144 $x853))) -(let (($x865 (or $x864 $x858))) -(let (($x870 (and $x142 $x865))) -(let (($x877 (or (not (and $x349 (and $x355 $x135))) $x870))) -(let (($x1318 (exists ((?v1 B_Vertex$) )(! (let ((?x298 (v_b_SP_G_2$ ?0))) -(let ((?x1258 (* (- 1) ?x298))) -(let ((?x268 (v_b_SP_G_2$ ?v1))) -(let ((?x152 (b_G$ (pair$ ?v1 ?0)))) -(let (($x1301 (= (+ ?x152 ?x268 ?x1258) 0))) -(let (($x286 (fun_app$ v_b_Visited_G_2$ ?v1))) -(let (($x1257 (>= (+ ?x268 ?x1258) 0))) -(let (($x1304 (not $x1257))) -(and $x1304 $x286 $x1301))))))))) :qid k!38)) -)) -(let (($x128 (not $x123))) -(let (($x1295 (and $x128 (not (<= (+ b_Infinity$ (* (- 1) (v_b_SP_G_2$ ?0))) 0))))) -(let (($x693 (exists ((?v1 B_Vertex$) )(! (let ((?x268 (v_b_SP_G_2$ ?v1))) -(let ((?x152 (b_G$ (pair$ ?v1 ?0)))) -(let ((?x666 (+ ?x152 ?x268))) -(let ((?x298 (v_b_SP_G_2$ ?0))) -(let (($x684 (= ?x298 ?x666))) -(let (($x286 (fun_app$ v_b_Visited_G_2$ ?v1))) -(let (($x687 (and $x286 $x684))) -(let (($x309 (< ?x268 ?x298))) -(and $x309 $x687))))))))) :qid k!38)) -)) -(let (($x700 (or (not (and $x128 (< (v_b_SP_G_2$ ?0) b_Infinity$))) $x693))) -(let ((?x298 (v_b_SP_G_2$ ?1))) -(let ((?x1258 (* (- 1) ?x298))) -(let ((?x268 (v_b_SP_G_2$ ?0))) -(let ((?x152 (b_G$ (pair$ ?0 ?1)))) -(let (($x1301 (= (+ ?x152 ?x268 ?x1258) 0))) -(let (($x286 (fun_app$ v_b_Visited_G_2$ ?0))) -(let (($x1257 (>= (+ ?x268 ?x1258) 0))) -(let (($x1304 (not $x1257))) -(let (($x1313 (and $x1304 $x286 $x1301))) -(let ((?x666 (+ ?x152 ?x268))) -(let (($x684 (= ?x298 ?x666))) -(let (($x687 (and $x286 $x684))) -(let (($x309 (< ?x268 ?x298))) -(let (($x690 (and $x309 $x687))) -(let ((@x1312 (monotonicity (rewrite (= $x309 $x1304)) (monotonicity (rewrite (= $x684 $x1301)) (= $x687 (and $x286 $x1301))) (= $x690 (and $x1304 (and $x286 $x1301)))))) -(let ((@x1317 (trans @x1312 (rewrite (= (and $x1304 (and $x286 $x1301)) $x1313)) (= $x690 $x1313)))) -(let (($x1293 (= (< ?x268 b_Infinity$) (not (<= (+ b_Infinity$ (* (- 1) ?x268)) 0))))) -(let ((@x1297 (monotonicity (rewrite $x1293) (= (and $x128 (< ?x268 b_Infinity$)) $x1295)))) -(let ((@x1300 (monotonicity @x1297 (= (not (and $x128 (< ?x268 b_Infinity$))) (not $x1295))))) -(let ((@x1323 (monotonicity @x1300 (quant-intro @x1317 (= $x693 $x1318)) (= $x700 (or (not $x1295) $x1318))))) -(let (($x1277 (>= (+ ?x152 ?x268 ?x1258) 0))) -(let (($x917 (<= (+ b_Infinity$ (* (- 1) ?x152)) 0))) -(let (($x918 (not $x917))) -(let (($x1271 (and $x286 $x918))) -(let (($x1274 (not $x1271))) -(let (($x1281 (or $x1274 $x1277))) -(let (($x669 (<= ?x298 ?x666))) -(let (($x676 (or (not (and $x286 (< ?x152 b_Infinity$))) $x669))) -(let ((@x920 (rewrite (= (< ?x152 b_Infinity$) $x918)))) -(let ((@x1276 (monotonicity (monotonicity @x920 (= (and $x286 (< ?x152 b_Infinity$)) $x1271)) (= (not (and $x286 (< ?x152 b_Infinity$))) $x1274)))) -(let ((@x1286 (quant-intro (monotonicity @x1276 (rewrite (= $x669 $x1277)) (= $x676 $x1281)) (= $x681 $x1284)))) -(let ((@x1329 (monotonicity (monotonicity @x1286 (= (not $x681) $x1287)) (quant-intro @x1323 (= $x705 $x1324)) (= $x733 $x1327)))) -(let (($x296 (fun_app$ v_b_Visited_G_2$ ?1))) -(let (($x295 (not $x286))) -(let (($x297 (and $x295 $x296))) -(let (($x659 (not $x297))) -(let (($x1262 (or $x659 $x1257))) -(let (($x299 (<= ?x298 ?x268))) -(let (($x660 (or $x659 $x299))) -(let ((@x1267 (quant-intro (monotonicity (rewrite (= $x299 $x1257)) (= $x660 $x1262)) (= $x663 $x1265)))) -(let ((@x1335 (monotonicity (monotonicity @x1267 (= (not $x663) $x1268)) (monotonicity @x1286 @x1329 (= $x738 $x1330)) (= $x745 $x1333)))) -(let ((@x1253 (quant-intro (rewrite (= (<= 0 ?x268) (>= ?x268 0))) (= $x294 $x1251)))) -(let ((@x1341 (monotonicity (monotonicity @x1253 (= (not $x294) $x1254)) (monotonicity @x1267 @x1335 (= $x750 $x1336)) (= $x757 $x1339)))) -(let ((@x1347 (monotonicity (monotonicity @x1253 @x1341 (= $x762 $x1342)) (= $x769 $x1345)))) -(let ((@x1356 (monotonicity (monotonicity (monotonicity @x1347 (= $x774 $x1348)) (= $x781 $x1351)) (= $x786 $x1354)))) -(let (($x1238 (>= (+ (fun_app$a v_b_SP_G_1$ ?0) (* (- 1) ?x268)) 0))) -(let ((@x1244 (quant-intro (rewrite (= (<= ?x268 (fun_app$a v_b_SP_G_1$ ?0)) $x1238)) (= $x285 $x1242)))) -(let ((@x1359 (monotonicity (monotonicity @x1244 (= (not $x285) $x1245)) @x1356 (= $x793 $x1357)))) -(let (($x1227 (and $x1075 (and $x253 (and $x1209 (and $x1204 (and $x261 (and $x1188 $x1194)))))))) -(let (($x1225 (= $x627 (and $x253 (and $x1209 (and $x1204 (and $x261 (and $x1188 $x1194)))))))) -(let ((?x171 (fun_app$a v_b_SP_G_1$ ?0))) -(let (($x273 (= ?x268 ?x171))) -(let (($x1170 (<= (+ ?x171 ?x1168 (* (- 1) (b_G$ (pair$ v_b_v_G_1$ ?0)))) 0))) -(let (($x1164 (<= (+ b_Infinity$ (* (- 1) (b_G$ (pair$ v_b_v_G_1$ ?0)))) 0))) -(let (($x1174 (and (not $x1164) (not $x1170)))) -(let (($x1191 (or $x1174 $x273))) -(let (($x267 (and (< (b_G$ (pair$ v_b_v_G_1$ ?0)) b_Infinity$) (< (+ ?x254 (b_G$ (pair$ v_b_v_G_1$ ?0))) ?x171)))) -(let (($x609 (or $x267 $x273))) -(let ((@x1173 (rewrite (= (< (+ ?x254 (b_G$ (pair$ v_b_v_G_1$ ?0))) ?x171) (not $x1170))))) -(let ((@x1167 (rewrite (= (< (b_G$ (pair$ v_b_v_G_1$ ?0)) b_Infinity$) (not $x1164))))) -(let ((@x1193 (monotonicity (monotonicity @x1167 @x1173 (= $x267 $x1174)) (= $x609 $x1191)))) -(let (($x1180 (= (+ ?x254 (b_G$ (pair$ v_b_v_G_1$ ?0)) (* (- 1) ?x268)) 0))) -(let (($x1177 (not $x1174))) -(let (($x1185 (or $x1177 $x1180))) -(let ((?x263 (b_G$ (pair$ v_b_v_G_1$ ?0)))) -(let ((?x265 (+ ?x254 ?x263))) -(let (($x269 (= ?x268 ?x265))) -(let (($x272 (not $x267))) -(let (($x603 (or $x272 $x269))) -(let ((@x1179 (monotonicity (monotonicity @x1167 @x1173 (= $x267 $x1174)) (= $x272 $x1177)))) -(let ((@x1190 (quant-intro (monotonicity @x1179 (rewrite (= $x269 $x1180)) (= $x603 $x1185)) (= $x606 $x1188)))) -(let ((@x1214 (monotonicity @x1190 (quant-intro @x1193 (= $x612 $x1194)) (= $x615 (and $x1188 $x1194))))) -(let (($x175 (fun_app$ v_b_Visited_G_1$ ?0))) -(let (($x1201 (or $x175 (>= (+ ?x171 ?x1168) 0)))) -(let (($x256 (<= ?x254 ?x171))) -(let (($x597 (or $x175 $x256))) -(let ((@x1203 (monotonicity (rewrite (= $x256 (>= (+ ?x171 ?x1168) 0))) (= $x597 $x1201)))) -(let ((@x1220 (monotonicity (quant-intro @x1203 (= $x600 $x1204)) (monotonicity @x1214 (= $x618 (and $x261 (and $x1188 $x1194)))) (= $x621 (and $x1204 (and $x261 (and $x1188 $x1194))))))) -(let ((@x1223 (monotonicity (rewrite (= $x255 $x1209)) @x1220 (= $x624 (and $x1209 (and $x1204 (and $x261 (and $x1188 $x1194)))))))) -(let (($x997 (<= (+ b_Infinity$ (* (- 1) ?x171)) 0))) -(let (($x998 (not $x997))) -(let (($x176 (not $x175))) -(let (($x1072 (and $x176 $x998))) -(let ((@x1074 (monotonicity (rewrite (= (< ?x171 b_Infinity$) $x998)) (= (and $x176 (< ?x171 b_Infinity$)) $x1072)))) -(let ((@x1229 (monotonicity (quant-intro @x1074 (= $x206 $x1075)) (monotonicity @x1223 $x1225) (= $x630 $x1227)))) -(let ((@x1237 (monotonicity (trans @x1229 (rewrite (= $x1227 $x1230)) (= $x630 $x1230)) (= (not $x630) $x1235)))) -(let ((@x1365 (monotonicity @x1237 (monotonicity @x1244 @x1359 (= $x798 $x1360)) (= $x805 $x1363)))) -(let ((?x227 (fun_app$a v_b_SP_G_3$ ?0))) -(let (($x1135 (>= (+ ?x152 ?x227 (* (- 1) (fun_app$a v_b_SP_G_3$ ?1))) 0))) -(let (($x1094 (<= (+ b_Infinity$ (* (- 1) ?x227)) 0))) -(let (($x1095 (not $x1094))) -(let (($x1129 (and $x1095 $x918))) -(let (($x1132 (not $x1129))) -(let (($x1138 (or $x1132 $x1135))) -(let ((?x516 (+ ?x152 ?x227))) -(let ((?x230 (fun_app$a v_b_SP_G_3$ ?1))) -(let (($x540 (<= ?x230 ?x516))) -(let (($x547 (or (not (and (< ?x227 b_Infinity$) (< ?x152 b_Infinity$))) $x540))) -(let ((@x1131 (monotonicity (rewrite (= (< ?x227 b_Infinity$) $x1095)) @x920 (= (and (< ?x227 b_Infinity$) (< ?x152 b_Infinity$)) $x1129)))) -(let ((@x1134 (monotonicity @x1131 (= (not (and (< ?x227 b_Infinity$) (< ?x152 b_Infinity$))) $x1132)))) -(let ((@x1143 (quant-intro (monotonicity @x1134 (rewrite (= $x540 $x1135)) (= $x547 $x1138)) (= $x552 $x1141)))) -(let ((@x1149 (monotonicity (monotonicity @x1143 (= (not $x552) $x1144)) (= $x568 $x1147)))) -(let (($x1117 (exists ((?v1 B_Vertex$) )(! (let ((?x227 (fun_app$a v_b_SP_G_3$ ?v1))) -(let ((?x152 (b_G$ (pair$ ?v1 ?0)))) -(and (not (>= (+ ?x227 (* (- 1) (fun_app$a v_b_SP_G_3$ ?0))) 0)) (= (+ ?x152 ?x227 (* (- 1) (fun_app$a v_b_SP_G_3$ ?0))) 0)))) :qid k!38)) -)) -(let (($x1098 (and $x128 $x1095))) -(let (($x1101 (not $x1098))) -(let (($x1120 (or $x1101 $x1117))) -(let (($x525 (exists ((?v1 B_Vertex$) )(! (let ((?x227 (fun_app$a v_b_SP_G_3$ ?v1))) -(let ((?x152 (b_G$ (pair$ ?v1 ?0)))) -(let ((?x516 (+ ?x152 ?x227))) -(let ((?x230 (fun_app$a v_b_SP_G_3$ ?0))) -(let (($x519 (= ?x230 ?x516))) -(let (($x231 (< ?x227 ?x230))) -(and $x231 $x519))))))) :qid k!38)) -)) -(let (($x532 (or (not (and $x128 (< ?x227 b_Infinity$))) $x525))) -(let (($x1114 (and (not (>= (+ ?x227 (* (- 1) ?x230)) 0)) (= (+ ?x152 ?x227 (* (- 1) ?x230)) 0)))) -(let (($x519 (= ?x230 ?x516))) -(let (($x231 (< ?x227 ?x230))) -(let (($x522 (and $x231 $x519))) -(let ((@x1116 (monotonicity (rewrite (= $x231 (not (>= (+ ?x227 (* (- 1) ?x230)) 0)))) (rewrite (= $x519 (= (+ ?x152 ?x227 (* (- 1) ?x230)) 0))) (= $x522 $x1114)))) -(let ((@x1100 (monotonicity (rewrite (= (< ?x227 b_Infinity$) $x1095)) (= (and $x128 (< ?x227 b_Infinity$)) $x1098)))) -(let ((@x1122 (monotonicity (monotonicity @x1100 (= (not (and $x128 (< ?x227 b_Infinity$))) $x1101)) (quant-intro @x1116 (= $x525 $x1117)) (= $x532 $x1120)))) -(let ((@x1128 (monotonicity (quant-intro @x1122 (= $x537 $x1123)) (= (not $x537) $x1126)))) -(let ((@x1155 (monotonicity @x1128 (monotonicity @x1143 @x1149 (= $x573 $x1150)) (= $x580 $x1153)))) -(let ((@x1086 (rewrite (= (and $x1078 (and $x209 (and $x212 (and $x214 $x217)))) $x1084)))) -(let (($x488 (and $x209 (and $x212 (and $x214 $x217))))) -(let (($x502 (and $x207 $x488))) -(let ((@x1083 (monotonicity (monotonicity (quant-intro @x1074 (= $x206 $x1075)) (= $x207 $x1078)) (= $x502 (and $x1078 $x488))))) -(let ((@x1091 (monotonicity (trans @x1083 @x1086 (= $x502 $x1084)) (= (not $x502) $x1089)))) -(let ((@x1161 (monotonicity @x1091 (monotonicity (quant-intro @x1122 (= $x537 $x1123)) @x1155 (= $x585 $x1156)) (= $x592 $x1159)))) -(let (($x1065 (= (and $x975 (and $x170 (and $x1046 (and $x1040 (and $x992 $x1032))))) $x1064))) -(let (($x1062 (= $x477 (and $x975 (and $x170 (and $x1046 (and $x1040 (and $x992 $x1032)))))))) -(let (($x1026 (exists ((?v1 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v1))) -(let ((?x152 (b_G$ (pair$ ?v1 ?0)))) -(let (($x1007 (= (+ ?x152 ?x171 (* (- 1) (fun_app$a v_b_SP_G_1$ ?0))) 0))) -(let (($x175 (fun_app$ v_b_Visited_G_1$ ?v1))) -(let (($x1010 (>= (+ ?x171 (* (- 1) (fun_app$a v_b_SP_G_1$ ?0))) 0))) -(let (($x1012 (not $x1010))) -(and $x1012 $x175 $x1007))))))) :qid k!38)) -)) -(let (($x1001 (and $x128 $x998))) -(let (($x1004 (not $x1001))) -(let (($x1029 (or $x1004 $x1026))) -(let (($x432 (exists ((?v1 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v1))) -(let ((?x152 (b_G$ (pair$ ?v1 ?0)))) -(let ((?x405 (+ ?x152 ?x171))) -(let ((?x179 (fun_app$a v_b_SP_G_1$ ?0))) -(let (($x423 (= ?x179 ?x405))) -(let (($x175 (fun_app$ v_b_Visited_G_1$ ?v1))) -(let (($x426 (and $x175 $x423))) -(let (($x190 (< ?x171 ?x179))) -(and $x190 $x426))))))))) :qid k!38)) -)) -(let (($x439 (or (not (and $x128 (< ?x171 b_Infinity$))) $x432))) -(let (($x1007 (= (+ ?x152 ?x171 (* (- 1) (fun_app$a v_b_SP_G_1$ ?1))) 0))) -(let (($x1010 (>= (+ ?x171 (* (- 1) (fun_app$a v_b_SP_G_1$ ?1))) 0))) -(let (($x1012 (not $x1010))) -(let (($x1021 (and $x1012 $x175 $x1007))) -(let ((?x405 (+ ?x152 ?x171))) -(let ((?x179 (fun_app$a v_b_SP_G_1$ ?1))) -(let (($x423 (= ?x179 ?x405))) -(let (($x426 (and $x175 $x423))) -(let (($x190 (< ?x171 ?x179))) -(let (($x429 (and $x190 $x426))) -(let ((@x1020 (monotonicity (rewrite (= $x190 $x1012)) (monotonicity (rewrite (= $x423 $x1007)) (= $x426 (and $x175 $x1007))) (= $x429 (and $x1012 (and $x175 $x1007)))))) -(let ((@x1025 (trans @x1020 (rewrite (= (and $x1012 (and $x175 $x1007)) $x1021)) (= $x429 $x1021)))) -(let ((@x1003 (monotonicity (rewrite (= (< ?x171 b_Infinity$) $x998)) (= (and $x128 (< ?x171 b_Infinity$)) $x1001)))) -(let ((@x1031 (monotonicity (monotonicity @x1003 (= (not (and $x128 (< ?x171 b_Infinity$))) $x1004)) (quant-intro @x1025 (= $x432 $x1026)) (= $x439 $x1029)))) -(let (($x985 (>= (+ ?x152 ?x171 (* (- 1) ?x179)) 0))) -(let (($x978 (and $x175 $x918))) -(let (($x981 (not $x978))) -(let (($x989 (or $x981 $x985))) -(let (($x408 (<= ?x179 ?x405))) -(let (($x415 (or (not (and $x175 (< ?x152 b_Infinity$))) $x408))) -(let ((@x983 (monotonicity (monotonicity @x920 (= (and $x175 (< ?x152 b_Infinity$)) $x978)) (= (not (and $x175 (< ?x152 b_Infinity$))) $x981)))) -(let ((@x994 (quant-intro (monotonicity @x983 (rewrite (= $x408 $x985)) (= $x415 $x989)) (= $x420 $x992)))) -(let ((@x1051 (monotonicity @x994 (quant-intro @x1031 (= $x444 $x1032)) (= $x454 (and $x992 $x1032))))) -(let (($x177 (fun_app$ v_b_Visited_G_1$ ?1))) -(let (($x178 (and $x176 $x177))) -(let (($x398 (not $x178))) -(let (($x1037 (or $x398 $x1010))) -(let (($x180 (<= ?x179 ?x171))) -(let (($x399 (or $x398 $x180))) -(let ((@x1042 (quant-intro (monotonicity (rewrite (= $x180 $x1010)) (= $x399 $x1037)) (= $x402 $x1040)))) -(let ((@x1048 (quant-intro (rewrite (= (<= 0 ?x171) (>= ?x171 0))) (= $x173 $x1046)))) -(let ((@x1057 (monotonicity @x1048 (monotonicity @x1042 @x1051 (= $x457 (and $x1040 (and $x992 $x1032)))) (= $x460 (and $x1046 (and $x1040 (and $x992 $x1032))))))) -(let ((@x1060 (monotonicity @x1057 (= $x463 (and $x170 (and $x1046 (and $x1040 (and $x992 $x1032)))))))) -(let (($x969 (exists ((?v1 B_Vertex$) )(! (let ((?x152 (b_G$ (pair$ ?v1 ?0)))) -(let ((?x124 (v_b_SP_G_0$ ?v1))) -(let (($x952 (= (+ ?x124 (* (- 1) (v_b_SP_G_0$ ?0)) ?x152) 0))) -(let (($x133 (fun_app$ v_b_Visited_G_0$ ?v1))) -(let (($x902 (>= (+ ?x124 (* (- 1) (v_b_SP_G_0$ ?0))) 0))) -(let (($x955 (not $x902))) -(and $x955 $x133 $x952))))))) :qid k!38)) -)) -(let (($x946 (and $x128 (not (<= (+ b_Infinity$ (* (- 1) (v_b_SP_G_0$ ?0))) 0))))) -(let (($x949 (not $x946))) -(let (($x972 (or $x949 $x969))) -(let (($x165 (exists ((?v1 B_Vertex$) )(! (let (($x133 (fun_app$ v_b_Visited_G_0$ ?v1))) -(let (($x163 (and $x133 (= (v_b_SP_G_0$ ?0) (+ (v_b_SP_G_0$ ?v1) (b_G$ (pair$ ?v1 ?0))))))) -(and (< (v_b_SP_G_0$ ?v1) (v_b_SP_G_0$ ?0)) $x163))) :qid k!38)) -)) -(let (($x392 (or (not (and $x128 (< (v_b_SP_G_0$ ?0) b_Infinity$))) $x165))) -(let (($x952 (= (+ (v_b_SP_G_0$ ?0) (* (- 1) (v_b_SP_G_0$ ?1)) ?x152) 0))) -(let (($x133 (fun_app$ v_b_Visited_G_0$ ?0))) -(let (($x902 (>= (+ (v_b_SP_G_0$ ?0) (* (- 1) (v_b_SP_G_0$ ?1))) 0))) -(let (($x955 (not $x902))) -(let (($x964 (and $x955 $x133 $x952))) -(let (($x164 (and (< (v_b_SP_G_0$ ?0) (v_b_SP_G_0$ ?1)) (and $x133 (= (v_b_SP_G_0$ ?1) (+ (v_b_SP_G_0$ ?0) ?x152)))))) -(let (($x959 (= (and $x133 (= (v_b_SP_G_0$ ?1) (+ (v_b_SP_G_0$ ?0) ?x152))) (and $x133 $x952)))) -(let ((@x954 (rewrite (= (= (v_b_SP_G_0$ ?1) (+ (v_b_SP_G_0$ ?0) ?x152)) $x952)))) -(let ((@x963 (monotonicity (rewrite (= (< (v_b_SP_G_0$ ?0) (v_b_SP_G_0$ ?1)) $x955)) (monotonicity @x954 $x959) (= $x164 (and $x955 (and $x133 $x952)))))) -(let ((@x968 (trans @x963 (rewrite (= (and $x955 (and $x133 $x952)) $x964)) (= $x164 $x964)))) -(let (($x944 (= (< (v_b_SP_G_0$ ?0) b_Infinity$) (not (<= (+ b_Infinity$ (* (- 1) (v_b_SP_G_0$ ?0))) 0))))) -(let ((@x948 (monotonicity (rewrite $x944) (= (and $x128 (< (v_b_SP_G_0$ ?0) b_Infinity$)) $x946)))) -(let ((@x951 (monotonicity @x948 (= (not (and $x128 (< (v_b_SP_G_0$ ?0) b_Infinity$))) $x949)))) -(let ((@x977 (quant-intro (monotonicity @x951 (quant-intro @x968 (= $x165 $x969)) (= $x392 $x972)) (= $x395 $x975)))) -(let ((@x1071 (monotonicity (trans (monotonicity @x977 @x1060 $x1062) (rewrite $x1065) (= $x477 $x1064)) (= (not $x477) $x1069)))) -(let ((@x1371 (monotonicity @x1071 (monotonicity @x1161 @x1365 (= $x810 $x1366)) (= $x817 $x1369)))) -(let (($x928 (>= (+ (v_b_SP_G_0$ ?0) (* (- 1) (v_b_SP_G_0$ ?1)) ?x152) 0))) -(let (($x921 (and $x133 $x918))) -(let (($x924 (not $x921))) -(let (($x931 (or $x924 $x928))) -(let ((?x147 (v_b_SP_G_0$ ?1))) -(let (($x156 (<= ?x147 (+ (v_b_SP_G_0$ ?0) ?x152)))) -(let (($x385 (or (not (and $x133 (< ?x152 b_Infinity$))) $x156))) -(let ((@x926 (monotonicity (monotonicity @x920 (= (and $x133 (< ?x152 b_Infinity$)) $x921)) (= (not (and $x133 (< ?x152 b_Infinity$))) $x924)))) -(let ((@x936 (quant-intro (monotonicity @x926 (rewrite (= $x156 $x928)) (= $x385 $x931)) (= $x388 $x934)))) -(let ((@x1377 (monotonicity (monotonicity @x936 (= (not $x388) $x937)) (monotonicity @x977 @x1371 (= $x822 $x1372)) (= $x829 $x1375)))) -(let (($x134 (not $x133))) -(let (($x146 (and $x134 (fun_app$ v_b_Visited_G_0$ ?1)))) -(let (($x377 (not $x146))) -(let (($x906 (or $x377 $x902))) -(let ((?x124 (v_b_SP_G_0$ ?0))) -(let (($x148 (<= ?x147 ?x124))) -(let (($x378 (or $x377 $x148))) -(let ((@x911 (quant-intro (monotonicity (rewrite (= $x148 $x902)) (= $x378 $x906)) (= $x381 $x909)))) -(let ((@x1383 (monotonicity (monotonicity @x911 (= (not $x381) $x912)) (monotonicity @x936 @x1377 (= $x834 $x1378)) (= $x841 $x1381)))) -(let ((@x896 (quant-intro (rewrite (= (<= 0 ?x124) (>= ?x124 0))) (= $x144 $x894)))) -(let ((@x1389 (monotonicity (monotonicity @x896 (= (not $x144) $x897)) (monotonicity @x911 @x1383 (= $x846 $x1384)) (= $x853 $x1387)))) -(let ((@x1395 (monotonicity (monotonicity @x896 @x1389 (= $x858 $x1390)) (= $x865 $x1393)))) -(let ((@x890 (monotonicity (rewrite (= (and $x349 (and $x355 $x135)) $x885)) (= (not (and $x349 (and $x355 $x135))) (not $x885))))) -(let ((@x1401 (monotonicity @x890 (monotonicity @x1395 (= $x870 $x1396)) (= $x877 (or (not $x885) $x1396))))) -(let (($x313 (exists ((?v1 B_Vertex$) )(! (let (($x286 (fun_app$ v_b_Visited_G_2$ ?v1))) -(let (($x311 (and $x286 (= (v_b_SP_G_2$ ?0) (+ (v_b_SP_G_2$ ?v1) (b_G$ (pair$ ?v1 ?0))))))) -(let ((?x298 (v_b_SP_G_2$ ?0))) -(let ((?x268 (v_b_SP_G_2$ ?v1))) -(let (($x309 (< ?x268 ?x298))) -(and $x309 $x311)))))) :qid k!38)) -)) -(let (($x308 (and $x128 (< ?x268 b_Infinity$)))) -(let (($x314 (=> $x308 $x313))) -(let ((@x686 (monotonicity (rewrite (= (+ ?x268 ?x152) ?x666)) (= (= ?x298 (+ ?x268 ?x152)) $x684)))) -(let ((@x692 (monotonicity (monotonicity @x686 (= (and $x286 (= ?x298 (+ ?x268 ?x152))) $x687)) (= (and $x309 (and $x286 (= ?x298 (+ ?x268 ?x152)))) $x690)))) -(let ((@x698 (monotonicity (quant-intro @x692 (= $x313 $x693)) (= $x314 (=> $x308 $x693))))) -(let ((@x707 (quant-intro (trans @x698 (rewrite (= (=> $x308 $x693) $x700)) (= $x314 $x700)) (= $x315 $x705)))) -(let ((@x714 (trans (monotonicity @x707 (= $x316 (and $x705 false))) (rewrite (= (and $x705 false) false)) (= $x316 false)))) -(let ((@x721 (trans (monotonicity @x714 (= $x317 (=> false true))) (rewrite (= (=> false true) true)) (= $x317 true)))) -(let ((@x728 (trans (monotonicity @x707 @x721 (= $x318 (and $x705 true))) (rewrite (= (and $x705 true) $x705)) (= $x318 $x705)))) -(let (($x153 (< ?x152 b_Infinity$))) -(let (($x302 (and $x286 $x153))) -(let (($x305 (=> $x302 (<= ?x298 (+ ?x268 ?x152))))) -(let ((@x671 (monotonicity (rewrite (= (+ ?x268 ?x152) ?x666)) (= (<= ?x298 (+ ?x268 ?x152)) $x669)))) -(let ((@x680 (trans (monotonicity @x671 (= $x305 (=> $x302 $x669))) (rewrite (= (=> $x302 $x669) $x676)) (= $x305 $x676)))) -(let ((@x731 (monotonicity (quant-intro @x680 (= $x306 $x681)) @x728 (= $x319 (=> $x681 $x705))))) -(let ((@x740 (monotonicity (quant-intro @x680 (= $x306 $x681)) (trans @x731 (rewrite (= (=> $x681 $x705) $x733)) (= $x319 $x733)) (= (and $x306 $x319) $x738)))) -(let ((@x743 (monotonicity (quant-intro (rewrite (= (=> $x297 $x299) $x660)) (= $x301 $x663)) @x740 (= $x321 (=> $x663 $x738))))) -(let ((@x752 (monotonicity (quant-intro (rewrite (= (=> $x297 $x299) $x660)) (= $x301 $x663)) (trans @x743 (rewrite (= (=> $x663 $x738) $x745)) (= $x321 $x745)) (= (and $x301 $x321) $x750)))) -(let ((@x761 (trans (monotonicity @x752 (= $x323 (=> $x294 $x750))) (rewrite (= (=> $x294 $x750) $x757)) (= $x323 $x757)))) -(let ((@x767 (monotonicity (monotonicity @x761 (= (and $x294 $x323) $x762)) (= $x325 (=> $x292 $x762))))) -(let ((@x776 (monotonicity (trans @x767 (rewrite (= (=> $x292 $x762) $x769)) (= $x325 $x769)) (= (and $x292 $x325) $x774)))) -(let ((@x649 (quant-intro (rewrite (= (=> $x286 $x273) (or $x295 $x273))) (= $x288 $x647)))) -(let ((@x654 (monotonicity @x649 (rewrite (= (and true true) true)) (= $x290 (and $x647 true))))) -(let ((@x779 (monotonicity (trans @x654 (rewrite (= (and $x647 true) $x647)) (= $x290 $x647)) @x776 (= $x327 (=> $x647 $x774))))) -(let ((@x788 (monotonicity @x649 (trans @x779 (rewrite (= (=> $x647 $x774) $x781)) (= $x327 $x781)) (= (and $x288 $x327) $x786)))) -(let ((@x797 (trans (monotonicity @x788 (= $x329 (=> $x285 $x786))) (rewrite (= (=> $x285 $x786) $x793)) (= $x329 $x793)))) -(let (($x628 (= (and $x253 (and $x255 (and $x258 (and $x261 (and $x271 $x275))))) $x627))) -(let ((@x617 (monotonicity (quant-intro (rewrite (= (=> $x267 $x269) $x603)) (= $x271 $x606)) (quant-intro (rewrite (= (=> $x272 $x273) $x609)) (= $x275 $x612)) (= (and $x271 $x275) $x615)))) -(let ((@x623 (monotonicity (quant-intro (rewrite (= (=> $x176 $x256) $x597)) (= $x258 $x600)) (monotonicity @x617 (= (and $x261 (and $x271 $x275)) $x618)) (= (and $x258 (and $x261 (and $x271 $x275))) $x621)))) -(let ((@x626 (monotonicity @x623 (= (and $x255 (and $x258 (and $x261 (and $x271 $x275)))) $x624)))) -(let ((@x635 (monotonicity (monotonicity (monotonicity @x626 $x628) (= $x281 $x630)) (= $x282 (and true $x630))))) -(let ((@x641 (monotonicity (trans @x635 (rewrite (= (and true $x630) $x630)) (= $x282 $x630)) (= $x283 (and true $x630))))) -(let ((@x803 (monotonicity (trans @x641 (rewrite (= (and true $x630) $x630)) (= $x283 $x630)) (monotonicity @x797 (= (and $x285 $x329) $x798)) (= $x331 (=> $x630 $x798))))) -(let ((@x559 (monotonicity (rewrite (= (=> $x243 true) true)) (= $x245 (and $x243 true))))) -(let (($x228 (< ?x227 b_Infinity$))) -(let (($x238 (and $x228 $x153))) -(let (($x240 (=> $x238 (<= ?x230 (+ ?x227 ?x152))))) -(let ((@x542 (monotonicity (rewrite (= (+ ?x227 ?x152) ?x516)) (= (<= ?x230 (+ ?x227 ?x152)) $x540)))) -(let ((@x551 (trans (monotonicity @x542 (= $x240 (=> $x238 $x540))) (rewrite (= (=> $x238 $x540) $x547)) (= $x240 $x547)))) -(let ((@x566 (monotonicity (quant-intro @x551 (= $x241 $x552)) (trans @x559 (rewrite (= (and $x243 true) $x243)) (= $x245 $x243)) (= $x246 (=> $x552 $x243))))) -(let ((@x575 (monotonicity (quant-intro @x551 (= $x241 $x552)) (trans @x566 (rewrite (= (=> $x552 $x243) $x568)) (= $x246 $x568)) (= (and $x241 $x246) $x573)))) -(let (($x235 (exists ((?v1 B_Vertex$) )(! (let ((?x152 (b_G$ (pair$ ?v1 ?0)))) -(let ((?x227 (fun_app$a v_b_SP_G_3$ ?v1))) -(let ((?x232 (+ ?x227 ?x152))) -(let ((?x230 (fun_app$a v_b_SP_G_3$ ?0))) -(let (($x231 (< ?x227 ?x230))) -(and $x231 (= ?x230 ?x232))))))) :qid k!38)) -)) -(let (($x229 (and $x128 $x228))) -(let (($x236 (=> $x229 $x235))) -(let ((@x521 (monotonicity (rewrite (= (+ ?x227 ?x152) ?x516)) (= (= ?x230 (+ ?x227 ?x152)) $x519)))) -(let ((@x527 (quant-intro (monotonicity @x521 (= (and $x231 (= ?x230 (+ ?x227 ?x152))) $x522)) (= $x235 $x525)))) -(let ((@x536 (trans (monotonicity @x527 (= $x236 (=> $x229 $x525))) (rewrite (= (=> $x229 $x525) $x532)) (= $x236 $x532)))) -(let ((@x578 (monotonicity (quant-intro @x536 (= $x237 $x537)) @x575 (= $x248 (=> $x537 $x573))))) -(let ((@x587 (monotonicity (quant-intro @x536 (= $x237 $x537)) (trans @x578 (rewrite (= (=> $x537 $x573) $x580)) (= $x248 $x580)) (= (and $x237 $x248) $x585)))) -(let (($x486 (= (and $x212 (and $x214 (and $x217 true))) (and $x212 (and $x214 $x217))))) -(let ((@x484 (monotonicity (rewrite (= (and $x217 true) $x217)) (= (and $x214 (and $x217 true)) (and $x214 $x217))))) -(let ((@x490 (monotonicity (monotonicity @x484 $x486) (= (and $x209 (and $x212 (and $x214 (and $x217 true)))) $x488)))) -(let ((@x497 (trans (monotonicity @x490 (= $x222 (and true $x488))) (rewrite (= (and true $x488) $x488)) (= $x222 $x488)))) -(let ((@x501 (trans (monotonicity @x497 (= $x223 (and true $x488))) (rewrite (= (and true $x488) $x488)) (= $x223 $x488)))) -(let ((@x507 (monotonicity (monotonicity @x501 (= (and $x207 $x223) $x502)) (= $x225 (and true $x502))))) -(let ((@x513 (monotonicity (trans @x507 (rewrite (= (and true $x502) $x502)) (= $x225 $x502)) (= $x226 (and true $x502))))) -(let ((@x590 (monotonicity (trans @x513 (rewrite (= (and true $x502) $x502)) (= $x226 $x502)) @x587 (= $x250 (=> $x502 $x585))))) -(let ((@x812 (monotonicity (trans @x590 (rewrite (= (=> $x502 $x585) $x592)) (= $x250 $x592)) (trans @x803 (rewrite (= (=> $x630 $x798) $x805)) (= $x331 $x805)) (= (and $x250 $x331) $x810)))) -(let (($x194 (exists ((?v1 B_Vertex$) )(! (let ((?x152 (b_G$ (pair$ ?v1 ?0)))) -(let ((?x171 (fun_app$a v_b_SP_G_1$ ?v1))) -(let ((?x184 (+ ?x171 ?x152))) -(let ((?x179 (fun_app$a v_b_SP_G_1$ ?0))) -(let (($x175 (fun_app$ v_b_Visited_G_1$ ?v1))) -(let (($x190 (< ?x171 ?x179))) -(and $x190 (and $x175 (= ?x179 ?x184))))))))) :qid k!38)) -)) -(let (($x188 (< ?x171 b_Infinity$))) -(let (($x189 (and $x128 $x188))) -(let (($x195 (=> $x189 $x194))) -(let ((@x425 (monotonicity (rewrite (= (+ ?x171 ?x152) ?x405)) (= (= ?x179 (+ ?x171 ?x152)) $x423)))) -(let ((@x431 (monotonicity (monotonicity @x425 (= (and $x175 (= ?x179 (+ ?x171 ?x152))) $x426)) (= (and $x190 (and $x175 (= ?x179 (+ ?x171 ?x152)))) $x429)))) -(let ((@x437 (monotonicity (quant-intro @x431 (= $x194 $x432)) (= $x195 (=> $x189 $x432))))) -(let ((@x446 (quant-intro (trans @x437 (rewrite (= (=> $x189 $x432) $x439)) (= $x195 $x439)) (= $x196 $x444)))) -(let ((@x453 (trans (monotonicity @x446 (= $x197 (and $x444 true))) (rewrite (= (and $x444 true) $x444)) (= $x197 $x444)))) -(let (($x183 (and $x175 $x153))) -(let (($x186 (=> $x183 (<= ?x179 (+ ?x171 ?x152))))) -(let ((@x410 (monotonicity (rewrite (= (+ ?x171 ?x152) ?x405)) (= (<= ?x179 (+ ?x171 ?x152)) $x408)))) -(let ((@x419 (trans (monotonicity @x410 (= $x186 (=> $x183 $x408))) (rewrite (= (=> $x183 $x408) $x415)) (= $x186 $x415)))) -(let ((@x456 (monotonicity (quant-intro @x419 (= $x187 $x420)) @x453 (= (and $x187 $x197) $x454)))) -(let ((@x459 (monotonicity (quant-intro (rewrite (= (=> $x178 $x180) $x399)) (= $x182 $x402)) @x456 (= (and $x182 (and $x187 $x197)) $x457)))) -(let ((@x465 (monotonicity (monotonicity @x459 (= (and $x173 (and $x182 (and $x187 $x197))) $x460)) (= (and $x170 (and $x173 (and $x182 (and $x187 $x197)))) $x463)))) -(let ((@x472 (trans (monotonicity @x465 (= $x202 (and true $x463))) (rewrite (= (and true $x463) $x463)) (= $x202 $x463)))) -(let ((@x476 (trans (monotonicity @x472 (= $x203 (and true $x463))) (rewrite (= (and true $x463) $x463)) (= $x203 $x463)))) -(let ((@x397 (quant-intro (rewrite (= (=> (and $x128 (< ?x124 b_Infinity$)) $x165) $x392)) (= $x167 $x395)))) -(let ((@x815 (monotonicity (monotonicity @x397 @x476 (= (and $x167 $x203) $x477)) @x812 (= $x333 (=> $x477 $x810))))) -(let ((@x824 (monotonicity @x397 (trans @x815 (rewrite (= (=> $x477 $x810) $x817)) (= $x333 $x817)) (= (and $x167 $x333) $x822)))) -(let ((@x390 (quant-intro (rewrite (= (=> (and $x133 $x153) $x156) $x385)) (= $x158 $x388)))) -(let ((@x833 (trans (monotonicity @x390 @x824 (= $x335 (=> $x388 $x822))) (rewrite (= (=> $x388 $x822) $x829)) (= $x335 $x829)))) -(let ((@x839 (monotonicity (quant-intro (rewrite (= (=> $x146 $x148) $x378)) (= $x150 $x381)) (monotonicity @x390 @x833 (= (and $x158 $x335) $x834)) (= $x337 (=> $x381 $x834))))) -(let ((@x848 (monotonicity (quant-intro (rewrite (= (=> $x146 $x148) $x378)) (= $x150 $x381)) (trans @x839 (rewrite (= (=> $x381 $x834) $x841)) (= $x337 $x841)) (= (and $x150 $x337) $x846)))) -(let ((@x857 (trans (monotonicity @x848 (= $x339 (=> $x144 $x846))) (rewrite (= (=> $x144 $x846) $x853)) (= $x339 $x853)))) -(let ((@x863 (monotonicity (monotonicity @x857 (= (and $x144 $x339) $x858)) (= $x341 (=> $x142 $x858))))) -(let ((@x872 (monotonicity (trans @x863 (rewrite (= (=> $x142 $x858) $x865)) (= $x341 $x865)) (= (and $x142 $x341) $x870)))) -(let (($x363 (and $x349 (and $x355 $x135)))) -(let (($x366 (and true $x363))) -(let ((@x357 (quant-intro (rewrite (= (=> $x128 (= ?x124 b_Infinity$)) $x352)) (= $x131 $x355)))) -(let ((@x362 (monotonicity @x357 (rewrite (= (and $x135 true) $x135)) (= (and $x131 (and $x135 true)) (and $x355 $x135))))) -(let ((@x351 (quant-intro (rewrite (= (=> $x123 (= ?x124 0)) (or $x128 (= ?x124 0)))) (= $x127 $x349)))) -(let ((@x365 (monotonicity @x351 @x362 (= (and $x127 (and $x131 (and $x135 true))) $x363)))) -(let ((@x372 (trans (monotonicity @x365 (= $x139 $x366)) (rewrite (= $x366 $x363)) (= $x139 $x363)))) -(let ((@x376 (trans (monotonicity @x372 (= $x140 $x366)) (rewrite (= $x366 $x363)) (= $x140 $x363)))) -(let ((@x881 (trans (monotonicity @x376 @x872 (= $x343 (=> $x363 $x870))) (rewrite (= (=> $x363 $x870) $x877)) (= $x343 $x877)))) -(let ((@x1406 (trans (monotonicity @x881 (= $x344 (not $x877))) (monotonicity @x1401 (= (not $x877) $x1402)) (= $x344 $x1402)))) -(let ((@x1408 (not-or-elim (mp (asserted $x344) @x1406 $x1402) $x885))) -(let ((@x1458 (mp~ (and-elim @x1408 $x355) (nnf-pos (refl (~ $x352 $x352)) (~ $x355 $x355)) $x355))) -(let ((@x3493 (mp @x1458 (quant-intro (refl (= $x352 $x352)) (= $x355 $x3488)) $x3488))) -(let ((@x5494 (rewrite (= (or (not $x3488) (or $x1533 $x5648)) (or (not $x3488) $x1533 $x5648))))) -(let ((@x5498 (mp ((_ quant-inst ?v0!5) (or (not $x3488) (or $x1533 $x5648))) @x5494 (or (not $x3488) $x1533 $x5648)))) -(let ((@x6448 (unit-resolution (hypothesis $x6555) (mp (unit-resolution @x5498 @x3493 (hypothesis $x1534) $x5648) @x5583 $x5500) false))) -(let ((@x3189 (unit-resolution (lemma @x6448 (or $x5500 $x1533)) (unit-resolution ((_ th-lemma arith triangle-eq) (or $x6555 $x1538)) @x5027 $x6555) @x5072 false))) -(let (($x3539 (not $x3536))) -(let (($x3822 (or $x3539 $x3819))) -(let (($x3825 (not $x3822))) -(let (($x3519 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x152 (b_G$ (pair$ ?v1 ?v0)))) -(let ((?x124 (v_b_SP_G_0$ ?v1))) -(let (($x928 (>= (+ ?x124 (* (- 1) (v_b_SP_G_0$ ?v0)) ?x152) 0))) -(let (($x917 (<= (+ b_Infinity$ (* (- 1) ?x152)) 0))) -(let (($x133 (fun_app$ v_b_Visited_G_0$ ?v1))) -(let (($x134 (not $x133))) -(or $x134 $x917 $x928))))))) :pattern ( (pair$ ?v1 ?v0) ) :qid k!38)) -)) -(let (($x3524 (not $x3519))) -(let (($x3828 (or $x3524 $x3825))) -(let (($x3831 (not $x3828))) -(let ((?x1517 (v_b_SP_G_0$ ?v0!4))) -(let ((?x1518 (* (- 1) ?x1517))) -(let ((?x1516 (v_b_SP_G_0$ ?v1!3))) -(let ((?x1508 (pair$ ?v1!3 ?v0!4))) -(let ((?x1509 (b_G$ ?x1508))) -(let ((?x2040 (+ ?x1509 ?x1516 ?x1518))) -(let (($x2043 (>= ?x2040 0))) -(let (($x1512 (<= (+ b_Infinity$ (* (- 1) ?x1509)) 0))) -(let (($x1507 (fun_app$ v_b_Visited_G_0$ ?v1!3))) -(let (($x2389 (not $x1507))) -(let (($x2404 (or $x2389 $x1512 $x2043))) -(let (($x3495 (forall ((?v0 B_Vertex$) )(! (let (($x133 (fun_app$ v_b_Visited_G_0$ ?v0))) -(not $x133)) :pattern ( (fun_app$ v_b_Visited_G_0$ ?v0) ) :qid k!38)) -)) -(let ((@x1463 (mp~ (and-elim @x1408 $x135) (nnf-pos (refl (~ $x134 $x134)) (~ $x135 $x135)) $x135))) -(let ((@x3500 (mp @x1463 (quant-intro (refl (= $x134 $x134)) (= $x135 $x3495)) $x3495))) -(let ((@x4007 (unit-resolution ((_ quant-inst ?v1!3) (or (not $x3495) $x2389)) @x3500 (hypothesis $x1507) false))) -(let (($x2409 (not $x2404))) -(let (($x3834 (or $x2409 $x3831))) -(let (($x3837 (not $x3834))) -(let (($x3510 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let (($x902 (>= (+ (v_b_SP_G_0$ ?v1) (* (- 1) (v_b_SP_G_0$ ?v0))) 0))) -(let (($x133 (fun_app$ v_b_Visited_G_0$ ?v1))) -(or $x133 (not (fun_app$ v_b_Visited_G_0$ ?v0)) $x902))) :pattern ( (v_b_SP_G_0$ ?v1) (v_b_SP_G_0$ ?v0) ) :qid k!38)) -)) -(let (($x3515 (not $x3510))) -(let (($x3840 (or $x3515 $x3837))) -(let (($x3843 (not $x3840))) -(let (($x1493 (>= (+ (v_b_SP_G_0$ ?v1!1) (* (- 1) (v_b_SP_G_0$ ?v0!2))) 0))) -(let (($x1486 (fun_app$ v_b_Visited_G_0$ ?v0!2))) -(let (($x2343 (not $x1486))) -(let (($x1484 (fun_app$ v_b_Visited_G_0$ ?v1!1))) -(let (($x2358 (or $x1484 $x2343 $x1493))) -(let (($x2363 (not $x2358))) -(let (($x3846 (or $x2363 $x3843))) -(let (($x3849 (not $x3846))) -(let (($x3501 (forall ((?v0 B_Vertex$) )(! (let ((?x124 (v_b_SP_G_0$ ?v0))) -(>= ?x124 0)) :pattern ( (v_b_SP_G_0$ ?v0) ) :qid k!38)) -)) -(let (($x3506 (not $x3501))) -(let (($x3852 (or $x3506 $x3849))) -(let (($x3855 (not $x3852))) -(let ((?x1470 (v_b_SP_G_0$ ?v0!0))) -(let (($x1471 (>= ?x1470 0))) -(let (($x1472 (not $x1471))) -(let ((@x5071 (hypothesis $x1472))) -(let (($x5774 (<= ?x1470 0))) -(let (($x82 (<= b_Infinity$ 0))) -(let (($x83 (not $x82))) -(let ((@x86 (mp (asserted (< 0 b_Infinity$)) (rewrite (= (< 0 b_Infinity$) $x83)) $x83))) -(let (($x5117 (= b_Infinity$ ?x1470))) -(let ((@x5579 (symm (commutativity (= $x5117 (= ?x1470 b_Infinity$))) (= (= ?x1470 b_Infinity$) $x5117)))) -(let (($x3131 (= ?x1470 b_Infinity$))) -(let (($x5739 (= ?v0!0 b_Source$))) -(let (($x5713 (not $x5739))) -(let ((@x5595 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not (= ?x1470 0)) $x1471)) @x5071 (not (= ?x1470 0))))) -(let (($x3482 (forall ((?v0 B_Vertex$) )(! (let (($x123 (= ?v0 b_Source$))) -(let (($x128 (not $x123))) -(or $x128 (= (v_b_SP_G_0$ ?v0) 0)))) :pattern ( (v_b_SP_G_0$ ?v0) ) :qid k!38)) -)) -(let ((@x3486 (quant-intro (refl (= (or $x128 (= ?x124 0)) (or $x128 (= ?x124 0)))) (= $x349 $x3482)))) -(let ((@x1452 (nnf-pos (refl (~ (or $x128 (= ?x124 0)) (or $x128 (= ?x124 0)))) (~ $x349 $x349)))) -(let ((@x3487 (mp (mp~ (and-elim @x1408 $x349) @x1452 $x349) @x3486 $x3482))) -(let (($x5769 (= (or (not $x3482) (or $x5713 (= ?x1470 0))) (or (not $x3482) $x5713 (= ?x1470 0))))) -(let ((@x5448 (mp ((_ quant-inst ?v0!0) (or (not $x3482) (or $x5713 (= ?x1470 0)))) (rewrite $x5769) (or (not $x3482) $x5713 (= ?x1470 0))))) -(let ((@x6281 (rewrite (= (or (not $x3488) (or $x5739 $x3131)) (or (not $x3488) $x5739 $x3131))))) -(let ((@x6173 (mp ((_ quant-inst ?v0!0) (or (not $x3488) (or $x5739 $x3131))) @x6281 (or (not $x3488) $x5739 $x3131)))) -(let ((@x6446 (mp (unit-resolution @x6173 @x3493 (unit-resolution @x5448 @x3487 @x5595 $x5713) $x3131) @x5579 $x5117))) -(let ((@x6386 ((_ th-lemma arith triangle-eq) (or (not $x5117) (<= (+ b_Infinity$ (* (- 1) ?x1470)) 0))))) -(let ((@x6387 (unit-resolution @x6386 @x6446 (<= (+ b_Infinity$ (* (- 1) ?x1470)) 0)))) -(let ((@x3142 (lemma ((_ th-lemma arith farkas 1 -1 1) (hypothesis $x5774) @x6387 @x86 false) (or (not $x5774) $x1471)))) -(let ((@x5085 (unit-resolution @x3142 (unit-resolution ((_ th-lemma arith farkas 1 1) (or $x5774 $x1471)) @x5071 $x5774) @x5071 false))) -(let (($x3858 (or $x1472 $x3855))) -(let (($x3861 (not $x3858))) -(let (($x3864 (or $x864 $x3861))) -(let (($x3867 (not $x3864))) -(let (($x5885 (not $x3482))) -(let (($x3145 (or $x5885 $x142))) -(let ((@x4320 (monotonicity (rewrite (= (= b_Source$ b_Source$) true)) (= (not (= b_Source$ b_Source$)) (not true))))) -(let ((@x5484 (trans @x4320 (rewrite (= (not true) false)) (= (not (= b_Source$ b_Source$)) false)))) -(let ((@x5457 (monotonicity @x5484 (= (or (not (= b_Source$ b_Source$)) $x142) (or false $x142))))) -(let ((@x5606 (trans @x5457 (rewrite (= (or false $x142) $x142)) (= (or (not (= b_Source$ b_Source$)) $x142) $x142)))) -(let ((@x4948 (monotonicity @x5606 (= (or $x5885 (or (not (= b_Source$ b_Source$)) $x142)) $x3145)))) -(let ((@x5799 (trans @x4948 (rewrite (= $x3145 $x3145)) (= (or $x5885 (or (not (= b_Source$ b_Source$)) $x142)) $x3145)))) -(let ((@x5800 (mp ((_ quant-inst b_Source$) (or $x5885 (or (not (= b_Source$ b_Source$)) $x142))) @x5799 $x3145))) -(let (($x3870 (or $x864 $x3867))) -(let (($x2843 (forall ((?v1 B_Vertex$) )(! (let ((?x1906 (v_b_SP_G_2$ ?v0!20))) -(let ((?x1907 (* (- 1) ?x1906))) -(let ((?x268 (v_b_SP_G_2$ ?v1))) -(let (($x2237 (= (+ ?x268 ?x1907 (b_G$ (pair$ ?v1 ?v0!20))) 0))) -(let (($x286 (fun_app$ v_b_Visited_G_2$ ?v1))) -(let (($x295 (not $x286))) -(or (>= (+ ?x268 ?x1907) 0) $x295 (not $x2237)))))))) :qid k!38)) -)) -(let (($x2828 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x298 (v_b_SP_G_2$ ?v0))) -(let ((?x1258 (* (- 1) ?x298))) -(let ((?x268 (v_b_SP_G_2$ ?v1))) -(let ((?x152 (b_G$ (pair$ ?v1 ?v0)))) -(let (($x1277 (>= (+ ?x152 ?x268 ?x1258) 0))) -(let (($x917 (<= (+ b_Infinity$ (* (- 1) ?x152)) 0))) -(let (($x286 (fun_app$ v_b_Visited_G_2$ ?v1))) -(let (($x295 (not $x286))) -(or $x295 $x917 $x1277))))))))) :qid k!38)) -)) -(let (($x2852 (not (or (not $x2828) $x1904 $x1909 (not $x2843))))) -(let (($x2857 (or $x2806 $x2852))) -(let (($x2783 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let (($x1257 (>= (+ (v_b_SP_G_2$ ?v1) (* (- 1) (v_b_SP_G_2$ ?v0))) 0))) -(let (($x296 (fun_app$ v_b_Visited_G_2$ ?v0))) -(let (($x2763 (not $x296))) -(let (($x286 (fun_app$ v_b_Visited_G_2$ ?v1))) -(or $x286 $x2763 $x1257))))) :qid k!38)) -)) -(let (($x2866 (not (or (not $x2783) (not $x2857))))) -(let (($x2871 (or $x2760 $x2866))) -(let (($x2879 (not (or $x1254 (not $x2871))))) -(let (($x2884 (or $x1843 $x2879))) -(let (($x2892 (not (or $x768 (not $x2884))))) -(let (($x2897 (or $x768 $x2892))) -(let (($x2905 (not (or $x780 (not $x2897))))) -(let (($x2910 (or $x1825 $x2905))) -(let (($x2918 (not (or $x1245 (not $x2910))))) -(let (($x2923 (or $x1808 $x2918))) -(let (($x2737 (forall ((?v0 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0))) -(let ((?x268 (v_b_SP_G_2$ ?v0))) -(let (($x273 (= ?x268 ?x171))) -(let ((?x254 (fun_app$a v_b_SP_G_1$ v_b_v_G_1$))) -(let ((?x1168 (* (- 1) ?x254))) -(let (($x1170 (<= (+ ?x171 ?x1168 (* (- 1) (b_G$ (pair$ v_b_v_G_1$ ?v0)))) 0))) -(let (($x1164 (<= (+ b_Infinity$ (* (- 1) (b_G$ (pair$ v_b_v_G_1$ ?v0)))) 0))) -(let (($x2712 (or $x1164 $x1170))) -(let (($x2713 (not $x2712))) -(or $x2713 $x273)))))))))) :qid k!38)) -)) -(let (($x2731 (forall ((?v0 B_Vertex$) )(! (let ((?x268 (v_b_SP_G_2$ ?v0))) -(let ((?x1181 (* (- 1) ?x268))) -(let ((?x263 (b_G$ (pair$ v_b_v_G_1$ ?v0)))) -(let ((?x254 (fun_app$a v_b_SP_G_1$ v_b_v_G_1$))) -(let (($x1180 (= (+ ?x254 ?x263 ?x1181) 0))) -(let (($x1170 (<= (+ (fun_app$a v_b_SP_G_1$ ?v0) (* (- 1) ?x254) (* (- 1) ?x263)) 0))) -(let (($x1164 (<= (+ b_Infinity$ (* (- 1) ?x263)) 0))) -(or $x1164 $x1170 $x1180)))))))) :qid k!38)) -)) -(let (($x2934 (or $x1768 $x1773 $x252 $x1208 (not $x1204) $x2930 (not $x2731) (not $x2737) (not $x2923)))) -(let (($x2935 (not $x2934))) -(let (($x2667 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x227 (fun_app$a v_b_SP_G_3$ ?v1))) -(let ((?x152 (b_G$ (pair$ ?v1 ?v0)))) -(let (($x1135 (>= (+ ?x152 ?x227 (* (- 1) (fun_app$a v_b_SP_G_3$ ?v0))) 0))) -(let (($x917 (<= (+ b_Infinity$ (* (- 1) ?x152)) 0))) -(let (($x1094 (<= (+ b_Infinity$ (* (- 1) ?x227)) 0))) -(or $x1094 $x917 $x1135)))))) :qid k!38)) -)) -(let (($x2675 (not (or (not $x2667) $x243)))) -(let (($x2680 (or $x2645 $x2675))) -(let (($x2623 (forall ((?v0 B_Vertex$) )(! (let ((?x227 (fun_app$a v_b_SP_G_3$ ?v0))) -(let ((?x2186 (+ ?x227 (* (- 1) (fun_app$a v_b_SP_G_3$ (?v1!9 ?v0))) (* (- 1) (b_G$ (pair$ (?v1!9 ?v0) ?v0)))))) -(let (($x2187 (= ?x2186 0))) -(let (($x2171 (<= (+ ?x227 (* (- 1) (fun_app$a v_b_SP_G_3$ (?v1!9 ?v0)))) 0))) -(let (($x2612 (not (or $x2171 (not $x2187))))) -(let (($x1094 (<= (+ b_Infinity$ (* (- 1) ?x227)) 0))) -(let (($x123 (= ?v0 b_Source$))) -(or $x123 $x1094 $x2612)))))))) :qid k!38)) -)) -(let (($x2689 (not (or (not $x2623) (not $x2680))))) -(let (($x2586 (forall ((?v1 B_Vertex$) )(! (let ((?x1656 (fun_app$a v_b_SP_G_3$ ?v0!8))) -(let ((?x1657 (* (- 1) ?x1656))) -(let ((?x227 (fun_app$a v_b_SP_G_3$ ?v1))) -(let (($x2143 (= (+ ?x227 ?x1657 (b_G$ (pair$ ?v1 ?v0!8))) 0))) -(or (>= (+ ?x227 ?x1657) 0) (not $x2143)))))) :qid k!38)) -)) -(let (($x2594 (not (or $x1654 $x1659 (not $x2586))))) -(let (($x2694 (or $x2594 $x2689))) -(let (($x2571 (forall ((?v0 B_Vertex$) )(! (let (($x997 (<= (+ b_Infinity$ (* (- 1) (fun_app$a v_b_SP_G_1$ ?v0))) 0))) -(let (($x175 (fun_app$ v_b_Visited_G_1$ ?v0))) -(or $x175 $x997))) :qid k!38)) -)) -(let (($x2707 (not (or (not $x2571) $x2701 $x2702 $x2703 $x2704 (not $x2694))))) -(let (($x2940 (or $x2707 $x2935))) -(let (($x2557 (forall ((?v0 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0))) -(let ((?x2123 (+ ?x171 (* (- 1) (fun_app$a v_b_SP_G_1$ (?v1!7 ?v0))) (* (- 1) (b_G$ (pair$ (?v1!7 ?v0) ?v0)))))) -(let (($x2124 (= ?x2123 0))) -(let (($x2108 (<= (+ ?x171 (* (- 1) (fun_app$a v_b_SP_G_1$ (?v1!7 ?v0)))) 0))) -(let (($x2546 (not (or $x2108 (not (fun_app$ v_b_Visited_G_1$ (?v1!7 ?v0))) (not $x2124))))) -(let (($x997 (<= (+ b_Infinity$ (* (- 1) ?x171)) 0))) -(let (($x123 (= ?v0 b_Source$))) -(or $x123 $x997 $x2546)))))))) :qid k!38)) -)) -(let (($x2529 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v1))) -(let ((?x152 (b_G$ (pair$ ?v1 ?v0)))) -(let (($x985 (>= (+ ?x152 ?x171 (* (- 1) (fun_app$a v_b_SP_G_1$ ?v0))) 0))) -(let (($x917 (<= (+ b_Infinity$ (* (- 1) ?x152)) 0))) -(let (($x175 (fun_app$ v_b_Visited_G_1$ ?v1))) -(let (($x176 (not $x175))) -(or $x176 $x917 $x985))))))) :qid k!38)) -)) -(let (($x2507 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v1))) -(let (($x1010 (>= (+ ?x171 (* (- 1) (fun_app$a v_b_SP_G_1$ ?v0))) 0))) -(let (($x175 (fun_app$ v_b_Visited_G_1$ ?v1))) -(or $x175 (not (fun_app$ v_b_Visited_G_1$ ?v0)) $x1010)))) :qid k!38)) -)) -(let (($x2484 (forall ((?v0 B_Vertex$) )(! (let ((?x124 (v_b_SP_G_0$ ?v0))) -(let ((?x2085 (+ ?x124 (* (- 1) (v_b_SP_G_0$ (?v1!6 ?v0))) (* (- 1) (b_G$ (pair$ (?v1!6 ?v0) ?v0)))))) -(let (($x2086 (= ?x2085 0))) -(let (($x2070 (<= (+ ?x124 (* (- 1) (v_b_SP_G_0$ (?v1!6 ?v0)))) 0))) -(let (($x2473 (not (or $x2070 (not (fun_app$ v_b_Visited_G_0$ (?v1!6 ?v0))) (not $x2086))))) -(let (($x942 (<= (+ b_Infinity$ (* (- 1) ?x124)) 0))) -(let (($x123 (= ?v0 b_Source$))) -(or $x123 $x942 $x2473)))))))) :qid k!38)) -)) -(let (($x2953 (or (not $x2484) $x2947 (not $x1046) (not $x2507) (not $x2529) (not $x2557) (not $x2940)))) -(let (($x2954 (not $x2953))) -(let (($x2446 (forall ((?v1 B_Vertex$) )(! (let ((?x1535 (v_b_SP_G_0$ ?v0!5))) -(let ((?x1536 (* (- 1) ?x1535))) -(let ((?x124 (v_b_SP_G_0$ ?v1))) -(let (($x133 (fun_app$ v_b_Visited_G_0$ ?v1))) -(let (($x134 (not $x133))) -(or (>= (+ ?x124 ?x1536) 0) $x134 (not (= (+ ?x124 ?x1536 (b_G$ (pair$ ?v1 ?v0!5))) 0)))))))) :qid k!38)) -)) -(let (($x2454 (not (or $x1533 $x1538 (not $x2446))))) -(let (($x2959 (or $x2454 $x2954))) -(let (($x2431 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x152 (b_G$ (pair$ ?v1 ?v0)))) -(let ((?x124 (v_b_SP_G_0$ ?v1))) -(let (($x928 (>= (+ ?x124 (* (- 1) (v_b_SP_G_0$ ?v0)) ?x152) 0))) -(let (($x917 (<= (+ b_Infinity$ (* (- 1) ?x152)) 0))) -(let (($x133 (fun_app$ v_b_Visited_G_0$ ?v1))) -(let (($x134 (not $x133))) -(or $x134 $x917 $x928))))))) :qid k!38)) -)) -(let (($x2968 (not (or (not $x2431) (not $x2959))))) -(let (($x2973 (or $x2409 $x2968))) -(let (($x2386 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let (($x902 (>= (+ (v_b_SP_G_0$ ?v1) (* (- 1) (v_b_SP_G_0$ ?v0))) 0))) -(let (($x133 (fun_app$ v_b_Visited_G_0$ ?v1))) -(or $x133 (not (fun_app$ v_b_Visited_G_0$ ?v0)) $x902))) :qid k!38)) -)) -(let (($x2982 (not (or (not $x2386) (not $x2973))))) -(let (($x2987 (or $x2363 $x2982))) -(let (($x2995 (not (or $x897 (not $x2987))))) -(let (($x3000 (or $x1472 $x2995))) -(let (($x3008 (not (or $x864 (not $x3000))))) -(let (($x3013 (or $x864 $x3008))) -(let (($x2832 (or (>= (+ ?x268 ?x1907) 0) $x295 (not (= (+ ?x268 ?x1907 (b_G$ (pair$ ?0 ?v0!20))) 0))))) -(let ((@x3731 (monotonicity (quant-intro (refl (= $x2832 $x2832)) (= $x2843 $x3724)) (= (not $x2843) $x3729)))) -(let ((@x3719 (quant-intro (refl (= (or $x295 $x917 $x1277) (or $x295 $x917 $x1277))) (= $x2828 $x3715)))) -(let ((@x3734 (monotonicity (monotonicity @x3719 (= (not $x2828) $x3720)) @x3731 (= (or (not $x2828) $x1904 $x1909 (not $x2843)) $x3732)))) -(let ((@x3743 (monotonicity (monotonicity (monotonicity @x3734 (= $x2852 $x3735)) (= $x2857 $x3738)) (= (not $x2857) $x3741)))) -(let ((@x3711 (quant-intro (refl (= (or $x286 (not $x296) $x1257) (or $x286 (not $x296) $x1257))) (= $x2783 $x3707)))) -(let ((@x3746 (monotonicity (monotonicity @x3711 (= (not $x2783) $x3712)) @x3743 (= (or (not $x2783) (not $x2857)) $x3744)))) -(let ((@x3755 (monotonicity (monotonicity (monotonicity @x3746 (= $x2866 $x3747)) (= $x2871 $x3750)) (= (not $x2871) $x3753)))) -(let ((@x3702 (quant-intro (refl (= (>= ?x268 0) (>= ?x268 0))) (= $x1251 $x3698)))) -(let ((@x3758 (monotonicity (monotonicity @x3702 (= $x1254 $x3703)) @x3755 (= (or $x1254 (not $x2871)) $x3756)))) -(let ((@x3767 (monotonicity (monotonicity (monotonicity @x3758 (= $x2879 $x3759)) (= $x2884 $x3762)) (= (not $x2884) $x3765)))) -(let ((@x3773 (monotonicity (monotonicity @x3767 (= (or $x768 (not $x2884)) $x3768)) (= $x2892 $x3771)))) -(let ((@x3779 (monotonicity (monotonicity @x3773 (= $x2897 $x3774)) (= (not $x2897) $x3777)))) -(let ((@x3694 (quant-intro (refl (= (or $x295 $x273) (or $x295 $x273))) (= $x647 $x3690)))) -(let ((@x3782 (monotonicity (monotonicity @x3694 (= $x780 $x3695)) @x3779 (= (or $x780 (not $x2897)) $x3780)))) -(let ((@x3791 (monotonicity (monotonicity (monotonicity @x3782 (= $x2905 $x3783)) (= $x2910 $x3786)) (= (not $x2910) $x3789)))) -(let ((@x3688 (monotonicity (quant-intro (refl (= $x1238 $x1238)) (= $x1242 $x3681)) (= $x1245 $x3686)))) -(let ((@x3797 (monotonicity (monotonicity @x3688 @x3791 (= (or $x1245 (not $x2910)) $x3792)) (= $x2918 $x3795)))) -(let ((@x3803 (monotonicity (monotonicity @x3797 (= $x2923 $x3798)) (= (not $x2923) $x3801)))) -(let ((@x3675 (refl (= (or (not (or $x1164 $x1170)) $x273) (or (not (or $x1164 $x1170)) $x273))))) -(let ((@x3680 (monotonicity (quant-intro @x3675 (= $x2737 $x3673)) (= (not $x2737) $x3678)))) -(let ((@x3669 (quant-intro (refl (= (or $x1164 $x1170 $x1180) (or $x1164 $x1170 $x1180))) (= $x2731 $x3665)))) -(let ((@x3662 (monotonicity (quant-intro (refl (= $x1201 $x1201)) (= $x1204 $x3655)) (= (not $x1204) $x3660)))) -(let ((@x3806 (monotonicity @x3662 (monotonicity @x3669 (= (not $x2731) $x3670)) @x3680 @x3803 (= $x2934 $x3804)))) -(let ((@x3621 (quant-intro (refl (= (or $x1094 $x917 $x1135) (or $x1094 $x917 $x1135))) (= $x2667 $x3617)))) -(let ((@x3627 (monotonicity (monotonicity @x3621 (= (not $x2667) $x3622)) (= (or (not $x2667) $x243) $x3625)))) -(let ((@x3636 (monotonicity (monotonicity (monotonicity @x3627 (= $x2675 $x3628)) (= $x2680 $x3631)) (= (not $x2680) $x3634)))) -(let ((?x2186 (+ ?x227 (* (- 1) (fun_app$a v_b_SP_G_3$ (?v1!9 ?0))) (* (- 1) (b_G$ (pair$ (?v1!9 ?0) ?0)))))) -(let (($x2187 (= ?x2186 0))) -(let (($x2171 (<= (+ ?x227 (* (- 1) (fun_app$a v_b_SP_G_3$ (?v1!9 ?0)))) 0))) -(let (($x2612 (not (or $x2171 (not $x2187))))) -(let (($x2618 (or $x123 $x1094 $x2612))) -(let ((@x3616 (monotonicity (quant-intro (refl (= $x2618 $x2618)) (= $x2623 $x3609)) (= (not $x2623) $x3614)))) -(let ((@x3642 (monotonicity (monotonicity @x3616 @x3636 (= (or (not $x2623) (not $x2680)) $x3637)) (= $x2689 $x3640)))) -(let ((?x1656 (fun_app$a v_b_SP_G_3$ ?v0!8))) -(let ((?x1657 (* (- 1) ?x1656))) -(let (($x2143 (= (+ ?x227 ?x1657 (b_G$ (pair$ ?0 ?v0!8))) 0))) -(let (($x2575 (or (>= (+ ?x227 ?x1657) 0) (not $x2143)))) -(let ((@x3602 (monotonicity (quant-intro (refl (= $x2575 $x2575)) (= $x2586 $x3595)) (= (not $x2586) $x3600)))) -(let ((@x3608 (monotonicity (monotonicity @x3602 (= (or $x1654 $x1659 (not $x2586)) $x3603)) (= $x2594 $x3606)))) -(let ((@x3648 (monotonicity (monotonicity @x3608 @x3642 (= $x2694 $x3643)) (= (not $x2694) $x3646)))) -(let ((@x3589 (quant-intro (refl (= (or $x175 $x997) (or $x175 $x997))) (= $x2571 $x3585)))) -(let ((@x3651 (monotonicity (monotonicity @x3589 (= (not $x2571) $x3590)) @x3648 (= (or (not $x2571) $x2701 $x2702 $x2703 $x2704 (not $x2694)) $x3649)))) -(let ((@x3812 (monotonicity (monotonicity @x3651 (= $x2707 $x3652)) (monotonicity @x3806 (= $x2935 $x3807)) (= $x2940 $x3810)))) -(let ((?x2123 (+ ?x171 (* (- 1) (fun_app$a v_b_SP_G_1$ (?v1!7 ?0))) (* (- 1) (b_G$ (pair$ (?v1!7 ?0) ?0)))))) -(let (($x2124 (= ?x2123 0))) -(let (($x2108 (<= (+ ?x171 (* (- 1) (fun_app$a v_b_SP_G_1$ (?v1!7 ?0)))) 0))) -(let (($x2546 (not (or $x2108 (not (fun_app$ v_b_Visited_G_1$ (?v1!7 ?0))) (not $x2124))))) -(let (($x2552 (or $x123 $x997 $x2546))) -(let ((@x3583 (monotonicity (quant-intro (refl (= $x2552 $x2552)) (= $x2557 $x3576)) (= (not $x2557) $x3581)))) -(let ((@x3572 (quant-intro (refl (= (or $x176 $x917 $x985) (or $x176 $x917 $x985))) (= $x2529 $x3568)))) -(let ((@x3564 (quant-intro (refl (= (or $x175 (not $x177) $x1010) (or $x175 (not $x177) $x1010))) (= $x2507 $x3560)))) -(let ((@x3555 (quant-intro (refl (= (>= ?x171 0) (>= ?x171 0))) (= $x1046 $x3551)))) -(let ((?x2085 (+ ?x124 (* (- 1) (v_b_SP_G_0$ (?v1!6 ?0))) (* (- 1) (b_G$ (pair$ (?v1!6 ?0) ?0)))))) -(let (($x2086 (= ?x2085 0))) -(let (($x2070 (<= (+ ?x124 (* (- 1) (v_b_SP_G_0$ (?v1!6 ?0)))) 0))) -(let (($x2473 (not (or $x2070 (not (fun_app$ v_b_Visited_G_0$ (?v1!6 ?0))) (not $x2086))))) -(let (($x942 (<= (+ b_Infinity$ (* (- 1) ?x124)) 0))) -(let (($x2479 (or $x123 $x942 $x2473))) -(let ((@x3549 (monotonicity (quant-intro (refl (= $x2479 $x2479)) (= $x2484 $x3542)) (= (not $x2484) $x3547)))) -(let ((@x3818 (monotonicity @x3549 (monotonicity @x3555 (= (not $x1046) $x3556)) (monotonicity @x3564 (= (not $x2507) $x3565)) (monotonicity @x3572 (= (not $x2529) $x3573)) @x3583 (monotonicity @x3812 (= (not $x2940) $x3813)) (= $x2953 $x3816)))) -(let (($x2435 (or (>= (+ ?x124 ?x1536) 0) $x134 (not (= (+ ?x124 ?x1536 (b_G$ (pair$ ?0 ?v0!5))) 0))))) -(let ((@x3535 (monotonicity (quant-intro (refl (= $x2435 $x2435)) (= $x2446 $x3528)) (= (not $x2446) $x3533)))) -(let ((@x3541 (monotonicity (monotonicity @x3535 (= (or $x1533 $x1538 (not $x2446)) $x3536)) (= $x2454 $x3539)))) -(let ((@x3824 (monotonicity @x3541 (monotonicity @x3818 (= $x2954 $x3819)) (= $x2959 $x3822)))) -(let ((@x3523 (quant-intro (refl (= (or $x134 $x917 $x928) (or $x134 $x917 $x928))) (= $x2431 $x3519)))) -(let ((@x3830 (monotonicity (monotonicity @x3523 (= (not $x2431) $x3524)) (monotonicity @x3824 (= (not $x2959) $x3825)) (= (or (not $x2431) (not $x2959)) $x3828)))) -(let ((@x3839 (monotonicity (monotonicity (monotonicity @x3830 (= $x2968 $x3831)) (= $x2973 $x3834)) (= (not $x2973) $x3837)))) -(let (($x2381 (or $x133 (not (fun_app$ v_b_Visited_G_0$ ?1)) $x902))) -(let ((@x3517 (monotonicity (quant-intro (refl (= $x2381 $x2381)) (= $x2386 $x3510)) (= (not $x2386) $x3515)))) -(let ((@x3845 (monotonicity (monotonicity @x3517 @x3839 (= (or (not $x2386) (not $x2973)) $x3840)) (= $x2982 $x3843)))) -(let ((@x3851 (monotonicity (monotonicity @x3845 (= $x2987 $x3846)) (= (not $x2987) $x3849)))) -(let ((@x3505 (quant-intro (refl (= (>= ?x124 0) (>= ?x124 0))) (= $x894 $x3501)))) -(let ((@x3854 (monotonicity (monotonicity @x3505 (= $x897 $x3506)) @x3851 (= (or $x897 (not $x2987)) $x3852)))) -(let ((@x3863 (monotonicity (monotonicity (monotonicity @x3854 (= $x2995 $x3855)) (= $x3000 $x3858)) (= (not $x3000) $x3861)))) -(let ((@x3869 (monotonicity (monotonicity @x3863 (= (or $x864 (not $x3000)) $x3864)) (= $x3008 $x3867)))) -(let (($x2246 (forall ((?v1 B_Vertex$) )(! (let ((?x1906 (v_b_SP_G_2$ ?v0!20))) -(let ((?x1907 (* (- 1) ?x1906))) -(let ((?x268 (v_b_SP_G_2$ ?v1))) -(let (($x2237 (= (+ ?x268 ?x1907 (b_G$ (pair$ ?v1 ?v0!20))) 0))) -(let (($x286 (fun_app$ v_b_Visited_G_2$ ?v1))) -(let (($x2240 (and (not (>= (+ ?x268 ?x1907) 0)) $x286 $x2237))) -(not $x2240))))))) :qid k!38)) -)) -(let (($x1910 (not $x1909))) -(let (($x1905 (not $x1904))) -(let (($x2255 (and $x1284 $x1905 $x1910 $x2246))) -(let (($x1886 (not (and $x1878 (not $x1883))))) -(let (($x1892 (or $x1886 $x1891))) -(let (($x1893 (not $x1892))) -(let (($x2260 (or $x1893 $x2255))) -(let (($x2263 (and $x1265 $x2260))) -(let (($x1859 (not (and (not $x1855) $x1857)))) -(let (($x1865 (or $x1859 $x1864))) -(let (($x1866 (not $x1865))) -(let (($x2266 (or $x1866 $x2263))) -(let (($x2269 (and $x1251 $x2266))) -(let (($x2272 (or $x1843 $x2269))) -(let (($x2275 (and $x292 $x2272))) -(let (($x2278 (or $x768 $x2275))) -(let (($x2281 (and $x647 $x2278))) -(let (($x2284 (or $x1825 $x2281))) -(let (($x2287 (and $x1242 $x2284))) -(let (($x2290 (or $x1808 $x2287))) -(let (($x1774 (not $x1773))) -(let (($x1769 (not $x1768))) -(let (($x2296 (and $x1769 $x1774 $x253 $x1209 $x1204 $x261 $x1188 $x1194 $x2290))) -(let (($x1744 (not $x243))) -(let (($x1747 (and $x1141 $x1744))) -(let (($x1728 (not (and (not $x1719) (not $x1725))))) -(let (($x2207 (or $x1728 $x2204))) -(let (($x2210 (not $x2207))) -(let (($x2213 (or $x2210 $x1747))) -(let (($x2198 (forall ((?v0 B_Vertex$) )(! (let ((?x227 (fun_app$a v_b_SP_G_3$ ?v0))) -(let ((?x2186 (+ ?x227 (* (- 1) (fun_app$a v_b_SP_G_3$ (?v1!9 ?v0))) (* (- 1) (b_G$ (pair$ (?v1!9 ?v0) ?v0)))))) -(let (($x2187 (= ?x2186 0))) -(let (($x2171 (<= (+ ?x227 (* (- 1) (fun_app$a v_b_SP_G_3$ (?v1!9 ?v0)))) 0))) -(let (($x2192 (and (not $x2171) $x2187))) -(let (($x1094 (<= (+ b_Infinity$ (* (- 1) ?x227)) 0))) -(let (($x1095 (not $x1094))) -(let (($x123 (= ?v0 b_Source$))) -(let (($x128 (not $x123))) -(let (($x1098 (and $x128 $x1095))) -(let (($x1101 (not $x1098))) -(or $x1101 $x2192)))))))))))) :qid k!38)) -)) -(let (($x2216 (and $x2198 $x2213))) -(let (($x2152 (forall ((?v1 B_Vertex$) )(! (let ((?x1656 (fun_app$a v_b_SP_G_3$ ?v0!8))) -(let ((?x1657 (* (- 1) ?x1656))) -(let ((?x227 (fun_app$a v_b_SP_G_3$ ?v1))) -(let (($x2143 (= (+ ?x227 ?x1657 (b_G$ (pair$ ?v1 ?v0!8))) 0))) -(let (($x2146 (and (not (>= (+ ?x227 ?x1657) 0)) $x2143))) -(not $x2146)))))) :qid k!38)) -)) -(let (($x1660 (not $x1659))) -(let (($x1655 (not $x1654))) -(let (($x2158 (and $x1655 $x1660 $x2152))) -(let (($x2219 (or $x2158 $x2216))) -(let (($x1636 (forall ((?v0 B_Vertex$) )(! (let (($x997 (<= (+ b_Infinity$ (* (- 1) (fun_app$a v_b_SP_G_1$ ?v0))) 0))) -(let (($x998 (not $x997))) -(let (($x175 (fun_app$ v_b_Visited_G_1$ ?v0))) -(let (($x176 (not $x175))) -(let (($x1072 (and $x176 $x998))) -(not $x1072)))))) :qid k!38)) -)) -(let (($x2225 (and $x1636 $x209 $x212 $x214 $x217 $x2219))) -(let (($x2301 (or $x2225 $x2296))) -(let (($x2135 (forall ((?v0 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0))) -(let ((?x2123 (+ ?x171 (* (- 1) (fun_app$a v_b_SP_G_1$ (?v1!7 ?v0))) (* (- 1) (b_G$ (pair$ (?v1!7 ?v0) ?v0)))))) -(let (($x2124 (= ?x2123 0))) -(let ((?x1608 (?v1!7 ?v0))) -(let (($x1613 (fun_app$ v_b_Visited_G_1$ ?x1608))) -(let (($x2129 (and (not (<= (+ ?x171 (* (- 1) (fun_app$a v_b_SP_G_1$ ?x1608))) 0)) $x1613 $x2124))) -(let (($x997 (<= (+ b_Infinity$ (* (- 1) ?x171)) 0))) -(let (($x998 (not $x997))) -(let (($x123 (= ?v0 b_Source$))) -(let (($x128 (not $x123))) -(let (($x1001 (and $x128 $x998))) -(let (($x1004 (not $x1001))) -(or $x1004 $x2129))))))))))))) :qid k!38)) -)) -(let (($x2097 (forall ((?v0 B_Vertex$) )(! (let ((?x124 (v_b_SP_G_0$ ?v0))) -(let ((?x2085 (+ ?x124 (* (- 1) (v_b_SP_G_0$ (?v1!6 ?v0))) (* (- 1) (b_G$ (pair$ (?v1!6 ?v0) ?v0)))))) -(let (($x2086 (= ?x2085 0))) -(let ((?x1573 (?v1!6 ?v0))) -(let (($x1578 (fun_app$ v_b_Visited_G_0$ ?x1573))) -(let (($x2091 (and (not (<= (+ ?x124 (* (- 1) (v_b_SP_G_0$ ?x1573))) 0)) $x1578 $x2086))) -(let (($x123 (= ?v0 b_Source$))) -(let (($x128 (not $x123))) -(let (($x946 (and $x128 (not (<= (+ b_Infinity$ (* (- 1) ?x124)) 0))))) -(let (($x949 (not $x946))) -(or $x949 $x2091))))))))))) :qid k!38)) -)) -(let (($x2310 (and $x2097 $x170 $x1046 $x1040 $x992 $x2135 $x2301))) -(let (($x1562 (forall ((?v1 B_Vertex$) )(! (let ((?x1535 (v_b_SP_G_0$ ?v0!5))) -(let ((?x1536 (* (- 1) ?x1535))) -(let ((?x124 (v_b_SP_G_0$ ?v1))) -(let (($x133 (fun_app$ v_b_Visited_G_0$ ?v1))) -(let (($x1549 (and (not (>= (+ ?x124 ?x1536) 0)) $x133 (= (+ ?x124 ?x1536 (b_G$ (pair$ ?v1 ?v0!5))) 0)))) -(not $x1549)))))) :qid k!38)) -)) -(let (($x2057 (and $x1534 $x1539 $x1562))) -(let (($x2315 (or $x2057 $x2310))) -(let (($x2318 (and $x934 $x2315))) -(let (($x1515 (not (and $x1507 (not $x1512))))) -(let (($x2046 (or $x1515 $x2043))) -(let (($x2049 (not $x2046))) -(let (($x2321 (or $x2049 $x2318))) -(let (($x2324 (and $x909 $x2321))) -(let (($x1488 (not (and (not $x1484) $x1486)))) -(let (($x1494 (or $x1488 $x1493))) -(let (($x1495 (not $x1494))) -(let (($x2327 (or $x1495 $x2324))) -(let (($x2330 (and $x894 $x2327))) -(let (($x2333 (or $x1472 $x2330))) -(let (($x2336 (and $x142 $x2333))) -(let (($x2339 (or $x864 $x2336))) -(let ((@x2937 (rewrite (= (and $x1769 $x1774 $x253 $x1209 $x1204 $x261 $x2731 $x2737 $x2923) $x2935)))) -(let (($x2237 (= (+ ?x268 ?x1907 (b_G$ (pair$ ?0 ?v0!20))) 0))) -(let (($x2240 (and (not (>= (+ ?x268 ?x1907) 0)) $x286 $x2237))) -(let (($x2243 (not $x2240))) -(let ((@x2838 (monotonicity (rewrite (= $x2240 (not $x2832))) (= $x2243 (not (not $x2832)))))) -(let ((@x2845 (quant-intro (trans @x2838 (rewrite (= (not (not $x2832)) $x2832)) (= $x2243 $x2832)) (= $x2246 $x2843)))) -(let ((@x2815 (monotonicity (rewrite (= $x1271 (not (or $x295 $x917)))) (= $x1274 (not (not (or $x295 $x917))))))) -(let ((@x2819 (trans @x2815 (rewrite (= (not (not (or $x295 $x917))) (or $x295 $x917))) (= $x1274 (or $x295 $x917))))) -(let ((@x2827 (trans (monotonicity @x2819 (= $x1281 (or (or $x295 $x917) $x1277))) (rewrite (= (or (or $x295 $x917) $x1277) (or $x295 $x917 $x1277))) (= $x1281 (or $x295 $x917 $x1277))))) -(let ((@x2848 (monotonicity (quant-intro @x2827 (= $x1284 $x2828)) @x2845 (= $x2255 (and $x2828 $x1905 $x1910 $x2843))))) -(let ((@x2856 (trans @x2848 (rewrite (= (and $x2828 $x1905 $x1910 $x2843) $x2852)) (= $x2255 $x2852)))) -(let ((@x2793 (monotonicity (rewrite (= (and $x1878 (not $x1883)) (not (or $x2786 $x1883)))) (= $x1886 (not (not (or $x2786 $x1883))))))) -(let ((@x2797 (trans @x2793 (rewrite (= (not (not (or $x2786 $x1883))) (or $x2786 $x1883))) (= $x1886 (or $x2786 $x1883))))) -(let ((@x2805 (trans (monotonicity @x2797 (= $x1892 (or (or $x2786 $x1883) $x1891))) (rewrite (= (or (or $x2786 $x1883) $x1891) $x2801)) (= $x1892 $x2801)))) -(let ((@x2859 (monotonicity (monotonicity @x2805 (= $x1893 $x2806)) @x2856 (= $x2260 $x2857)))) -(let ((@x2780 (rewrite (= (or (or $x286 (not $x296)) $x1257) (or $x286 (not $x296) $x1257))))) -(let ((@x2772 (rewrite (= (not (not (or $x286 (not $x296)))) (or $x286 (not $x296)))))) -(let ((@x2770 (monotonicity (rewrite (= $x297 (not (or $x286 (not $x296))))) (= $x659 (not (not (or $x286 (not $x296)))))))) -(let ((@x2777 (monotonicity (trans @x2770 @x2772 (= $x659 (or $x286 (not $x296)))) (= $x1262 (or (or $x286 (not $x296)) $x1257))))) -(let ((@x2785 (quant-intro (trans @x2777 @x2780 (= $x1262 (or $x286 (not $x296) $x1257))) (= $x1265 $x2783)))) -(let ((@x2870 (trans (monotonicity @x2785 @x2859 (= $x2263 (and $x2783 $x2857))) (rewrite (= (and $x2783 $x2857) $x2866)) (= $x2263 $x2866)))) -(let ((@x2747 (monotonicity (rewrite (= (and (not $x1855) $x1857) (not (or $x1855 $x2740)))) (= $x1859 (not (not (or $x1855 $x2740))))))) -(let ((@x2751 (trans @x2747 (rewrite (= (not (not (or $x1855 $x2740))) (or $x1855 $x2740))) (= $x1859 (or $x1855 $x2740))))) -(let ((@x2759 (trans (monotonicity @x2751 (= $x1865 (or (or $x1855 $x2740) $x1864))) (rewrite (= (or (or $x1855 $x2740) $x1864) $x2755)) (= $x1865 $x2755)))) -(let ((@x2873 (monotonicity (monotonicity @x2759 (= $x1866 $x2760)) @x2870 (= $x2266 $x2871)))) -(let ((@x2883 (trans (monotonicity @x2873 (= $x2269 (and $x1251 $x2871))) (rewrite (= (and $x1251 $x2871) $x2879)) (= $x2269 $x2879)))) -(let ((@x2889 (monotonicity (monotonicity @x2883 (= $x2272 $x2884)) (= $x2275 (and $x292 $x2884))))) -(let ((@x2899 (monotonicity (trans @x2889 (rewrite (= (and $x292 $x2884) $x2892)) (= $x2275 $x2892)) (= $x2278 $x2897)))) -(let ((@x2909 (trans (monotonicity @x2899 (= $x2281 (and $x647 $x2897))) (rewrite (= (and $x647 $x2897) $x2905)) (= $x2281 $x2905)))) -(let ((@x2915 (monotonicity (monotonicity @x2909 (= $x2284 $x2910)) (= $x2287 (and $x1242 $x2910))))) -(let ((@x2925 (monotonicity (trans @x2915 (rewrite (= (and $x1242 $x2910) $x2918)) (= $x2287 $x2918)) (= $x2290 $x2923)))) -(let ((@x2736 (monotonicity (rewrite (= $x1174 (not (or $x1164 $x1170)))) (= $x1191 (or (not (or $x1164 $x1170)) $x273))))) -(let ((@x2718 (monotonicity (rewrite (= $x1174 (not (or $x1164 $x1170)))) (= $x1177 (not (not (or $x1164 $x1170))))))) -(let ((@x2722 (trans @x2718 (rewrite (= (not (not (or $x1164 $x1170))) (or $x1164 $x1170))) (= $x1177 (or $x1164 $x1170))))) -(let ((@x2730 (trans (monotonicity @x2722 (= $x1185 (or (or $x1164 $x1170) $x1180))) (rewrite (= (or (or $x1164 $x1170) $x1180) (or $x1164 $x1170 $x1180))) (= $x1185 (or $x1164 $x1170 $x1180))))) -(let ((@x2928 (monotonicity (quant-intro @x2730 (= $x1188 $x2731)) (quant-intro @x2736 (= $x1194 $x2737)) @x2925 (= $x2296 (and $x1769 $x1774 $x253 $x1209 $x1204 $x261 $x2731 $x2737 $x2923))))) -(let ((@x2654 (monotonicity (rewrite (= $x1129 (not (or $x1094 $x917)))) (= $x1132 (not (not (or $x1094 $x917))))))) -(let ((@x2658 (trans @x2654 (rewrite (= (not (not (or $x1094 $x917))) (or $x1094 $x917))) (= $x1132 (or $x1094 $x917))))) -(let ((@x2666 (trans (monotonicity @x2658 (= $x1138 (or (or $x1094 $x917) $x1135))) (rewrite (= (or (or $x1094 $x917) $x1135) (or $x1094 $x917 $x1135))) (= $x1138 (or $x1094 $x917 $x1135))))) -(let ((@x2672 (monotonicity (quant-intro @x2666 (= $x1141 $x2667)) (= $x1747 (and $x2667 $x1744))))) -(let ((@x2632 (monotonicity (rewrite (= (and (not $x1719) (not $x1725)) (not (or $x1719 $x1725)))) (= $x1728 (not (not (or $x1719 $x1725))))))) -(let ((@x2636 (trans @x2632 (rewrite (= (not (not (or $x1719 $x1725))) (or $x1719 $x1725))) (= $x1728 (or $x1719 $x1725))))) -(let ((@x2644 (trans (monotonicity @x2636 (= $x2207 (or (or $x1719 $x1725) $x2204))) (rewrite (= (or (or $x1719 $x1725) $x2204) $x2640)) (= $x2207 $x2640)))) -(let ((@x2682 (monotonicity (monotonicity @x2644 (= $x2210 $x2645)) (trans @x2672 (rewrite (= (and $x2667 $x1744) $x2675)) (= $x1747 $x2675)) (= $x2213 $x2680)))) -(let ((@x2605 (monotonicity (rewrite (= $x1098 (not (or $x123 $x1094)))) (= $x1101 (not (not (or $x123 $x1094))))))) -(let ((@x2609 (trans @x2605 (rewrite (= (not (not (or $x123 $x1094))) (or $x123 $x1094))) (= $x1101 (or $x123 $x1094))))) -(let ((@x2617 (monotonicity @x2609 (rewrite (= (and (not $x2171) $x2187) $x2612)) (= (or $x1101 (and (not $x2171) $x2187)) (or (or $x123 $x1094) $x2612))))) -(let ((@x2622 (trans @x2617 (rewrite (= (or (or $x123 $x1094) $x2612) $x2618)) (= (or $x1101 (and (not $x2171) $x2187)) $x2618)))) -(let ((@x2685 (monotonicity (quant-intro @x2622 (= $x2198 $x2623)) @x2682 (= $x2216 (and $x2623 $x2680))))) -(let (($x2146 (and (not (>= (+ ?x227 ?x1657) 0)) $x2143))) -(let (($x2149 (not $x2146))) -(let ((@x2581 (monotonicity (rewrite (= $x2146 (not $x2575))) (= $x2149 (not (not $x2575)))))) -(let ((@x2588 (quant-intro (trans @x2581 (rewrite (= (not (not $x2575)) $x2575)) (= $x2149 $x2575)) (= $x2152 $x2586)))) -(let ((@x2598 (trans (monotonicity @x2588 (= $x2158 (and $x1655 $x1660 $x2586))) (rewrite (= (and $x1655 $x1660 $x2586) $x2594)) (= $x2158 $x2594)))) -(let ((@x2696 (monotonicity @x2598 (trans @x2685 (rewrite (= (and $x2623 $x2680) $x2689)) (= $x2216 $x2689)) (= $x2219 $x2694)))) -(let ((@x2566 (monotonicity (rewrite (= $x1072 (not (or $x175 $x997)))) (= (not $x1072) (not (not (or $x175 $x997))))))) -(let ((@x2570 (trans @x2566 (rewrite (= (not (not (or $x175 $x997))) (or $x175 $x997))) (= (not $x1072) (or $x175 $x997))))) -(let ((@x2699 (monotonicity (quant-intro @x2570 (= $x1636 $x2571)) @x2696 (= $x2225 (and $x2571 $x209 $x212 $x214 $x217 $x2694))))) -(let ((@x2711 (trans @x2699 (rewrite (= (and $x2571 $x209 $x212 $x214 $x217 $x2694) $x2707)) (= $x2225 $x2707)))) -(let ((?x1608 (?v1!7 ?0))) -(let (($x1613 (fun_app$ v_b_Visited_G_1$ ?x1608))) -(let (($x2129 (and (not $x2108) $x1613 $x2124))) -(let (($x2132 (or $x1004 $x2129))) -(let ((@x2538 (monotonicity (rewrite (= $x1001 (not (or $x123 $x997)))) (= $x1004 (not (not (or $x123 $x997))))))) -(let ((@x2542 (trans @x2538 (rewrite (= (not (not (or $x123 $x997))) (or $x123 $x997))) (= $x1004 (or $x123 $x997))))) -(let ((@x2551 (monotonicity @x2542 (rewrite (= $x2129 $x2546)) (= $x2132 (or (or $x123 $x997) $x2546))))) -(let ((@x2556 (trans @x2551 (rewrite (= (or (or $x123 $x997) $x2546) $x2552)) (= $x2132 $x2552)))) -(let ((@x2516 (monotonicity (rewrite (= $x978 (not (or $x176 $x917)))) (= $x981 (not (not (or $x176 $x917))))))) -(let ((@x2520 (trans @x2516 (rewrite (= (not (not (or $x176 $x917))) (or $x176 $x917))) (= $x981 (or $x176 $x917))))) -(let ((@x2528 (trans (monotonicity @x2520 (= $x989 (or (or $x176 $x917) $x985))) (rewrite (= (or (or $x176 $x917) $x985) (or $x176 $x917 $x985))) (= $x989 (or $x176 $x917 $x985))))) -(let ((@x2504 (rewrite (= (or (or $x175 (not $x177)) $x1010) (or $x175 (not $x177) $x1010))))) -(let ((@x2496 (rewrite (= (not (not (or $x175 (not $x177)))) (or $x175 (not $x177)))))) -(let ((@x2494 (monotonicity (rewrite (= $x178 (not (or $x175 (not $x177))))) (= $x398 (not (not (or $x175 (not $x177)))))))) -(let ((@x2501 (monotonicity (trans @x2494 @x2496 (= $x398 (or $x175 (not $x177)))) (= $x1037 (or (or $x175 (not $x177)) $x1010))))) -(let ((@x2509 (quant-intro (trans @x2501 @x2504 (= $x1037 (or $x175 (not $x177) $x1010))) (= $x1040 $x2507)))) -(let ((?x1573 (?v1!6 ?0))) -(let (($x1578 (fun_app$ v_b_Visited_G_0$ ?x1573))) -(let (($x2091 (and (not $x2070) $x1578 $x2086))) -(let (($x2094 (or $x949 $x2091))) -(let ((@x2465 (monotonicity (rewrite (= $x946 (not (or $x123 $x942)))) (= $x949 (not (not (or $x123 $x942))))))) -(let ((@x2469 (trans @x2465 (rewrite (= (not (not (or $x123 $x942))) (or $x123 $x942))) (= $x949 (or $x123 $x942))))) -(let ((@x2478 (monotonicity @x2469 (rewrite (= $x2091 $x2473)) (= $x2094 (or (or $x123 $x942) $x2473))))) -(let ((@x2483 (trans @x2478 (rewrite (= (or (or $x123 $x942) $x2473) $x2479)) (= $x2094 $x2479)))) -(let ((@x2945 (monotonicity (quant-intro @x2483 (= $x2097 $x2484)) @x2509 (quant-intro @x2528 (= $x992 $x2529)) (quant-intro @x2556 (= $x2135 $x2557)) (monotonicity @x2711 (trans @x2928 @x2937 (= $x2296 $x2935)) (= $x2301 $x2940)) (= $x2310 (and $x2484 $x170 $x1046 $x2507 $x2529 $x2557 $x2940))))) -(let ((@x2958 (trans @x2945 (rewrite (= (and $x2484 $x170 $x1046 $x2507 $x2529 $x2557 $x2940) $x2954)) (= $x2310 $x2954)))) -(let (($x1549 (and (not (>= (+ ?x124 ?x1536) 0)) $x133 (= (+ ?x124 ?x1536 (b_G$ (pair$ ?0 ?v0!5))) 0)))) -(let (($x1559 (not $x1549))) -(let ((@x2441 (monotonicity (rewrite (= $x1549 (not $x2435))) (= $x1559 (not (not $x2435)))))) -(let ((@x2448 (quant-intro (trans @x2441 (rewrite (= (not (not $x2435)) $x2435)) (= $x1559 $x2435)) (= $x1562 $x2446)))) -(let ((@x2458 (trans (monotonicity @x2448 (= $x2057 (and $x1534 $x1539 $x2446))) (rewrite (= (and $x1534 $x1539 $x2446) $x2454)) (= $x2057 $x2454)))) -(let ((@x2418 (monotonicity (rewrite (= $x921 (not (or $x134 $x917)))) (= $x924 (not (not (or $x134 $x917))))))) -(let ((@x2422 (trans @x2418 (rewrite (= (not (not (or $x134 $x917))) (or $x134 $x917))) (= $x924 (or $x134 $x917))))) -(let ((@x2430 (trans (monotonicity @x2422 (= $x931 (or (or $x134 $x917) $x928))) (rewrite (= (or (or $x134 $x917) $x928) (or $x134 $x917 $x928))) (= $x931 (or $x134 $x917 $x928))))) -(let ((@x2964 (monotonicity (quant-intro @x2430 (= $x934 $x2431)) (monotonicity @x2458 @x2958 (= $x2315 $x2959)) (= $x2318 (and $x2431 $x2959))))) -(let ((@x2396 (monotonicity (rewrite (= (and $x1507 (not $x1512)) (not (or $x2389 $x1512)))) (= $x1515 (not (not (or $x2389 $x1512))))))) -(let ((@x2400 (trans @x2396 (rewrite (= (not (not (or $x2389 $x1512))) (or $x2389 $x1512))) (= $x1515 (or $x2389 $x1512))))) -(let ((@x2408 (trans (monotonicity @x2400 (= $x2046 (or (or $x2389 $x1512) $x2043))) (rewrite (= (or (or $x2389 $x1512) $x2043) $x2404)) (= $x2046 $x2404)))) -(let ((@x2975 (monotonicity (monotonicity @x2408 (= $x2049 $x2409)) (trans @x2964 (rewrite (= (and $x2431 $x2959) $x2968)) (= $x2318 $x2968)) (= $x2321 $x2973)))) -(let (($x2382 (= (or (or $x133 (not (fun_app$ v_b_Visited_G_0$ ?1))) $x902) $x2381))) -(let (($x2379 (= $x906 (or (or $x133 (not (fun_app$ v_b_Visited_G_0$ ?1))) $x902)))) -(let (($x2367 (or $x133 (not (fun_app$ v_b_Visited_G_0$ ?1))))) -(let ((@x2373 (monotonicity (rewrite (= $x146 (not $x2367))) (= $x377 (not (not $x2367)))))) -(let ((@x2380 (monotonicity (trans @x2373 (rewrite (= (not (not $x2367)) $x2367)) (= $x377 $x2367)) $x2379))) -(let ((@x2388 (quant-intro (trans @x2380 (rewrite $x2382) (= $x906 $x2381)) (= $x909 $x2386)))) -(let ((@x2986 (trans (monotonicity @x2388 @x2975 (= $x2324 (and $x2386 $x2973))) (rewrite (= (and $x2386 $x2973) $x2982)) (= $x2324 $x2982)))) -(let ((@x2350 (monotonicity (rewrite (= (and (not $x1484) $x1486) (not (or $x1484 $x2343)))) (= $x1488 (not (not (or $x1484 $x2343))))))) -(let ((@x2354 (trans @x2350 (rewrite (= (not (not (or $x1484 $x2343))) (or $x1484 $x2343))) (= $x1488 (or $x1484 $x2343))))) -(let ((@x2362 (trans (monotonicity @x2354 (= $x1494 (or (or $x1484 $x2343) $x1493))) (rewrite (= (or (or $x1484 $x2343) $x1493) $x2358)) (= $x1494 $x2358)))) -(let ((@x2989 (monotonicity (monotonicity @x2362 (= $x1495 $x2363)) @x2986 (= $x2327 $x2987)))) -(let ((@x2999 (trans (monotonicity @x2989 (= $x2330 (and $x894 $x2987))) (rewrite (= (and $x894 $x2987) $x2995)) (= $x2330 $x2995)))) -(let ((@x3005 (monotonicity (monotonicity @x2999 (= $x2333 $x3000)) (= $x2336 (and $x142 $x3000))))) -(let ((@x3015 (monotonicity (trans @x3005 (rewrite (= (and $x142 $x3000) $x3008)) (= $x2336 $x3008)) (= $x2339 $x3013)))) -(let (($x1933 (forall ((?v1 B_Vertex$) )(! (let ((?x1906 (v_b_SP_G_2$ ?v0!20))) -(let ((?x1907 (* (- 1) ?x1906))) -(let ((?x268 (v_b_SP_G_2$ ?v1))) -(let (($x286 (fun_app$ v_b_Visited_G_2$ ?v1))) -(let (($x1920 (and (not (>= (+ ?x268 ?x1907) 0)) $x286 (= (+ (b_G$ (pair$ ?v1 ?v0!20)) ?x268 ?x1907) 0)))) -(not $x1920)))))) :qid k!38)) -)) -(let (($x1927 (not (not (and $x1905 $x1910))))) -(let (($x1937 (and $x1927 $x1933))) -(let (($x1942 (and $x1284 $x1937))) -(let (($x1946 (or $x1893 $x1942))) -(let (($x1950 (and $x1265 $x1946))) -(let (($x1954 (or $x1866 $x1950))) -(let (($x1958 (and $x1251 $x1954))) -(let (($x1962 (or $x1843 $x1958))) -(let (($x1837 (not $x768))) -(let (($x1966 (and $x1837 $x1962))) -(let (($x1970 (or $x768 $x1966))) -(let (($x1974 (and $x647 $x1970))) -(let (($x1978 (or $x1825 $x1974))) -(let (($x1982 (and $x1242 $x1978))) -(let (($x1986 (or $x1808 $x1982))) -(let (($x1796 (and (and $x1769 $x1774) $x253 $x1209 $x1204 $x261 $x1188 $x1194))) -(let (($x1990 (and $x1796 $x1986))) -(let (($x1734 (not (or $x1728 (>= (+ ?x1722 ?x1716 ?x1730) 0))))) -(let (($x1751 (or $x1734 $x1747))) -(let (($x1708 (forall ((?v0 B_Vertex$) )(! (let ((?x227 (fun_app$a v_b_SP_G_3$ ?v0))) -(let ((?x1092 (* (- 1) ?x227))) -(let ((?x1694 (fun_app$a v_b_SP_G_3$ (?v1!9 ?v0)))) -(let ((?x1699 (b_G$ (pair$ (?v1!9 ?v0) ?v0)))) -(let (($x1701 (= (+ ?x1699 ?x1694 ?x1092) 0))) -(let (($x1702 (and (not (>= (+ ?x1694 ?x1092) 0)) $x1701))) -(let (($x1094 (<= (+ b_Infinity$ ?x1092) 0))) -(let (($x1095 (not $x1094))) -(let (($x123 (= ?v0 b_Source$))) -(let (($x128 (not $x123))) -(let (($x1098 (and $x128 $x1095))) -(let (($x1101 (not $x1098))) -(or $x1101 $x1702))))))))))))) :qid k!38)) -)) -(let (($x1755 (and $x1708 $x1751))) -(let (($x1682 (forall ((?v1 B_Vertex$) )(! (let ((?x1656 (fun_app$a v_b_SP_G_3$ ?v0!8))) -(let ((?x1657 (* (- 1) ?x1656))) -(let ((?x227 (fun_app$a v_b_SP_G_3$ ?v1))) -(let (($x1670 (and (not (>= (+ ?x227 ?x1657) 0)) (= (+ (b_G$ (pair$ ?v1 ?v0!8)) ?x227 ?x1657) 0)))) -(not $x1670))))) :qid k!38)) -)) -(let (($x1676 (not (not (and $x1655 $x1660))))) -(let (($x1686 (and $x1676 $x1682))) -(let (($x1759 (or $x1686 $x1755))) -(let (($x1647 (and $x1636 $x209 $x212 $x214 $x217))) -(let (($x1763 (and $x1647 $x1759))) -(let (($x1994 (or $x1763 $x1990))) -(let (($x1624 (forall ((?v0 B_Vertex$) )(! (let ((?x171 (fun_app$a v_b_SP_G_1$ ?v0))) -(let ((?x995 (* (- 1) ?x171))) -(let ((?x1608 (?v1!7 ?v0))) -(let ((?x1609 (fun_app$a v_b_SP_G_1$ ?x1608))) -(let ((?x1615 (b_G$ (pair$ ?x1608 ?v0)))) -(let (($x1617 (= (+ ?x1615 ?x1609 ?x995) 0))) -(let (($x1613 (fun_app$ v_b_Visited_G_1$ ?x1608))) -(let (($x1618 (and (not (>= (+ ?x1609 ?x995) 0)) $x1613 $x1617))) -(let (($x997 (<= (+ b_Infinity$ ?x995) 0))) -(let (($x998 (not $x997))) -(let (($x123 (= ?v0 b_Source$))) -(let (($x128 (not $x123))) -(let (($x1001 (and $x128 $x998))) -(let (($x1004 (not $x1001))) -(or $x1004 $x1618))))))))))))))) :qid k!38)) -)) -(let (($x1589 (forall ((?v0 B_Vertex$) )(! (let ((?x1580 (b_G$ (pair$ (?v1!6 ?v0) ?v0)))) -(let ((?x124 (v_b_SP_G_0$ ?v0))) -(let ((?x940 (* (- 1) ?x124))) -(let ((?x1573 (?v1!6 ?v0))) -(let ((?x1574 (v_b_SP_G_0$ ?x1573))) -(let (($x1582 (= (+ ?x1574 ?x940 ?x1580) 0))) -(let (($x1578 (fun_app$ v_b_Visited_G_0$ ?x1573))) -(let (($x1583 (and (not (>= (+ ?x1574 ?x940) 0)) $x1578 $x1582))) -(let (($x123 (= ?v0 b_Source$))) -(let (($x128 (not $x123))) -(let (($x946 (and $x128 (not (<= (+ b_Infinity$ ?x940) 0))))) -(let (($x949 (not $x946))) -(or $x949 $x1583))))))))))))) :qid k!38)) -)) -(let (($x1627 (and $x1589 $x170 $x1046 $x1040 $x992 $x1624))) -(let (($x1998 (and $x1627 $x1994))) -(let (($x1556 (not (not (and $x1534 $x1539))))) -(let (($x1566 (and $x1556 $x1562))) -(let (($x2002 (or $x1566 $x1998))) -(let (($x2006 (and $x934 $x2002))) -(let (($x1522 (not (or $x1515 (>= (+ ?x1516 ?x1518 ?x1509) 0))))) -(let (($x2010 (or $x1522 $x2006))) -(let (($x2014 (and $x909 $x2010))) -(let (($x2018 (or $x1495 $x2014))) -(let (($x2022 (and $x894 $x2018))) -(let (($x2026 (or $x1472 $x2022))) -(let (($x1466 (not $x864))) -(let (($x2030 (and $x1466 $x2026))) -(let (($x2034 (or $x864 $x2030))) -(let (($x1920 (and (not (>= (+ ?x268 ?x1907) 0)) $x286 (= (+ (b_G$ (pair$ ?0 ?v0!20)) ?x268 ?x1907) 0)))) -(let (($x1930 (not $x1920))) -(let (($x2235 (= (+ (b_G$ (pair$ ?0 ?v0!20)) ?x268 ?x1907) (+ ?x268 ?x1907 (b_G$ (pair$ ?0 ?v0!20)))))) -(let ((@x2239 (monotonicity (rewrite $x2235) (= (= (+ (b_G$ (pair$ ?0 ?v0!20)) ?x268 ?x1907) 0) $x2237)))) -(let ((@x2248 (quant-intro (monotonicity (monotonicity @x2239 (= $x1920 $x2240)) (= $x1930 $x2243)) (= $x1933 $x2246)))) -(let ((@x2251 (monotonicity (rewrite (= $x1927 (and $x1905 $x1910))) @x2248 (= $x1937 (and (and $x1905 $x1910) $x2246))))) -(let ((@x2259 (trans (monotonicity @x2251 (= $x1942 (and $x1284 (and (and $x1905 $x1910) $x2246)))) (rewrite (= (and $x1284 (and (and $x1905 $x1910) $x2246)) $x2255)) (= $x1942 $x2255)))) -(let ((@x2268 (monotonicity (monotonicity (monotonicity @x2259 (= $x1946 $x2260)) (= $x1950 $x2263)) (= $x1954 $x2266)))) -(let ((@x2277 (monotonicity (rewrite (= $x1837 $x292)) (monotonicity (monotonicity @x2268 (= $x1958 $x2269)) (= $x1962 $x2272)) (= $x1966 $x2275)))) -(let ((@x2286 (monotonicity (monotonicity (monotonicity @x2277 (= $x1970 $x2278)) (= $x1974 $x2281)) (= $x1978 $x2284)))) -(let ((@x2295 (monotonicity (monotonicity (monotonicity @x2286 (= $x1982 $x2287)) (= $x1986 $x2290)) (= $x1990 (and $x1796 $x2290))))) -(let ((@x2206 (monotonicity (rewrite (= (+ ?x1722 ?x1716 ?x1730) ?x2201)) (= (>= (+ ?x1722 ?x1716 ?x1730) 0) $x2204)))) -(let ((@x2209 (monotonicity @x2206 (= (or $x1728 (>= (+ ?x1722 ?x1716 ?x1730) 0)) $x2207)))) -(let (($x2192 (and (not $x2171) $x2187))) -(let (($x2195 (or $x1101 $x2192))) -(let ((?x1092 (* (- 1) ?x227))) -(let ((?x1694 (fun_app$a v_b_SP_G_3$ (?v1!9 ?0)))) -(let ((?x1699 (b_G$ (pair$ (?v1!9 ?0) ?0)))) -(let (($x1701 (= (+ ?x1699 ?x1694 ?x1092) 0))) -(let (($x1702 (and (not (>= (+ ?x1694 ?x1092) 0)) $x1701))) -(let (($x1705 (or $x1101 $x1702))) -(let ((@x2184 (monotonicity (rewrite (= (+ ?x1699 ?x1694 ?x1092) (+ ?x1092 ?x1694 ?x1699))) (= $x1701 (= (+ ?x1092 ?x1694 ?x1699) 0))))) -(let ((@x2191 (trans @x2184 (rewrite (= (= (+ ?x1092 ?x1694 ?x1699) 0) $x2187)) (= $x1701 $x2187)))) -(let ((@x2168 (monotonicity (rewrite (= (+ ?x1694 ?x1092) (+ ?x1092 ?x1694))) (= (>= (+ ?x1694 ?x1092) 0) (>= (+ ?x1092 ?x1694) 0))))) -(let ((@x2175 (trans @x2168 (rewrite (= (>= (+ ?x1092 ?x1694) 0) $x2171)) (= (>= (+ ?x1694 ?x1092) 0) $x2171)))) -(let ((@x2194 (monotonicity (monotonicity @x2175 (= (not (>= (+ ?x1694 ?x1092) 0)) (not $x2171))) @x2191 (= $x1702 $x2192)))) -(let ((@x2218 (monotonicity (quant-intro (monotonicity @x2194 (= $x1705 $x2195)) (= $x1708 $x2198)) (monotonicity (monotonicity @x2209 (= $x1734 $x2210)) (= $x1751 $x2213)) (= $x1755 $x2216)))) -(let (($x1670 (and (not (>= (+ ?x227 ?x1657) 0)) (= (+ (b_G$ (pair$ ?0 ?v0!8)) ?x227 ?x1657) 0)))) -(let (($x1679 (not $x1670))) -(let (($x2141 (= (+ (b_G$ (pair$ ?0 ?v0!8)) ?x227 ?x1657) (+ ?x227 ?x1657 (b_G$ (pair$ ?0 ?v0!8)))))) -(let ((@x2145 (monotonicity (rewrite $x2141) (= (= (+ (b_G$ (pair$ ?0 ?v0!8)) ?x227 ?x1657) 0) $x2143)))) -(let ((@x2154 (quant-intro (monotonicity (monotonicity @x2145 (= $x1670 $x2146)) (= $x1679 $x2149)) (= $x1682 $x2152)))) -(let ((@x2157 (monotonicity (rewrite (= $x1676 (and $x1655 $x1660))) @x2154 (= $x1686 (and (and $x1655 $x1660) $x2152))))) -(let ((@x2162 (trans @x2157 (rewrite (= (and (and $x1655 $x1660) $x2152) $x2158)) (= $x1686 $x2158)))) -(let ((@x2224 (monotonicity (monotonicity @x2162 @x2218 (= $x1759 $x2219)) (= $x1763 (and $x1647 $x2219))))) -(let ((@x2303 (monotonicity (trans @x2224 (rewrite (= (and $x1647 $x2219) $x2225)) (= $x1763 $x2225)) (trans @x2295 (rewrite (= (and $x1796 $x2290) $x2296)) (= $x1990 $x2296)) (= $x1994 $x2301)))) -(let ((?x995 (* (- 1) ?x171))) -(let ((?x1609 (fun_app$a v_b_SP_G_1$ ?x1608))) -(let ((?x1615 (b_G$ (pair$ ?x1608 ?0)))) -(let (($x1617 (= (+ ?x1615 ?x1609 ?x995) 0))) -(let (($x1618 (and (not (>= (+ ?x1609 ?x995) 0)) $x1613 $x1617))) -(let (($x1621 (or $x1004 $x1618))) -(let ((@x2121 (monotonicity (rewrite (= (+ ?x1615 ?x1609 ?x995) (+ ?x995 ?x1609 ?x1615))) (= $x1617 (= (+ ?x995 ?x1609 ?x1615) 0))))) -(let ((@x2128 (trans @x2121 (rewrite (= (= (+ ?x995 ?x1609 ?x1615) 0) $x2124)) (= $x1617 $x2124)))) -(let ((@x2105 (monotonicity (rewrite (= (+ ?x1609 ?x995) (+ ?x995 ?x1609))) (= (>= (+ ?x1609 ?x995) 0) (>= (+ ?x995 ?x1609) 0))))) -(let ((@x2112 (trans @x2105 (rewrite (= (>= (+ ?x995 ?x1609) 0) $x2108)) (= (>= (+ ?x1609 ?x995) 0) $x2108)))) -(let ((@x2131 (monotonicity (monotonicity @x2112 (= (not (>= (+ ?x1609 ?x995) 0)) (not $x2108))) @x2128 (= $x1618 $x2129)))) -(let (($x1582 (= (+ (v_b_SP_G_0$ ?x1573) (* (- 1) ?x124) (b_G$ (pair$ ?x1573 ?0))) 0))) -(let (($x1583 (and (not (>= (+ (v_b_SP_G_0$ ?x1573) (* (- 1) ?x124)) 0)) $x1578 $x1582))) -(let (($x1586 (or $x949 $x1583))) -(let (($x2081 (= (+ (* (- 1) ?x124) (v_b_SP_G_0$ ?x1573) (b_G$ (pair$ ?x1573 ?0))) 0))) -(let (($x2079 (= (+ (v_b_SP_G_0$ ?x1573) (* (- 1) ?x124) (b_G$ (pair$ ?x1573 ?0))) (+ (* (- 1) ?x124) (v_b_SP_G_0$ ?x1573) (b_G$ (pair$ ?x1573 ?0)))))) -(let ((@x2090 (trans (monotonicity (rewrite $x2079) (= $x1582 $x2081)) (rewrite (= $x2081 $x2086)) (= $x1582 $x2086)))) -(let (($x2076 (= (not (>= (+ (v_b_SP_G_0$ ?x1573) (* (- 1) ?x124)) 0)) (not $x2070)))) -(let (($x1576 (>= (+ (v_b_SP_G_0$ ?x1573) (* (- 1) ?x124)) 0))) -(let (($x2063 (= (+ (v_b_SP_G_0$ ?x1573) (* (- 1) ?x124)) (+ (* (- 1) ?x124) (v_b_SP_G_0$ ?x1573))))) -(let ((@x2067 (monotonicity (rewrite $x2063) (= $x1576 (>= (+ (* (- 1) ?x124) (v_b_SP_G_0$ ?x1573)) 0))))) -(let ((@x2074 (trans @x2067 (rewrite (= (>= (+ (* (- 1) ?x124) (v_b_SP_G_0$ ?x1573)) 0) $x2070)) (= $x1576 $x2070)))) -(let ((@x2096 (monotonicity (monotonicity (monotonicity @x2074 $x2076) @x2090 (= $x1583 $x2091)) (= $x1586 $x2094)))) -(let ((@x2306 (monotonicity (quant-intro @x2096 (= $x1589 $x2097)) (quant-intro (monotonicity @x2131 (= $x1621 $x2132)) (= $x1624 $x2135)) (= $x1627 (and $x2097 $x170 $x1046 $x1040 $x992 $x2135))))) -(let ((@x2309 (monotonicity @x2306 @x2303 (= $x1998 (and (and $x2097 $x170 $x1046 $x1040 $x992 $x2135) $x2301))))) -(let ((@x2314 (trans @x2309 (rewrite (= (and (and $x2097 $x170 $x1046 $x1040 $x992 $x2135) $x2301) $x2310)) (= $x1998 $x2310)))) -(let ((@x2056 (monotonicity (rewrite (= $x1556 (and $x1534 $x1539))) (= $x1566 (and (and $x1534 $x1539) $x1562))))) -(let ((@x2061 (trans @x2056 (rewrite (= (and (and $x1534 $x1539) $x1562) $x2057)) (= $x1566 $x2057)))) -(let ((@x2320 (monotonicity (monotonicity @x2061 @x2314 (= $x2002 $x2315)) (= $x2006 $x2318)))) -(let ((@x2045 (monotonicity (rewrite (= (+ ?x1516 ?x1518 ?x1509) ?x2040)) (= (>= (+ ?x1516 ?x1518 ?x1509) 0) $x2043)))) -(let ((@x2048 (monotonicity @x2045 (= (or $x1515 (>= (+ ?x1516 ?x1518 ?x1509) 0)) $x2046)))) -(let ((@x2323 (monotonicity (monotonicity @x2048 (= $x1522 $x2049)) @x2320 (= $x2010 $x2321)))) -(let ((@x2332 (monotonicity (monotonicity (monotonicity @x2323 (= $x2014 $x2324)) (= $x2018 $x2327)) (= $x2022 $x2330)))) -(let ((@x2338 (monotonicity (rewrite (= $x1466 $x142)) (monotonicity @x2332 (= $x2026 $x2333)) (= $x2030 $x2336)))) -(let (($x1921 (exists ((?v1 B_Vertex$) )(! (let ((?x1906 (v_b_SP_G_2$ ?v0!20))) -(let ((?x1907 (* (- 1) ?x1906))) -(let ((?x268 (v_b_SP_G_2$ ?v1))) -(let (($x286 (fun_app$ v_b_Visited_G_2$ ?v1))) -(and (not (>= (+ ?x268 ?x1907) 0)) $x286 (= (+ (b_G$ (pair$ ?v1 ?v0!20)) ?x268 ?x1907) 0)))))) :qid k!38)) -)) -(let ((@x1939 (nnf-neg (refl (~ $x1927 $x1927)) (nnf-neg (refl (~ $x1930 $x1930)) (~ (not $x1921) $x1933)) (~ (not (or (not (and $x1905 $x1910)) $x1921)) $x1937)))) -(let ((@x1941 (trans (sk (~ (not $x1324) (not (or (not (and $x1905 $x1910)) $x1921)))) @x1939 (~ (not $x1324) $x1937)))) -(let ((@x1902 (nnf-neg (nnf-pos (refl (~ $x1281 $x1281)) (~ $x1284 $x1284)) (~ (not $x1287) $x1284)))) -(let ((@x1949 (nnf-neg (sk (~ $x1287 $x1893)) (nnf-neg @x1902 @x1941 (~ (not $x1327) $x1942)) (~ (not $x1330) $x1946)))) -(let ((@x1875 (nnf-neg (nnf-pos (refl (~ $x1262 $x1262)) (~ $x1265 $x1265)) (~ (not $x1268) $x1265)))) -(let ((@x1957 (nnf-neg (sk (~ $x1268 $x1866)) (nnf-neg @x1875 @x1949 (~ (not $x1333) $x1950)) (~ (not $x1336) $x1954)))) -(let ((@x1852 (nnf-neg (nnf-pos (refl (~ (>= ?x268 0) (>= ?x268 0))) (~ $x1251 $x1251)) (~ (not $x1254) $x1251)))) -(let ((@x1965 (nnf-neg (sk (~ $x1254 $x1843)) (nnf-neg @x1852 @x1957 (~ (not $x1339) $x1958)) (~ (not $x1342) $x1962)))) -(let ((@x1973 (nnf-neg (refl (~ $x768 $x768)) (nnf-neg (refl (~ $x1837 $x1837)) @x1965 (~ (not $x1345) $x1966)) (~ (not $x1348) $x1970)))) -(let ((@x1834 (nnf-neg (nnf-pos (refl (~ (or $x295 $x273) (or $x295 $x273))) (~ $x647 $x647)) (~ (not $x780) $x647)))) -(let ((@x1981 (nnf-neg (sk (~ $x780 $x1825)) (nnf-neg @x1834 @x1973 (~ (not $x1351) $x1974)) (~ (not $x1354) $x1978)))) -(let ((@x1817 (nnf-neg (nnf-pos (refl (~ $x1238 $x1238)) (~ $x1242 $x1242)) (~ (not $x1245) $x1242)))) -(let ((@x1989 (nnf-neg (sk (~ $x1245 $x1808)) (nnf-neg @x1817 @x1981 (~ (not $x1357) $x1982)) (~ (not $x1360) $x1986)))) -(let ((@x1798 (monotonicity (sk (~ $x1075 (and $x1769 $x1774))) (refl (~ $x253 $x253)) (refl (~ $x1209 $x1209)) (nnf-pos (refl (~ $x1201 $x1201)) (~ $x1204 $x1204)) (refl (~ $x261 $x261)) (nnf-pos (refl (~ $x1185 $x1185)) (~ $x1188 $x1188)) (nnf-pos (refl (~ $x1191 $x1191)) (~ $x1194 $x1194)) (~ $x1230 $x1796)))) -(let ((@x1993 (nnf-neg (nnf-neg @x1798 (~ (not $x1235) $x1796)) @x1989 (~ (not $x1363) $x1990)))) -(let ((@x1743 (nnf-neg (nnf-pos (refl (~ $x1138 $x1138)) (~ $x1141 $x1141)) (~ (not $x1144) $x1141)))) -(let ((@x1754 (nnf-neg (sk (~ $x1144 $x1734)) (nnf-neg @x1743 (refl (~ $x1744 $x1744)) (~ (not $x1147) $x1747)) (~ (not $x1150) $x1751)))) -(let ((@x1710 (nnf-pos (monotonicity (refl (~ $x1101 $x1101)) (sk (~ $x1117 $x1702)) (~ $x1120 $x1705)) (~ $x1123 $x1708)))) -(let ((@x1758 (nnf-neg (nnf-neg @x1710 (~ (not $x1126) $x1708)) @x1754 (~ (not $x1153) $x1755)))) -(let (($x1671 (exists ((?v1 B_Vertex$) )(! (let ((?x1656 (fun_app$a v_b_SP_G_3$ ?v0!8))) -(let ((?x1657 (* (- 1) ?x1656))) -(let ((?x227 (fun_app$a v_b_SP_G_3$ ?v1))) -(and (not (>= (+ ?x227 ?x1657) 0)) (= (+ (b_G$ (pair$ ?v1 ?v0!8)) ?x227 ?x1657) 0))))) :qid k!38)) -)) -(let ((@x1688 (nnf-neg (refl (~ $x1676 $x1676)) (nnf-neg (refl (~ $x1679 $x1679)) (~ (not $x1671) $x1682)) (~ (not (or (not (and $x1655 $x1660)) $x1671)) $x1686)))) -(let ((@x1690 (trans (sk (~ $x1126 (not (or (not (and $x1655 $x1660)) $x1671)))) @x1688 (~ $x1126 $x1686)))) -(let ((@x1649 (monotonicity (nnf-neg (refl (~ (not $x1072) (not $x1072))) (~ $x1078 $x1636)) (refl (~ $x209 $x209)) (refl (~ $x212 $x212)) (refl (~ $x214 $x214)) (refl (~ $x217 $x217)) (~ $x1084 $x1647)))) -(let ((@x1766 (nnf-neg (nnf-neg @x1649 (~ (not $x1089) $x1647)) (nnf-neg @x1690 @x1758 (~ (not $x1156) $x1759)) (~ (not $x1159) $x1763)))) -(let ((@x1626 (nnf-pos (monotonicity (refl (~ $x1004 $x1004)) (sk (~ $x1026 $x1618)) (~ $x1029 $x1621)) (~ $x1032 $x1624)))) -(let ((@x1591 (nnf-pos (monotonicity (refl (~ $x949 $x949)) (sk (~ $x969 $x1583)) (~ $x972 $x1586)) (~ $x975 $x1589)))) -(let ((@x1629 (monotonicity @x1591 (refl (~ $x170 $x170)) (nnf-pos (refl (~ (>= ?x171 0) (>= ?x171 0))) (~ $x1046 $x1046)) (nnf-pos (refl (~ $x1037 $x1037)) (~ $x1040 $x1040)) (nnf-pos (refl (~ $x989 $x989)) (~ $x992 $x992)) @x1626 (~ $x1064 $x1627)))) -(let ((@x2001 (nnf-neg (nnf-neg @x1629 (~ (not $x1069) $x1627)) (nnf-neg @x1766 @x1993 (~ (not $x1366) $x1994)) (~ (not $x1369) $x1998)))) -(let (($x1550 (exists ((?v1 B_Vertex$) )(! (let ((?x1535 (v_b_SP_G_0$ ?v0!5))) -(let ((?x1536 (* (- 1) ?x1535))) -(let ((?x124 (v_b_SP_G_0$ ?v1))) -(let (($x133 (fun_app$ v_b_Visited_G_0$ ?v1))) -(and (not (>= (+ ?x124 ?x1536) 0)) $x133 (= (+ ?x124 ?x1536 (b_G$ (pair$ ?v1 ?v0!5))) 0)))))) :qid k!38)) -)) -(let ((@x1568 (nnf-neg (refl (~ $x1556 $x1556)) (nnf-neg (refl (~ $x1559 $x1559)) (~ (not $x1550) $x1562)) (~ (not (or (not (and $x1534 $x1539)) $x1550)) $x1566)))) -(let ((@x1570 (trans (sk (~ (not $x975) (not (or (not (and $x1534 $x1539)) $x1550)))) @x1568 (~ (not $x975) $x1566)))) -(let ((@x1531 (nnf-neg (nnf-pos (refl (~ $x931 $x931)) (~ $x934 $x934)) (~ (not $x937) $x934)))) -(let ((@x2009 (nnf-neg @x1531 (nnf-neg @x1570 @x2001 (~ (not $x1372) $x2002)) (~ (not $x1375) $x2006)))) -(let ((@x1504 (nnf-neg (nnf-pos (refl (~ $x906 $x906)) (~ $x909 $x909)) (~ (not $x912) $x909)))) -(let ((@x2017 (nnf-neg @x1504 (nnf-neg (sk (~ $x937 $x1522)) @x2009 (~ (not $x1378) $x2010)) (~ (not $x1381) $x2014)))) -(let ((@x1481 (nnf-neg (nnf-pos (refl (~ (>= ?x124 0) (>= ?x124 0))) (~ $x894 $x894)) (~ (not $x897) $x894)))) -(let ((@x2025 (nnf-neg @x1481 (nnf-neg (sk (~ $x912 $x1495)) @x2017 (~ (not $x1384) $x2018)) (~ (not $x1387) $x2022)))) -(let ((@x2033 (nnf-neg (refl (~ $x1466 $x1466)) (nnf-neg (sk (~ $x897 $x1472)) @x2025 (~ (not $x1390) $x2026)) (~ (not $x1393) $x2030)))) -(let ((@x2037 (mp~ (not-or-elim (mp (asserted $x344) @x1406 $x1402) (not $x1396)) (nnf-neg (refl (~ $x864 $x864)) @x2033 (~ (not $x1396) $x2034)) $x2034))) -(let ((@x3873 (mp (mp (mp @x2037 (monotonicity @x2338 (= $x2034 $x2339)) $x2339) @x3015 $x3013) (monotonicity @x3869 (= $x3013 $x3870)) $x3870))) -(let ((@x4276 (unit-resolution @x3873 (lemma (unit-resolution @x5800 @x3487 (hypothesis $x864) false) $x142) $x3867))) -(let ((@x4278 (unit-resolution (def-axiom (or $x3861 $x1472 $x3855)) (unit-resolution (def-axiom (or $x3864 $x3858)) @x4276 $x3858) (lemma @x5085 $x1471) $x3855))) -(let ((@x3051 (unit-resolution ((_ quant-inst ?v0!2) (or (not $x3495) $x2343)) @x3500 (hypothesis $x1486) false))) -(let ((@x4352 (unit-resolution (def-axiom (or $x3849 $x2363 $x3843)) (unit-resolution (def-axiom (or $x2358 $x1486)) (lemma @x3051 $x2343) $x2358) (unit-resolution (def-axiom (or $x3852 $x3846)) @x4278 $x3846) $x3843))) -(let ((@x4355 (unit-resolution (def-axiom (or $x3837 $x2409 $x3831)) (unit-resolution (def-axiom (or $x3840 $x3834)) @x4352 $x3834) (unit-resolution (def-axiom (or $x2404 $x1507)) (lemma @x4007 $x2389) $x2404) $x3831))) -(let ((@x4357 (unit-resolution (def-axiom (or $x3825 $x3539 $x3819)) (unit-resolution (def-axiom (or $x3828 $x3822)) @x4355 $x3822) (lemma @x3189 $x3536) $x3819))) -(let ((@x4135 (unit-resolution (def-axiom (or $x3816 $x170)) @x4357 $x170))) -(let ((@x4159 (hypothesis $x3652))) -(let ((@x4139 (unit-resolution (def-axiom (or $x3649 $x214)) @x4159 $x214))) -(let ((@x4149 (unit-resolution (def-axiom (or $x3625 $x1744)) (trans (monotonicity @x4139 (= ?x242 ?x169)) @x4135 $x243) $x3625))) -(let (($x1720 (not $x1719))) -(let ((@x3125 (hypothesis $x2645))) -(let (($x4264 (>= (+ ?x1716 (* (- 1) (fun_app$a v_b_SP_G_1$ ?v1!10))) 0))) -(let ((@x4002 (symm (hypothesis $x214) (= v_b_SP_G_1$ v_b_SP_G_3$)))) -(let ((@x5768 (symm (monotonicity @x4002 (= (fun_app$a v_b_SP_G_1$ ?v1!10) ?x1716)) (= ?x1716 (fun_app$a v_b_SP_G_1$ ?v1!10))))) -(let ((@x5656 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not (= ?x1716 (fun_app$a v_b_SP_G_1$ ?v1!10))) $x4264)) @x5768 $x4264))) -(let (($x5398 (<= (+ b_Infinity$ (* (- 1) (fun_app$a v_b_SP_G_1$ ?v1!10))) 0))) -(let (($x5689 (fun_app$ v_b_Visited_G_1$ ?v1!10))) -(let (($x6142 (not $x5689))) -(let ((?x5569 (fun_app$a v_b_SP_G_1$ ?v1!10))) -(let ((?x5512 (fun_app$a v_b_SP_G_1$ ?v0!11))) -(let ((?x5709 (* (- 1) ?x5512))) -(let ((?x4184 (+ ?x1722 ?x5709 ?x5569))) -(let (($x4211 (>= ?x4184 0))) -(let ((?x4266 (+ ?x1729 ?x5709))) -(let (($x4267 (<= ?x4266 0))) -(let ((@x4273 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not (= ?x1729 ?x5512)) $x4267)) (symm (monotonicity @x4002 (= ?x5512 ?x1729)) (= ?x1729 ?x5512)) $x4267))) -(let ((@x4363 ((_ th-lemma arith farkas 1 -1 -1 1) (hypothesis $x4267) (hypothesis $x4264) (hypothesis $x4211) (hypothesis (not $x2204)) false))) -(let ((@x4274 (unit-resolution (lemma @x4363 (or (not $x4211) (not $x4267) (not $x4264) $x2204)) @x4273 @x5656 (unit-resolution (def-axiom (or $x2640 (not $x2204))) @x3125 (not $x2204)) (not $x4211)))) -(let (($x4220 (or $x3573 $x6142 $x1725 $x4211))) -(let (($x5674 (or $x6142 $x1725 (>= (+ ?x1722 ?x5569 ?x5709) 0)))) -(let (($x4221 (or $x3573 $x5674))) -(let ((@x4210 (monotonicity (rewrite (= (+ ?x1722 ?x5569 ?x5709) ?x4184)) (= (>= (+ ?x1722 ?x5569 ?x5709) 0) $x4211)))) -(let ((@x4224 (monotonicity (monotonicity @x4210 (= $x5674 (or $x6142 $x1725 $x4211))) (= $x4221 (or $x3573 (or $x6142 $x1725 $x4211)))))) -(let ((@x4227 (trans @x4224 (rewrite (= (or $x3573 (or $x6142 $x1725 $x4211)) $x4220)) (= $x4221 $x4220)))) -(let ((@x4360 (unit-resolution (mp ((_ quant-inst ?v0!11 ?v1!10) $x4221) @x4227 $x4220) (unit-resolution (def-axiom (or $x3816 $x3568)) @x4357 $x3568) (unit-resolution (def-axiom (or $x2640 (not $x1725))) @x3125 (not $x1725)) (or $x6142 $x4211)))) -(let (($x5857 (or $x5689 $x5398))) -(let ((@x5652 (mp ((_ quant-inst ?v1!10) (or $x3590 $x5857)) (rewrite (= (or $x3590 $x5857) (or $x3590 $x5689 $x5398))) (or $x3590 $x5689 $x5398)))) -(let ((@x4367 (unit-resolution (unit-resolution @x5652 (hypothesis $x3585) $x5857) (unit-resolution @x4360 @x4274 $x6142) $x5398))) -(let ((@x4362 ((_ th-lemma arith farkas -1 1 1) @x4367 @x5656 (unit-resolution (def-axiom (or $x2640 $x1720)) @x3125 $x1720) false))) -(let ((@x4151 (unit-resolution (lemma @x4362 (or $x2640 $x3590 $x2703)) (unit-resolution (def-axiom (or $x3649 $x3585)) @x4159 $x3585) @x4139 $x2640))) -(let ((@x4161 (unit-resolution (def-axiom (or $x3637 $x3631)) (unit-resolution (def-axiom (or $x3634 $x2645 $x3628)) @x4151 @x4149 $x3634) $x3637))) -(let ((@x4158 (unit-resolution (def-axiom (or $x3646 $x3606 $x3640)) @x4161 (unit-resolution (def-axiom (or $x3649 $x3643)) @x4159 $x3643) $x3606))) -(let (($x3139 (<= (+ b_Infinity$ (* (- 1) (fun_app$a v_b_SP_G_1$ ?v0!8))) 0))) -(let ((?x5112 (fun_app$a v_b_SP_G_1$ ?v0!8))) -(let ((?x5119 (* (- 1) ?x5112))) -(let ((?x3935 (?v1!7 ?v0!8))) -(let ((?x3976 (pair$ ?x3935 ?v0!8))) -(let ((?x3971 (b_G$ ?x3976))) -(let ((?x3928 (fun_app$a v_b_SP_G_1$ ?x3935))) -(let ((?x3958 (+ ?x3928 ?x3971 ?x5119))) -(let (($x3970 (= ?x3958 0))) -(let (($x3980 (not $x3970))) -(let (($x3930 (fun_app$ v_b_Visited_G_1$ ?x3935))) -(let (($x3959 (not $x3930))) -(let (($x3890 (>= (+ ?x3928 ?x5119) 0))) -(let (($x4009 (or $x3890 $x3959 $x3980))) -(let ((?x4378 (fun_app$a v_b_SP_G_3$ ?x3935))) -(let ((?x4397 (* (- 1) ?x4378))) -(let ((?x4601 (+ ?x3928 ?x4397))) -(let (($x4605 (>= ?x4601 0))) -(let ((@x4642 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not (= ?x3928 ?x4378)) $x4605)) (symm (monotonicity (hypothesis $x214) (= ?x4378 ?x3928)) (= ?x3928 ?x4378)) $x4605))) -(let ((?x4137 (+ ?x1656 ?x5119))) -(let (($x4122 (>= ?x4137 0))) -(let ((@x4625 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not (= ?x1656 ?x5112)) $x4122)) (symm (monotonicity @x4002 (= ?x5112 ?x1656)) (= ?x1656 ?x5112)) $x4122))) -(let (($x4065 (<= ?x3958 0))) -(let ((@x5126 (unit-resolution (def-axiom (or $x4009 $x3970)) (hypothesis (not $x4009)) $x3970))) -(let (($x4604 (<= ?x4601 0))) -(let ((@x5858 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not (= ?x3928 ?x4378)) $x4604)) (symm (monotonicity (hypothesis $x214) (= ?x4378 ?x3928)) (= ?x3928 ?x4378)) $x4604))) -(let (($x4121 (<= ?x4137 0))) -(let ((@x5140 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not (= ?x1656 ?x5112)) $x4121)) (symm (monotonicity @x4002 (= ?x5112 ?x1656)) (= ?x1656 ?x5112)) $x4121))) -(let (($x4058 (>= ?x3958 0))) -(let (($x4399 (<= (+ ?x1656 ?x4397) 0))) -(let (($x4338 (not $x4399))) -(let ((@x4989 (unit-resolution (def-axiom (or $x4009 (not $x3890))) (hypothesis (not $x4009)) (not $x3890)))) -(let ((@x5003 (unit-resolution ((_ th-lemma arith assign-bounds -1 1 -1) (or $x4338 (not $x4122) $x3890 (not $x4605))) @x4989 @x4625 @x4642 $x4338))) -(let (($x4758 (not $x4605))) -(let (($x4757 (not $x4122))) -(let (($x4898 (or $x4399 $x3600 (not $x4058) (not $x4121) (not $x4604) (not $x4065) $x4757 $x4758))) -(let ((?x5665 (* (- 1) ?x3971))) -(let ((?x4417 (+ ?x1656 ?x5665 ?x4397))) -(let (($x4445 (>= ?x4417 0))) -(let ((@x5038 (unit-resolution ((_ th-lemma arith assign-bounds 1 -1 -1) (or $x4445 (not $x4065) $x4757 $x4758)) (hypothesis $x4065) (hypothesis $x4122) (hypothesis $x4605) $x4445))) -(let (($x4444 (<= ?x4417 0))) -(let ((@x4331 (unit-resolution ((_ th-lemma arith assign-bounds 1 -1 -1) (or $x4444 (not $x4058) (not $x4121) (not $x4604))) (hypothesis $x4058) (hypothesis $x4121) (hypothesis $x4604) $x4444))) -(let (($x4418 (= ?x4417 0))) -(let (($x4428 (not $x4418))) -(let (($x4430 (or $x4399 $x4428))) -(let (($x4447 (or $x3600 $x4399 $x4428))) -(let (($x4384 (>= (+ ?x4378 ?x1657) 0))) -(let (($x4388 (or $x4384 (not (= (+ ?x4378 ?x1657 ?x3971) 0))))) -(let (($x4432 (or $x3600 $x4388))) -(let ((@x4414 (monotonicity (rewrite (= (+ ?x4378 ?x1657 ?x3971) (+ ?x1657 ?x3971 ?x4378))) (= (= (+ ?x4378 ?x1657 ?x3971) 0) (= (+ ?x1657 ?x3971 ?x4378) 0))))) -(let ((@x4427 (trans @x4414 (rewrite (= (= (+ ?x1657 ?x3971 ?x4378) 0) $x4418)) (= (= (+ ?x4378 ?x1657 ?x3971) 0) $x4418)))) -(let ((@x4396 (monotonicity (rewrite (= (+ ?x4378 ?x1657) (+ ?x1657 ?x4378))) (= $x4384 (>= (+ ?x1657 ?x4378) 0))))) -(let ((@x4406 (trans @x4396 (rewrite (= (>= (+ ?x1657 ?x4378) 0) $x4399)) (= $x4384 $x4399)))) -(let ((@x4446 (monotonicity @x4406 (monotonicity @x4427 (= (not (= (+ ?x4378 ?x1657 ?x3971) 0)) $x4428)) (= $x4388 $x4430)))) -(let ((@x4442 (trans (monotonicity @x4446 (= $x4432 (or $x3600 $x4430))) (rewrite (= (or $x3600 $x4430) $x4447)) (= $x4432 $x4447)))) -(let ((@x5041 (unit-resolution (mp ((_ quant-inst (?v1!7 ?v0!8)) $x4432) @x4442 $x4447) (hypothesis $x3595) $x4430))) -(let ((@x4897 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x4418 (not $x4444) (not $x4445))) (unit-resolution @x5041 (hypothesis $x4338) $x4428) @x4331 @x5038 false))) -(let ((@x3135 (unit-resolution (lemma @x4897 $x4898) @x5003 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x3980 $x4058)) @x5126 $x4058) (hypothesis $x3595) @x5140 @x5858 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x3980 $x4065)) @x5126 $x4065) @x4625 @x4642 false))) -(let ((@x4168 (unit-resolution (lemma @x3135 (or $x4009 $x3600 $x2703)) (unit-resolution (def-axiom (or $x3603 $x3595)) @x4158 $x3595) @x4139 $x4009))) -(let ((@x4189 (unit-resolution (def-axiom (or $x3816 $x3576)) @x4357 $x3576))) -(let (($x4014 (not $x4009))) -(let (($x4042 (or $x3581 $x1654 $x3139 $x4014))) -(let (($x3956 (<= (+ ?x5112 (* (- 1) ?x3928)) 0))) -(let (($x3033 (or $x1654 $x3139 (not (or $x3956 $x3959 (not (= (+ ?x5112 (* (- 1) ?x3928) ?x5665) 0))))))) -(let (($x4043 (or $x3581 $x3033))) -(let (($x3964 (= (not (or $x3956 $x3959 (not (= (+ ?x5112 (* (- 1) ?x3928) ?x5665) 0)))) $x4014))) -(let (($x4010 (= (or $x3956 $x3959 (not (= (+ ?x5112 (* (- 1) ?x3928) ?x5665) 0))) $x4009))) -(let (($x5977 (= (+ ?x5112 (* (- 1) ?x3928) ?x5665) 0))) -(let ((@x3929 (rewrite (= (+ ?x5112 (* (- 1) ?x3928) ?x5665) (+ (* (- 1) ?x3928) ?x5665 ?x5112))))) -(let ((@x3957 (monotonicity @x3929 (= $x5977 (= (+ (* (- 1) ?x3928) ?x5665 ?x5112) 0))))) -(let ((@x3988 (trans @x3957 (rewrite (= (= (+ (* (- 1) ?x3928) ?x5665 ?x5112) 0) $x3970)) (= $x5977 $x3970)))) -(let ((@x3898 (monotonicity (rewrite (= (+ ?x5112 (* (- 1) ?x3928)) (+ (* (- 1) ?x3928) ?x5112))) (= $x3956 (<= (+ (* (- 1) ?x3928) ?x5112) 0))))) -(let ((@x3927 (trans @x3898 (rewrite (= (<= (+ (* (- 1) ?x3928) ?x5112) 0) $x3890)) (= $x3956 $x3890)))) -(let ((@x4011 (monotonicity (monotonicity @x3927 (monotonicity @x3988 (= (not $x5977) $x3980)) $x4010) $x3964))) -(let ((@x4050 (monotonicity (monotonicity @x4011 (= $x3033 (or $x1654 $x3139 $x4014))) (= $x4043 (or $x3581 (or $x1654 $x3139 $x4014)))))) -(let ((@x4053 (trans @x4050 (rewrite (= (or $x3581 (or $x1654 $x3139 $x4014)) $x4042)) (= $x4043 $x4042)))) -(let ((@x4248 (unit-resolution (mp ((_ quant-inst ?v0!8) $x4043) @x4053 $x4042) @x4189 (unit-resolution (def-axiom (or $x3603 $x1655)) @x4158 $x1655) (or $x3139 $x4014)))) -(let (($x4136 (= ?x1656 ?x5112))) -(let ((@x4235 (monotonicity (symm @x4139 (= v_b_SP_G_1$ v_b_SP_G_3$)) (= ?x5112 ?x1656)))) -(let ((@x4237 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x4136) $x4122)) (symm @x4235 $x4136) $x4122))) -(let ((@x4238 ((_ th-lemma arith farkas 1 -1 1) @x4237 (unit-resolution @x4248 @x4168 $x3139) (unit-resolution (def-axiom (or $x3603 $x1660)) @x4158 $x1660) false))) -(let ((@x4802 (unit-resolution (def-axiom (or $x3813 $x3652 $x3807)) (lemma @x4238 $x3649) (unit-resolution (def-axiom (or $x3816 $x3810)) @x4357 $x3810) $x3807))) -(let ((@x6739 (symm (unit-resolution (def-axiom (or $x3804 $x261)) @x4802 $x261) (= ?x260 v_b_Visited_G_2$)))) -(let ((@x10168 (symm (monotonicity @x6739 (= $x5237 (fun_app$ v_b_Visited_G_2$ ?v0!20))) (= (fun_app$ v_b_Visited_G_2$ ?v0!20) $x5237)))) -(let ((@x10119 (monotonicity @x10168 (= (not (fun_app$ v_b_Visited_G_2$ ?v0!20)) $x9037)))) -(let (($x4298 (fun_app$ v_b_Visited_G_2$ ?v0!20))) -(let (($x4299 (not $x4298))) -(let ((?x4413 (fun_app$a v_b_SP_G_1$ ?v0!20))) -(let ((?x4438 (* (- 1) ?x4413))) -(let ((?x4439 (+ ?x1906 ?x4438))) -(let (($x6002 (>= ?x4439 0))) -(let (($x9479 (not $x6002))) -(let ((@x9476 (hypothesis $x6002))) -(let (($x9588 (or (not (<= (+ ?x1906 (* (- 1) (v_b_SP_G_2$ (?v1!7 ?v0!20)))) 0)) $x9479))) -(let ((?x4661 (?v1!7 ?v0!20))) -(let ((?x4662 (fun_app$a v_b_SP_G_1$ ?x4661))) -(let ((?x4663 (* (- 1) ?x4662))) -(let ((?x4664 (+ ?x4413 ?x4663))) -(let (($x4665 (<= ?x4664 0))) -(let ((?x4668 (pair$ ?x4661 ?v0!20))) -(let ((?x4669 (b_G$ ?x4668))) -(let ((?x4670 (* (- 1) ?x4669))) -(let ((?x4671 (+ ?x4413 ?x4663 ?x4670))) -(let (($x4672 (= ?x4671 0))) -(let (($x4673 (not $x4672))) -(let (($x4666 (fun_app$ v_b_Visited_G_1$ ?x4661))) -(let (($x4667 (not $x4666))) -(let (($x4674 (or $x4665 $x4667 $x4673))) -(let (($x4675 (not $x4674))) -(let (($x1884 (not $x1883))) -(let ((@x8699 (hypothesis $x2806))) -(let (($x7517 (<= (+ b_Infinity$ (* (- 1) (b_G$ (pair$ v_b_v_G_1$ ?v0!19)))) 0))) -(let ((?x7554 (pair$ v_b_v_G_1$ ?v0!19))) -(let ((?x7555 (b_G$ ?x7554))) -(let ((?x7388 (fun_app$a v_b_SP_G_1$ ?v0!19))) -(let ((?x7461 (* (- 1) ?x7388))) -(let (($x4944 (>= (+ ?x254 ?x7461 ?x7555) 0))) -(let (($x8378 (or $x7517 $x4944))) -(let ((?x7471 (+ ?x254 ?x1889 ?x7555))) -(let (($x6876 (= ?x7471 0))) -(let (($x8868 (not $x6876))) -(let (($x6123 (>= ?x7471 0))) -(let (($x8149 (not $x6123))) -(let ((?x7512 (* (- 1) ?x7555))) -(let ((?x9069 (+ ?x1880 ?x7512))) -(let (($x8504 (>= ?x9069 0))) -(let (($x6383 (= ?v1!18 v_b_v_G_1$))) -(let (($x5168 (fun_app$ v_b_Visited_G_1$ ?v1!18))) -(let (($x6179 (not $x5168))) -(let (($x7401 (<= (+ ?x1888 ?x7461) 0))) -(let ((?x5283 (b_G$ (pair$ v_b_v_G_1$ ?v0!13)))) -(let ((?x5139 (+ ?x254 ?x1805 ?x5283))) -(let (($x4859 (= ?x5139 0))) -(let (($x4202 (>= (+ ?x254 (* (- 1) ?x1803) ?x5283) 0))) -(let (($x3165 (<= (+ b_Infinity$ (* (- 1) ?x5283)) 0))) -(let (($x4930 (or $x3165 $x4202))) -(let (($x4933 (not $x4930))) -(let ((@x4771 (monotonicity (commutativity (= (= ?x1803 ?x1804) (= ?x1804 ?x1803))) (= (not (= ?x1803 ?x1804)) (not (= ?x1804 ?x1803)))))) -(let (($x4765 (not (= ?x1803 ?x1804)))) -(let ((@x4772 (mp (unit-resolution ((_ th-lemma arith triangle-eq) (or $x4765 $x1807)) (hypothesis $x1808) $x4765) @x4771 (not (= ?x1804 ?x1803))))) -(let (($x4288 (= ?x1804 ?x1803))) -(let (($x4284 (or $x4933 $x4288))) -(let ((@x4803 (unit-resolution (def-axiom (or $x3804 $x3673)) @x4802 $x3673))) -(let (($x4290 (or $x3678 $x4933 $x4288))) -(let (($x4289 (or (not (or $x3165 (<= (+ ?x1803 ?x1168 (* (- 1) ?x5283)) 0))) $x4288))) -(let (($x4291 (or $x3678 $x4289))) -(let (($x3167 (<= (+ ?x1803 ?x1168 (* (- 1) ?x5283)) 0))) -(let ((@x4198 (rewrite (= (+ ?x1803 ?x1168 (* (- 1) ?x5283)) (+ ?x1168 ?x1803 (* (- 1) ?x5283)))))) -(let ((@x4195 (monotonicity @x4198 (= $x3167 (<= (+ ?x1168 ?x1803 (* (- 1) ?x5283)) 0))))) -(let ((@x5138 (trans @x4195 (rewrite (= (<= (+ ?x1168 ?x1803 (* (- 1) ?x5283)) 0) $x4202)) (= $x3167 $x4202)))) -(let ((@x4283 (monotonicity (monotonicity @x5138 (= (or $x3165 $x3167) $x4930)) (= (not (or $x3165 $x3167)) $x4933)))) -(let ((@x4294 (monotonicity (monotonicity @x4283 (= $x4289 $x4284)) (= $x4291 (or $x3678 $x4284))))) -(let ((@x5050 (mp ((_ quant-inst ?v0!13) $x4291) (trans @x4294 (rewrite (= (or $x3678 $x4284) $x4290)) (= $x4291 $x4290)) $x4290))) -(let ((@x4805 (unit-resolution (def-axiom (or $x4930 (not $x3165))) (unit-resolution (unit-resolution @x5050 @x4803 $x4284) @x4772 $x4933) (not $x3165)))) -(let ((@x4788 (unit-resolution (def-axiom (or $x4930 (not $x4202))) (unit-resolution (unit-resolution @x5050 @x4803 $x4284) @x4772 $x4933) (not $x4202)))) -(let (($x5127 (or $x3165 $x4202 $x4859))) -(let ((@x4789 (unit-resolution (def-axiom (or $x3804 $x3665)) @x4802 $x3665))) -(let (($x5129 (or $x3670 $x3165 $x4202 $x4859))) -(let (($x4192 (or $x3165 $x3167 (= (+ ?x254 ?x5283 ?x1805) 0)))) -(let (($x5130 (or $x3670 $x4192))) -(let ((@x4861 (monotonicity (rewrite (= (+ ?x254 ?x5283 ?x1805) ?x5139)) (= (= (+ ?x254 ?x5283 ?x1805) 0) $x4859)))) -(let ((@x5135 (monotonicity (monotonicity @x5138 @x4861 (= $x4192 $x5127)) (= $x5130 (or $x3670 $x5127))))) -(let ((@x5160 (mp ((_ quant-inst ?v0!13) $x5130) (trans @x5135 (rewrite (= (or $x3670 $x5127) $x5129)) (= $x5130 $x5129)) $x5129))) -(let ((@x4787 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x4859) (>= ?x5139 0))) (unit-resolution (unit-resolution @x5160 @x4789 $x5127) @x4788 @x4805 $x4859) (>= ?x5139 0)))) -(let ((@x4795 (unit-resolution ((_ th-lemma arith farkas 1 1) (or (<= ?x1806 0) $x1807)) (hypothesis $x1808) (<= ?x1806 0)))) -(let ((@x5162 (unit-resolution (def-axiom (or $x3801 $x1808 $x3795)) (unit-resolution (def-axiom (or $x3804 $x3798)) @x4802 $x3798) $x3798))) -(let ((@x4711 (unit-resolution @x5162 (lemma ((_ th-lemma arith farkas 1 -1 1) @x4795 @x4788 @x4787 false) $x1807) $x3795))) -(let ((@x4714 (unit-resolution (def-axiom (or $x3792 $x3681)) @x4711 $x3681))) -(let (($x6395 (or $x3686 $x7401))) -(let ((@x8489 (monotonicity (rewrite (= (+ ?x7388 ?x1889) (+ ?x1889 ?x7388))) (= (>= (+ ?x7388 ?x1889) 0) (>= (+ ?x1889 ?x7388) 0))))) -(let ((@x7634 (trans @x8489 (rewrite (= (>= (+ ?x1889 ?x7388) 0) $x7401)) (= (>= (+ ?x7388 ?x1889) 0) $x7401)))) -(let ((@x8284 (trans (monotonicity @x7634 (= (or $x3686 (>= (+ ?x7388 ?x1889) 0)) $x6395)) (rewrite (= $x6395 $x6395)) (= (or $x3686 (>= (+ ?x7388 ?x1889) 0)) $x6395)))) -(let ((@x8710 (unit-resolution (mp ((_ quant-inst ?v0!19) (or $x3686 (>= (+ ?x7388 ?x1889) 0))) @x8284 $x6395) @x4714 $x7401))) -(let (($x8129 (>= (+ ?x1887 (* (- 1) (fun_app$a v_b_SP_G_1$ ?v1!18))) 0))) -(let ((?x6950 (fun_app$a v_b_SP_G_1$ ?v1!18))) -(let (($x6951 (= ?x1887 ?x6950))) -(let (($x1819 (fun_app$ v_b_Visited_G_2$ ?v0!14))) -(let (($x3393 (not $x1823))) -(let (($x5543 (fun_app$ v_b_Visited_G_1$ ?v0!14))) -(let (($x5064 (= ?v0!14 v_b_v_G_1$))) -(let (($x6244 (or $x5064 $x5543))) -(let (($x5974 (fun_app$ ?x260 ?v0!14))) -(let (($x6373 (= $x5974 $x6244))) -(let (($x3463 (forall ((?v0 B_Vertex_bool_fun$) (?v1 B_Vertex$) (?v2 Bool) (?v3 B_Vertex$) )(! (let (($x63 (fun_app$ (fun_upd$ ?v0 ?v1 ?v2) ?v3))) -(= $x63 (ite (= ?v3 ?v1) ?v2 (fun_app$ ?v0 ?v3)))) :pattern ( (fun_app$ (fun_upd$ ?v0 ?v1 ?v2) ?v3) ) :qid k!34)) -)) -(let (($x73 (forall ((?v0 B_Vertex_bool_fun$) (?v1 B_Vertex$) (?v2 Bool) (?v3 B_Vertex$) )(! (let (($x63 (fun_app$ (fun_upd$ ?v0 ?v1 ?v2) ?v3))) -(= $x63 (ite (= ?v3 ?v1) ?v2 (fun_app$ ?v0 ?v3)))) :qid k!34)) -)) -(let (($x63 (fun_app$ (fun_upd$ ?3 ?2 ?1) ?0))) -(let (($x70 (= $x63 (ite (= ?0 ?2) ?1 (fun_app$ ?3 ?0))))) -(let (($x68 (forall ((?v0 B_Vertex_bool_fun$) (?v1 B_Vertex$) (?v2 Bool) (?v3 B_Vertex$) )(! (let (($x63 (fun_app$ (fun_upd$ ?v0 ?v1 ?v2) ?v3))) -(= $x63 (ite (= ?v3 ?v1) ?v2 (fun_app$ ?v0 ?v3)))) :qid k!34)) -)) -(let ((@x72 (rewrite (= (= $x63 (ite (= ?0 ?2) ?1 (fun_app$ ?3 ?0))) $x70)))) -(let ((@x1438 (mp~ (mp (asserted $x68) (quant-intro @x72 (= $x68 $x73)) $x73) (nnf-pos (refl (~ $x70 $x70)) (~ $x73 $x73)) $x73))) -(let ((@x3468 (mp @x1438 (quant-intro (refl (= $x70 $x70)) (= $x73 $x3463)) $x3463))) -(let (($x4134 (not $x3463))) -(let (($x5805 (or $x4134 $x6373))) -(let ((@x5853 (monotonicity (rewrite (= (ite $x5064 true $x5543) $x6244)) (= (= $x5974 (ite $x5064 true $x5543)) $x6373)))) -(let ((@x3152 (monotonicity @x5853 (= (or $x4134 (= $x5974 (ite $x5064 true $x5543))) $x5805)))) -(let ((@x4912 (trans @x3152 (rewrite (= $x5805 $x5805)) (= (or $x4134 (= $x5974 (ite $x5064 true $x5543))) $x5805)))) -(let ((@x4913 (mp ((_ quant-inst v_b_Visited_G_1$ v_b_v_G_1$ true ?v0!14) (or $x4134 (= $x5974 (ite $x5064 true $x5543)))) @x4912 $x5805))) -(let ((@x5240 (mp (hypothesis $x1819) (symm (monotonicity @x6739 (= $x5974 $x1819)) (= $x1819 $x5974)) $x5974))) -(let ((@x5728 (unit-resolution (def-axiom (or (not $x6373) (not $x5974) $x6244)) @x5240 (unit-resolution @x4913 @x3468 $x6373) $x6244))) -(let ((@x7078 (hypothesis $x3393))) -(let ((?x3063 (v_b_SP_G_2$ v_b_v_G_1$))) -(let (($x3024 (= ?x3063 ?x254))) -(let ((?x3076 (pair$ v_b_v_G_1$ v_b_v_G_1$))) -(let ((?x3077 (b_G$ ?x3076))) -(let (($x3038 (>= ?x3077 0))) -(let (($x3080 (<= (+ b_Infinity$ (* (- 1) ?x3077)) 0))) -(let (($x4540 (or $x3080 $x3038))) -(let (($x6342 (= ?x3077 0))) -(let (($x3469 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (or (not (= ?v0 ?v1)) (= (b_G$ (pair$ ?v0 ?v1)) 0)) :pattern ( (pair$ ?v0 ?v1) ) :qid k!36)) -)) -(let (($x95 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (or (not (= ?v0 ?v1)) (= (b_G$ (pair$ ?v0 ?v1)) 0)) :qid k!36)) -)) -(let (($x92 (or (not (= ?1 ?0)) (= (b_G$ (pair$ ?1 ?0)) 0)))) -(let (($x89 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let (($x80 (= ?v0 ?v1))) -(=> $x80 (= (b_G$ (pair$ ?v0 ?v1)) 0))) :qid k!36)) -)) -(let ((@x94 (rewrite (= (=> (= ?1 ?0) (= (b_G$ (pair$ ?1 ?0)) 0)) $x92)))) -(let ((@x1443 (mp~ (mp (asserted $x89) (quant-intro @x94 (= $x89 $x95)) $x95) (nnf-pos (refl (~ $x92 $x92)) (~ $x95 $x95)) $x95))) -(let ((@x3474 (mp @x1443 (quant-intro (refl (= $x92 $x92)) (= $x95 $x3469)) $x3469))) -(let (($x3045 (not $x3469))) -(let (($x6595 (or $x3045 $x6342))) -(let ((@x6585 (monotonicity (rewrite (= (= v_b_v_G_1$ v_b_v_G_1$) true)) (= (not (= v_b_v_G_1$ v_b_v_G_1$)) (not true))))) -(let ((@x6587 (trans @x6585 (rewrite (= (not true) false)) (= (not (= v_b_v_G_1$ v_b_v_G_1$)) false)))) -(let ((@x6590 (monotonicity @x6587 (= (or (not (= v_b_v_G_1$ v_b_v_G_1$)) $x6342) (or false $x6342))))) -(let ((@x6594 (trans @x6590 (rewrite (= (or false $x6342) $x6342)) (= (or (not (= v_b_v_G_1$ v_b_v_G_1$)) $x6342) $x6342)))) -(let ((@x6599 (monotonicity @x6594 (= (or $x3045 (or (not (= v_b_v_G_1$ v_b_v_G_1$)) $x6342)) $x6595)))) -(let ((@x6602 (trans @x6599 (rewrite (= $x6595 $x6595)) (= (or $x3045 (or (not (= v_b_v_G_1$ v_b_v_G_1$)) $x6342)) $x6595)))) -(let ((@x6603 (mp ((_ quant-inst v_b_v_G_1$ v_b_v_G_1$) (or $x3045 (or (not (= v_b_v_G_1$ v_b_v_G_1$)) $x6342))) @x6602 $x6595))) -(let ((@x6616 (lemma (unit-resolution @x6603 @x3474 (hypothesis (not $x6342)) false) $x6342))) -(let ((@x7085 (unit-resolution (def-axiom (or $x4540 (not $x3038))) (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x6342) $x3038)) @x6616 $x3038) $x4540))) -(let (($x4579 (not $x4540))) -(let (($x4550 (or $x4579 $x3024))) -(let (($x4556 (or $x3678 $x4579 $x3024))) -(let (($x3874 (or (not (or $x3080 (<= (+ ?x254 ?x1168 (* (- 1) ?x3077)) 0))) $x3024))) -(let (($x4557 (or $x3678 $x3874))) -(let (($x3062 (<= (+ ?x254 ?x1168 (* (- 1) ?x3077)) 0))) -(let ((@x4468 (monotonicity (rewrite (= (+ ?x254 ?x1168 (* (- 1) ?x3077)) (* (- 1) ?x3077))) (= $x3062 (<= (* (- 1) ?x3077) 0))))) -(let ((@x4485 (trans @x4468 (rewrite (= (<= (* (- 1) ?x3077) 0) $x3038)) (= $x3062 $x3038)))) -(let ((@x4549 (monotonicity (monotonicity @x4485 (= (or $x3080 $x3062) $x4540)) (= (not (or $x3080 $x3062)) $x4579)))) -(let ((@x4561 (monotonicity (monotonicity @x4549 (= $x3874 $x4550)) (= $x4557 (or $x3678 $x4550))))) -(let ((@x4574 (mp ((_ quant-inst v_b_v_G_1$) $x4557) (trans @x4561 (rewrite (= (or $x3678 $x4550) $x4556)) (= $x4557 $x4556)) $x4556))) -(let ((@x7095 (trans (monotonicity (hypothesis $x5064) (= ?x1821 ?x3063)) (unit-resolution (unit-resolution @x4574 @x4803 $x4550) @x7085 $x3024) (= ?x1821 ?x254)))) -(let ((@x7096 (trans @x7095 (symm (monotonicity (hypothesis $x5064) (= ?x1822 ?x254)) (= ?x254 ?x1822)) $x1823))) -(let ((@x6504 (unit-resolution (lemma (unit-resolution @x7078 @x7096 false) (or (not $x5064) $x1823)) @x7078 (not $x5064)))) -(let ((@x6501 (unit-resolution (def-axiom (or (not $x6244) $x5064 $x5543)) @x6504 (or (not $x6244) $x5543)))) -(let (($x6879 (>= (+ ?x254 (* (- 1) ?x1822)) 0))) -(let (($x7105 (not $x6879))) -(let (($x6372 (>= (+ ?x254 (* (- 1) ?x1822) (b_G$ (pair$ v_b_v_G_1$ ?v0!14))) 0))) -(let (($x6043 (not $x6372))) -(let (($x5623 (<= (+ b_Infinity$ (* (- 1) (b_G$ (pair$ v_b_v_G_1$ ?v0!14)))) 0))) -(let (($x6328 (or $x5623 $x6372))) -(let (($x5555 (not $x6328))) -(let (($x5565 (or $x3678 $x5555 $x1823))) -(let (($x5711 (<= (+ ?x1822 ?x1168 (* (- 1) (b_G$ (pair$ v_b_v_G_1$ ?v0!14)))) 0))) -(let (($x5760 (or (not (or $x5623 $x5711)) $x1823))) -(let (($x5490 (or $x3678 $x5760))) -(let (($x5031 (<= (+ ?x1168 ?x1822 (* (- 1) (b_G$ (pair$ v_b_v_G_1$ ?v0!14)))) 0))) -(let (($x5019 (= (+ ?x1822 ?x1168 (* (- 1) (b_G$ (pair$ v_b_v_G_1$ ?v0!14)))) (+ ?x1168 ?x1822 (* (- 1) (b_G$ (pair$ v_b_v_G_1$ ?v0!14))))))) -(let ((@x6180 (trans (monotonicity (rewrite $x5019) (= $x5711 $x5031)) (rewrite (= $x5031 $x6372)) (= $x5711 $x6372)))) -(let ((@x5556 (monotonicity (monotonicity @x6180 (= (or $x5623 $x5711) $x6328)) (= (not (or $x5623 $x5711)) $x5555)))) -(let ((@x4918 (monotonicity (monotonicity @x5556 (= $x5760 (or $x5555 $x1823))) (= $x5490 (or $x3678 (or $x5555 $x1823)))))) -(let ((@x6362 (trans @x4918 (rewrite (= (or $x3678 (or $x5555 $x1823)) $x5565)) (= $x5490 $x5565)))) -(let ((@x6339 (unit-resolution (def-axiom (or $x6328 $x6043)) (unit-resolution (mp ((_ quant-inst ?v0!14) $x5490) @x6362 $x5565) @x4803 @x7078 $x5555) $x6043))) -(let ((?x5617 (pair$ v_b_v_G_1$ ?v0!14))) -(let ((?x5621 (b_G$ ?x5617))) -(let (($x6266 (>= ?x5621 0))) -(let ((@x6636 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not (= ?x5621 0)) $x6266)) (hypothesis (not $x6266)) (not (= ?x5621 0))))) -(let (($x6078 (= v_b_v_G_1$ ?v0!14))) -(let (($x6076 (<= ?x5621 0))) -(let ((@x6410 (unit-resolution ((_ th-lemma arith farkas 1 1) (or $x6266 $x6076)) (hypothesis (not $x6266)) $x6076))) -(let (($x6080 (or $x6078 (not $x6076)))) -(let (($x3475 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let (($x80 (= ?v0 ?v1))) -(or $x80 (not (<= (b_G$ (pair$ ?v0 ?v1)) 0)))) :pattern ( (pair$ ?v0 ?v1) ) :qid k!37)) -)) -(let (($x116 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let (($x80 (= ?v0 ?v1))) -(or $x80 (not (<= (b_G$ (pair$ ?v0 ?v1)) 0)))) :qid k!37)) -)) -(let (($x80 (= ?1 ?0))) -(let (($x113 (or $x80 (not (<= (b_G$ (pair$ ?1 ?0)) 0))))) -(let (($x101 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x29 (pair$ ?v0 ?v1))) -(let ((?x81 (b_G$ ?x29))) -(let (($x98 (< 0 ?x81))) -(=> (not (= ?v0 ?v1)) $x98)))) :qid k!37)) -)) -(let (($x106 (forall ((?v0 B_Vertex$) (?v1 B_Vertex$) )(! (let ((?x29 (pair$ ?v0 ?v1))) -(let ((?x81 (b_G$ ?x29))) -(let (($x98 (< 0 ?x81))) -(let (($x80 (= ?v0 ?v1))) -(or $x80 $x98))))) :qid k!37)) -)) -(let ((?x29 (pair$ ?1 ?0))) -(let ((?x81 (b_G$ ?x29))) -(let (($x98 (< 0 ?x81))) -(let ((@x115 (monotonicity (rewrite (= $x98 (not (<= ?x81 0)))) (= (or $x80 $x98) $x113)))) -(let ((@x108 (quant-intro (rewrite (= (=> (not $x80) $x98) (or $x80 $x98))) (= $x101 $x106)))) -(let ((@x121 (mp (asserted $x101) (trans @x108 (quant-intro @x115 (= $x106 $x116)) (= $x101 $x116)) $x116))) -(let ((@x3480 (mp (mp~ @x121 (nnf-pos (refl (~ $x113 $x113)) (~ $x116 $x116)) $x116) (quant-intro (refl (= $x113 $x113)) (= $x116 $x3475)) $x3475))) -(let ((@x6389 (mp ((_ quant-inst v_b_v_G_1$ ?v0!14) (or (not $x3475) $x6080)) (rewrite (= (or (not $x3475) $x6080) (or (not $x3475) $x6078 (not $x6076)))) (or (not $x3475) $x6078 (not $x6076))))) -(let (($x6086 (= ?x5621 0))) -(let (($x6096 (or (not $x6078) $x6086))) -(let ((@x6264 (mp ((_ quant-inst v_b_v_G_1$ ?v0!14) (or $x3045 $x6096)) (rewrite (= (or $x3045 $x6096) (or $x3045 (not $x6078) $x6086))) (or $x3045 (not $x6078) $x6086)))) -(let ((@x6993 (unit-resolution (unit-resolution @x6264 @x3474 $x6096) (unit-resolution (unit-resolution @x6389 @x3480 $x6080) @x6410 $x6078) @x6636 false))) -(let ((@x7107 (lemma ((_ th-lemma arith farkas 1 -1 1) (hypothesis $x6266) (hypothesis $x6043) (hypothesis $x6879) false) (or (not $x6266) $x6372 $x7105)))) -(let ((@x6134 (unit-resolution (unit-resolution @x7107 (lemma @x6993 $x6266) (or $x6372 $x7105)) @x6339 $x7105))) -(let ((@x6066 (unit-resolution (def-axiom (or $x3804 $x253)) @x4802 $x253))) -(let ((@x6683 (unit-resolution (def-axiom (or $x3816 $x3560)) @x4357 $x3560))) -(let (($x6034 (= (or $x3565 (or $x252 (not $x5543) $x6879)) (or $x3565 $x252 (not $x5543) $x6879)))) -(let ((@x6556 (mp ((_ quant-inst ?v0!14 v_b_v_G_1$) (or $x3565 (or $x252 (not $x5543) $x6879))) (rewrite $x6034) (or $x3565 $x252 (not $x5543) $x6879)))) -(let ((@x6850 (unit-resolution @x6556 @x6683 @x6066 @x6134 (unit-resolution @x6501 @x5728 $x5543) false))) -(let ((@x5791 (unit-resolution (lemma @x6850 $x1824) (unit-resolution (def-axiom (or $x1824 $x3393)) (hypothesis $x1825) $x3393) (unit-resolution (def-axiom (or $x1824 $x1819)) (hypothesis $x1825) $x1819) false))) -(let ((@x9261 (unit-resolution (def-axiom (or $x3789 $x1825 $x3783)) (unit-resolution (def-axiom (or $x3792 $x3786)) @x4711 $x3786) $x3786))) -(let ((@x9263 (unit-resolution (def-axiom (or $x3780 $x3690)) (unit-resolution @x9261 (lemma @x5791 $x1824) $x3783) $x3690))) -(let ((@x6271 (mp ((_ quant-inst ?v1!18) (or $x3695 (or $x2786 $x6951))) (rewrite (= (or $x3695 (or $x2786 $x6951)) (or $x3695 $x2786 $x6951))) (or $x3695 $x2786 $x6951)))) -(let ((@x5205 (unit-resolution @x6271 @x9263 (unit-resolution (def-axiom (or $x2801 $x1878)) @x8699 $x1878) $x6951))) -(let ((@x8621 ((_ th-lemma arith assign-bounds -1 -1 1) (or (not (>= (+ ?x1880 ?x6950 ?x7461) 0)) (not $x7401) $x1891 (not $x8129))))) -(let ((@x8189 (unit-resolution @x8621 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x6951) $x8129)) @x5205 $x8129) (unit-resolution (def-axiom (or $x2801 (not $x1891))) @x8699 (not $x1891)) @x8710 (not (>= (+ ?x1880 ?x6950 ?x7461) 0))))) -(let (($x5620 (= (or $x3573 (or $x6179 $x1883 (>= (+ ?x1880 ?x6950 ?x7461) 0))) (or $x3573 $x6179 $x1883 (>= (+ ?x1880 ?x6950 ?x7461) 0))))) -(let ((@x7205 (mp ((_ quant-inst ?v0!19 ?v1!18) (or $x3573 (or $x6179 $x1883 (>= (+ ?x1880 ?x6950 ?x7461) 0)))) (rewrite $x5620) (or $x3573 $x6179 $x1883 (>= (+ ?x1880 ?x6950 ?x7461) 0))))) -(let ((@x8192 (unit-resolution @x7205 (unit-resolution (def-axiom (or $x3816 $x3568)) @x4357 $x3568) (unit-resolution (def-axiom (or $x2801 $x1884)) @x8699 $x1884) (or $x6179 (>= (+ ?x1880 ?x6950 ?x7461) 0))))) -(let (($x8059 (or $x6383 $x5168))) -(let (($x4914 (fun_app$ ?x260 ?v1!18))) -(let (($x8555 (= $x4914 $x8059))) -(let (($x7052 (or $x4134 $x8555))) -(let ((@x8554 (monotonicity (rewrite (= (ite $x6383 true $x5168) $x8059)) (= (= $x4914 (ite $x6383 true $x5168)) $x8555)))) -(let ((@x8280 (monotonicity @x8554 (= (or $x4134 (= $x4914 (ite $x6383 true $x5168))) $x7052)))) -(let ((@x7080 (trans @x8280 (rewrite (= $x7052 $x7052)) (= (or $x4134 (= $x4914 (ite $x6383 true $x5168))) $x7052)))) -(let ((@x7791 (mp ((_ quant-inst v_b_Visited_G_1$ v_b_v_G_1$ true ?v1!18) (or $x4134 (= $x4914 (ite $x6383 true $x5168)))) @x7080 $x7052))) -(let ((@x8161 (mp (unit-resolution (def-axiom (or $x2801 $x1878)) @x8699 $x1878) (symm (monotonicity @x6739 (= $x4914 $x1878)) (= $x1878 $x4914)) $x4914))) -(let ((@x8162 (unit-resolution (def-axiom (or (not $x8555) (not $x4914) $x8059)) @x8161 (unit-resolution @x7791 @x3468 $x8555) $x8059))) -(let ((@x8163 (unit-resolution (def-axiom (or (not $x8059) $x6383 $x5168)) @x8162 (unit-resolution @x8192 @x8189 $x6179) $x6383))) -(let ((@x5864 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not (= ?x1880 ?x7555)) $x8504)) (monotonicity (monotonicity @x8163 (= ?x1879 ?x7554)) (= ?x1880 ?x7555)) $x8504))) -(let (($x7609 (>= (+ ?x1887 (* (- 1) ?x3063)) 0))) -(let ((@x5835 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not (= ?x1887 ?x3063)) $x7609)) (monotonicity @x8163 (= ?x1887 ?x3063)) $x7609))) -(let ((?x3064 (* (- 1) ?x3063))) -(let ((?x3904 (+ ?x254 ?x3064))) -(let (($x3905 (<= ?x3904 0))) -(let (($x4587 (= ?x254 ?x3063))) -(let ((@x8351 (mp (unit-resolution (unit-resolution @x4574 @x4803 $x4550) @x7085 $x3024) (symm (commutativity (= $x4587 $x3024)) (= $x3024 $x4587)) $x4587))) -(let ((@x8148 ((_ th-lemma arith farkas 1 -1 1 -1 1) (hypothesis $x6123) (hypothesis (not $x1891)) (hypothesis $x7609) (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x4587) $x3905)) @x8351 $x3905) (hypothesis $x8504) false))) -(let ((@x6098 (unit-resolution (lemma @x8148 (or $x8149 $x1891 (not $x7609) (not $x8504))) (unit-resolution (def-axiom (or $x2801 (not $x1891))) @x8699 (not $x1891)) @x5835 @x5864 $x8149))) -(let ((@x8175 (unit-resolution (def-axiom (or $x8378 (not $x7517))) (hypothesis (not $x8378)) (not $x7517)))) -(let (($x7000 (not $x4944))) -(let ((@x8640 (unit-resolution (def-axiom (or $x8378 $x7000)) (hypothesis (not $x8378)) $x7000))) -(let (($x6310 (or $x7517 $x4944 $x6876))) -(let (($x7071 (or $x3670 $x7517 $x4944 $x6876))) -(let (($x7524 (<= (+ ?x7388 ?x1168 ?x7512) 0))) -(let (($x7589 (or $x7517 $x7524 (= (+ ?x254 ?x7555 ?x1889) 0)))) -(let (($x6768 (or $x3670 $x7589))) -(let ((@x6946 (monotonicity (rewrite (= (+ ?x254 ?x7555 ?x1889) ?x7471)) (= (= (+ ?x254 ?x7555 ?x1889) 0) $x6876)))) -(let ((@x7308 (monotonicity (rewrite (= (+ ?x7388 ?x1168 ?x7512) (+ ?x1168 ?x7388 ?x7512))) (= $x7524 (<= (+ ?x1168 ?x7388 ?x7512) 0))))) -(let ((@x8377 (trans @x7308 (rewrite (= (<= (+ ?x1168 ?x7388 ?x7512) 0) $x4944)) (= $x7524 $x4944)))) -(let ((@x6639 (monotonicity (monotonicity @x8377 @x6946 (= $x7589 $x6310)) (= $x6768 (or $x3670 $x6310))))) -(let ((@x6030 (mp ((_ quant-inst ?v0!19) $x6768) (trans @x6639 (rewrite (= (or $x3670 $x6310) $x7071)) (= $x6768 $x7071)) $x7071))) -(let ((@x8762 (unit-resolution (unit-resolution @x6030 @x4789 $x6310) @x8640 @x8175 (hypothesis $x8868) false))) -(let ((@x8475 (unit-resolution (lemma @x8762 (or $x8378 $x6876)) (unit-resolution ((_ th-lemma arith triangle-eq) (or $x8868 $x6123)) @x6098 $x8868) $x8378))) -(let ((@x8713 (lemma ((_ th-lemma arith farkas -1 -1 1) @x8710 (hypothesis $x8149) (hypothesis $x4944) false) (or $x7000 $x6123)))) -(let ((@x7808 (unit-resolution (def-axiom (or (not $x8378) $x7517 $x4944)) (unit-resolution @x8713 @x6098 $x7000) @x8475 $x7517))) -(let ((@x7807 ((_ th-lemma arith farkas 1 -1 1) @x5864 @x7808 (unit-resolution (def-axiom (or $x2801 $x1884)) @x8699 $x1884) false))) -(let (($x3381 (not $x1864))) -(let ((@x6859 (hypothesis $x2760))) -(let ((@x6910 (unit-resolution (def-axiom (or $x2755 $x3381)) @x6859 $x3381))) -(let (($x6437 (<= (+ ?x254 (* (- 1) (fun_app$a v_b_SP_G_1$ ?v1!16))) 0))) -(let (($x4947 (fun_app$ v_b_Visited_G_1$ ?v1!16))) -(let (($x6336 (= ?v1!16 v_b_v_G_1$))) -(let (($x8534 (or $x6336 $x4947))) -(let (($x6263 (fun_app$ ?x260 ?v1!16))) -(let (($x6346 (= $x6263 $x8534))) -(let (($x8582 (or $x4134 $x6346))) -(let ((@x8309 (monotonicity (rewrite (= (ite $x6336 true $x4947) $x8534)) (= (= $x6263 (ite $x6336 true $x4947)) $x6346)))) -(let ((@x8586 (monotonicity @x8309 (= (or $x4134 (= $x6263 (ite $x6336 true $x4947))) $x8582)))) -(let ((@x8591 (trans @x8586 (rewrite (= $x8582 $x8582)) (= (or $x4134 (= $x6263 (ite $x6336 true $x4947))) $x8582)))) -(let ((@x8592 (mp ((_ quant-inst v_b_Visited_G_1$ v_b_v_G_1$ true ?v1!16) (or $x4134 (= $x6263 (ite $x6336 true $x4947)))) @x8591 $x8582))) -(let ((@x7062 (monotonicity (symm (monotonicity @x6739 (= $x6263 $x1855)) (= $x1855 $x6263)) (= (not $x1855) (not $x6263))))) -(let ((@x7109 (mp (unit-resolution (def-axiom (or $x2755 (not $x1855))) @x6859 (not $x1855)) @x7062 (not $x6263)))) -(let ((@x7053 (unit-resolution (def-axiom (or (not $x6346) $x6263 (not $x8534))) @x7109 (unit-resolution @x8592 @x3468 $x6346) (not $x8534)))) -(let (($x7664 (or $x4947 $x6437))) -(let ((@x7108 (unit-resolution (def-axiom (or $x3804 $x3655)) @x4802 $x3655))) -(let (($x6930 (or $x3660 $x4947 $x6437))) -(let (($x7189 (>= (+ (fun_app$a v_b_SP_G_1$ ?v1!16) ?x1168) 0))) -(let (($x7192 (or $x4947 $x7189))) -(let (($x7392 (or $x3660 $x7192))) -(let ((@x6696 (rewrite (= (>= (+ ?x1168 (fun_app$a v_b_SP_G_1$ ?v1!16)) 0) $x6437)))) -(let (($x7657 (= (+ (fun_app$a v_b_SP_G_1$ ?v1!16) ?x1168) (+ ?x1168 (fun_app$a v_b_SP_G_1$ ?v1!16))))) -(let ((@x6394 (monotonicity (rewrite $x7657) (= $x7189 (>= (+ ?x1168 (fun_app$a v_b_SP_G_1$ ?v1!16)) 0))))) -(let ((@x7789 (monotonicity (monotonicity (trans @x6394 @x6696 (= $x7189 $x6437)) (= $x7192 $x7664)) (= $x7392 (or $x3660 $x7664))))) -(let ((@x7788 (mp ((_ quant-inst ?v1!16) $x7392) (trans @x7789 (rewrite (= (or $x3660 $x7664) $x6930)) (= $x7392 $x6930)) $x6930))) -(let ((@x7110 (unit-resolution (unit-resolution @x7788 @x7108 $x7664) (unit-resolution (def-axiom (or $x8534 (not $x4947))) @x7053 (not $x4947)) $x6437))) -(let (($x6906 (<= (+ (v_b_SP_G_2$ ?v0!17) (* (- 1) (fun_app$a v_b_SP_G_1$ ?v0!17))) 0))) -(let (($x7394 (or $x3686 $x6906))) -(let (($x6869 (>= (+ (fun_app$a v_b_SP_G_1$ ?v0!17) (* (- 1) (v_b_SP_G_2$ ?v0!17))) 0))) -(let (($x7794 (>= (+ (* (- 1) (v_b_SP_G_2$ ?v0!17)) (fun_app$a v_b_SP_G_1$ ?v0!17)) 0))) -(let (($x7505 (= (+ (fun_app$a v_b_SP_G_1$ ?v0!17) (* (- 1) (v_b_SP_G_2$ ?v0!17))) (+ (* (- 1) (v_b_SP_G_2$ ?v0!17)) (fun_app$a v_b_SP_G_1$ ?v0!17))))) -(let ((@x6937 (trans (monotonicity (rewrite $x7505) (= $x6869 $x7794)) (rewrite (= $x7794 $x6906)) (= $x6869 $x6906)))) -(let ((@x7419 (trans (monotonicity @x6937 (= (or $x3686 $x6869) $x7394)) (rewrite (= $x7394 $x7394)) (= (or $x3686 $x6869) $x7394)))) -(let (($x6920 (>= (+ (v_b_SP_G_2$ ?v1!16) (* (- 1) (fun_app$a v_b_SP_G_1$ ?v1!16))) 0))) -(let ((?x6958 (fun_app$a v_b_SP_G_1$ ?v1!16))) -(let ((?x1860 (v_b_SP_G_2$ ?v1!16))) -(let (($x6841 (= ?x1860 ?x6958))) -(let (($x7027 (>= (+ ?x254 (b_G$ (pair$ v_b_v_G_1$ ?v1!16)) (* (- 1) ?x6958)) 0))) -(let (($x6231 (<= (+ b_Infinity$ (* (- 1) (b_G$ (pair$ v_b_v_G_1$ ?v1!16)))) 0))) -(let (($x7455 (or $x6231 $x7027))) -(let ((?x6824 (pair$ v_b_v_G_1$ ?v1!16))) -(let ((?x6825 (b_G$ ?x6824))) -(let ((?x6938 (* (- 1) ?x1860))) -(let ((?x6929 (+ ?x254 ?x6938 ?x6825))) -(let (($x7553 (= ?x6929 0))) -(let (($x7206 (not $x7553))) -(let (($x6067 (<= ?x6929 0))) -(let (($x6919 (not $x6067))) -(let (($x6631 (fun_app$ v_b_Visited_G_1$ ?v0!17))) -(let (($x6844 (= ?v0!17 v_b_v_G_1$))) -(let (($x6265 (or $x6844 $x6631))) -(let (($x6895 (fun_app$ ?x260 ?v0!17))) -(let (($x6665 (= $x6895 $x6265))) -(let (($x5717 (or $x4134 $x6665))) -(let ((@x6990 (monotonicity (rewrite (= (ite $x6844 true $x6631) $x6265)) (= (= $x6895 (ite $x6844 true $x6631)) $x6665)))) -(let ((@x7528 (monotonicity @x6990 (= (or $x4134 (= $x6895 (ite $x6844 true $x6631))) $x5717)))) -(let ((@x7133 (trans @x7528 (rewrite (= $x5717 $x5717)) (= (or $x4134 (= $x6895 (ite $x6844 true $x6631))) $x5717)))) -(let ((@x7043 (mp ((_ quant-inst v_b_Visited_G_1$ v_b_v_G_1$ true ?v0!17) (or $x4134 (= $x6895 (ite $x6844 true $x6631)))) @x7133 $x5717))) -(let ((@x7214 (mp (unit-resolution (def-axiom (or $x2755 $x1857)) @x6859 $x1857) (symm (monotonicity @x6739 (= $x6895 $x1857)) (= $x1857 $x6895)) $x6895))) -(let ((@x7215 (unit-resolution (def-axiom (or (not $x6665) (not $x6895) $x6265)) @x7214 (unit-resolution @x7043 @x3468 $x6665) $x6265))) -(let (($x7558 (<= ?x6825 0))) -(let (($x7559 (not $x7558))) -(let ((@x6953 (symm (commutativity (= (= v_b_v_G_1$ ?v1!16) $x6336)) (= $x6336 (= v_b_v_G_1$ ?v1!16))))) -(let ((@x6769 (mp (hypothesis (not $x6336)) (monotonicity @x6953 (= (not $x6336) (not (= v_b_v_G_1$ ?v1!16)))) (not (= v_b_v_G_1$ ?v1!16))))) -(let (($x7557 (= v_b_v_G_1$ ?v1!16))) -(let (($x7560 (or $x7557 $x7559))) -(let ((@x5992 (mp ((_ quant-inst v_b_v_G_1$ ?v1!16) (or (not $x3475) $x7560)) (rewrite (= (or (not $x3475) $x7560) (or (not $x3475) $x7557 $x7559))) (or (not $x3475) $x7557 $x7559)))) -(let ((@x6161 (hypothesis $x3381))) -(let ((?x6285 (fun_app$a v_b_SP_G_1$ ?v0!17))) -(let ((?x6904 (* (- 1) ?x6285))) -(let ((?x7131 (+ ?x254 ?x6904))) -(let (($x6000 (>= ?x7131 0))) -(let (($x6858 (not $x6844))) -(let ((?x1861 (v_b_SP_G_2$ ?v0!17))) -(let (($x6188 (= ?x1861 ?x3063))) -(let (($x5847 (not $x6188))) -(let ((?x5089 (+ ?x1861 ?x3064))) -(let (($x5848 (<= ?x5089 0))) -(let (($x6925 (not $x5848))) -(let ((@x6267 (hypothesis $x6067))) -(let (($x3906 (>= ?x3904 0))) -(let (($x4341 (or $x3686 $x3906))) -(let ((@x4906 ((_ quant-inst v_b_v_G_1$) $x4341))) -(let ((@x6160 (unit-resolution @x4906 @x4714 $x3906))) -(let ((@x6971 (lemma ((_ th-lemma arith farkas 1 1 1 1 1) @x6267 (hypothesis $x5848) @x6161 @x6160 (hypothesis $x7559) false) (or $x6925 $x6919 $x1864 $x7558)))) -(let ((@x6928 (unit-resolution @x6971 @x6267 @x6161 (unit-resolution (unit-resolution @x5992 @x3480 $x7560) @x6769 $x7559) $x6925))) -(let ((@x6532 ((_ th-lemma arith triangle-eq) (or $x5847 $x5848)))) -(let ((@x5114 (unit-resolution (hypothesis $x5847) (monotonicity (hypothesis $x6844) $x6188) false))) -(let ((@x5115 (lemma @x5114 (or $x6858 $x6188)))) -(let ((@x8623 (def-axiom (or (not $x6265) $x6844 $x6631)))) -(let ((@x4834 (unit-resolution @x8623 (unit-resolution @x5115 (unit-resolution @x6532 @x6928 $x5847) $x6858) (hypothesis $x6265) $x6631))) -(let (($x5475 (= (or $x3565 (or $x252 (not $x6631) $x6000)) (or $x3565 $x252 (not $x6631) $x6000)))) -(let ((@x5735 (mp ((_ quant-inst ?v0!17 v_b_v_G_1$) (or $x3565 (or $x252 (not $x6631) $x6000))) (rewrite $x5475) (or $x3565 $x252 (not $x6631) $x6000)))) -(let ((@x6914 ((_ th-lemma arith farkas 1 1 1 1 1) @x6267 (unit-resolution @x5735 @x6683 @x6066 @x4834 $x6000) (unit-resolution (mp ((_ quant-inst ?v0!17) (or $x3686 $x6869)) @x7419 $x7394) @x4714 $x6906) @x6161 (unit-resolution (unit-resolution @x5992 @x3480 $x7560) @x6769 $x7559) false))) -(let ((@x7217 (unit-resolution (lemma @x6914 (or $x6919 $x1864 (not $x6265) $x6336)) @x6910 @x7215 (unit-resolution (def-axiom (or $x8534 (not $x6336))) @x7053 (not $x6336)) $x6919))) -(let ((@x6357 (unit-resolution (def-axiom (or $x7455 (not $x6231))) (hypothesis (not $x7455)) (not $x6231)))) -(let ((@x6426 (unit-resolution (def-axiom (or $x7455 (not $x7027))) (hypothesis (not $x7455)) (not $x7027)))) -(let (($x7603 (or $x6231 $x7027 $x7553))) -(let (($x5113 (or $x3670 $x6231 $x7027 $x7553))) -(let (($x6826 (<= (+ ?x6958 ?x1168 (* (- 1) ?x6825)) 0))) -(let (($x6927 (or $x6231 $x6826 (= (+ ?x254 ?x6825 ?x6938) 0)))) -(let (($x7688 (or $x3670 $x6927))) -(let ((@x7602 (monotonicity (rewrite (= (+ ?x254 ?x6825 ?x6938) ?x6929)) (= (= (+ ?x254 ?x6825 ?x6938) 0) $x7553)))) -(let ((@x7947 (rewrite (= (+ ?x6958 ?x1168 (* (- 1) ?x6825)) (+ ?x1168 (* (- 1) ?x6825) ?x6958))))) -(let ((@x7737 (monotonicity @x7947 (= $x6826 (<= (+ ?x1168 (* (- 1) ?x6825) ?x6958) 0))))) -(let ((@x8385 (trans @x7737 (rewrite (= (<= (+ ?x1168 (* (- 1) ?x6825) ?x6958) 0) $x7027)) (= $x6826 $x7027)))) -(let ((@x6604 (monotonicity (monotonicity @x8385 @x7602 (= $x6927 $x7603)) (= $x7688 (or $x3670 $x7603))))) -(let ((@x7391 (mp ((_ quant-inst ?v1!16) $x7688) (trans @x6604 (rewrite (= (or $x3670 $x7603) $x5113)) (= $x7688 $x5113)) $x5113))) -(let ((@x4197 (unit-resolution (unit-resolution @x7391 @x4789 $x7603) @x6426 @x6357 (hypothesis $x7206) false))) -(let ((@x7250 (unit-resolution (lemma @x4197 (or $x7455 $x7553)) (unit-resolution ((_ th-lemma arith triangle-eq) (or $x7206 $x6067)) @x7217 $x7206) $x7455))) -(let (($x7639 (not $x7455))) -(let (($x7673 (or $x7639 $x6841))) -(let (($x7669 (or $x3678 $x7639 $x6841))) -(let ((@x7671 (monotonicity (monotonicity @x8385 (= (or $x6231 $x6826) $x7455)) (= (not (or $x6231 $x6826)) $x7639)))) -(let ((@x7677 (monotonicity (monotonicity @x7671 (= (or (not (or $x6231 $x6826)) $x6841) $x7673)) (= (or $x3678 (or (not (or $x6231 $x6826)) $x6841)) (or $x3678 $x7673))))) -(let ((@x7387 (trans @x7677 (rewrite (= (or $x3678 $x7673) $x7669)) (= (or $x3678 (or (not (or $x6231 $x6826)) $x6841)) $x7669)))) -(let ((@x7252 (unit-resolution (mp ((_ quant-inst ?v1!16) (or $x3678 (or (not (or $x6231 $x6826)) $x6841))) @x7387 $x7669) @x4803 $x7673))) -(let ((@x7315 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x6841) $x6920)) (unit-resolution @x7252 @x7250 $x6841) $x6920))) -(let ((@x7323 (unit-resolution ((_ th-lemma arith assign-bounds -1 1 -1 -1) (or (not $x6000) (not $x6437) (not $x6920) (not $x6906) $x1864)) @x7315 (unit-resolution (mp ((_ quant-inst ?v0!17) (or $x3686 $x6869)) @x7419 $x7394) @x4714 $x6906) @x7110 @x6910 (not $x6000)))) -(let ((@x7351 (unit-resolution ((_ th-lemma arith assign-bounds -1 1 -1 1) (or $x6925 (not $x3906) (not $x6437) (not $x6920) $x1864)) @x7315 @x6160 @x7110 @x6910 $x6925))) -(let ((@x7364 (unit-resolution @x8623 (unit-resolution @x5115 (unit-resolution @x6532 @x7351 $x5847) $x6858) @x7215 $x6631))) -(let (($x6106 (not (<= (b_G$ (pair$ v_b_v_G_1$ ?v0!15)) 0)))) -(let (($x5808 (= v_b_v_G_1$ ?v0!15))) -(let (($x5324 (not $x5808))) -(let ((@x6624 (symm (commutativity (= $x5808 (= ?v0!15 v_b_v_G_1$))) (= (= ?v0!15 v_b_v_G_1$) $x5808)))) -(let (($x6044 (= ?v0!15 v_b_v_G_1$))) -(let (($x6867 (not $x6044))) -(let (($x5521 (fun_app$ v_b_Visited_G_1$ ?v0!15))) -(let (($x6849 (or $x6044 $x5521))) -(let (($x6408 (fun_app$ ?x260 ?v0!15))) -(let (($x6494 (= $x6408 $x6849))) -(let (($x5683 (or $x4134 $x6494))) -(let ((@x6072 (monotonicity (rewrite (= (ite $x6044 true $x5521) $x6849)) (= (= $x6408 (ite $x6044 true $x5521)) $x6494)))) -(let ((@x6772 (monotonicity @x6072 (= (or $x4134 (= $x6408 (ite $x6044 true $x5521))) $x5683)))) -(let ((@x5812 (trans @x6772 (rewrite (= $x5683 $x5683)) (= (or $x4134 (= $x6408 (ite $x6044 true $x5521))) $x5683)))) -(let ((@x5804 (mp ((_ quant-inst v_b_Visited_G_1$ v_b_v_G_1$ true ?v0!15) (or $x4134 (= $x6408 (ite $x6044 true $x5521)))) @x5812 $x5683))) -(let ((@x6715 (symm (monotonicity @x6739 (= $x6408 (fun_app$ v_b_Visited_G_2$ ?v0!15))) (= (fun_app$ v_b_Visited_G_2$ ?v0!15) $x6408)))) -(let ((@x6719 (monotonicity @x6715 (= (not (fun_app$ v_b_Visited_G_2$ ?v0!15)) (not $x6408))))) -(let (($x6151 (fun_app$ v_b_Visited_G_2$ ?v0!15))) -(let (($x6527 (not $x6151))) -(let ((@x6833 (hypothesis $x1843))) -(let (($x6836 (or (not (>= (+ ?x1841 (* (- 1) (fun_app$a v_b_SP_G_1$ ?v0!15))) 0)) $x1842))) -(let (($x6830 (>= (+ ?x1841 (* (- 1) (fun_app$a v_b_SP_G_1$ ?v0!15))) 0))) -(let ((?x6459 (fun_app$a v_b_SP_G_1$ ?v0!15))) -(let (($x6119 (>= ?x6459 0))) -(let ((@x4713 (unit-resolution (def-axiom (or $x3816 $x3551)) @x4357 $x3551))) -(let ((@x6834 ((_ th-lemma arith farkas -1 1 1) @x6833 (unit-resolution ((_ quant-inst ?v0!15) (or $x3556 $x6119)) @x4713 $x6119) (hypothesis $x6830) false))) -(let ((@x6656 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not (= ?x1841 ?x6459)) $x6830)) (unit-resolution (lemma @x6834 $x6836) @x6833 (not $x6830)) (not (= ?x1841 ?x6459))))) -(let (($x6618 (= (or $x3695 (or $x6527 (= ?x1841 ?x6459))) (or $x3695 $x6527 (= ?x1841 ?x6459))))) -(let ((@x6610 (mp ((_ quant-inst ?v0!15) (or $x3695 (or $x6527 (= ?x1841 ?x6459)))) (rewrite $x6618) (or $x3695 $x6527 (= ?x1841 ?x6459))))) -(let ((@x6720 (mp (unit-resolution @x6610 (hypothesis $x3690) @x6656 $x6527) @x6719 (not $x6408)))) -(let ((@x6725 (unit-resolution (def-axiom (or (not $x6494) $x6408 (not $x6849))) @x6720 (unit-resolution @x5804 @x3468 $x6494) (not $x6849)))) -(let ((@x6488 (mp (unit-resolution (def-axiom (or $x6849 $x6867)) @x6725 $x6867) (monotonicity @x6624 (= $x6867 $x5324)) $x5324))) -(let (($x6164 (or $x5808 $x6106))) -(let ((@x5318 (mp ((_ quant-inst v_b_v_G_1$ ?v0!15) (or (not $x3475) $x6164)) (rewrite (= (or (not $x3475) $x6164) (or (not $x3475) $x5808 $x6106))) (or (not $x3475) $x5808 $x6106)))) -(let (($x3157 (>= ?x169 0))) -(let ((?x4056 (+ ?x169 ?x1168))) -(let (($x6181 (<= ?x4056 0))) -(let (($x3907 (= v_b_v_G_1$ b_Source$))) -(let ((?x3908 (?v1!7 v_b_v_G_1$))) -(let ((?x3915 (pair$ ?x3908 v_b_v_G_1$))) -(let ((?x3916 (b_G$ ?x3915))) -(let ((?x3917 (* (- 1) ?x3916))) -(let ((?x3909 (fun_app$a v_b_SP_G_1$ ?x3908))) -(let ((?x3910 (* (- 1) ?x3909))) -(let ((?x3918 (+ ?x254 ?x3910 ?x3917))) -(let (($x3919 (= ?x3918 0))) -(let (($x3913 (fun_app$ v_b_Visited_G_1$ ?x3908))) -(let (($x3914 (not $x3913))) -(let ((?x3911 (+ ?x254 ?x3910))) -(let (($x3912 (<= ?x3911 0))) -(let (($x3921 (or $x3912 $x3914 (not $x3919)))) -(let (($x4342 (>= ?x3911 0))) -(let (($x6807 (not $x4342))) -(let ((@x6790 (hypothesis $x4342))) -(let (($x5838 (>= ?x3909 0))) -(let ((?x6528 (pair$ v_b_v_G_1$ ?v0!15))) -(let ((?x6529 (b_G$ ?x6528))) -(let ((?x6364 (* (- 1) ?x1841))) -(let ((?x5981 (+ ?x254 ?x6364 ?x6529))) -(let (($x6866 (<= ?x5981 0))) -(let (($x6554 (= ?x5981 0))) -(let (($x5936 (>= (+ ?x254 (* (- 1) ?x6459) ?x6529) 0))) -(let (($x6303 (<= (+ b_Infinity$ (* (- 1) ?x6529)) 0))) -(let (($x3933 (or $x6303 $x5936))) -(let (($x6288 (not $x3933))) -(let (($x6486 (= ?x1841 ?x6459))) -(let (($x6685 (or $x3678 $x6288 $x6486))) -(let (($x6462 (or (not (or $x6303 (<= (+ ?x6459 ?x1168 (* (- 1) ?x6529)) 0))) $x6486))) -(let (($x6686 (or $x3678 $x6462))) -(let (($x5681 (<= (+ ?x6459 ?x1168 (* (- 1) ?x6529)) 0))) -(let ((@x3990 (rewrite (= (+ ?x6459 ?x1168 (* (- 1) ?x6529)) (+ ?x1168 ?x6459 (* (- 1) ?x6529)))))) -(let ((@x4138 (monotonicity @x3990 (= $x5681 (<= (+ ?x1168 ?x6459 (* (- 1) ?x6529)) 0))))) -(let ((@x3932 (trans @x4138 (rewrite (= (<= (+ ?x1168 ?x6459 (* (- 1) ?x6529)) 0) $x5936)) (= $x5681 $x5936)))) -(let ((@x6693 (monotonicity (monotonicity @x3932 (= (or $x6303 $x5681) $x3933)) (= (not (or $x6303 $x5681)) $x6288)))) -(let ((@x6509 (monotonicity (monotonicity @x6693 (= $x6462 (or $x6288 $x6486))) (= $x6686 (or $x3678 (or $x6288 $x6486)))))) -(let ((@x5868 (trans @x6509 (rewrite (= (or $x3678 (or $x6288 $x6486)) $x6685)) (= $x6686 $x6685)))) -(let ((@x6885 (unit-resolution (def-axiom (or $x3933 (not $x6303))) (hypothesis $x6288) (not $x6303)))) -(let ((@x6886 (unit-resolution (def-axiom (or $x3933 (not $x5936))) (hypothesis $x6288) (not $x5936)))) -(let (($x4983 (or $x6303 $x5936 $x6554))) -(let (($x3903 (or $x3670 $x6303 $x5936 $x6554))) -(let (($x5258 (or $x6303 $x5681 (= (+ ?x254 ?x6529 ?x6364) 0)))) -(let (($x4854 (or $x3670 $x5258))) -(let ((@x4987 (monotonicity (rewrite (= (+ ?x254 ?x6529 ?x6364) ?x5981)) (= (= (+ ?x254 ?x6529 ?x6364) 0) $x6554)))) -(let ((@x5496 (monotonicity (monotonicity @x3932 @x4987 (= $x5258 $x4983)) (= $x4854 (or $x3670 $x4983))))) -(let ((@x5069 (mp ((_ quant-inst ?v0!15) $x4854) (trans @x5496 (rewrite (= (or $x3670 $x4983) $x3903)) (= $x4854 $x3903)) $x3903))) -(let ((@x6888 (unit-resolution (unit-resolution @x5069 @x4789 $x4983) @x6886 @x6885 (hypothesis (not $x6554)) false))) -(let ((@x6099 (unit-resolution (lemma @x6888 (or $x3933 $x6554)) (unit-resolution (mp ((_ quant-inst ?v0!15) $x6686) @x5868 $x6685) @x4803 @x6656 $x6288) $x6554))) -(let ((@x6871 ((_ th-lemma arith farkas 1 1 1 1 1) @x6833 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x6554) $x6866)) @x6099 $x6866) (unit-resolution ((_ quant-inst (?v1!7 v_b_v_G_1$)) (or $x3556 $x5838)) @x4713 $x5838) @x6790 (unit-resolution (unit-resolution @x5318 @x3480 $x6164) @x6488 $x6106) false))) -(let ((@x6225 (unit-resolution (lemma @x6871 (or $x3695 $x1842 $x6807)) (hypothesis $x3690) @x6833 $x6807))) -(let ((@x3174 (def-axiom (or $x3921 (not $x3912))))) -(let ((@x6645 (unit-resolution @x3174 (unit-resolution ((_ th-lemma arith farkas 1 1) (or $x4342 $x3912)) @x6225 $x3912) $x3921))) -(let (($x3922 (not $x3921))) -(let (($x4599 (or $x3581 $x3907 $x1208 $x3922))) -(let ((@x4617 (mp ((_ quant-inst v_b_v_G_1$) (or $x3581 (or $x3907 $x1208 $x3922))) (rewrite (= (or $x3581 (or $x3907 $x1208 $x3922)) $x4599)) $x4599))) -(let ((@x6649 (unit-resolution @x4617 @x4189 (unit-resolution (def-axiom (or $x3804 $x1209)) @x4802 $x1209) (or $x3907 $x3922)))) -(let ((@x5588 (symm (monotonicity (unit-resolution @x6649 @x6645 $x3907) (= ?x254 ?x169)) (= ?x169 ?x254)))) -(let ((@x5241 ((_ th-lemma arith farkas 1 1 1 1 1) @x6833 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x6554) $x6866)) @x6099 $x6866) (unit-resolution ((_ th-lemma arith triangle-eq) (or (not (= ?x169 ?x254)) $x6181)) @x5588 $x6181) (unit-resolution ((_ th-lemma arith triangle-eq) (or $x2947 $x3157)) @x4135 $x3157) (unit-resolution (unit-resolution @x5318 @x3480 $x6164) @x6488 $x6106) false))) -(let ((@x8742 (unit-resolution (def-axiom (or $x3780 $x3774)) (unit-resolution @x9261 (lemma @x5791 $x1824) $x3783) $x3774))) -(let (($x4076 (= ?x291 ?x169))) -(let (($x4073 (<= (+ ?x169 ?x1168 (* (- 1) (b_G$ (pair$ v_b_v_G_1$ b_Source$)))) 0))) -(let (($x4071 (<= (+ b_Infinity$ (* (- 1) (b_G$ (pair$ v_b_v_G_1$ b_Source$)))) 0))) -(let (($x4074 (or $x4071 $x4073))) -(let (($x3924 (>= ?x254 0))) -(let (($x4636 (or $x3556 $x3924))) -(let ((@x4637 ((_ quant-inst v_b_v_G_1$) $x4636))) -(let (($x4075 (not $x4074))) -(let ((@x5775 (hypothesis $x4075))) -(let ((?x4061 (pair$ v_b_v_G_1$ b_Source$))) -(let ((?x4062 (b_G$ ?x4061))) -(let (($x5863 (>= ?x4062 0))) -(let (($x5333 (= ?x4062 0))) -(let (($x5329 (<= ?x4062 0))) -(let (($x4173 (<= ?x291 0))) -(let ((?x4078 (* (- 1) ?x291))) -(let ((?x4144 (+ ?x169 ?x4078))) -(let (($x4145 (>= ?x4144 0))) -(let (($x4905 (or $x3686 $x4145))) -(let ((@x5229 ((_ quant-inst b_Source$) $x4905))) -(let (($x3158 (<= ?x169 0))) -(let ((@x4838 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x2947 $x3158)) @x4135 $x3158))) -(let ((@x4827 (unit-resolution ((_ th-lemma arith assign-bounds -1 1) (or $x4173 (not $x3158) (not $x4145))) @x4838 (unit-resolution @x5229 @x4714 $x4145) $x4173))) -(let ((?x4096 (+ ?x254 ?x4078 ?x4062))) -(let (($x4116 (<= ?x4096 0))) -(let (($x4099 (= ?x4096 0))) -(let (($x4102 (or $x4071 $x4073 $x4099))) -(let (($x4105 (or $x3670 $x4071 $x4073 $x4099))) -(let (($x4095 (or $x4071 $x4073 (= (+ ?x254 ?x4062 ?x4078) 0)))) -(let (($x4106 (or $x3670 $x4095))) -(let ((@x4101 (monotonicity (rewrite (= (+ ?x254 ?x4062 ?x4078) ?x4096)) (= (= (+ ?x254 ?x4062 ?x4078) 0) $x4099)))) -(let ((@x4110 (monotonicity (monotonicity @x4101 (= $x4095 $x4102)) (= $x4106 (or $x3670 $x4102))))) -(let ((@x4115 (mp ((_ quant-inst b_Source$) $x4106) (trans @x4110 (rewrite (= (or $x3670 $x4102) $x4105)) (= $x4106 $x4105)) $x4105))) -(let ((@x5780 (unit-resolution (unit-resolution @x4115 (hypothesis $x3665) $x4102) (unit-resolution (def-axiom (or $x4074 (not $x4073))) @x5775 (not $x4073)) (unit-resolution (def-axiom (or $x4074 (not $x4071))) @x5775 (not $x4071)) (hypothesis (not $x4099)) false))) -(let ((@x4831 (unit-resolution (lemma @x5780 (or $x4074 $x4099 $x3670)) @x4789 (or $x4074 $x4099)))) -(let ((@x4846 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x4099) $x4116)) (unit-resolution @x4831 @x5775 $x4099) $x4116))) -(let ((@x5939 ((_ th-lemma arith farkas -1 1 -1 1) (hypothesis $x3924) (hypothesis $x4173) (hypothesis (not $x5329)) (hypothesis $x4116) false))) -(let ((@x4867 (unit-resolution (lemma @x5939 (or $x5329 (not $x3924) (not $x4173) (not $x4116))) (unit-resolution @x4637 @x4713 $x3924) (or $x5329 (not $x4173) (not $x4116))))) -(let (($x5274 (= (or (not $x3475) (or $x3907 (not $x5329))) (or (not $x3475) $x3907 (not $x5329))))) -(let ((@x5275 (mp ((_ quant-inst v_b_v_G_1$ b_Source$) (or (not $x3475) (or $x3907 (not $x5329)))) (rewrite $x5274) (or (not $x3475) $x3907 (not $x5329))))) -(let ((@x5099 (rewrite (= (or $x3045 (or (not $x3907) $x5333)) (or $x3045 (not $x3907) $x5333))))) -(let ((@x5081 (mp ((_ quant-inst v_b_v_G_1$ b_Source$) (or $x3045 (or (not $x3907) $x5333))) @x5099 (or $x3045 (not $x3907) $x5333)))) -(let ((@x4868 (unit-resolution @x5081 @x3474 (unit-resolution @x5275 @x3480 (unit-resolution @x4867 @x4846 @x4827 $x5329) $x3907) $x5333))) -(let ((@x4872 ((_ th-lemma arith farkas -1 1 1 1) @x4838 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x5333) $x5863)) @x4868 $x5863) (unit-resolution (def-axiom (or $x4074 (not $x4073))) @x5775 (not $x4073)) (unit-resolution @x4637 @x4713 $x3924) false))) -(let (($x4077 (or $x4075 $x4076))) -(let (($x5055 (or $x3678 $x4075 $x4076))) -(let ((@x5303 (mp ((_ quant-inst b_Source$) (or $x3678 $x4077)) (rewrite (= (or $x3678 $x4077) $x5055)) $x5055))) -(let ((@x8878 (unit-resolution (unit-resolution @x5303 @x4803 $x4077) (lemma @x4872 $x4074) $x4076))) -(let ((@x9287 (unit-resolution (def-axiom (or $x3777 $x768 $x3771)) (mp @x8878 (monotonicity @x4135 (= $x4076 $x292)) $x292) (or $x3777 $x3771)))) -(let ((@x8755 (unit-resolution (def-axiom (or $x3768 $x3762)) (unit-resolution @x9287 @x8742 $x3771) $x3762))) -(let ((@x8979 (unit-resolution (def-axiom (or $x3765 $x1843 $x3759)) @x8755 (unit-resolution (lemma @x5241 (or $x3695 $x1842)) @x9263 $x1842) $x3759))) -(let ((@x9416 (unit-resolution (def-axiom (or $x3753 $x2760 $x3747)) (unit-resolution (def-axiom (or $x3756 $x3750)) @x8979 $x3750) $x3750))) -(let ((@x9452 (unit-resolution @x9416 (lemma (unit-resolution @x5735 @x6683 @x6066 @x7364 @x7323 false) $x2755) $x3747))) -(let ((@x9454 (unit-resolution (def-axiom (or $x3741 $x2806 $x3735)) (unit-resolution (def-axiom (or $x3744 $x3738)) @x9452 $x3738) $x3738))) -(let ((@x9455 (unit-resolution @x9454 (lemma @x7807 $x2801) $x3735))) -(let ((@x9475 (unit-resolution (def-axiom (or $x3732 $x1910)) @x9455 $x1910))) -(let ((@x9478 ((_ th-lemma arith farkas -1 1 1) (hypothesis (<= (+ b_Infinity$ ?x4438) 0)) @x9476 @x9475 false))) -(let ((@x9241 (unit-resolution (lemma @x9478 (or $x9479 (not (<= (+ b_Infinity$ ?x4438) 0)))) @x9476 (not (<= (+ b_Infinity$ ?x4438) 0))))) -(let (($x4660 (<= (+ b_Infinity$ ?x4438) 0))) -(let (($x8499 (or $x3581 $x1904 $x4660 $x4675))) -(let ((@x7305 (mp ((_ quant-inst ?v0!20) (or $x3581 (or $x1904 $x4660 $x4675))) (rewrite (= (or $x3581 (or $x1904 $x4660 $x4675)) $x8499)) $x8499))) -(let ((@x9599 (unit-resolution @x7305 @x4189 (unit-resolution (def-axiom (or $x3732 $x1905)) @x9455 $x1905) (or $x4660 $x4675)))) -(let ((@x9582 (unit-resolution @x9599 @x9241 $x4675))) -(let ((?x4717 (v_b_SP_G_2$ ?x4661))) -(let ((?x4720 (* (- 1) ?x4717))) -(let ((?x4721 (+ ?x4662 ?x4720))) -(let (($x4728 (>= ?x4721 0))) -(let ((@x9586 ((_ th-lemma arith farkas 1 1 -1 1) @x9476 (unit-resolution ((_ quant-inst (?v1!7 ?v0!20)) (or $x3686 $x4728)) @x4714 $x4728) (hypothesis (<= (+ ?x1906 ?x4720) 0)) (unit-resolution (def-axiom (or $x4674 (not $x4665))) @x9582 (not $x4665)) false))) -(let ((@x8898 (unit-resolution (lemma @x9586 $x9588) @x9476 (not (<= (+ ?x1906 ?x4720) 0))))) -(let ((?x7341 (+ ?x1906 ?x4670 ?x4720))) -(let (($x7121 (= ?x7341 0))) -(let (($x5719 (<= ?x7341 0))) -(let (($x4844 (<= (+ b_Infinity$ ?x4670) 0))) -(let (($x8387 (not $x4844))) -(let (($x7025 (>= ?x4671 0))) -(let ((@x8158 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x4673 $x7025)) (unit-resolution (def-axiom (or $x4674 $x4672)) @x9582 $x4672) $x7025))) -(let (($x4825 (>= ?x4662 0))) -(let ((@x8897 (unit-resolution ((_ th-lemma arith assign-bounds -1 -1 -1 -1) (or $x8387 (not $x4825) (not $x7025) $x1909 $x9479)) @x9475 (or $x8387 (not $x4825) (not $x7025) $x9479)))) -(let ((@x8874 (unit-resolution @x8897 (unit-resolution ((_ quant-inst (?v1!7 ?v0!20)) (or $x3556 $x4825)) @x4713 $x4825) @x9476 @x8158 $x8387))) -(let (($x4709 (fun_app$ v_b_Visited_G_2$ ?x4661))) -(let ((@x6057 (monotonicity (symm (hypothesis $x261) (= ?x260 v_b_Visited_G_2$)) (= (fun_app$ ?x260 ?x4661) $x4709)))) -(let ((@x6061 (monotonicity (symm @x6057 (= $x4709 (fun_app$ ?x260 ?x4661))) (= (not $x4709) (not (fun_app$ ?x260 ?x4661)))))) -(let (($x6003 (fun_app$ ?x260 ?x4661))) -(let (($x6010 (= ?x4661 v_b_v_G_1$))) -(let (($x6013 (or $x6010 $x4666))) -(let (($x6016 (= $x6003 $x6013))) -(let (($x6019 (or $x4134 $x6016))) -(let ((@x6018 (monotonicity (rewrite (= (ite $x6010 true $x4666) $x6013)) (= (= $x6003 (ite $x6010 true $x4666)) $x6016)))) -(let ((@x6023 (monotonicity @x6018 (= (or $x4134 (= $x6003 (ite $x6010 true $x4666))) $x6019)))) -(let ((@x6026 (trans @x6023 (rewrite (= $x6019 $x6019)) (= (or $x4134 (= $x6003 (ite $x6010 true $x4666))) $x6019)))) -(let ((@x6027 (mp ((_ quant-inst v_b_Visited_G_1$ v_b_v_G_1$ true (?v1!7 ?v0!20)) (or $x4134 (= $x6003 (ite $x6010 true $x4666)))) @x6026 $x6019))) -(let ((@x6050 (unit-resolution (def-axiom (or (not $x6016) $x6003 (not $x6013))) (unit-resolution (def-axiom (or $x6013 $x4667)) (hypothesis $x4666) $x6013) (or (not $x6016) $x6003)))) -(let ((@x6063 (unit-resolution (unit-resolution @x6050 (unit-resolution @x6027 @x3468 $x6016) $x6003) (mp (hypothesis (not $x4709)) @x6061 (not $x6003)) false))) -(let ((@x8957 (unit-resolution (lemma @x6063 (or $x4709 $x2930 $x4667)) (unit-resolution (def-axiom (or $x3804 $x261)) @x4802 $x261) (or $x4709 $x4667)))) -(let ((@x8892 (unit-resolution @x8957 (unit-resolution (def-axiom (or $x4674 $x4666)) @x9582 $x4666) $x4709))) -(let (($x4710 (not $x4709))) -(let (($x6183 (or $x3720 $x4710 $x4844 $x5719))) -(let (($x4848 (>= (+ ?x4669 ?x4717 ?x1907) 0))) -(let (($x4849 (or $x4710 $x4844 $x4848))) -(let (($x7891 (or $x3720 $x4849))) -(let ((@x7340 (monotonicity (rewrite (= (+ ?x4669 ?x4717 ?x1907) (+ ?x1907 ?x4669 ?x4717))) (= $x4848 (>= (+ ?x1907 ?x4669 ?x4717) 0))))) -(let ((@x7415 (trans @x7340 (rewrite (= (>= (+ ?x1907 ?x4669 ?x4717) 0) $x5719)) (= $x4848 $x5719)))) -(let ((@x7922 (monotonicity (monotonicity @x7415 (= $x4849 (or $x4710 $x4844 $x5719))) (= $x7891 (or $x3720 (or $x4710 $x4844 $x5719)))))) -(let ((@x7119 (trans @x7922 (rewrite (= (or $x3720 (or $x4710 $x4844 $x5719)) $x6183)) (= $x7891 $x6183)))) -(let ((@x8954 (unit-resolution (mp ((_ quant-inst ?v0!20 (?v1!7 ?v0!20)) $x7891) @x7119 $x6183) (unit-resolution (def-axiom (or $x3732 $x3715)) @x9455 $x3715) @x8892 (or $x4844 $x5719)))) -(let (($x8133 (>= ?x7341 0))) -(let ((@x9055 (unit-resolution ((_ th-lemma arith assign-bounds -1 -1 -1) (or $x8133 (not $x7025) $x9479 (not $x4728))) (unit-resolution ((_ quant-inst (?v1!7 ?v0!20)) (or $x3686 $x4728)) @x4714 $x4728) @x8158 @x9476 $x8133))) -(let ((@x9049 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x7121 (not $x5719) (not $x8133))) @x9055 (unit-resolution @x8954 @x8874 $x5719) $x7121))) -(let (($x7918 (not $x7121))) -(let ((?x4888 (+ ?x1906 ?x4720))) -(let (($x7874 (<= ?x4888 0))) -(let (($x8072 (or $x3729 $x7874 $x4710 $x7918))) -(let (($x4877 (>= (+ ?x4717 ?x1907) 0))) -(let (($x4881 (or $x4877 $x4710 (not (= (+ ?x4717 ?x1907 ?x4669) 0))))) -(let (($x8040 (or $x3729 $x4881))) -(let ((@x6258 (monotonicity (rewrite (= (+ ?x4717 ?x1907 ?x4669) (+ ?x1907 ?x4669 ?x4717))) (= (= (+ ?x4717 ?x1907 ?x4669) 0) (= (+ ?x1907 ?x4669 ?x4717) 0))))) -(let ((@x7178 (trans @x6258 (rewrite (= (= (+ ?x1907 ?x4669 ?x4717) 0) $x7121)) (= (= (+ ?x4717 ?x1907 ?x4669) 0) $x7121)))) -(let ((@x7871 (monotonicity (rewrite (= (+ ?x4717 ?x1907) (+ ?x1907 ?x4717))) (= $x4877 (>= (+ ?x1907 ?x4717) 0))))) -(let ((@x7892 (trans @x7871 (rewrite (= (>= (+ ?x1907 ?x4717) 0) $x7874)) (= $x4877 $x7874)))) -(let ((@x8041 (monotonicity @x7892 (monotonicity @x7178 (= (not (= (+ ?x4717 ?x1907 ?x4669) 0)) $x7918)) (= $x4881 (or $x7874 $x4710 $x7918))))) -(let ((@x8107 (trans (monotonicity @x8041 (= $x8040 (or $x3729 (or $x7874 $x4710 $x7918)))) (rewrite (= (or $x3729 (or $x7874 $x4710 $x7918)) $x8072)) (= $x8040 $x8072)))) -(let ((@x9051 (unit-resolution (mp ((_ quant-inst (?v1!7 ?v0!20)) $x8040) @x8107 $x8072) (unit-resolution (def-axiom (or $x3732 $x3724)) @x9455 $x3724) @x8892 (or $x7874 $x7918)))) -(let ((@x10024 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not (= ?x1906 ?x4413)) $x6002)) (lemma (unit-resolution @x9051 @x9049 @x8898 false) $x9479) (not (= ?x1906 ?x4413))))) -(let (($x4420 (= ?x1906 ?x4413))) -(let (($x4423 (or $x4299 $x4420))) -(let (($x8830 (or $x3695 $x4299 $x4420))) -(let ((@x8691 (mp ((_ quant-inst ?v0!20) (or $x3695 $x4423)) (rewrite (= (or $x3695 $x4423) $x8830)) $x8830))) -(let ((@x10120 (mp (unit-resolution (unit-resolution @x8691 @x9263 $x4423) @x10024 $x4299) @x10119 $x9037))) -(let (($x4629 (fun_app$ v_b_Visited_G_1$ ?v0!20))) -(let (($x5238 (= ?v0!20 v_b_v_G_1$))) -(let (($x10274 (or $x5238 $x4629))) -(let (($x10073 (= $x5237 $x10274))) -(let (($x10506 (or $x4134 $x10073))) -(let ((@x10500 (monotonicity (rewrite (= (ite $x5238 true $x4629) $x10274)) (= (= $x5237 (ite $x5238 true $x4629)) $x10073)))) -(let ((@x10183 (monotonicity @x10500 (= (or $x4134 (= $x5237 (ite $x5238 true $x4629))) $x10506)))) -(let ((@x10372 (trans @x10183 (rewrite (= $x10506 $x10506)) (= (or $x4134 (= $x5237 (ite $x5238 true $x4629))) $x10506)))) -(let ((@x10020 (mp ((_ quant-inst v_b_Visited_G_1$ v_b_v_G_1$ true ?v0!20) (or $x4134 (= $x5237 (ite $x5238 true $x4629)))) @x10372 $x10506))) -(let ((?x4454 (pair$ v_b_v_G_1$ ?v0!20))) -(let ((?x4455 (b_G$ ?x4454))) -(let ((?x4507 (+ ?x254 ?x1907 ?x4455))) -(let (($x4527 (<= ?x4507 0))) -(let (($x8001 (= ?x4507 0))) -(let ((?x9161 (+ ?x254 ?x4438 ?x4455))) -(let (($x9165 (>= ?x9161 0))) -(let ((?x4456 (* (- 1) ?x4455))) -(let ((?x4457 (+ b_Infinity$ ?x4456))) -(let (($x4458 (<= ?x4457 0))) -(let (($x8810 (or $x4458 $x9165))) -(let (($x8814 (not $x8810))) -(let (($x8919 (or $x8814 $x4420))) -(let (($x8679 (or $x3678 $x8814 $x4420))) -(let (($x4463 (or (not (or $x4458 (<= (+ ?x4413 ?x1168 ?x4456) 0))) $x4420))) -(let (($x9386 (or $x3678 $x4463))) -(let ((@x9164 (monotonicity (rewrite (= (+ ?x4413 ?x1168 ?x4456) (+ ?x1168 ?x4413 ?x4456))) (= (<= (+ ?x4413 ?x1168 ?x4456) 0) (<= (+ ?x1168 ?x4413 ?x4456) 0))))) -(let ((@x8891 (trans @x9164 (rewrite (= (<= (+ ?x1168 ?x4413 ?x4456) 0) $x9165)) (= (<= (+ ?x4413 ?x1168 ?x4456) 0) $x9165)))) -(let ((@x8813 (monotonicity @x8891 (= (or $x4458 (<= (+ ?x4413 ?x1168 ?x4456) 0)) $x8810)))) -(let ((@x8815 (monotonicity @x8813 (= (not (or $x4458 (<= (+ ?x4413 ?x1168 ?x4456) 0))) $x8814)))) -(let ((@x9295 (monotonicity (monotonicity @x8815 (= $x4463 $x8919)) (= $x9386 (or $x3678 $x8919))))) -(let ((@x9441 (mp ((_ quant-inst ?v0!20) $x9386) (trans @x9295 (rewrite (= (or $x3678 $x8919) $x8679)) (= $x9386 $x8679)) $x8679))) -(let ((@x9984 (unit-resolution (def-axiom (or $x8810 (not $x4458))) (hypothesis $x8814) (not $x4458)))) -(let ((@x9985 (unit-resolution (def-axiom (or $x8810 (not $x9165))) (hypothesis $x8814) (not $x9165)))) -(let (($x8926 (or $x4458 $x9165 $x8001))) -(let (($x8928 (or $x3670 $x4458 $x9165 $x8001))) -(let (($x4460 (<= (+ ?x4413 ?x1168 ?x4456) 0))) -(let (($x4506 (or $x4458 $x4460 (= (+ ?x254 ?x4455 ?x1907) 0)))) -(let (($x8929 (or $x3670 $x4506))) -(let ((@x8925 (monotonicity (rewrite (= (+ ?x254 ?x4455 ?x1907) ?x4507)) (= (= (+ ?x254 ?x4455 ?x1907) 0) $x8001)))) -(let ((@x8953 (monotonicity (monotonicity @x8891 @x8925 (= $x4506 $x8926)) (= $x8929 (or $x3670 $x8926))))) -(let ((@x8682 (mp ((_ quant-inst ?v0!20) $x8929) (trans @x8953 (rewrite (= (or $x3670 $x8926) $x8928)) (= $x8929 $x8928)) $x8928))) -(let ((@x9987 (unit-resolution (unit-resolution @x8682 @x4789 $x8926) @x9985 @x9984 (hypothesis (not $x8001)) false))) -(let ((@x10276 (unit-resolution (lemma @x9987 (or $x8810 $x8001)) (unit-resolution (unit-resolution @x9441 @x4803 $x8919) @x10024 $x8814) $x8001))) -(let ((?x4401 (+ ?x1906 ?x3064))) -(let (($x6992 (<= ?x4401 0))) -(let ((?x4566 (+ ?x1906 ?x3064 ?x4456))) -(let (($x6987 (= ?x4566 0))) -(let (($x4590 (>= ?x4566 0))) -(let ((@x9966 (unit-resolution ((_ th-lemma arith assign-bounds 1 -1) (or (not $x4527) $x4590 (not $x3906))) @x6160 (or (not $x4527) $x4590)))) -(let (($x4589 (<= ?x4566 0))) -(let (($x4181 (>= ?x3063 0))) -(let (($x6279 (or $x3703 $x4181))) -(let ((@x6374 ((_ quant-inst v_b_v_G_1$) $x6279))) -(let ((@x9257 (unit-resolution @x6374 (unit-resolution (def-axiom (or $x3756 $x3698)) @x8979 $x3698) $x4181))) -(let (($x4146 (fun_app$ v_b_Visited_G_2$ v_b_v_G_1$))) -(let (($x3097 (fun_app$ ?x260 v_b_v_G_1$))) -(let (($x3456 (forall ((?v0 B_Vertex_bool_fun$) (?v1 B_Vertex$) (?v2 Bool) )(! (= (fun_app$ (fun_upd$ ?v0 ?v1 ?v2) ?v1) ?v2) :pattern ( (fun_upd$ ?v0 ?v1 ?v2) ) :qid k!33)) -)) -(let (($x55 (forall ((?v0 B_Vertex_bool_fun$) (?v1 B_Vertex$) (?v2 Bool) )(! (= (fun_app$ (fun_upd$ ?v0 ?v1 ?v2) ?v1) ?v2) :qid k!33)) -)) -(let (($x52 (= (fun_app$ (fun_upd$ ?2 ?1 ?0) ?1) ?0))) -(let (($x50 (forall ((?v0 B_Vertex_bool_fun$) (?v1 B_Vertex$) (?v2 Bool) )(! (= (fun_app$ (fun_upd$ ?v0 ?v1 ?v2) ?v1) ?v2) :qid k!33)) -)) -(let ((@x54 (rewrite (= (= (fun_app$ (fun_upd$ ?2 ?1 ?0) ?1) ?0) $x52)))) -(let ((@x1427 (mp~ (mp (asserted $x50) (quant-intro @x54 (= $x50 $x55)) $x55) (nnf-pos (refl (~ $x52 $x52)) (~ $x55 $x55)) $x55))) -(let ((@x3461 (mp @x1427 (quant-intro (refl (= $x52 $x52)) (= $x55 $x3456)) $x3456))) -(let (($x4383 (or (not $x3456) $x3097))) -(let ((@x4480 (monotonicity (rewrite (= (= $x3097 true) $x3097)) (= (or (not $x3456) (= $x3097 true)) $x4383)))) -(let ((@x4483 (trans @x4480 (rewrite (= $x4383 $x4383)) (= (or (not $x3456) (= $x3097 true)) $x4383)))) -(let ((@x4484 (mp ((_ quant-inst v_b_Visited_G_1$ v_b_v_G_1$ true) (or (not $x3456) (= $x3097 true))) @x4483 $x4383))) -(let ((@x9972 (mp (unit-resolution @x4484 @x3461 $x3097) (monotonicity @x6739 (= $x3097 $x4146)) $x4146))) -(let ((@x5439 (unit-resolution ((_ th-lemma arith farkas 1 1) (or $x4590 $x4589)) (hypothesis (not $x4589)) $x4590))) -(let (($x4147 (not $x4146))) -(let (($x5371 (or $x3720 $x4147 $x4458 $x4589))) -(let ((?x5354 (+ ?x4455 ?x3063 ?x1907))) -(let (($x5355 (>= ?x5354 0))) -(let (($x5358 (or $x4147 $x4458 $x5355))) -(let (($x5372 (or $x3720 $x5358))) -(let ((@x5363 (monotonicity (rewrite (= ?x5354 (+ ?x1907 ?x3063 ?x4455))) (= $x5355 (>= (+ ?x1907 ?x3063 ?x4455) 0))))) -(let ((@x5367 (trans @x5363 (rewrite (= (>= (+ ?x1907 ?x3063 ?x4455) 0) $x4589)) (= $x5355 $x4589)))) -(let ((@x5376 (monotonicity (monotonicity @x5367 (= $x5358 (or $x4147 $x4458 $x4589))) (= $x5372 (or $x3720 (or $x4147 $x4458 $x4589)))))) -(let ((@x5380 (trans @x5376 (rewrite (= (or $x3720 (or $x4147 $x4458 $x4589)) $x5371)) (= $x5372 $x5371)))) -(let ((@x5381 (mp ((_ quant-inst ?v0!20 v_b_v_G_1$) $x5372) @x5380 $x5371))) -(let ((@x5443 (unit-resolution @x5381 (hypothesis $x3715) (hypothesis $x4146) (hypothesis (not $x4589)) $x4458))) -(let ((@x5447 (lemma ((_ th-lemma arith farkas 1 1 1 1) @x5443 (hypothesis $x4181) @x5439 (hypothesis $x1910) false) (or $x4589 (not $x4181) $x1909 $x3720 $x4147)))) -(let ((@x9976 (unit-resolution (unit-resolution @x5447 @x9972 (or $x4589 (not $x4181) $x1909 $x3720)) @x9257 (or $x4589 $x1909 $x3720)))) -(let ((@x9977 (unit-resolution @x9976 (unit-resolution (def-axiom (or $x3732 $x3715)) @x9455 $x3715) @x9475 $x4589))) -(let ((@x9991 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x6987 (not $x4589) (not $x4590))) @x9977 (or $x6987 (not $x4590))))) -(let ((@x9992 (unit-resolution @x9991 (unit-resolution @x9966 (hypothesis $x4527) $x4590) $x6987))) -(let (($x7023 (not $x6987))) -(let (($x6921 (or $x3729 $x6992 $x4147 $x7023))) -(let (($x4536 (>= (+ ?x3063 ?x1907) 0))) -(let (($x4548 (or $x4536 $x4147 (not (= (+ ?x3063 ?x1907 ?x4455) 0))))) -(let (($x8524 (or $x3729 $x4548))) -(let ((@x7245 (monotonicity (rewrite (= (+ ?x3063 ?x1907 ?x4455) (+ ?x1907 ?x3063 ?x4455))) (= (= (+ ?x3063 ?x1907 ?x4455) 0) (= (+ ?x1907 ?x3063 ?x4455) 0))))) -(let ((@x7022 (trans @x7245 (rewrite (= (= (+ ?x1907 ?x3063 ?x4455) 0) $x6987)) (= (= (+ ?x3063 ?x1907 ?x4455) 0) $x6987)))) -(let ((@x7049 (monotonicity (rewrite (= (+ ?x3063 ?x1907) (+ ?x1907 ?x3063))) (= $x4536 (>= (+ ?x1907 ?x3063) 0))))) -(let ((@x8373 (trans @x7049 (rewrite (= (>= (+ ?x1907 ?x3063) 0) $x6992)) (= $x4536 $x6992)))) -(let ((@x7936 (monotonicity @x8373 (monotonicity @x7022 (= (not (= (+ ?x3063 ?x1907 ?x4455) 0)) $x7023)) (= $x4548 (or $x6992 $x4147 $x7023))))) -(let ((@x8581 (trans (monotonicity @x7936 (= $x8524 (or $x3729 (or $x6992 $x4147 $x7023)))) (rewrite (= (or $x3729 (or $x6992 $x4147 $x7023)) $x6921)) (= $x8524 $x6921)))) -(let ((@x8053 (mp ((_ quant-inst v_b_v_G_1$) $x8524) @x8581 $x6921))) -(let ((@x9995 (unit-resolution @x8053 (unit-resolution (def-axiom (or $x3732 $x3724)) @x9455 $x3724) @x9972 (or $x6992 $x7023)))) -(let (($x5406 (<= ?x4455 0))) -(let (($x5407 (not $x5406))) -(let (($x5405 (= v_b_v_G_1$ ?v0!20))) -(let (($x5409 (not $x5405))) -(let ((@x10003 (monotonicity (symm (commutativity (= $x5405 $x5238)) (= $x5238 $x5405)) (= (not $x5238) $x5409)))) -(let (($x5408 (or $x5405 $x5407))) -(let (($x3099 (not $x3475))) -(let (($x9955 (or $x3099 $x5405 $x5407))) -(let ((@x9962 (mp ((_ quant-inst v_b_v_G_1$ ?v0!20) (or $x3099 $x5408)) (rewrite (= (or $x3099 $x5408) $x9955)) $x9955))) -(let ((@x10006 (unit-resolution (unit-resolution @x9962 @x3480 $x5408) (mp (hypothesis (not $x5238)) @x10003 $x5409) $x5407))) -(let ((@x10007 ((_ th-lemma arith farkas -1 -1 1 1) @x6160 @x10006 (hypothesis $x4527) (unit-resolution @x9995 @x9992 $x6992) false))) -(let ((@x10279 (unit-resolution (lemma @x10007 (or (not $x4527) $x5238)) (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x8001) $x4527)) @x10276 $x4527) $x5238))) -(let ((@x10164 (unit-resolution (def-axiom (or (not $x10073) $x5237 (not $x10274))) (unit-resolution (def-axiom (or $x10274 (not $x5238))) @x10279 $x10274) (or (not $x10073) $x5237)))) -(unit-resolution (unit-resolution @x10164 (unit-resolution @x10020 @x3468 $x10073) $x5237) @x10120 false)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) - diff --git a/src/HOL/SMT_Examples/Boogie_Max.certs b/src/HOL/SMT_Examples/Boogie_Max.certs --- a/src/HOL/SMT_Examples/Boogie_Max.certs +++ b/src/HOL/SMT_Examples/Boogie_Max.certs @@ -1,779 +1,779 @@ -c35b5996e10ca92422b72151cf73d5012ace7376 778 0 +ae712ba60be9be1bab4bc3570ac5c4aec9bad512 778 0 unsat ((set-logic AUFLIA) (declare-fun ?v0!3 () Int) (declare-fun ?v0!2 () Int) (declare-fun ?v0!1 () Int) (declare-fun ?v0!0 () Int) (proof (let (($x109 (= v_b_max_G_3$ v_b_max_G_2$))) (let ((?x135 (v_b_array$ v_b_k_G_1$))) (let (($x136 (= ?x135 v_b_max_G_3$))) (let (($x1878 (forall ((?v0 Int) )(! (let (($x746 (<= (+ (v_b_array$ ?v0) (* (- 1) v_b_max_G_3$)) 0))) (let (($x733 (>= (+ ?v0 (* (- 1) v_b_p_G_1$)) 0))) (let (($x521 (>= ?v0 0))) (let (($x1157 (not $x521))) (or $x1157 $x733 $x746))))) :pattern ( (v_b_array$ ?v0) ) :qid k!17)) )) (let (($x1883 (not $x1878))) (let (($x1886 (or $x1883 $x136))) (let (($x1889 (not $x1886))) (let (($x1070 (>= (+ v_b_max_G_3$ (* (- 1) (v_b_array$ ?v0!3))) 0))) (let (($x1048 (<= (+ v_b_p_G_1$ (* (- 1) ?v0!3)) 0))) (let (($x931 (>= ?v0!3 0))) (let (($x1298 (not $x931))) (let (($x1313 (or $x1298 $x1048 $x1070))) (let (($x1318 (not $x1313))) (let (($x1892 (or $x1318 $x1889))) (let (($x1895 (not $x1892))) (let (($x682 (>= v_b_p_G_1$ 2))) (let (($x1364 (not $x682))) (let (($x679 (>= v_b_k_G_1$ 0))) (let (($x1363 (not $x679))) (let ((?x685 (* (- 1) v_b_p_G_1$))) (let ((?x686 (+ v_b_p_G_0$ ?x685))) (let (($x684 (= ?x686 (- 1)))) (let (($x1362 (not $x684))) (let (($x573 (>= v_b_p_G_0$ 1))) (let (($x1287 (not $x573))) (let (($x1361 (not $x109))) (let (($x107 (= v_b_k_G_1$ v_b_p_G_0$))) (let (($x1360 (not $x107))) (let ((?x101 (v_b_array$ v_b_p_G_0$))) (let (($x104 (= v_b_max_G_2$ ?x101))) (let (($x1359 (not $x104))) (let (($x689 (>= (+ v_b_max_G_1$ (* (- 1) ?x101)) 0))) (let (($x571 (>= v_b_k_G_0$ 0))) (let (($x1286 (not $x571))) (let (($x1898 (or $x1286 $x689 $x1359 $x1360 $x1361 $x1287 $x1362 $x1363 $x1364 $x1895))) (let (($x1901 (not $x1898))) (let (($x145 (= v_b_max_G_3$ v_b_max_G_1$))) (let (($x1376 (not $x145))) (let (($x144 (= v_b_k_G_1$ v_b_k_G_0$))) (let (($x1375 (not $x144))) (let (($x692 (not $x689))) (let (($x1904 (or $x692 $x1286 $x1375 $x1376 $x1287 $x1362 $x1363 $x1364 $x1895))) (let ((?x937 (v_b_array$ ?v0!3))) (let (($x1559 (= ?x101 ?x937))) (let (($x1563 (not $x1559))) (let ((?x1068 (* (- 1) ?x937))) (let ((?x1461 (+ ?x101 ?x1068))) (let (($x1445 (>= ?x1461 0))) (let (($x1453 (not $x1445))) (let (($x1907 (not $x1904))) (let ((@x2130 (hypothesis $x1907))) (let ((?x744 (* (- 1) v_b_max_G_3$))) (let ((?x1781 (+ v_b_max_G_1$ ?x744))) (let (($x1782 (<= ?x1781 0))) (let (($x1780 (= v_b_max_G_1$ v_b_max_G_3$))) (let ((@x2143 (mp (unit-resolution (def-axiom (or $x1904 $x145)) @x2130 $x145) (symm (commutativity (= $x1780 $x145)) (= $x145 $x1780)) $x1780))) (let (($x1436 (not $x1070))) (let ((?x62 (v_b_array$ v_b_k_G_0$))) (let (($x63 (= ?x62 v_b_max_G_1$))) (let (($x1910 (or $x1901 $x1907))) (let (($x1913 (not $x1910))) (let ((?x549 (* (- 1) v_b_p_G_0$))) (let ((?x599 (+ v_b_length$ ?x549))) (let (($x600 (<= ?x599 0))) (let (($x1916 (or $x600 $x1286 $x1287 $x1913))) (let (($x1919 (not $x1916))) (let (($x1011 (>= (+ v_b_max_G_4$ (* (- 1) (v_b_array$ ?v0!2))) 0))) (let (($x900 (<= (+ v_b_length$ (* (- 1) ?v0!2)) 0))) (let (($x897 (>= ?v0!2 0))) (let (($x1247 (not $x897))) (let (($x889 (= (v_b_array$ ?v0!1) v_b_max_G_4$))) (let (($x884 (<= (+ v_b_length$ (* (- 1) ?v0!1)) 0))) (let (($x881 (>= ?v0!1 0))) (let (($x1227 (not $x881))) (let (($x1242 (or $x1227 $x884 $x889))) (let (($x1273 (not $x1242))) (let (($x1274 (or $x1273 $x1247 $x900 $x1011))) (let (($x1275 (not $x1274))) (let (($x1861 (forall ((?v0 Int) )(! (let ((?x46 (v_b_array$ ?v0))) (let (($x86 (= ?x46 v_b_max_G_4$))) (let (($x622 (<= (+ v_b_length$ (* (- 1) ?v0)) 0))) (let (($x521 (>= ?v0 0))) (let (($x1157 (not $x521))) (let (($x1216 (or $x1157 $x622 $x86))) (not $x1216))))))) :pattern ( (v_b_array$ ?v0) ) :qid k!17)) )) (let (($x1866 (or $x1861 $x1275))) (let (($x1869 (not $x1866))) (let (($x75 (= v_b_p_G_2$ v_b_p_G_0$))) (let (($x1290 (not $x75))) (let (($x73 (= v_b_max_G_4$ v_b_max_G_1$))) (let (($x1289 (not $x73))) (let (($x71 (= v_b_k_G_2$ v_b_k_G_0$))) (let (($x1288 (not $x71))) (let (($x661 (not $x600))) (let (($x1872 (or $x661 $x1286 $x1287 $x1288 $x1289 $x1290 $x1869))) (let (($x1875 (not $x1872))) (let (($x1922 (or $x1875 $x1919))) (let (($x1925 (not $x1922))) (let (($x1403 (not $x63))) (let (($x1853 (forall ((?v0 Int) )(! (let (($x561 (<= (+ (v_b_array$ ?v0) (* (- 1) v_b_max_G_1$)) 0))) (let (($x548 (>= (+ ?v0 (* (- 1) v_b_p_G_0$)) 0))) (let (($x521 (>= ?v0 0))) (let (($x1157 (not $x521))) (or $x1157 $x548 $x561))))) :pattern ( (v_b_array$ ?v0) ) :qid k!17)) )) (let (($x1858 (not $x1853))) (let ((?x30 (v_b_array$ 0))) (let (($x50 (= ?x30 v_b_max_G_0$))) (let (($x851 (not $x50))) (let (($x1928 (or $x851 $x1858 $x1403 $x1286 $x1287 $x1925))) (let (($x1931 (not $x1928))) (let (($x1934 (or $x851 $x1931))) (let (($x1937 (not $x1934))) (let (($x1845 (forall ((?v0 Int) )(! (let (($x534 (>= (+ v_b_max_G_0$ (* (- 1) (v_b_array$ ?v0))) 0))) (let (($x524 (>= ?v0 1))) (let (($x521 (>= ?v0 0))) (let (($x1157 (not $x521))) (or $x1157 $x524 $x534))))) :pattern ( (v_b_array$ ?v0) ) :qid k!17)) )) (let (($x1850 (not $x1845))) (let (($x1940 (or $x1850 $x1937))) (let (($x1943 (not $x1940))) (let (($x839 (>= (+ v_b_max_G_0$ (* (- 1) (v_b_array$ ?v0!0))) 0))) (let (($x832 (>= ?v0!0 1))) (let (($x835 (>= ?v0!0 0))) (let (($x1134 (not $x835))) (let (($x1149 (or $x1134 $x832 $x839))) (let (($x833 (not $x832))) (let (($x1154 (not $x1149))) (let ((@x1726 (hypothesis $x1154))) (let ((@x1711 ((_ th-lemma arith eq-propagate 0 0) (unit-resolution (def-axiom (or $x1149 $x835)) @x1726 $x835) (unit-resolution (def-axiom (or $x1149 $x833)) @x1726 $x833) (= ?v0!0 0)))) (let ((@x1715 (symm (monotonicity @x1711 (= (v_b_array$ ?v0!0) ?x30)) (= ?x30 (v_b_array$ ?v0!0))))) (let (($x31 (= v_b_max_G_0$ ?x30))) (let (($x495 (<= v_b_length$ 0))) (let (($x496 (not $x495))) (let (($x511 (and $x496 $x31))) (let (($x752 (forall ((?v0 Int) )(! (let (($x746 (<= (+ (v_b_array$ ?v0) (* (- 1) v_b_max_G_3$)) 0))) (let (($x521 (>= ?v0 0))) (let (($x738 (and $x521 (not (>= (+ ?v0 (* (- 1) v_b_p_G_1$)) 0))))) (let (($x741 (not $x738))) (or $x741 $x746))))) :qid k!17)) )) (let (($x755 (not $x752))) (let (($x758 (or $x755 $x136))) (let (($x761 (and $x752 $x758))) (let (($x784 (and $x689 $x571 $x144 $x145 $x573 $x684 $x679 $x682))) (let (($x789 (not $x784))) (let (($x792 (or $x789 $x761))) (let (($x725 (and $x571 $x692 $x104 $x107 $x109 $x573 $x684 $x679 $x682))) (let (($x730 (not $x725))) (let (($x764 (or $x730 $x761))) (let (($x795 (and $x764 $x792))) (let (($x670 (and $x661 $x571 $x573))) (let (($x675 (not $x670))) (let (($x798 (or $x675 $x795))) (let (($x649 (forall ((?v0 Int) )(! (let (($x521 (>= ?v0 0))) (let (($x626 (and $x521 (not (<= (+ v_b_length$ (* (- 1) ?v0)) 0))))) (let (($x629 (not $x626))) (or $x629 (<= (+ (v_b_array$ ?v0) (* (- 1) v_b_max_G_4$)) 0))))) :qid k!17)) )) (let (($x635 (exists ((?v0 Int) )(! (let ((?x46 (v_b_array$ ?v0))) (let (($x86 (= ?x46 v_b_max_G_4$))) (let (($x521 (>= ?v0 0))) (let (($x626 (and $x521 (not (<= (+ v_b_length$ (* (- 1) ?v0)) 0))))) (let (($x629 (not $x626))) (or $x629 $x86)))))) :qid k!17)) )) (let (($x638 (not $x635))) (let (($x652 (or $x638 $x649))) (let (($x655 (and $x635 $x652))) (let (($x612 (and $x600 $x571 $x573 $x71 $x73 $x75))) (let (($x617 (not $x612))) (let (($x658 (or $x617 $x655))) (let (($x801 (and $x658 $x798))) (let (($x567 (forall ((?v0 Int) )(! (let (($x561 (<= (+ (v_b_array$ ?v0) (* (- 1) v_b_max_G_1$)) 0))) (let (($x521 (>= ?v0 0))) (let (($x553 (and $x521 (not (>= (+ ?v0 (* (- 1) v_b_p_G_0$)) 0))))) (let (($x556 (not $x553))) (or $x556 $x561))))) :qid k!17)) )) (let (($x591 (and $x50 $x567 $x63 $x571 $x573))) (let (($x596 (not $x591))) (let (($x804 (or $x596 $x801))) (let (($x807 (and $x50 $x804))) (let (($x541 (forall ((?v0 Int) )(! (let (($x534 (>= (+ v_b_max_G_0$ (* (- 1) (v_b_array$ ?v0))) 0))) (let (($x521 (>= ?v0 0))) (let (($x526 (and $x521 (not (>= ?v0 1))))) (let (($x529 (not $x526))) (or $x529 $x534))))) :qid k!17)) )) (let (($x544 (not $x541))) (let (($x810 (or $x544 $x807))) (let (($x813 (and $x541 $x810))) (let (($x819 (not (or (not $x511) $x813)))) (let (($x138 (=> (and $x136 false) true))) (let (($x139 (and $x136 $x138))) (let (($x134 (forall ((?v0 Int) )(! (let ((?x46 (v_b_array$ ?v0))) (let (($x132 (<= ?x46 v_b_max_G_3$))) (let (($x43 (<= 0 ?v0))) (let (($x131 (and $x43 (< ?v0 v_b_p_G_1$)))) (=> $x131 $x132))))) :qid k!17)) )) (let (($x140 (=> $x134 $x139))) (let (($x141 (and $x134 $x140))) (let (($x119 (and (= v_b_p_G_1$ (+ v_b_p_G_0$ 1)) (and (and (<= 0 v_b_k_G_1$) (<= 2 v_b_p_G_1$)) true)))) (let (($x54 (<= 1 v_b_p_G_0$))) (let (($x110 (<= 0 v_b_k_G_1$))) (let (($x111 (and $x110 $x54))) (let (($x121 (and true (and $x111 $x119)))) (let (($x148 (and true (and $x144 (and $x145 $x121))))) (let (($x55 (and (<= 0 v_b_k_G_0$) $x54))) (let (($x143 (<= ?x101 v_b_max_G_1$))) (let (($x152 (and true (and $x55 (and $x143 (and $x55 $x148)))))) (let (($x153 (=> $x152 $x141))) (let (($x126 (and $x104 (and (and $x54 $x54) (and true (and $x107 (and $x109 $x121))))))) (let (($x102 (< v_b_max_G_1$ ?x101))) (let (($x129 (and true (and $x55 (and $x102 $x126))))) (let (($x142 (=> $x129 $x141))) (let (($x155 (=> (and true (and $x55 (and (< v_b_p_G_0$ v_b_length$) $x55))) (and $x142 $x153)))) (let (($x91 (forall ((?v0 Int) )(! (let ((?x46 (v_b_array$ ?v0))) (let (($x89 (<= ?x46 v_b_max_G_4$))) (let (($x43 (<= 0 ?v0))) (let (($x85 (and $x43 (< ?v0 v_b_length$)))) (=> $x85 $x89))))) :qid k!17)) )) (let (($x92 (=> $x91 true))) (let (($x93 (and $x91 $x92))) (let (($x88 (exists ((?v0 Int) )(! (let ((?x46 (v_b_array$ ?v0))) (let (($x86 (= ?x46 v_b_max_G_4$))) (let (($x43 (<= 0 ?v0))) (let (($x85 (and $x43 (< ?v0 v_b_length$)))) (=> $x85 $x86))))) :qid k!17)) )) (let (($x94 (=> $x88 $x93))) (let (($x69 (<= v_b_length$ v_b_p_G_0$))) (let (($x81 (and $x69 (and $x55 (and true (and $x71 (and $x73 (and $x75 true)))))))) (let (($x83 (and true (and $x55 $x81)))) (let (($x96 (=> $x83 (and $x88 $x94)))) (let (($x64 (and $x63 $x55))) (let (($x61 (forall ((?v0 Int) )(! (let ((?x46 (v_b_array$ ?v0))) (let (($x59 (<= ?x46 v_b_max_G_1$))) (let (($x43 (<= 0 ?v0))) (let (($x57 (and $x43 (< ?v0 v_b_p_G_0$)))) (=> $x57 $x59))))) :qid k!17)) )) (let (($x67 (and true (and $x55 (and $x61 $x64))))) (let (($x157 (=> (and $x50 $x67) (and $x96 $x155)))) (let (($x49 (forall ((?v0 Int) )(! (let ((?x46 (v_b_array$ ?v0))) (let (($x47 (<= ?x46 v_b_max_G_0$))) (let (($x43 (<= 0 ?v0))) (let (($x45 (and $x43 (< ?v0 1)))) (=> $x45 $x47))))) :qid k!17)) )) (let (($x159 (=> $x49 (and $x50 $x157)))) (let (($x32 (<= 0 0))) (let (($x38 (and $x31 (and $x32 (and $x32 (and (<= 1 1) (<= 1 1))))))) (let (($x39 (and true $x38))) (let (($x28 (< 0 v_b_length$))) (let (($x41 (and true (and $x28 $x39)))) (let (($x161 (=> $x41 (and $x49 $x159)))) (let (($x162 (not $x161))) (let (($x362 (forall ((?v0 Int) )(! (let ((?x46 (v_b_array$ ?v0))) (let (($x132 (<= ?x46 v_b_max_G_3$))) (or (not (and (<= 0 ?v0) (< ?v0 v_b_p_G_1$))) $x132))) :qid k!17)) )) (let (($x385 (or (not $x362) $x136))) (let (($x390 (and $x362 $x385))) (let (($x117 (and $x110 (<= 2 v_b_p_G_1$)))) (let (($x308 (= v_b_p_G_1$ (+ 1 v_b_p_G_0$)))) (let (($x313 (and $x308 $x117))) (let (($x316 (and $x111 $x313))) (let (($x402 (and $x145 $x316))) (let (($x405 (and $x144 $x402))) (let (($x415 (and $x55 $x405))) (let (($x418 (and $x143 $x415))) (let (($x421 (and $x55 $x418))) (let (($x435 (or (not $x421) $x390))) (let (($x326 (and $x109 $x316))) (let (($x329 (and $x107 $x326))) (let (($x339 (and $x54 $x329))) (let (($x342 (and $x104 $x339))) (let (($x345 (and $x102 $x342))) (let (($x348 (and $x55 $x345))) (let (($x397 (or (not $x348) $x390))) (let (($x440 (and $x397 $x435))) (let (($x447 (or (not (and $x55 (and (< v_b_p_G_0$ v_b_length$) $x55))) $x440))) (let (($x263 (forall ((?v0 Int) )(! (let ((?x46 (v_b_array$ ?v0))) (let (($x89 (<= ?x46 v_b_max_G_4$))) (let (($x43 (<= 0 ?v0))) (let (($x85 (and $x43 (< ?v0 v_b_length$)))) (let (($x253 (not $x85))) (or $x253 $x89)))))) :qid k!17)) )) (let (($x257 (exists ((?v0 Int) )(! (let ((?x46 (v_b_array$ ?v0))) (let (($x86 (= ?x46 v_b_max_G_4$))) (let (($x43 (<= 0 ?v0))) (let (($x85 (and $x43 (< ?v0 v_b_length$)))) (let (($x253 (not $x85))) (or $x253 $x86)))))) :qid k!17)) )) (let (($x284 (or (not $x257) $x263))) (let (($x289 (and $x257 $x284))) (let (($x296 (or (not (and $x55 (and $x69 (and $x55 (and $x71 (and $x73 $x75)))))) $x289))) (let (($x452 (and $x296 $x447))) (let (($x203 (forall ((?v0 Int) )(! (let ((?x46 (v_b_array$ ?v0))) (let (($x59 (<= ?x46 v_b_max_G_1$))) (or (not (and (<= 0 ?v0) (< ?v0 v_b_p_G_0$))) $x59))) :qid k!17)) )) (let (($x206 (and $x203 $x64))) (let (($x209 (and $x55 $x206))) (let (($x219 (and $x50 $x209))) (let (($x459 (or (not $x219) $x452))) (let (($x464 (and $x50 $x459))) (let (($x196 (forall ((?v0 Int) )(! (let ((?x46 (v_b_array$ ?v0))) (let (($x47 (<= ?x46 v_b_max_G_0$))) (or (not (and (<= 0 ?v0) (< ?v0 1))) $x47))) :qid k!17)) )) (let (($x471 (or (not $x196) $x464))) (let (($x476 (and $x196 $x471))) (let (($x483 (or (not (and $x28 (and $x31 (and $x32 (and $x32 (<= 1 1)))))) $x476))) (let (($x746 (<= (+ (v_b_array$ ?0) ?x744) 0))) (let (($x521 (>= ?0 0))) (let (($x738 (and $x521 (not (>= (+ ?0 ?x685) 0))))) (let (($x741 (not $x738))) (let (($x749 (or $x741 $x746))) (let ((?x46 (v_b_array$ ?0))) (let (($x132 (<= ?x46 v_b_max_G_3$))) (let (($x359 (or (not (and (<= 0 ?0) (< ?0 v_b_p_G_1$))) $x132))) (let ((@x520 (rewrite (= (<= 0 ?0) $x521)))) (let ((@x740 (monotonicity @x520 (rewrite (= (< ?0 v_b_p_G_1$) (not (>= (+ ?0 ?x685) 0)))) (= (and (<= 0 ?0) (< ?0 v_b_p_G_1$)) $x738)))) (let ((@x743 (monotonicity @x740 (= (not (and (<= 0 ?0) (< ?0 v_b_p_G_1$))) $x741)))) (let ((@x754 (quant-intro (monotonicity @x743 (rewrite (= $x132 $x746)) (= $x359 $x749)) (= $x362 $x752)))) (let ((@x760 (monotonicity (monotonicity @x754 (= (not $x362) $x755)) (= $x385 $x758)))) (let (($x772 (and $x144 (and $x145 (and (and $x679 $x573) (and $x684 (and $x679 $x682))))))) (let (($x576 (and $x571 $x573))) (let (($x770 (= $x402 (and $x145 (and (and $x679 $x573) (and $x684 (and $x679 $x682))))))) (let ((@x697 (monotonicity (rewrite (= $x110 $x679)) (rewrite (= (<= 2 v_b_p_G_1$) $x682)) (= $x117 (and $x679 $x682))))) (let ((@x700 (monotonicity (rewrite (= $x308 $x684)) @x697 (= $x313 (and $x684 (and $x679 $x682)))))) (let ((@x575 (rewrite (= $x54 $x573)))) (let ((@x703 (monotonicity (rewrite (= $x110 $x679)) @x575 (= $x111 (and $x679 $x573))))) (let ((@x706 (monotonicity @x703 @x700 (= $x316 (and (and $x679 $x573) (and $x684 (and $x679 $x682))))))) (let ((@x578 (monotonicity (rewrite (= (<= 0 v_b_k_G_0$) $x571)) @x575 (= $x55 $x576)))) (let ((@x777 (monotonicity @x578 (monotonicity (monotonicity @x706 $x770) (= $x405 $x772)) (= $x415 (and $x576 $x772))))) (let ((@x780 (monotonicity (rewrite (= $x143 $x689)) @x777 (= $x418 (and $x689 (and $x576 $x772)))))) (let ((@x783 (monotonicity @x578 @x780 (= $x421 (and $x576 (and $x689 (and $x576 $x772))))))) (let ((@x788 (trans @x783 (rewrite (= (and $x576 (and $x689 (and $x576 $x772))) $x784)) (= $x421 $x784)))) (let ((@x794 (monotonicity (monotonicity @x788 (= (not $x421) $x789)) (monotonicity @x754 @x760 (= $x390 $x761)) (= $x435 $x792)))) (let (($x710 (and $x107 (and $x109 (and (and $x679 $x573) (and $x684 (and $x679 $x682))))))) (let ((@x727 (rewrite (= (and $x576 (and $x692 (and $x104 (and $x573 $x710)))) $x725)))) (let (($x708 (= $x326 (and $x109 (and (and $x679 $x573) (and $x684 (and $x679 $x682))))))) (let ((@x715 (monotonicity @x575 (monotonicity (monotonicity @x706 $x708) (= $x329 $x710)) (= $x339 (and $x573 $x710))))) (let ((@x721 (monotonicity (rewrite (= $x102 $x692)) (monotonicity @x715 (= $x342 (and $x104 (and $x573 $x710)))) (= $x345 (and $x692 (and $x104 (and $x573 $x710))))))) (let ((@x724 (monotonicity @x578 @x721 (= $x348 (and $x576 (and $x692 (and $x104 (and $x573 $x710)))))))) (let ((@x732 (monotonicity (trans @x724 @x727 (= $x348 $x725)) (= (not $x348) $x730)))) (let ((@x766 (monotonicity @x732 (monotonicity @x754 @x760 (= $x390 $x761)) (= $x397 $x764)))) (let (($x99 (and $x55 (and (< v_b_p_G_0$ v_b_length$) $x55)))) (let ((@x666 (monotonicity (rewrite (= (< v_b_p_G_0$ v_b_length$) $x661)) @x578 (= (and (< v_b_p_G_0$ v_b_length$) $x55) (and $x661 $x576))))) (let ((@x674 (trans (monotonicity @x578 @x666 (= $x99 (and $x576 (and $x661 $x576)))) (rewrite (= (and $x576 (and $x661 $x576)) $x670)) (= $x99 $x670)))) (let ((@x800 (monotonicity (monotonicity @x674 (= (not $x99) $x675)) (monotonicity @x766 @x794 (= $x440 $x795)) (= $x447 $x798)))) (let (($x626 (and $x521 (not (<= (+ v_b_length$ (* (- 1) ?0)) 0))))) (let (($x629 (not $x626))) (let (($x89 (<= ?x46 v_b_max_G_4$))) (let (($x43 (<= 0 ?0))) (let (($x85 (and $x43 (< ?0 v_b_length$)))) (let (($x253 (not $x85))) (let (($x260 (or $x253 $x89))) (let (($x624 (= (< ?0 v_b_length$) (not (<= (+ v_b_length$ (* (- 1) ?0)) 0))))) (let ((@x631 (monotonicity (monotonicity @x520 (rewrite $x624) (= $x85 $x626)) (= $x253 $x629)))) (let ((@x648 (monotonicity @x631 (rewrite (= $x89 (<= (+ ?x46 (* (- 1) v_b_max_G_4$)) 0))) (= $x260 (or $x629 (<= (+ ?x46 (* (- 1) v_b_max_G_4$)) 0)))))) (let (($x86 (= ?x46 v_b_max_G_4$))) (let (($x632 (or $x629 $x86))) (let (($x254 (or $x253 $x86))) (let ((@x640 (monotonicity (quant-intro (monotonicity @x631 (= $x254 $x632)) (= $x257 $x635)) (= (not $x257) $x638)))) (let ((@x657 (monotonicity (quant-intro (monotonicity @x631 (= $x254 $x632)) (= $x257 $x635)) (monotonicity @x640 (quant-intro @x648 (= $x263 $x649)) (= $x284 $x652)) (= $x289 $x655)))) (let (($x618 (= (not (and $x55 (and $x69 (and $x55 (and $x71 (and $x73 $x75)))))) $x617))) (let (($x227 (and $x71 (and $x73 $x75)))) (let (($x237 (and $x55 $x227))) (let (($x240 (and $x69 $x237))) (let (($x243 (and $x55 $x240))) (let ((@x608 (monotonicity (rewrite (= $x69 $x600)) (monotonicity @x578 (= $x237 (and $x576 $x227))) (= $x240 (and $x600 (and $x576 $x227)))))) (let ((@x611 (monotonicity @x578 @x608 (= $x243 (and $x576 (and $x600 (and $x576 $x227))))))) (let ((@x616 (trans @x611 (rewrite (= (and $x576 (and $x600 (and $x576 $x227))) $x612)) (= $x243 $x612)))) (let ((@x803 (monotonicity (monotonicity (monotonicity @x616 $x618) @x657 (= $x296 $x658)) @x800 (= $x452 $x801)))) (let ((@x593 (rewrite (= (and $x50 (and $x576 (and $x567 (and $x63 $x576)))) $x591)))) (let (($x561 (<= (+ ?x46 (* (- 1) v_b_max_G_1$)) 0))) (let (($x553 (and $x521 (not (>= (+ ?0 ?x549) 0))))) (let (($x556 (not $x553))) (let (($x564 (or $x556 $x561))) (let (($x59 (<= ?x46 v_b_max_G_1$))) (let (($x200 (or (not (and $x43 (< ?0 v_b_p_G_0$))) $x59))) (let ((@x555 (monotonicity @x520 (rewrite (= (< ?0 v_b_p_G_0$) (not (>= (+ ?0 ?x549) 0)))) (= (and $x43 (< ?0 v_b_p_G_0$)) $x553)))) (let ((@x566 (monotonicity (monotonicity @x555 (= (not (and $x43 (< ?0 v_b_p_G_0$))) $x556)) (rewrite (= $x59 $x561)) (= $x200 $x564)))) (let ((@x584 (monotonicity (quant-intro @x566 (= $x203 $x567)) (monotonicity @x578 (= $x64 (and $x63 $x576))) (= $x206 (and $x567 (and $x63 $x576)))))) (let ((@x587 (monotonicity @x578 @x584 (= $x209 (and $x576 (and $x567 (and $x63 $x576))))))) (let ((@x590 (monotonicity @x587 (= $x219 (and $x50 (and $x576 (and $x567 (and $x63 $x576)))))))) (let ((@x598 (monotonicity (trans @x590 @x593 (= $x219 $x591)) (= (not $x219) $x596)))) (let ((@x809 (monotonicity (monotonicity @x598 @x803 (= $x459 $x804)) (= $x464 $x807)))) (let (($x534 (>= (+ v_b_max_G_0$ (* (- 1) ?x46)) 0))) (let (($x526 (and $x521 (not (>= ?0 1))))) (let (($x529 (not $x526))) (let (($x538 (or $x529 $x534))) (let (($x47 (<= ?x46 v_b_max_G_0$))) (let (($x193 (or (not (and $x43 (< ?0 1))) $x47))) (let ((@x528 (monotonicity @x520 (rewrite (= (< ?0 1) (not (>= ?0 1)))) (= (and $x43 (< ?0 1)) $x526)))) (let ((@x540 (monotonicity (monotonicity @x528 (= (not (and $x43 (< ?0 1))) $x529)) (rewrite (= $x47 $x534)) (= $x193 $x538)))) (let ((@x546 (monotonicity (quant-intro @x540 (= $x196 $x541)) (= (not $x196) $x544)))) (let ((@x815 (monotonicity (quant-intro @x540 (= $x196 $x541)) (monotonicity @x546 @x809 (= $x471 $x810)) (= $x476 $x813)))) (let (($x517 (= (not (and $x28 (and $x31 (and $x32 (and $x32 (<= 1 1)))))) (not $x511)))) (let (($x34 (<= 1 1))) (let (($x166 (and $x32 $x34))) (let (($x169 (and $x32 $x166))) (let (($x172 (and $x31 $x169))) (let (($x182 (and $x28 $x172))) (let ((@x513 (rewrite (= (and $x496 (and $x31 (and true (and true true)))) $x511)))) (let ((@x501 (monotonicity (rewrite (= $x32 true)) (rewrite (= $x34 true)) (= $x166 (and true true))))) (let ((@x504 (monotonicity (rewrite (= $x32 true)) @x501 (= $x169 (and true (and true true)))))) (let ((@x507 (monotonicity @x504 (= $x172 (and $x31 (and true (and true true))))))) (let ((@x510 (monotonicity (rewrite (= $x28 $x496)) @x507 (= $x182 (and $x496 (and $x31 (and true (and true true)))))))) (let ((@x818 (monotonicity (monotonicity (trans @x510 @x513 (= $x182 $x511)) $x517) @x815 (= $x483 (or (not $x511) $x813))))) (let ((@x369 (monotonicity (rewrite (= (and $x136 false) false)) (= $x138 (=> false true))))) (let ((@x373 (trans @x369 (rewrite (= (=> false true) true)) (= $x138 true)))) (let ((@x380 (trans (monotonicity @x373 (= $x139 (and $x136 true))) (rewrite (= (and $x136 true) $x136)) (= $x139 $x136)))) (let ((@x364 (quant-intro (rewrite (= (=> (and $x43 (< ?0 v_b_p_G_1$)) $x132) $x359)) (= $x134 $x362)))) (let ((@x389 (trans (monotonicity @x364 @x380 (= $x140 (=> $x362 $x136))) (rewrite (= (=> $x362 $x136) $x385)) (= $x140 $x385)))) (let ((@x310 (monotonicity (rewrite (= (+ v_b_p_G_0$ 1) (+ 1 v_b_p_G_0$))) (= (= v_b_p_G_1$ (+ v_b_p_G_0$ 1)) $x308)))) (let ((@x315 (monotonicity @x310 (rewrite (= (and $x117 true) $x117)) (= $x119 $x313)))) (let ((@x321 (monotonicity (monotonicity @x315 (= (and $x111 $x119) $x316)) (= $x121 (and true $x316))))) (let ((@x404 (monotonicity (trans @x321 (rewrite (= (and true $x316) $x316)) (= $x121 $x316)) (= (and $x145 $x121) $x402)))) (let ((@x410 (monotonicity (monotonicity @x404 (= (and $x144 (and $x145 $x121)) $x405)) (= $x148 (and true $x405))))) (let ((@x417 (monotonicity (trans @x410 (rewrite (= (and true $x405) $x405)) (= $x148 $x405)) (= (and $x55 $x148) $x415)))) (let ((@x423 (monotonicity (monotonicity @x417 (= (and $x143 (and $x55 $x148)) $x418)) (= (and $x55 (and $x143 (and $x55 $x148))) $x421)))) (let ((@x430 (trans (monotonicity @x423 (= $x152 (and true $x421))) (rewrite (= (and true $x421) $x421)) (= $x152 $x421)))) (let ((@x433 (monotonicity @x430 (monotonicity @x364 @x389 (= $x141 $x390)) (= $x153 (=> $x421 $x390))))) (let (($x340 (= (and (and $x54 $x54) (and true (and $x107 (and $x109 $x121)))) $x339))) (let ((@x328 (monotonicity (trans @x321 (rewrite (= (and true $x316) $x316)) (= $x121 $x316)) (= (and $x109 $x121) $x326)))) (let ((@x334 (monotonicity (monotonicity @x328 (= (and $x107 (and $x109 $x121)) $x329)) (= (and true (and $x107 (and $x109 $x121))) (and true $x329))))) (let ((@x338 (trans @x334 (rewrite (= (and true $x329) $x329)) (= (and true (and $x107 (and $x109 $x121))) $x329)))) (let ((@x344 (monotonicity (monotonicity (rewrite (= (and $x54 $x54) $x54)) @x338 $x340) (= $x126 $x342)))) (let ((@x350 (monotonicity (monotonicity @x344 (= (and $x102 $x126) $x345)) (= (and $x55 (and $x102 $x126)) $x348)))) (let ((@x357 (trans (monotonicity @x350 (= $x129 (and true $x348))) (rewrite (= (and true $x348) $x348)) (= $x129 $x348)))) (let ((@x395 (monotonicity @x357 (monotonicity @x364 @x389 (= $x141 $x390)) (= $x142 (=> $x348 $x390))))) (let ((@x442 (monotonicity (trans @x395 (rewrite (= (=> $x348 $x390) $x397)) (= $x142 $x397)) (trans @x433 (rewrite (= (=> $x421 $x390) $x435)) (= $x153 $x435)) (= (and $x142 $x153) $x440)))) (let ((@x445 (monotonicity (rewrite (= (and true $x99) $x99)) @x442 (= $x155 (=> $x99 $x440))))) (let ((@x268 (monotonicity (quant-intro (rewrite (= (=> $x85 $x89) $x260)) (= $x91 $x263)) (= $x92 (=> $x263 true))))) (let ((@x272 (trans @x268 (rewrite (= (=> $x263 true) true)) (= $x92 true)))) (let ((@x275 (monotonicity (quant-intro (rewrite (= (=> $x85 $x89) $x260)) (= $x91 $x263)) @x272 (= $x93 (and $x263 true))))) (let ((@x282 (monotonicity (quant-intro (rewrite (= (=> $x85 $x86) $x254)) (= $x88 $x257)) (trans @x275 (rewrite (= (and $x263 true) $x263)) (= $x93 $x263)) (= $x94 (=> $x257 $x263))))) (let ((@x291 (monotonicity (quant-intro (rewrite (= (=> $x85 $x86) $x254)) (= $x88 $x257)) (trans @x282 (rewrite (= (=> $x257 $x263) $x284)) (= $x94 $x284)) (= (and $x88 $x94) $x289)))) (let (($x238 (= (and $x55 (and true (and $x71 (and $x73 (and $x75 true))))) $x237))) (let (($x79 (and true (and $x71 (and $x73 (and $x75 true)))))) (let ((@x226 (monotonicity (rewrite (= (and $x75 true) $x75)) (= (and $x73 (and $x75 true)) (and $x73 $x75))))) (let ((@x229 (monotonicity @x226 (= (and $x71 (and $x73 (and $x75 true))) $x227)))) (let ((@x236 (trans (monotonicity @x229 (= $x79 (and true $x227))) (rewrite (= (and true $x227) $x227)) (= $x79 $x227)))) (let ((@x245 (monotonicity (monotonicity (monotonicity @x236 $x238) (= $x81 $x240)) (= (and $x55 $x81) $x243)))) (let ((@x252 (trans (monotonicity @x245 (= $x83 (and true $x243))) (rewrite (= (and true $x243) $x243)) (= $x83 $x243)))) (let ((@x300 (trans (monotonicity @x252 @x291 (= $x96 (=> $x243 $x289))) (rewrite (= (=> $x243 $x289) $x296)) (= $x96 $x296)))) (let ((@x454 (monotonicity @x300 (trans @x445 (rewrite (= (=> $x99 $x440) $x447)) (= $x155 $x447)) (= (and $x96 $x155) $x452)))) (let ((@x205 (quant-intro (rewrite (= (=> (and $x43 (< ?0 v_b_p_G_0$)) $x59) $x200)) (= $x61 $x203)))) (let ((@x211 (monotonicity (monotonicity @x205 (= (and $x61 $x64) $x206)) (= (and $x55 (and $x61 $x64)) $x209)))) (let ((@x218 (trans (monotonicity @x211 (= $x67 (and true $x209))) (rewrite (= (and true $x209) $x209)) (= $x67 $x209)))) (let ((@x457 (monotonicity (monotonicity @x218 (= (and $x50 $x67) $x219)) @x454 (= $x157 (=> $x219 $x452))))) (let ((@x466 (monotonicity (trans @x457 (rewrite (= (=> $x219 $x452) $x459)) (= $x157 $x459)) (= (and $x50 $x157) $x464)))) (let ((@x198 (quant-intro (rewrite (= (=> (and $x43 (< ?0 1)) $x47) $x193)) (= $x49 $x196)))) (let ((@x475 (trans (monotonicity @x198 @x466 (= $x159 (=> $x196 $x464))) (rewrite (= (=> $x196 $x464) $x471)) (= $x159 $x471)))) (let ((@x168 (monotonicity (rewrite (= (and $x34 $x34) $x34)) (= (and $x32 (and $x34 $x34)) $x166)))) (let ((@x174 (monotonicity (monotonicity @x168 (= (and $x32 (and $x32 (and $x34 $x34))) $x169)) (= $x38 $x172)))) (let ((@x181 (trans (monotonicity @x174 (= $x39 (and true $x172))) (rewrite (= (and true $x172) $x172)) (= $x39 $x172)))) (let ((@x187 (monotonicity (monotonicity @x181 (= (and $x28 $x39) $x182)) (= $x41 (and true $x182))))) (let ((@x481 (monotonicity (trans @x187 (rewrite (= (and true $x182) $x182)) (= $x41 $x182)) (monotonicity @x198 @x475 (= (and $x49 $x159) $x476)) (= $x161 (=> $x182 $x476))))) (let ((@x490 (monotonicity (trans @x481 (rewrite (= (=> $x182 $x476) $x483)) (= $x161 $x483)) (= $x162 (not $x483))))) (let ((@x823 (trans @x490 (monotonicity @x818 (= (not $x483) $x819)) (= $x162 $x819)))) (let ((@x827 (and-elim (not-or-elim (mp (asserted $x162) @x823 $x819) $x511) $x31))) (let ((@x1690 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not (= v_b_max_G_0$ (v_b_array$ ?v0!0))) $x839)) (unit-resolution (def-axiom (or $x1149 (not $x839))) @x1726 (not $x839)) (trans @x827 @x1715 (= v_b_max_G_0$ (v_b_array$ ?v0!0))) false))) (let (($x1946 (or $x1154 $x1943))) (let (($x1340 (forall ((?v0 Int) )(! (let (($x746 (<= (+ (v_b_array$ ?v0) (* (- 1) v_b_max_G_3$)) 0))) (let (($x733 (>= (+ ?v0 (* (- 1) v_b_p_G_1$)) 0))) (let (($x521 (>= ?v0 0))) (let (($x1157 (not $x521))) (or $x1157 $x733 $x746))))) :qid k!17)) )) (let (($x1348 (not (or (not $x1340) $x136)))) (let (($x1353 (or $x1318 $x1348))) (let (($x1365 (not $x1353))) (let (($x1378 (not (or $x692 $x1286 $x1375 $x1376 $x1287 $x1362 $x1363 $x1364 $x1365)))) (let (($x1367 (not (or $x1286 $x689 $x1359 $x1360 $x1361 $x1287 $x1362 $x1363 $x1364 $x1365)))) (let (($x1383 (or $x1367 $x1378))) (let (($x1391 (not (or $x600 $x1286 $x1287 (not $x1383))))) (let (($x1224 (forall ((?v0 Int) )(! (let ((?x46 (v_b_array$ ?v0))) (let (($x86 (= ?x46 v_b_max_G_4$))) (let (($x622 (<= (+ v_b_length$ (* (- 1) ?v0)) 0))) (let (($x521 (>= ?v0 0))) (let (($x1157 (not $x521))) (let (($x1216 (or $x1157 $x622 $x86))) (not $x1216))))))) :qid k!17)) )) (let (($x1280 (or $x1224 $x1275))) (let (($x1293 (not (or $x661 $x1286 $x1287 $x1288 $x1289 $x1290 (not $x1280))))) (let (($x1396 (or $x1293 $x1391))) (let (($x1199 (forall ((?v0 Int) )(! (let (($x561 (<= (+ (v_b_array$ ?v0) (* (- 1) v_b_max_G_1$)) 0))) (let (($x548 (>= (+ ?v0 (* (- 1) v_b_p_G_0$)) 0))) (let (($x521 (>= ?v0 0))) (let (($x1157 (not $x521))) (or $x1157 $x548 $x561))))) :qid k!17)) )) (let (($x1406 (not (or $x851 (not $x1199) $x1403 $x1286 $x1287 (not $x1396))))) (let (($x1411 (or $x851 $x1406))) (let (($x1177 (forall ((?v0 Int) )(! (let (($x534 (>= (+ v_b_max_G_0$ (* (- 1) (v_b_array$ ?v0))) 0))) (let (($x524 (>= ?v0 1))) (let (($x521 (>= ?v0 0))) (let (($x1157 (not $x521))) (or $x1157 $x524 $x534))))) :qid k!17)) )) (let (($x1420 (not (or (not $x1177) (not $x1411))))) (let (($x1425 (or $x1154 $x1420))) (let (($x733 (>= (+ ?0 ?x685) 0))) (let (($x1157 (not $x521))) (let (($x1335 (or $x1157 $x733 $x746))) (let ((@x1885 (monotonicity (quant-intro (refl (= $x1335 $x1335)) (= $x1340 $x1878)) (= (not $x1340) $x1883)))) (let ((@x1891 (monotonicity (monotonicity @x1885 (= (or (not $x1340) $x136) $x1886)) (= $x1348 $x1889)))) (let ((@x1906 (monotonicity (monotonicity (monotonicity @x1891 (= $x1353 $x1892)) (= $x1365 $x1895)) (= (or $x692 $x1286 $x1375 $x1376 $x1287 $x1362 $x1363 $x1364 $x1365) $x1904)))) (let ((@x1900 (monotonicity (monotonicity (monotonicity @x1891 (= $x1353 $x1892)) (= $x1365 $x1895)) (= (or $x1286 $x689 $x1359 $x1360 $x1361 $x1287 $x1362 $x1363 $x1364 $x1365) $x1898)))) (let ((@x1912 (monotonicity (monotonicity @x1900 (= $x1367 $x1901)) (monotonicity @x1906 (= $x1378 $x1907)) (= $x1383 $x1910)))) (let ((@x1918 (monotonicity (monotonicity @x1912 (= (not $x1383) $x1913)) (= (or $x600 $x1286 $x1287 (not $x1383)) $x1916)))) (let (($x622 (<= (+ v_b_length$ (* (- 1) ?0)) 0))) (let (($x1216 (or $x1157 $x622 $x86))) (let (($x1221 (not $x1216))) (let ((@x1868 (monotonicity (quant-intro (refl (= $x1221 $x1221)) (= $x1224 $x1861)) (= $x1280 $x1866)))) (let ((@x1874 (monotonicity (monotonicity @x1868 (= (not $x1280) $x1869)) (= (or $x661 $x1286 $x1287 $x1288 $x1289 $x1290 (not $x1280)) $x1872)))) (let ((@x1924 (monotonicity (monotonicity @x1874 (= $x1293 $x1875)) (monotonicity @x1918 (= $x1391 $x1919)) (= $x1396 $x1922)))) (let (($x548 (>= (+ ?0 ?x549) 0))) (let (($x1194 (or $x1157 $x548 $x561))) (let ((@x1860 (monotonicity (quant-intro (refl (= $x1194 $x1194)) (= $x1199 $x1853)) (= (not $x1199) $x1858)))) (let ((@x1930 (monotonicity @x1860 (monotonicity @x1924 (= (not $x1396) $x1925)) (= (or $x851 (not $x1199) $x1403 $x1286 $x1287 (not $x1396)) $x1928)))) (let ((@x1939 (monotonicity (monotonicity (monotonicity @x1930 (= $x1406 $x1931)) (= $x1411 $x1934)) (= (not $x1411) $x1937)))) (let ((@x1847 (refl (= (or $x1157 (>= ?0 1) $x534) (or $x1157 (>= ?0 1) $x534))))) (let ((@x1852 (monotonicity (quant-intro @x1847 (= $x1177 $x1845)) (= (not $x1177) $x1850)))) (let ((@x1945 (monotonicity (monotonicity @x1852 @x1939 (= (or (not $x1177) (not $x1411)) $x1940)) (= $x1420 $x1943)))) (let (($x951 (not $x136))) (let (($x954 (and $x752 $x951))) (let (($x1053 (not $x1048))) (let (($x1056 (and $x931 $x1053))) (let (($x1059 (not $x1056))) (let (($x1075 (or $x1059 $x1070))) (let (($x1078 (not $x1075))) (let (($x1081 (or $x1078 $x954))) (let (($x1097 (and $x689 $x571 $x144 $x145 $x573 $x684 $x679 $x682 $x1081))) (let (($x1087 (and $x571 $x692 $x104 $x107 $x109 $x573 $x684 $x679 $x682 $x1081))) (let (($x1102 (or $x1087 $x1097))) (let (($x1108 (and $x661 $x571 $x573 $x1102))) (let (($x903 (not (and $x897 (not $x900))))) (let (($x1016 (or $x903 $x1011))) (let (($x1019 (not $x1016))) (let (($x887 (not (and $x881 (not $x884))))) (let (($x890 (or $x887 $x889))) (let (($x1022 (and $x890 $x1019))) (let (($x877 (forall ((?v0 Int) )(! (let ((?x46 (v_b_array$ ?v0))) (let (($x86 (= ?x46 v_b_max_G_4$))) (let (($x521 (>= ?v0 0))) (let (($x626 (and $x521 (not (<= (+ v_b_length$ (* (- 1) ?v0)) 0))))) (let (($x629 (not $x626))) (let (($x632 (or $x629 $x86))) (not $x632))))))) :qid k!17)) )) (let (($x1025 (or $x877 $x1022))) (let (($x1031 (and $x600 $x571 $x573 $x71 $x73 $x75 $x1025))) (let (($x1113 (or $x1031 $x1108))) (let (($x1119 (and $x50 $x567 $x63 $x571 $x573 $x1113))) (let (($x1124 (or $x851 $x1119))) (let (($x1127 (and $x541 $x1124))) (let (($x831 (not (and $x835 $x833)))) (let (($x840 (or $x831 $x839))) (let (($x841 (not $x840))) (let (($x1130 (or $x841 $x1127))) (let ((@x1380 (rewrite (= (and $x689 $x571 $x144 $x145 $x573 $x684 $x679 $x682 $x1353) $x1378)))) (let ((@x1327 (monotonicity (rewrite (= $x738 (not (or $x1157 $x733)))) (= $x741 (not (not (or $x1157 $x733))))))) (let ((@x1331 (trans @x1327 (rewrite (= (not (not (or $x1157 $x733))) (or $x1157 $x733))) (= $x741 (or $x1157 $x733))))) (let ((@x1339 (trans (monotonicity @x1331 (= $x749 (or (or $x1157 $x733) $x746))) (rewrite (= (or (or $x1157 $x733) $x746) $x1335)) (= $x749 $x1335)))) (let ((@x1345 (monotonicity (quant-intro @x1339 (= $x752 $x1340)) (= $x954 (and $x1340 $x951))))) (let ((@x1305 (monotonicity (rewrite (= $x1056 (not (or $x1298 $x1048)))) (= $x1059 (not (not (or $x1298 $x1048))))))) (let ((@x1309 (trans @x1305 (rewrite (= (not (not (or $x1298 $x1048))) (or $x1298 $x1048))) (= $x1059 (or $x1298 $x1048))))) (let ((@x1317 (trans (monotonicity @x1309 (= $x1075 (or (or $x1298 $x1048) $x1070))) (rewrite (= (or (or $x1298 $x1048) $x1070) $x1313)) (= $x1075 $x1313)))) (let ((@x1355 (monotonicity (monotonicity @x1317 (= $x1078 $x1318)) (trans @x1345 (rewrite (= (and $x1340 $x951) $x1348)) (= $x954 $x1348)) (= $x1081 $x1353)))) (let ((@x1374 (monotonicity @x1355 (= $x1097 (and $x689 $x571 $x144 $x145 $x573 $x684 $x679 $x682 $x1353))))) (let ((@x1369 (rewrite (= (and $x571 $x692 $x104 $x107 $x109 $x573 $x684 $x679 $x682 $x1353) $x1367)))) (let ((@x1358 (monotonicity @x1355 (= $x1087 (and $x571 $x692 $x104 $x107 $x109 $x573 $x684 $x679 $x682 $x1353))))) (let ((@x1385 (monotonicity (trans @x1358 @x1369 (= $x1087 $x1367)) (trans @x1374 @x1380 (= $x1097 $x1378)) (= $x1102 $x1383)))) (let ((@x1395 (trans (monotonicity @x1385 (= $x1108 (and $x661 $x571 $x573 $x1383))) (rewrite (= (and $x661 $x571 $x573 $x1383) $x1391)) (= $x1108 $x1391)))) (let ((@x1254 (monotonicity (rewrite (= (and $x897 (not $x900)) (not (or $x1247 $x900)))) (= $x903 (not (not (or $x1247 $x900))))))) (let ((@x1258 (trans @x1254 (rewrite (= (not (not (or $x1247 $x900))) (or $x1247 $x900))) (= $x903 (or $x1247 $x900))))) (let ((@x1266 (trans (monotonicity @x1258 (= $x1016 (or (or $x1247 $x900) $x1011))) (rewrite (= (or (or $x1247 $x900) $x1011) (or $x1247 $x900 $x1011))) (= $x1016 (or $x1247 $x900 $x1011))))) (let ((@x1234 (monotonicity (rewrite (= (and $x881 (not $x884)) (not (or $x1227 $x884)))) (= $x887 (not (not (or $x1227 $x884))))))) (let ((@x1238 (trans @x1234 (rewrite (= (not (not (or $x1227 $x884))) (or $x1227 $x884))) (= $x887 (or $x1227 $x884))))) (let ((@x1246 (trans (monotonicity @x1238 (= $x890 (or (or $x1227 $x884) $x889))) (rewrite (= (or (or $x1227 $x884) $x889) $x1242)) (= $x890 $x1242)))) (let ((@x1272 (monotonicity @x1246 (monotonicity @x1266 (= $x1019 (not (or $x1247 $x900 $x1011)))) (= $x1022 (and $x1242 (not (or $x1247 $x900 $x1011))))))) (let ((@x1279 (trans @x1272 (rewrite (= (and $x1242 (not (or $x1247 $x900 $x1011))) $x1275)) (= $x1022 $x1275)))) (let ((@x1208 (monotonicity (rewrite (= $x626 (not (or $x1157 $x622)))) (= $x629 (not (not (or $x1157 $x622))))))) (let ((@x1212 (trans @x1208 (rewrite (= (not (not (or $x1157 $x622))) (or $x1157 $x622))) (= $x629 (or $x1157 $x622))))) (let ((@x1220 (trans (monotonicity @x1212 (= $x632 (or (or $x1157 $x622) $x86))) (rewrite (= (or (or $x1157 $x622) $x86) $x1216)) (= $x632 $x1216)))) (let ((@x1226 (quant-intro (monotonicity @x1220 (= (not $x632) $x1221)) (= $x877 $x1224)))) (let ((@x1285 (monotonicity (monotonicity @x1226 @x1279 (= $x1025 $x1280)) (= $x1031 (and $x600 $x571 $x573 $x71 $x73 $x75 $x1280))))) (let ((@x1297 (trans @x1285 (rewrite (= (and $x600 $x571 $x573 $x71 $x73 $x75 $x1280) $x1293)) (= $x1031 $x1293)))) (let ((@x1186 (monotonicity (rewrite (= $x553 (not (or $x1157 $x548)))) (= $x556 (not (not (or $x1157 $x548))))))) (let ((@x1190 (trans @x1186 (rewrite (= (not (not (or $x1157 $x548))) (or $x1157 $x548))) (= $x556 (or $x1157 $x548))))) (let ((@x1198 (trans (monotonicity @x1190 (= $x564 (or (or $x1157 $x548) $x561))) (rewrite (= (or (or $x1157 $x548) $x561) $x1194)) (= $x564 $x1194)))) (let ((@x1401 (monotonicity (quant-intro @x1198 (= $x567 $x1199)) (monotonicity @x1297 @x1395 (= $x1113 $x1396)) (= $x1119 (and $x50 $x1199 $x63 $x571 $x573 $x1396))))) (let ((@x1410 (trans @x1401 (rewrite (= (and $x50 $x1199 $x63 $x571 $x573 $x1396) $x1406)) (= $x1119 $x1406)))) (let (($x524 (>= ?0 1))) (let (($x1172 (or $x1157 $x524 $x534))) (let ((@x1164 (monotonicity (rewrite (= $x526 (not (or $x1157 $x524)))) (= $x529 (not (not (or $x1157 $x524))))))) (let ((@x1168 (trans @x1164 (rewrite (= (not (not (or $x1157 $x524))) (or $x1157 $x524))) (= $x529 (or $x1157 $x524))))) (let ((@x1176 (trans (monotonicity @x1168 (= $x538 (or (or $x1157 $x524) $x534))) (rewrite (= (or (or $x1157 $x524) $x534) $x1172)) (= $x538 $x1172)))) (let ((@x1416 (monotonicity (quant-intro @x1176 (= $x541 $x1177)) (monotonicity @x1410 (= $x1124 $x1411)) (= $x1127 (and $x1177 $x1411))))) (let ((@x1141 (monotonicity (rewrite (= (and $x835 $x833) (not (or $x1134 $x832)))) (= $x831 (not (not (or $x1134 $x832))))))) (let ((@x1145 (trans @x1141 (rewrite (= (not (not (or $x1134 $x832))) (or $x1134 $x832))) (= $x831 (or $x1134 $x832))))) (let ((@x1153 (trans (monotonicity @x1145 (= $x840 (or (or $x1134 $x832) $x839))) (rewrite (= (or (or $x1134 $x832) $x839) $x1149)) (= $x840 $x1149)))) (let ((@x1427 (monotonicity (monotonicity @x1153 (= $x841 $x1154)) (trans @x1416 (rewrite (= (and $x1177 $x1411) $x1420)) (= $x1127 $x1420)) (= $x1130 $x1425)))) (let (($x939 (<= (+ ?x937 ?x744) 0))) (let (($x941 (not (or (not (and $x931 (not (>= (+ ?v0!3 ?x685) 0)))) $x939)))) (let (($x958 (or $x941 $x954))) (let (($x966 (not $x789))) (let (($x969 (and $x966 $x958))) (let (($x927 (not $x730))) (let (($x962 (and $x927 $x958))) (let (($x973 (or $x962 $x969))) (let (($x924 (not $x675))) (let (($x977 (and $x924 $x973))) (let (($x908 (not (or $x903 (<= (+ (v_b_array$ ?v0!2) (* (- 1) v_b_max_G_4$)) 0))))) (let (($x912 (and $x890 $x908))) (let (($x916 (or $x877 $x912))) (let (($x871 (not $x617))) (let (($x920 (and $x871 $x916))) (let (($x981 (or $x920 $x977))) (let (($x985 (and $x591 $x981))) (let (($x989 (or $x851 $x985))) (let (($x993 (and $x541 $x989))) (let (($x997 (or $x841 $x993))) (let (($x1076 (= (or (not (and $x931 (not (>= (+ ?v0!3 ?x685) 0)))) $x939) $x1075))) (let ((@x1067 (monotonicity (rewrite (= (+ ?x937 ?x744) (+ ?x744 ?x937))) (= $x939 (<= (+ ?x744 ?x937) 0))))) (let ((@x1074 (trans @x1067 (rewrite (= (<= (+ ?x744 ?x937) 0) $x1070)) (= $x939 $x1070)))) (let ((@x1045 (monotonicity (rewrite (= (+ ?v0!3 ?x685) (+ ?x685 ?v0!3))) (= (>= (+ ?v0!3 ?x685) 0) (>= (+ ?x685 ?v0!3) 0))))) (let ((@x1052 (trans @x1045 (rewrite (= (>= (+ ?x685 ?v0!3) 0) $x1048)) (= (>= (+ ?v0!3 ?x685) 0) $x1048)))) (let ((@x1058 (monotonicity (monotonicity @x1052 (= (not (>= (+ ?v0!3 ?x685) 0)) $x1053)) (= (and $x931 (not (>= (+ ?v0!3 ?x685) 0))) $x1056)))) (let ((@x1061 (monotonicity @x1058 (= (not (and $x931 (not (>= (+ ?v0!3 ?x685) 0)))) $x1059)))) (let ((@x1083 (monotonicity (monotonicity (monotonicity @x1061 @x1074 $x1076) (= $x941 $x1078)) (= $x958 $x1081)))) (let ((@x1096 (monotonicity (rewrite (= $x966 $x784)) @x1083 (= $x969 (and $x784 $x1081))))) (let ((@x1086 (monotonicity (rewrite (= $x927 $x725)) @x1083 (= $x962 (and $x725 $x1081))))) (let ((@x1104 (monotonicity (trans @x1086 (rewrite (= (and $x725 $x1081) $x1087)) (= $x962 $x1087)) (trans @x1096 (rewrite (= (and $x784 $x1081) $x1097)) (= $x969 $x1097)) (= $x973 $x1102)))) (let ((@x1107 (monotonicity (rewrite (= $x924 $x670)) @x1104 (= $x977 (and $x670 $x1102))))) (let (($x1017 (= (or $x903 (<= (+ (v_b_array$ ?v0!2) (* (- 1) v_b_max_G_4$)) 0)) $x1016))) (let (($x906 (<= (+ (v_b_array$ ?v0!2) (* (- 1) v_b_max_G_4$)) 0))) (let (($x1012 (= (<= (+ (* (- 1) v_b_max_G_4$) (v_b_array$ ?v0!2)) 0) $x1011))) (let (($x1007 (= $x906 (<= (+ (* (- 1) v_b_max_G_4$) (v_b_array$ ?v0!2)) 0)))) (let (($x1004 (= (+ (v_b_array$ ?v0!2) (* (- 1) v_b_max_G_4$)) (+ (* (- 1) v_b_max_G_4$) (v_b_array$ ?v0!2))))) (let ((@x1015 (trans (monotonicity (rewrite $x1004) $x1007) (rewrite $x1012) (= $x906 $x1011)))) (let ((@x1024 (monotonicity (monotonicity (monotonicity @x1015 $x1017) (= $x908 $x1019)) (= $x912 $x1022)))) (let ((@x1030 (monotonicity (rewrite (= $x871 $x612)) (monotonicity @x1024 (= $x916 $x1025)) (= $x920 (and $x612 $x1025))))) (let ((@x1115 (monotonicity (trans @x1030 (rewrite (= (and $x612 $x1025) $x1031)) (= $x920 $x1031)) (trans @x1107 (rewrite (= (and $x670 $x1102) $x1108)) (= $x977 $x1108)) (= $x981 $x1113)))) (let ((@x1123 (trans (monotonicity @x1115 (= $x985 (and $x591 $x1113))) (rewrite (= (and $x591 $x1113) $x1119)) (= $x985 $x1119)))) (let ((@x1132 (monotonicity (monotonicity (monotonicity @x1123 (= $x989 $x1124)) (= $x993 $x1127)) (= $x997 $x1130)))) (let ((@x950 (nnf-neg (nnf-pos (refl (~ $x749 $x749)) (~ $x752 $x752)) (~ (not $x755) $x752)))) (let ((@x961 (nnf-neg (sk (~ $x755 $x941)) (nnf-neg @x950 (refl (~ $x951 $x951)) (~ (not $x758) $x954)) (~ (not $x761) $x958)))) (let ((@x976 (nnf-neg (nnf-neg (refl (~ $x927 $x927)) @x961 (~ (not $x764) $x962)) (nnf-neg (refl (~ $x966 $x966)) @x961 (~ (not $x792) $x969)) (~ (not $x795) $x973)))) (let ((@x915 (nnf-neg (nnf-neg (sk (~ $x635 $x890)) (~ (not $x638) $x890)) (sk (~ (not $x649) $x908)) (~ (not $x652) $x912)))) (let ((@x919 (nnf-neg (nnf-neg (refl (~ (not $x632) (not $x632))) (~ $x638 $x877)) @x915 (~ (not $x655) $x916)))) (let ((@x984 (nnf-neg (nnf-neg (refl (~ $x871 $x871)) @x919 (~ (not $x658) $x920)) (nnf-neg (refl (~ $x924 $x924)) @x976 (~ (not $x798) $x977)) (~ (not $x801) $x981)))) (let ((@x867 (monotonicity (refl (~ $x50 $x50)) (nnf-pos (refl (~ $x564 $x564)) (~ $x567 $x567)) (refl (~ $x63 $x63)) (refl (~ $x571 $x571)) (refl (~ $x573 $x573)) (~ $x591 $x591)))) (let ((@x988 (nnf-neg (nnf-neg @x867 (~ (not $x596) $x591)) @x984 (~ (not $x804) $x985)))) (let ((@x850 (nnf-neg (nnf-pos (refl (~ $x538 $x538)) (~ $x541 $x541)) (~ (not $x544) $x541)))) (let ((@x996 (nnf-neg @x850 (nnf-neg (refl (~ $x851 $x851)) @x988 (~ (not $x807) $x989)) (~ (not $x810) $x993)))) (let ((@x1000 (mp~ (not-or-elim (mp (asserted $x162) @x823 $x819) (not $x813)) (nnf-neg (sk (~ $x544 $x841)) @x996 (~ (not $x813) $x997)) $x997))) (let ((@x1949 (mp (mp (mp @x1000 @x1132 $x1130) @x1427 $x1425) (monotonicity @x1945 (= $x1425 $x1946)) $x1946))) (let ((@x2086 (unit-resolution (def-axiom (or $x1940 $x1934)) (unit-resolution @x1949 (lemma @x1690 $x1149) $x1943) $x1934))) (let ((@x2093 (unit-resolution (def-axiom (or $x1937 $x851 $x1931)) (mp @x827 (symm (commutativity (= $x50 $x31)) (= $x31 $x50)) $x50) (or $x1937 $x1931)))) (let ((@x2094 (unit-resolution @x2093 @x2086 $x1931))) (let ((@x2151 (monotonicity (unit-resolution (def-axiom (or $x1904 $x144)) @x2130 $x144) (= ?x135 ?x62)))) (let ((@x2154 (trans @x2151 (unit-resolution (def-axiom (or $x1928 $x63)) @x2094 $x63) (= ?x135 v_b_max_G_1$)))) (let ((@x2155 (trans @x2154 (symm (unit-resolution (def-axiom (or $x1904 $x145)) @x2130 $x145) $x1780) $x136))) (let ((@x1523 (def-axiom (or $x1886 $x951)))) (let ((@x1808 (def-axiom (or $x1895 $x1318 $x1889)))) (let ((@x2157 (unit-resolution @x1808 (unit-resolution @x1523 @x2155 $x1886) (unit-resolution (def-axiom (or $x1904 $x1892)) @x2130 $x1892) $x1318))) (let ((@x1812 (def-axiom (or $x1313 $x1436)))) (let ((@x2162 (unit-resolution ((_ th-lemma arith assign-bounds 1 -1 -1) (or $x1453 $x692 $x1070 (not $x1782))) (unit-resolution @x1812 @x2157 $x1436) (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x1780) $x1782)) @x2143 $x1782) (unit-resolution (def-axiom (or $x1904 $x689)) @x2130 $x689) $x1453))) (let ((@x1565 ((_ th-lemma arith triangle-eq) (or $x1563 $x1445)))) (let (($x1558 (= v_b_p_G_0$ ?v0!3))) (let ((?x1046 (* (- 1) ?v0!3))) (let ((?x1510 (+ v_b_p_G_0$ ?x1046))) (let (($x1560 (>= ?x1510 0))) (let (($x1522 (>= ?x686 (- 1)))) (let ((@x2167 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x1362 $x1522)) (unit-resolution (def-axiom (or $x1904 $x684)) @x2130 $x684) $x1522))) (let ((@x2171 (unit-resolution ((_ th-lemma arith assign-bounds -1 -1) (or $x1560 $x1048 (not $x1522))) (unit-resolution (def-axiom (or $x1313 $x1053)) @x2157 $x1053) @x2167 $x1560))) (let (($x1511 (<= ?x1510 0))) (let (($x1488 (>= (+ v_b_max_G_1$ ?x1068) 0))) (let (($x1955 (not $x1488))) (let ((@x2174 (unit-resolution ((_ th-lemma arith assign-bounds -1 -1) (or $x1955 $x1070 (not $x1782))) (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x1780) $x1782)) @x2143 $x1782) (unit-resolution @x1812 @x2157 $x1436) $x1955))) (let ((@x2102 (unit-resolution (def-axiom (or $x1928 $x1853)) @x2094 $x1853))) (let (($x1476 (or $x1858 $x1298 $x1511 $x1488))) (let (($x1535 (<= (+ ?x937 (* (- 1) v_b_max_G_1$)) 0))) (let (($x1549 (>= (+ ?v0!3 ?x549) 0))) (let (($x1501 (or $x1298 $x1549 $x1535))) (let (($x1464 (or $x1858 $x1501))) (let (($x1478 (= (+ ?x937 (* (- 1) v_b_max_G_1$)) (+ (* (- 1) v_b_max_G_1$) ?x937)))) (let ((@x1486 (monotonicity (rewrite $x1478) (= $x1535 (<= (+ (* (- 1) v_b_max_G_1$) ?x937) 0))))) (let ((@x1472 (trans @x1486 (rewrite (= (<= (+ (* (- 1) v_b_max_G_1$) ?x937) 0) $x1488)) (= $x1535 $x1488)))) (let ((@x1509 (monotonicity (rewrite (= (+ ?v0!3 ?x549) (+ ?x549 ?v0!3))) (= $x1549 (>= (+ ?x549 ?v0!3) 0))))) (let ((@x1497 (trans @x1509 (rewrite (= (>= (+ ?x549 ?v0!3) 0) $x1511)) (= $x1549 $x1511)))) (let ((@x1470 (monotonicity (monotonicity @x1497 @x1472 (= $x1501 (or $x1298 $x1511 $x1488))) (= $x1464 (or $x1858 (or $x1298 $x1511 $x1488)))))) (let ((@x1450 (trans @x1470 (rewrite (= (or $x1858 (or $x1298 $x1511 $x1488)) $x1476)) (= $x1464 $x1476)))) (let ((@x2176 (unit-resolution (mp ((_ quant-inst ?v0!3) $x1464) @x1450 $x1476) @x2102 (unit-resolution (def-axiom (or $x1313 $x931)) @x2157 $x931) @x2174 $x1511))) (let ((@x2177 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x1558 (not $x1511) (not $x1560))) @x2176 @x2171 $x1558))) (let ((@x1551 (monotonicity (symm (hypothesis $x1558) (= ?v0!3 v_b_p_G_0$)) (= ?x937 ?x101)))) (let ((@x1540 (lemma (unit-resolution (hypothesis $x1563) (symm @x1551 $x1559) false) (or (not $x1558) $x1559)))) (let ((@x2179 (lemma (unit-resolution @x1540 @x2177 (unit-resolution @x1565 @x2162 $x1563) false) $x1904))) (let ((@x2036 (symm (unit-resolution (def-axiom (or $x1872 $x73)) (hypothesis $x1875) $x73) (= v_b_max_G_1$ v_b_max_G_4$)))) (let (($x2082 (or (not (= v_b_max_G_1$ v_b_max_G_4$)) (<= (+ v_b_max_G_1$ (* (- 1) v_b_max_G_4$)) 0)))) (let ((@x2084 (unit-resolution ((_ th-lemma arith triangle-eq) $x2082) @x2036 (<= (+ v_b_max_G_1$ (* (- 1) v_b_max_G_4$)) 0)))) (let ((@x2018 (hypothesis $x1875))) (let (($x2015 (= ?x62 v_b_max_G_4$))) (let (($x2016 (or $x1286 (<= (+ v_b_length$ (* (- 1) v_b_k_G_0$)) 0) $x2015))) (let ((@x2038 (unit-resolution (def-axiom (or $x2016 (not $x2015))) (trans (hypothesis $x63) @x2036 $x2015) $x2016))) (let ((@x2041 (unit-resolution (def-axiom (or $x1869 $x1861 $x1275)) (unit-resolution (def-axiom (or $x1872 $x1866)) @x2018 $x1866) (hypothesis $x1274) $x1861))) (let ((@x2042 (unit-resolution ((_ quant-inst v_b_k_G_0$) (or (not $x1861) (not $x2016))) @x2041 @x2038 false))) (let ((@x2096 (unit-resolution (lemma @x2042 (or $x1872 $x1403 $x1275)) @x2018 (unit-resolution (def-axiom (or $x1928 $x63)) @x2094 $x63) $x1275))) (let (($x2055 (>= (+ v_b_max_G_1$ (* (- 1) (v_b_array$ ?v0!2))) 0))) (let ((@x2077 ((_ th-lemma arith farkas -1 -1 1) (hypothesis (<= (+ v_b_p_G_0$ (* (- 1) ?v0!2)) 0)) (hypothesis $x600) (hypothesis (not $x900)) false))) (let ((@x2080 (lemma @x2077 (or (not (<= (+ v_b_p_G_0$ (* (- 1) ?v0!2)) 0)) $x661 $x900)))) (let ((@x2100 (unit-resolution @x2080 (unit-resolution (def-axiom (or $x1872 $x600)) @x2018 $x600) (unit-resolution (def-axiom (or $x1274 (not $x900))) @x2096 (not $x900)) (not (<= (+ v_b_p_G_0$ (* (- 1) ?v0!2)) 0))))) (let (($x2023 (<= (+ v_b_p_G_0$ (* (- 1) ?v0!2)) 0))) (let (($x2063 (or $x1858 $x1247 $x2023 $x2055))) (let (($x2033 (<= (+ (v_b_array$ ?v0!2) (* (- 1) v_b_max_G_1$)) 0))) (let (($x1999 (>= (+ ?v0!2 ?x549) 0))) (let (($x2034 (or $x1247 $x1999 $x2033))) (let (($x2064 (or $x1858 $x2034))) (let (($x2056 (= (<= (+ (* (- 1) v_b_max_G_1$) (v_b_array$ ?v0!2)) 0) $x2055))) (let (($x2052 (= $x2033 (<= (+ (* (- 1) v_b_max_G_1$) (v_b_array$ ?v0!2)) 0)))) (let (($x2049 (= (+ (v_b_array$ ?v0!2) (* (- 1) v_b_max_G_1$)) (+ (* (- 1) v_b_max_G_1$) (v_b_array$ ?v0!2))))) (let ((@x2059 (trans (monotonicity (rewrite $x2049) $x2052) (rewrite $x2056) (= $x2033 $x2055)))) (let ((@x2004 (monotonicity (rewrite (= (+ ?v0!2 ?x549) (+ ?x549 ?v0!2))) (= $x1999 (>= (+ ?x549 ?v0!2) 0))))) (let ((@x2047 (trans @x2004 (rewrite (= (>= (+ ?x549 ?v0!2) 0) $x2023)) (= $x1999 $x2023)))) (let ((@x2068 (monotonicity (monotonicity @x2047 @x2059 (= $x2034 (or $x1247 $x2023 $x2055))) (= $x2064 (or $x1858 (or $x1247 $x2023 $x2055)))))) (let ((@x2072 (trans @x2068 (rewrite (= (or $x1858 (or $x1247 $x2023 $x2055)) $x2063)) (= $x2064 $x2063)))) (let ((@x2104 (unit-resolution (mp ((_ quant-inst ?v0!2) $x2064) @x2072 $x2063) @x2102 (unit-resolution (def-axiom (or $x1274 $x897)) @x2096 $x897) (or $x2023 $x2055)))) (let ((@x2106 ((_ th-lemma arith farkas -1 1 1) (unit-resolution @x2104 @x2100 $x2055) (unit-resolution (def-axiom (or $x1274 (not $x1011))) @x2096 (not $x1011)) @x2084 false))) (let ((@x2114 (unit-resolution (def-axiom (or $x1925 $x1875 $x1919)) (lemma @x2106 $x1872) (unit-resolution (def-axiom (or $x1928 $x1922)) @x2094 $x1922) $x1919))) (let ((@x2001 (unit-resolution (def-axiom (or $x1913 $x1901 $x1907)) (unit-resolution (def-axiom (or $x1916 $x1910)) @x2114 $x1910) $x1910))) (let ((@x2025 (unit-resolution @x2001 @x2179 $x1901))) (let ((@x1557 (trans (monotonicity (hypothesis $x107) (= ?x135 ?x101)) (symm (hypothesis $x104) (= ?x101 v_b_max_G_2$)) (= ?x135 v_b_max_G_2$)))) (let ((@x1975 (trans @x1557 (symm (hypothesis $x109) (= v_b_max_G_2$ v_b_max_G_3$)) $x136))) (let ((@x1978 (lemma (unit-resolution (hypothesis $x951) @x1975 false) (or $x136 $x1361 $x1359 $x1360)))) (let ((@x2121 (unit-resolution @x1978 (unit-resolution (def-axiom (or $x1898 $x109)) @x2025 $x109) (unit-resolution (def-axiom (or $x1898 $x104)) @x2025 $x104) (unit-resolution (def-axiom (or $x1898 $x107)) @x2025 $x107) $x136))) (let ((@x2109 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x1362 $x1522)) (unit-resolution (def-axiom (or $x1898 $x684)) @x2025 $x684) $x1522))) (let ((@x1460 (unit-resolution @x1808 (unit-resolution @x1523 (hypothesis $x136) $x1886) (hypothesis $x1892) $x1318))) (let ((@x1539 (def-axiom (or $x1313 $x1053)))) (let (($x1965 (not $x1560))) (let (($x1597 (<= (+ ?x101 ?x744) 0))) (let ((@x1431 (trans (symm (hypothesis $x104) (= ?x101 v_b_max_G_2$)) (symm (hypothesis $x109) (= v_b_max_G_2$ v_b_max_G_3$)) (= ?x101 v_b_max_G_3$)))) (let ((@x1435 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not (= ?x101 v_b_max_G_3$)) $x1597)) @x1431 $x1597))) (let ((@x1437 (lemma ((_ th-lemma arith farkas -1 -1 1) (hypothesis $x1436) (hypothesis $x1597) (hypothesis $x1445) false) (or $x1453 $x1070 (not $x1597))))) (let ((@x1952 (unit-resolution @x1565 (unit-resolution @x1437 (unit-resolution @x1812 @x1460 $x1436) @x1435 $x1453) $x1563))) (let ((@x1958 (unit-resolution ((_ th-lemma arith assign-bounds 1 1 1) (or $x1955 $x1070 (not $x1597) $x689)) (unit-resolution @x1812 @x1460 $x1436) @x1435 (hypothesis $x692) $x1955))) (let ((@x1962 (unit-resolution (mp ((_ quant-inst ?v0!3) $x1464) @x1450 $x1476) (hypothesis $x1853) (unit-resolution (def-axiom (or $x1313 $x931)) @x1460 $x931) (or $x1511 $x1488)))) (let ((@x1969 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x1558 (not $x1511) $x1965)) (unit-resolution @x1962 @x1958 $x1511) (or $x1558 $x1965)))) (let ((@x1971 ((_ th-lemma arith farkas -1 1 1) (unit-resolution @x1969 (unit-resolution @x1540 @x1952 (not $x1558)) $x1965) (hypothesis $x1522) (unit-resolution @x1539 @x1460 $x1053) false))) (let ((@x2111 (unit-resolution (lemma @x1971 (or $x951 (not $x1522) $x1858 $x689 $x1895 $x1359 $x1361)) @x2102 (or $x951 (not $x1522) $x689 $x1895 $x1359 $x1361)))) (unit-resolution @x2111 @x2109 @x2121 (unit-resolution (def-axiom (or $x1898 $x692)) @x2025 $x692) (unit-resolution (def-axiom (or $x1898 $x1892)) @x2025 $x1892) (unit-resolution (def-axiom (or $x1898 $x104)) @x2025 $x104) (unit-resolution (def-axiom (or $x1898 $x109)) @x2025 $x109) false)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) diff --git a/src/HOL/SMT_Examples/SMT_Examples.certs b/src/HOL/SMT_Examples/SMT_Examples.certs --- a/src/HOL/SMT_Examples/SMT_Examples.certs +++ b/src/HOL/SMT_Examples/SMT_Examples.certs @@ -1,4826 +1,4826 @@ -a734af99f317b55130e169b140843e673d0bbf01 6 0 +f4ff5c44833ca360a0e6110670545870e993732e 6 0 unsat ((set-logic AUFLIA) (proof (let ((@x30 (rewrite (= (not true) false)))) (mp (asserted (not true)) @x30 false)))) -eb38970c345df6ae8f92f5d2a32e1df00c1810c4 7 0 +44c9e70361e406cdaa5515db0484a14de1f3823e 7 0 unsat ((set-logic AUFLIA) (proof (let ((@x36 (monotonicity (rewrite (= (or p$ (not p$)) true)) (= (not (or p$ (not p$))) (not true))))) (let ((@x40 (trans @x36 (rewrite (= (not true) false)) (= (not (or p$ (not p$))) false)))) (mp (asserted (not (or p$ (not p$)))) @x40 false))))) -90627d309f442a71678bb840dcccd56e1b045c47 9 0 +642064746d4dfc4babb357dafe234a81ef017f2c 9 0 unsat ((set-logic AUFLIA) (proof (let ((@x36 (monotonicity (rewrite (= (and p$ true) p$)) (= (= (and p$ true) p$) (= p$ p$))))) (let ((@x40 (trans @x36 (rewrite (= (= p$ p$) true)) (= (= (and p$ true) p$) true)))) (let ((@x43 (monotonicity @x40 (= (not (= (and p$ true) p$)) (not true))))) (let ((@x47 (trans @x43 (rewrite (= (not true) false)) (= (not (= (and p$ true) p$)) false)))) (mp (asserted (not (= (and p$ true) p$))) @x47 false))))))) -2e6261dc2fb735b96a2f84163499f5c9d8e8eedd 13 0 +0a1454d805d51972201b1f0614ae4d2b1ee0c238 13 0 unsat ((set-logic AUFLIA) (proof (let (($x33 (not (=> (and (or p$ q$) (not p$)) q$)))) (let (($x37 (= (=> (and (or p$ q$) (not p$)) q$) (or (not (and (or p$ q$) (not p$))) q$)))) (let ((@x41 (monotonicity (rewrite $x37) (= $x33 (not (or (not (and (or p$ q$) (not p$))) q$)))))) (let ((@x44 (mp (asserted $x33) @x41 (not (or (not (and (or p$ q$) (not p$))) q$))))) (let ((@x45 (and-elim (not-or-elim @x44 (and (or p$ q$) (not p$))) (not p$)))) (let ((@x54 (monotonicity (iff-false @x45 (= p$ false)) (iff-false (not-or-elim @x44 (not q$)) (= q$ false)) (= (or p$ q$) (or false false))))) (let ((@x58 (trans @x54 (rewrite (= (or false false) false)) (= (or p$ q$) false)))) (let (($x29 (or p$ q$))) (mp (and-elim (not-or-elim @x44 (and $x29 (not p$))) $x29) @x58 false))))))))))) -fe66a69b0868f46c9e6ca7e18abaa9fea0c65469 11 0 +34112335b57502835b641cecdefffafb46f85d80 11 0 unsat ((set-logic AUFLIA) (proof (let (($x32 (and c$ d$))) (let (($x29 (and a$ b$))) (let (($x33 (or $x29 $x32))) (let (($x34 (=> $x33 $x33))) (let (($x35 (not $x34))) (let ((@x45 (trans (monotonicity (rewrite (= $x34 true)) (= $x35 (not true))) (rewrite (= (not true) false)) (= $x35 false)))) (mp (asserted $x35) @x45 false))))))))) -b277fe65c25f9907a259feaedc5175c049c9c801 23 0 +20bc477eba70622207284dac695d9d5d493c254c 23 0 unsat ((set-logic AUFLIA) (proof (let (($x33 (and p1$ p3$))) (let (($x32 (and p3$ p2$))) (let (($x34 (or $x32 $x33))) (let (($x35 (=> p1$ $x34))) (let (($x36 (or $x35 p1$))) (let (($x29 (and p1$ p2$))) (let (($x31 (or $x29 p3$))) (let (($x37 (=> $x31 $x36))) (let (($x38 (not $x37))) (let (($x40 (not p1$))) (let (($x41 (or $x40 $x34))) (let (($x44 (or $x41 p1$))) (let (($x50 (not $x31))) (let (($x51 (or $x50 $x44))) (let (($x56 (not $x51))) (let ((@x67 (trans (monotonicity (rewrite (= $x51 true)) (= $x56 (not true))) (rewrite (= (not true) false)) (= $x56 false)))) (let ((@x49 (monotonicity (monotonicity (rewrite (= $x35 $x41)) (= $x36 $x44)) (= $x37 (=> $x31 $x44))))) (let ((@x58 (monotonicity (trans @x49 (rewrite (= (=> $x31 $x44) $x51)) (= $x37 $x51)) (= $x38 $x56)))) (mp (asserted $x38) (trans @x58 @x67 (= $x38 false)) false))))))))))))))))))))) -dff507d4f869feeb53f9c0e7c162387d22d810bc 24 0 +31d9c9d3ff37ebd83ab46c7b87647ef17b2c57d5 24 0 unsat ((set-logic AUFLIA) (proof (let (($x28 (= p$ p$))) (let (($x29 (= $x28 p$))) (let (($x30 (= $x29 p$))) (let (($x31 (= $x30 p$))) (let (($x32 (= $x31 p$))) (let (($x33 (= $x32 p$))) (let (($x34 (= $x33 p$))) (let (($x35 (= $x34 p$))) (let (($x36 (= $x35 p$))) (let (($x37 (not $x36))) (let ((@x40 (rewrite (= $x28 true)))) (let ((@x45 (rewrite (= (= true p$) p$)))) (let ((@x47 (trans (monotonicity @x40 (= $x29 (= true p$))) @x45 (= $x29 p$)))) (let ((@x53 (monotonicity (trans (monotonicity @x47 (= $x30 $x28)) @x40 (= $x30 true)) (= $x31 (= true p$))))) (let ((@x59 (trans (monotonicity (trans @x53 @x45 (= $x31 p$)) (= $x32 $x28)) @x40 (= $x32 true)))) (let ((@x63 (trans (monotonicity @x59 (= $x33 (= true p$))) @x45 (= $x33 p$)))) (let ((@x69 (monotonicity (trans (monotonicity @x63 (= $x34 $x28)) @x40 (= $x34 true)) (= $x35 (= true p$))))) (let ((@x75 (trans (monotonicity (trans @x69 @x45 (= $x35 p$)) (= $x36 $x28)) @x40 (= $x36 true)))) (let ((@x82 (trans (monotonicity @x75 (= $x37 (not true))) (rewrite (= (not true) false)) (= $x37 false)))) (mp (asserted $x37) @x82 false)))))))))))))))))))))) -fe2fe85fa0d71650d19542c615cfac479267b69e 39 0 +330b2c9cc52cf5f35a134a2209b0d4127652f7c0 39 0 unsat ((set-logic AUFLIA) (proof (let (($x100 (not d$))) (let (($x45 (not c$))) (let (($x112 (or p$ (and q$ (not q$))))) (let (($x113 (and (not p$) $x112))) (let (($x114 (or c$ $x113))) (let (($x115 (not $x114))) (let ((@x121 (monotonicity (rewrite (= (and q$ (not q$)) false)) (= $x112 (or p$ false))))) (let ((@x128 (monotonicity (trans @x121 (rewrite (= (or p$ false) p$)) (= $x112 p$)) (= $x113 (and (not p$) p$))))) (let ((@x132 (trans @x128 (rewrite (= (and (not p$) p$) false)) (= $x113 false)))) (let ((@x139 (trans (monotonicity @x132 (= $x114 (or c$ false))) (rewrite (= (or c$ false) c$)) (= $x114 c$)))) (let ((@x153 (iff-false (mp (asserted $x115) (monotonicity @x139 (= $x115 $x45)) $x45) (= c$ false)))) (let ((@x147 (trans (monotonicity @x153 (= (or $x100 c$) (or $x100 false))) (rewrite (= (or $x100 false) $x100)) (= (or $x100 c$) $x100)))) (let (($x103 (or $x100 c$))) (let ((@x102 (monotonicity (rewrite (= (or d$ false) d$)) (= (not (or d$ false)) $x100)))) (let ((@x108 (mp (asserted (or (not (or d$ false)) c$)) (monotonicity @x102 (= (or (not (or d$ false)) c$) $x103)) $x103))) (let (($x87 (not b$))) (let ((@x164 (trans (monotonicity @x153 (= (or $x87 c$) (or $x87 false))) (rewrite (= (or $x87 false) $x87)) (= (or $x87 c$) $x87)))) (let (($x90 (or $x87 c$))) (let ((@x82 (monotonicity (rewrite (= (or x$ (not x$)) true)) (= (and b$ (or x$ (not x$))) (and b$ true))))) (let ((@x86 (trans @x82 (rewrite (= (and b$ true) b$)) (= (and b$ (or x$ (not x$))) b$)))) (let ((@x92 (monotonicity (monotonicity @x86 (= (not (and b$ (or x$ (not x$)))) $x87)) (= (or (not (and b$ (or x$ (not x$)))) c$) $x90)))) (let ((@x95 (mp (asserted (or (not (and b$ (or x$ (not x$)))) c$)) @x92 $x90))) (let (($x64 (not a$))) (let ((@x170 (monotonicity (iff-false (mp @x95 @x164 $x87) (= b$ false)) (= (or $x64 b$) (or $x64 false))))) (let ((@x174 (trans @x170 (rewrite (= (or $x64 false) $x64)) (= (or $x64 b$) $x64)))) (let (($x67 (or $x64 b$))) (let ((@x59 (monotonicity (rewrite (= (and c$ $x45) false)) (= (or a$ (and c$ $x45)) (or a$ false))))) (let ((@x63 (trans @x59 (rewrite (= (or a$ false) a$)) (= (or a$ (and c$ $x45)) a$)))) (let ((@x69 (monotonicity (monotonicity @x63 (= (not (or a$ (and c$ $x45))) $x64)) (= (or (not (or a$ (and c$ $x45))) b$) $x67)))) (let ((@x175 (mp (mp (asserted (or (not (or a$ (and c$ $x45))) b$)) @x69 $x67) @x174 $x64))) (let ((@x198 (monotonicity (iff-false @x175 (= a$ false)) (iff-false (mp @x95 @x164 $x87) (= b$ false)) @x153 (iff-false (mp @x108 @x147 $x100) (= d$ false)) (= (or a$ b$ c$ d$) (or false false false false))))) (let ((@x202 (trans @x198 (rewrite (= (or false false false false) false)) (= (or a$ b$ c$ d$) false)))) (let (($x37 (or a$ b$ c$ d$))) (let ((@x40 (mp (asserted (or a$ (or b$ (or c$ d$)))) (rewrite (= (or a$ (or b$ (or c$ d$))) $x37)) $x37))) (mp @x40 @x202 false))))))))))))))))))))))))))))))))))))) -8dc4f44af8f07f7b856e596119d1bf43f2c6acd5 27 0 +ad87d7e797bdb9354f6592e3ce911c29af823c87 27 0 unsat ((set-logic AUFLIA) (proof (let ((?x38 (symm_f$ b$ a$))) (let ((?x37 (symm_f$ a$ b$))) (let (($x39 (= ?x37 ?x38))) (let (($x52 (not $x39))) (let ((@x47 (monotonicity (rewrite (= (= a$ a$) true)) (= (and (= a$ a$) $x39) (and true $x39))))) (let ((@x51 (trans @x47 (rewrite (= (and true $x39) $x39)) (= (and (= a$ a$) $x39) $x39)))) (let ((@x57 (mp (asserted (not (and (= a$ a$) $x39))) (monotonicity @x51 (= (not (and (= a$ a$) $x39)) $x52)) $x52))) (let (($x480 (forall ((?v0 A$) (?v1 A$) )(! (let ((?x30 (symm_f$ ?v1 ?v0))) (let ((?x29 (symm_f$ ?v0 ?v1))) (= ?x29 ?x30))) :pattern ( (symm_f$ ?v0 ?v1) ) :pattern ( (symm_f$ ?v1 ?v0) ) :qid k!8)) )) (let (($x32 (forall ((?v0 A$) (?v1 A$) )(! (let ((?x30 (symm_f$ ?v1 ?v0))) (let ((?x29 (symm_f$ ?v0 ?v1))) (= ?x29 ?x30))) :qid k!8)) )) (let ((?x30 (symm_f$ ?0 ?1))) (let ((?x29 (symm_f$ ?1 ?0))) (let (($x31 (= ?x29 ?x30))) (let ((@x60 (mp~ (asserted $x32) (nnf-pos (refl (~ $x31 $x31)) (~ $x32 $x32)) $x32))) (let ((@x485 (mp @x60 (quant-intro (refl (= $x31 $x31)) (= $x32 $x480)) $x480))) (let (($x149 (or (not $x480) $x39))) (let ((@x61 ((_ quant-inst a$ b$) $x149))) (unit-resolution @x61 @x485 @x57 false))))))))))))))))))) -fbb0a55c0a093161da67da5e523c4888aceb6463 637 0 +475916706487c818c9d90b517b53e98cbd0b98a4 637 0 unsat ((set-logic AUFLIA) (proof (let (($x397 (not x38$))) (let (($x553 (not x51$))) (let (($x657 (not x25$))) (let (($x610 (not x56$))) (let (($x538 (not x17$))) (let ((@x897 (hypothesis $x538))) (let (($x482 (not x45$))) (let (($x609 (not x22$))) (let (($x453 (not x11$))) (let ((@x815 (hypothesis $x453))) (let (($x667 (not x27$))) (let (($x638 (not x58$))) (let (($x567 (not x52$))) (let ((@x756 (hypothesis $x567))) (let (($x509 (not x47$))) (let (($x637 (not x24$))) (let (($x566 (not x19$))) (let (($x294 (or x24$ x53$))) (let ((@x774 (monotonicity (iff-false (asserted (not x59$)) (= x59$ false)) (= (or x59$ x24$ x53$) (or false x24$ x53$))))) (let ((@x778 (trans @x774 (rewrite (= (or false x24$ x53$) $x294)) (= (or x59$ x24$ x53$) $x294)))) (let (($x303 (or x59$ x24$ x53$))) (let ((@x306 (mp (asserted (or x59$ $x294)) (rewrite (= (or x59$ $x294) $x303)) $x303))) (let ((@x779 (mp @x306 @x778 $x294))) (let ((@x1181 (unit-resolution @x779 (unit-resolution (asserted (or $x637 $x638)) (hypothesis x58$) $x637) x53$))) (let (($x580 (not x53$))) (let (($x581 (or $x580 $x566))) (let ((@x582 (asserted $x581))) (let ((@x1182 (unit-resolution @x582 @x1181 $x566))) (let (($x496 (not x46$))) (let (($x583 (or $x580 $x509))) (let ((@x584 (asserted $x583))) (let ((@x1183 (unit-resolution @x584 @x1181 $x509))) (let (($x438 (not x41$))) (let (($x363 (not x4$))) (let (($x347 (not x2$))) (let (($x336 (not x31$))) (let (($x623 (not x23$))) (let (($x645 (or $x638 $x623))) (let ((@x646 (asserted $x645))) (let ((@x974 (hypothesis $x509))) (let ((@x757 (hypothesis $x566))) (let ((@x853 (hypothesis $x397))) (let (($x410 (not x8$))) (let (($x355 (not x3$))) (let (($x467 (not x12$))) (let ((@x882 (hypothesis $x467))) (let ((@x845 (hypothesis $x347))) (let (($x356 (not x33$))) (let (($x481 (not x13$))) (let (($x424 (not x9$))) (let ((@x728 (hypothesis x41$))) (let (($x439 (or $x438 $x424))) (let ((@x440 (asserted $x439))) (let ((@x922 (unit-resolution @x440 @x728 $x424))) (let (($x364 (not x34$))) (let (($x72 (or x35$ x4$))) (let ((@x77 (asserted $x72))) (let ((@x994 (unit-resolution @x77 (unit-resolution (asserted (or $x438 (not x35$))) @x728 (not x35$)) x4$))) (let (($x365 (or $x363 $x364))) (let ((@x366 (asserted $x365))) (let ((@x999 (unit-resolution @x366 @x994 $x364))) (let (($x396 (not x7$))) (let (($x414 (or $x410 $x396))) (let ((@x415 (asserted $x414))) (let (($x348 (not x32$))) (let ((@x942 (hypothesis $x355))) (let (($x64 (or x3$ x33$ x2$))) (let ((@x67 (mp (asserted (or x3$ (or x33$ x2$))) (rewrite (= (or x3$ (or x33$ x2$)) $x64)) $x64))) (let ((@x1048 (unit-resolution @x67 (unit-resolution (asserted (or $x410 $x356)) (hypothesis x8$) $x356) @x942 x2$))) (let (($x349 (or $x347 $x348))) (let ((@x350 (asserted $x349))) (let (($x105 (or x7$ x38$ x6$ x32$))) (let ((@x108 (mp (asserted (or x7$ (or x38$ (or x6$ x32$)))) (rewrite (= (or x7$ (or x38$ (or x6$ x32$))) $x105)) $x105))) (let ((@x842 (unit-resolution @x108 (unit-resolution @x350 @x1048 $x348) (unit-resolution @x415 (hypothesis x8$) $x396) @x853 x6$))) (let (($x701 (or x1$ x31$))) (let ((@x700 (monotonicity (iff-false (asserted (not x0$)) (= x0$ false)) (= (or x1$ x31$ x0$) (or x1$ x31$ false))))) (let ((@x705 (trans @x700 (rewrite (= (or x1$ x31$ false) $x701)) (= (or x1$ x31$ x0$) $x701)))) (let (($x46 (or x1$ x31$ x0$))) (let ((@x49 (mp (asserted (or x1$ (or x31$ x0$))) (rewrite (= (or x1$ (or x31$ x0$)) $x46)) $x46))) (let ((@x706 (mp @x49 @x705 $x701))) (let ((@x1002 (unit-resolution @x706 (unit-resolution (asserted (or $x347 (not x1$))) @x1048 (not x1$)) x31$))) (let (($x382 (not x6$))) (let (($x388 (or $x382 $x336))) (let ((@x389 (asserted $x388))) (let ((@x1011 (lemma (unit-resolution @x389 @x1002 @x842 false) (or $x410 x38$ x3$)))) (let ((@x952 (unit-resolution @x1011 (unit-resolution (asserted (or $x363 $x355)) @x994 $x355) @x853 $x410))) (let (($x125 (or x9$ x40$ x8$ x34$))) (let ((@x128 (mp (asserted (or x9$ (or x40$ (or x8$ x34$)))) (rewrite (= (or x9$ (or x40$ (or x8$ x34$))) $x125)) $x125))) (let (($x425 (not x40$))) (let (($x505 (or $x496 $x425))) (let ((@x506 (asserted $x505))) (let ((@x868 (unit-resolution @x506 (unit-resolution @x128 @x952 @x999 @x922 x40$) $x496))) (let (($x239 (or x19$ x52$ x18$ x46$))) (let ((@x242 (mp (asserted (or x19$ (or x52$ (or x18$ x46$)))) (rewrite (= (or x19$ (or x52$ (or x18$ x46$))) $x239)) $x239))) (let (($x411 (not x39$))) (let ((@x992 (unit-resolution @x67 (unit-resolution (asserted (or $x363 $x355)) @x994 $x355) @x845 x33$))) (let (($x420 (or $x411 $x356))) (let ((@x421 (asserted $x420))) (let (($x507 (or $x481 $x425))) (let ((@x508 (asserted $x507))) (let ((@x1036 (unit-resolution @x508 (unit-resolution @x128 @x952 @x999 @x922 x40$) $x481))) (let (($x172 (or x13$ x45$ x12$ x39$))) (let ((@x175 (mp (asserted (or x13$ (or x45$ (or x12$ x39$)))) (rewrite (= (or x13$ (or x45$ (or x12$ x39$))) $x172)) $x172))) (let ((@x1037 (unit-resolution @x175 @x1036 @x882 (unit-resolution @x421 @x992 $x411) x45$))) (let (($x552 (not x18$))) (let (($x558 (or $x552 $x482))) (let ((@x559 (asserted $x558))) (let ((@x1080 (unit-resolution @x559 @x1037 (unit-resolution @x242 @x868 @x757 @x756 x18$) false))) (let ((@x1051 (unit-resolution (lemma @x1080 (or $x438 x12$ x19$ x52$ x2$ x38$)) @x845 @x757 @x756 @x882 @x853 $x438))) (let (($x190 (or x47$ x14$ x41$))) (let ((@x193 (mp (asserted (or x47$ (or x14$ x41$))) (rewrite (= (or x47$ (or x14$ x41$)) $x190)) $x190))) (let ((@x732 (unit-resolution @x193 @x1051 @x974 x14$))) (let (($x495 (not x14$))) (let (($x499 (or $x495 $x481))) (let ((@x500 (asserted $x499))) (let ((@x941 (unit-resolution @x242 (unit-resolution (asserted (or $x495 $x496)) @x732 $x496) @x757 @x756 x18$))) (let ((@x991 (unit-resolution @x175 (unit-resolution @x559 @x941 $x482) @x882 (unit-resolution @x500 @x732 $x481) x39$))) (let (($x367 (or $x363 $x355))) (let ((@x368 (asserted $x367))) (let ((@x980 (unit-resolution @x368 (unit-resolution @x67 (unit-resolution @x421 @x991 $x356) @x845 x3$) $x363))) (let (($x369 (or $x364 $x355))) (let ((@x370 (asserted $x369))) (let ((@x878 (unit-resolution @x370 (unit-resolution @x67 (unit-resolution @x421 @x991 $x356) @x845 x3$) $x364))) (let ((@x879 (unit-resolution @x128 @x878 (unit-resolution (asserted (or $x495 $x425)) @x732 $x425) (unit-resolution (asserted (or $x410 $x411)) @x991 $x410) x9$))) (let (($x371 (not x35$))) (let (($x443 (or $x424 $x371))) (let ((@x444 (asserted $x443))) (let ((@x912 (lemma (unit-resolution @x444 @x879 (unit-resolution @x77 @x980 x35$) false) (or x2$ x12$ x19$ x52$ x47$ x38$)))) (let ((@x1091 (unit-resolution @x912 @x882 @x757 @x756 @x974 @x853 x2$))) (let (($x359 (or $x355 $x347))) (let ((@x360 (asserted $x359))) (let ((@x784 (unit-resolution @x706 (unit-resolution (asserted (or $x347 (not x1$))) @x1091 (not x1$)) x31$))) (let ((@x808 (unit-resolution @x108 (unit-resolution @x389 @x784 $x382) (unit-resolution @x350 @x1091 $x348) @x853 x7$))) (let (($x418 (or $x411 $x396))) (let ((@x419 (asserted $x418))) (let ((@x913 (hypothesis $x410))) (let ((@x931 (unit-resolution @x193 (unit-resolution @x500 (hypothesis x13$) $x495) @x974 x41$))) (let ((@x867 (unit-resolution @x128 (unit-resolution @x440 @x931 $x424) (unit-resolution @x508 (hypothesis x13$) $x425) @x913 x34$))) (let ((@x917 (unit-resolution @x77 (unit-resolution (asserted (or $x438 $x371)) @x931 $x371) x4$))) (let ((@x1090 (lemma (unit-resolution @x366 @x917 @x867 false) (or $x481 x8$ x47$)))) (let ((@x1056 (unit-resolution @x1090 (unit-resolution @x1011 (unit-resolution @x360 @x1091 $x355) @x853 $x410) @x974 $x481))) (let ((@x1057 (unit-resolution @x175 @x1056 @x882 (unit-resolution @x419 @x808 $x411) x45$))) (let ((@x937 (unit-resolution @x242 (unit-resolution @x559 @x1057 $x552) @x757 @x756 x46$))) (let ((@x884 (unit-resolution @x193 (unit-resolution (asserted (or $x495 $x496)) @x937 $x495) @x974 x41$))) (let ((@x800 (unit-resolution @x128 (unit-resolution @x440 @x884 $x424) (unit-resolution @x506 @x937 $x425) (unit-resolution @x1011 (unit-resolution @x360 @x1091 $x355) @x853 $x410) x34$))) (let ((@x864 (unit-resolution @x77 (unit-resolution (asserted (or $x438 $x371)) @x884 $x371) x4$))) (let ((@x1089 (lemma (unit-resolution @x366 @x864 @x800 false) (or x12$ x47$ x19$ x52$ x38$)))) (let ((@x1116 (unit-resolution @x1089 @x853 @x757 @x756 @x974 x12$))) (let (($x489 (or $x482 $x467))) (let ((@x490 (asserted $x489))) (let (($x539 (not x50$))) (let (($x619 (or $x610 $x539))) (let ((@x620 (asserted $x619))) (let ((@x1058 (unit-resolution @x620 (hypothesis x56$) $x539))) (let (($x524 (not x16$))) (let (($x587 (not x20$))) (let ((@x896 (hypothesis $x539))) (let (($x517 (not x48$))) (let ((@x841 (hypothesis $x517))) (let ((@x989 (unit-resolution @x193 (unit-resolution (asserted (or $x495 $x496)) (hypothesis x46$) $x495) @x974 x41$))) (let (($x441 (or $x438 $x371))) (let ((@x442 (asserted $x441))) (let ((@x838 (unit-resolution @x368 (unit-resolution @x77 (unit-resolution @x442 @x989 $x371) x4$) $x355))) (let ((@x1053 (unit-resolution @x366 (unit-resolution @x77 (unit-resolution @x442 @x989 $x371) x4$) $x364))) (let ((@x862 (unit-resolution @x128 @x1053 (unit-resolution @x440 @x989 $x424) (unit-resolution @x506 (hypothesis x46$) $x425) x8$))) (let (($x416 (or $x410 $x356))) (let ((@x417 (asserted $x416))) (let ((@x987 (unit-resolution @x350 (unit-resolution @x67 (unit-resolution @x417 @x862 $x356) @x838 x2$) $x348))) (let (($x335 (not x1$))) (let (($x351 (or $x347 $x335))) (let ((@x352 (asserted $x351))) (let ((@x935 (unit-resolution @x352 (unit-resolution @x67 (unit-resolution @x417 @x862 $x356) @x838 x2$) $x335))) (let ((@x746 (unit-resolution @x706 @x935 x31$))) (let ((@x1060 (unit-resolution @x108 (unit-resolution @x389 @x746 $x382) (unit-resolution @x415 @x862 $x396) @x987 x38$))) (let (($x479 (or $x453 $x397))) (let ((@x480 (asserted $x479))) (let (($x445 (not x10$))) (let (($x720 (or x5$ x36$))) (let ((@x719 (monotonicity (iff-false (asserted (not x30$)) (= x30$ false)) (= (or x5$ x36$ x30$) (or x5$ x36$ false))))) (let ((@x724 (trans @x719 (rewrite (= (or x5$ x36$ false) $x720)) (= (or x5$ x36$ x30$) $x720)))) (let (($x85 (or x5$ x36$ x30$))) (let ((@x88 (mp (asserted (or x5$ (or x36$ x30$))) (rewrite (= (or x5$ (or x36$ x30$)) $x85)) $x85))) (let ((@x725 (mp @x88 @x724 $x720))) (let ((@x810 (unit-resolution @x725 (unit-resolution (asserted (or (not x5$) $x336)) @x746 (not x5$)) x36$))) (let (($x375 (not x36$))) (let (($x449 (or $x445 $x375))) (let ((@x450 (asserted $x449))) (let (($x152 (or x11$ x43$ x10$ x37$))) (let ((@x155 (mp (asserted (or x11$ (or x43$ (or x10$ x37$)))) (rewrite (= (or x11$ (or x43$ (or x10$ x37$))) $x152)) $x152))) (let ((@x840 (unit-resolution @x155 (unit-resolution @x450 @x810 $x445) (unit-resolution (asserted (or (not x37$) $x336)) @x746 (not x37$)) (unit-resolution @x480 @x1060 $x453) x43$))) (let (($x199 (or x15$ x48$ x42$))) (let ((@x202 (mp (asserted (or x15$ (or x48$ x42$))) (rewrite (= (or x15$ (or x48$ x42$)) $x199)) $x199))) (let ((@x712 (unit-resolution @x202 (unit-resolution (asserted (or (not x42$) $x375)) @x810 (not x42$)) @x841 x15$))) (let (($x454 (not x43$))) (let (($x516 (not x15$))) (let (($x536 (or $x516 $x454))) (let ((@x537 (asserted $x536))) (let ((@x844 (lemma (unit-resolution @x537 @x712 @x840 false) (or $x496 x48$ x47$)))) (let ((@x893 (unit-resolution @x242 (unit-resolution @x844 @x841 @x974 $x496) @x757 @x756 x18$))) (let (($x556 (or $x552 $x538))) (let ((@x557 (asserted $x556))) (let (($x446 (not x42$))) (let ((@x1023 (unit-resolution @x559 @x893 $x482))) (let (($x468 (not x44$))) (let ((@x738 (unit-resolution @x725 (unit-resolution (asserted (or $x446 $x375)) (hypothesis x42$) $x375) x5$))) (let (($x374 (not x5$))) (let (($x394 (or $x374 $x336))) (let ((@x395 (asserted $x394))) (let (($x353 (or $x348 $x335))) (let ((@x354 (asserted $x353))) (let ((@x1005 (unit-resolution @x354 (unit-resolution @x706 (unit-resolution @x395 @x738 $x336) x1$) $x348))) (let ((@x983 (unit-resolution @x352 (unit-resolution @x706 (unit-resolution @x395 @x738 $x336) x1$) $x347))) (let ((@x998 (hypothesis $x482))) (let ((@x932 (unit-resolution @x128 (unit-resolution @x417 @x992 $x410) @x922 @x999 x40$))) (let ((@x1030 (hypothesis $x348))) (let ((@x1031 (hypothesis $x382))) (let ((@x1039 (unit-resolution @x108 (unit-resolution (asserted (or $x396 $x356)) @x992 $x396) @x1031 @x1030 x38$))) (let (($x473 (or $x467 $x397))) (let ((@x474 (asserted $x473))) (let ((@x971 (unit-resolution @x175 (unit-resolution @x474 @x1039 $x467) (unit-resolution @x508 @x932 $x481) @x998 (unit-resolution @x421 @x992 $x411) false))) (let ((@x1013 (lemma @x971 (or $x438 x45$ x6$ x32$ x2$)))) (let ((@x1040 (unit-resolution @x1013 (unit-resolution (asserted (or $x382 $x374)) @x738 $x382) @x998 @x1005 @x983 $x438))) (let (($x447 (or $x445 $x446))) (let ((@x448 (asserted $x447))) (let ((@x830 (unit-resolution @x448 (hypothesis x42$) $x445))) (let ((@x1020 (hypothesis x12$))) (let (($x469 (or $x467 $x468))) (let ((@x470 (asserted $x469))) (let ((@x1021 (unit-resolution @x470 @x1020 $x468))) (let (($x219 (or x17$ x50$ x16$ x44$))) (let ((@x222 (mp (asserted (or x17$ (or x50$ (or x16$ x44$)))) (rewrite (= (or x17$ (or x50$ (or x16$ x44$))) $x219)) $x219))) (let (($x471 (or $x467 $x453))) (let ((@x472 (asserted $x471))) (let ((@x889 (unit-resolution @x472 @x1020 $x453))) (let ((@x924 (unit-resolution @x155 @x889 (hypothesis $x445) (hypothesis (not x37$)) x43$))) (let (($x530 (or $x524 $x454))) (let ((@x531 (asserted $x530))) (let ((@x925 (unit-resolution @x531 @x924 (unit-resolution @x222 @x1021 @x897 @x896 x16$) false))) (let ((@x1075 (lemma @x925 (or $x467 x10$ x37$ x17$ x50$)))) (let ((@x831 (unit-resolution @x1075 @x830 (unit-resolution (asserted (or (not x37$) $x374)) @x738 (not x37$)) @x897 @x896 $x467))) (let ((@x856 (unit-resolution @x175 @x831 @x998 (unit-resolution @x500 (unit-resolution @x193 @x1040 @x974 x14$) $x481) x39$))) (let ((@x715 (unit-resolution @x108 (unit-resolution @x419 @x856 $x396) (unit-resolution (asserted (or $x382 $x374)) @x738 $x382) @x1005 x38$))) (let (($x477 (or $x468 $x397))) (let ((@x478 (asserted $x477))) (let ((@x850 (unit-resolution @x222 (unit-resolution @x478 @x715 $x468) @x897 @x896 x16$))) (let ((@x828 (unit-resolution @x155 (unit-resolution @x480 @x715 $x453) @x830 (unit-resolution (asserted (or (not x37$) $x374)) @x738 (not x37$)) x43$))) (let ((@x1001 (lemma (unit-resolution @x531 @x828 @x850 false) (or $x446 x17$ x50$ x45$ x47$)))) (let ((@x762 (unit-resolution @x1001 (unit-resolution @x557 @x893 $x538) @x896 @x1023 @x974 $x446))) (let (($x528 (or $x524 $x516))) (let ((@x529 (asserted $x528))) (let ((@x1017 (unit-resolution @x222 (unit-resolution @x529 (unit-resolution @x202 @x762 @x841 x15$) $x524) (unit-resolution @x557 @x893 $x538) @x896 x44$))) (let ((@x901 (unit-resolution @x706 (unit-resolution @x395 (hypothesis x5$) $x336) x1$))) (let ((@x823 (unit-resolution @x108 (unit-resolution @x354 @x901 $x348) @x853 (unit-resolution (asserted (or $x382 $x374)) (hypothesis x5$) $x382) x7$))) (let ((@x740 (unit-resolution @x1013 (unit-resolution @x354 @x901 $x348) @x998 (unit-resolution (asserted (or $x382 $x374)) (hypothesis x5$) $x382) (unit-resolution @x352 @x901 $x347) $x438))) (let ((@x835 (unit-resolution @x175 (unit-resolution @x500 (unit-resolution @x193 @x740 @x974 x14$) $x481) (unit-resolution @x419 @x823 $x411) @x998 @x882 false))) (let ((@x769 (lemma @x835 (or $x374 x45$ x12$ x47$ x38$)))) (let ((@x898 (unit-resolution @x769 @x1023 (unit-resolution @x470 @x1017 $x467) @x974 (unit-resolution @x478 @x1017 $x397) $x374))) (let ((@x735 (unit-resolution @x155 (unit-resolution @x450 (unit-resolution @x725 @x898 x36$) $x445) (unit-resolution @x537 (unit-resolution @x202 @x762 @x841 x15$) $x454) (unit-resolution (asserted (or $x468 $x453)) @x1017 $x453) x37$))) (let (($x383 (not x37$))) (let (($x384 (or $x382 $x383))) (let ((@x385 (asserted $x384))) (let ((@x946 (unit-resolution @x706 (unit-resolution (asserted (or $x383 $x336)) @x735 $x336) x1$))) (let ((@x836 (unit-resolution @x108 (unit-resolution @x354 @x946 $x348) (unit-resolution @x478 @x1017 $x397) (unit-resolution @x385 @x735 $x382) x7$))) (let ((@x1025 (unit-resolution @x1013 (unit-resolution @x354 @x946 $x348) @x1023 (unit-resolution @x385 @x735 $x382) (unit-resolution @x352 @x946 $x347) $x438))) (let ((@x886 (unit-resolution @x175 (unit-resolution @x500 (unit-resolution @x193 @x1025 @x974 x14$) $x481) (unit-resolution @x419 @x836 $x411) @x1023 (unit-resolution @x470 @x1017 $x467) false))) (let ((@x1059 (unit-resolution (lemma @x886 (or x48$ x47$ x50$ x19$ x52$)) @x1058 @x974 @x757 @x756 x48$))) (let (($x591 (or $x587 $x517))) (let ((@x592 (asserted $x591))) (let (($x595 (not x21$))) (let (($x617 (or $x610 $x595))) (let ((@x618 (asserted $x617))) (let (($x596 (not x55$))) (let (($x302 (or x25$ x54$))) (let ((@x307 (asserted $x302))) (let ((@x855 (unit-resolution @x307 (unit-resolution (asserted (or (not x54$) $x517)) @x1059 (not x54$)) x25$))) (let (($x665 (or $x657 $x596))) (let ((@x666 (asserted $x665))) (let (($x266 (or x21$ x55$ x20$ x49$))) (let ((@x269 (mp (asserted (or x21$ (or x55$ (or x20$ x49$)))) (rewrite (= (or x21$ (or x55$ (or x20$ x49$))) $x266)) $x266))) (let ((@x911 (unit-resolution @x269 (unit-resolution @x666 @x855 $x596) (unit-resolution @x618 (hypothesis x56$) $x595) (unit-resolution @x592 @x1059 $x587) x49$))) (let (($x525 (not x49$))) (let (($x526 (or $x524 $x525))) (let ((@x527 (asserted $x526))) (let ((@x1006 (unit-resolution @x242 (unit-resolution @x557 (hypothesis x17$) $x552) @x757 @x756 x46$))) (let (($x503 (or $x496 $x481))) (let ((@x504 (asserted $x503))) (let ((@x752 (unit-resolution @x175 (unit-resolution @x504 @x1006 $x481) (unit-resolution (asserted (or $x538 $x482)) (hypothesis x17$) $x482) @x882 x39$))) (let (($x412 (or $x410 $x411))) (let ((@x413 (asserted $x412))) (let ((@x806 (unit-resolution @x193 (unit-resolution (asserted (or $x495 $x496)) @x1006 $x495) @x974 x41$))) (let ((@x954 (unit-resolution @x128 (unit-resolution @x440 @x806 $x424) (unit-resolution @x506 @x1006 $x425) (unit-resolution @x413 @x752 $x410) x34$))) (let ((@x745 (unit-resolution @x366 (unit-resolution @x77 (unit-resolution @x442 @x806 $x371) x4$) @x954 false))) (let ((@x771 (lemma @x745 (or $x538 x12$ x47$ x19$ x52$)))) (let ((@x928 (unit-resolution @x222 (unit-resolution @x771 @x882 @x974 @x757 @x756 $x538) (hypothesis $x524) @x896 x44$))) (let ((@x929 (unit-resolution @x478 @x928 $x397))) (let ((@x832 (hypothesis $x454))) (let ((@x859 (unit-resolution @x242 (unit-resolution (asserted (or $x495 $x496)) (hypothesis x14$) $x496) @x757 @x756 x18$))) (let ((@x951 (unit-resolution @x175 (unit-resolution @x559 @x859 $x482) (unit-resolution @x500 (hypothesis x14$) $x481) @x882 x39$))) (let ((@x833 (unit-resolution @x769 (unit-resolution @x559 @x859 $x482) @x882 @x974 @x853 $x374))) (let ((@x1076 (unit-resolution @x155 (unit-resolution @x450 (unit-resolution @x725 @x833 x36$) $x445) @x832 @x815 x37$))) (let ((@x872 (unit-resolution @x108 (unit-resolution @x385 @x1076 $x382) (unit-resolution @x419 @x951 $x396) @x853 x32$))) (let ((@x962 (unit-resolution @x706 (unit-resolution (asserted (or $x383 $x336)) @x1076 $x336) x1$))) (let ((@x861 (lemma (unit-resolution @x354 @x962 @x872 false) (or $x495 x38$ x43$ x11$ x12$ x47$ x19$ x52$)))) (let ((@x1079 (unit-resolution @x861 @x929 @x832 (unit-resolution (asserted (or $x468 $x453)) @x928 $x453) @x882 @x974 @x757 @x756 $x495))) (let ((@x709 (unit-resolution @x77 (unit-resolution @x442 (unit-resolution @x193 @x1079 @x974 x41$) $x371) x4$))) (let ((@x939 (unit-resolution @x128 (unit-resolution @x1011 @x929 (unit-resolution @x368 @x709 $x355) $x410) (unit-resolution @x440 (unit-resolution @x193 @x1079 @x974 x41$) $x424) (unit-resolution @x366 @x709 $x364) x40$))) (let ((@x754 (unit-resolution @x242 (unit-resolution @x506 @x939 $x496) @x757 @x756 x18$))) (let ((@x904 (unit-resolution @x175 (unit-resolution @x559 @x754 $x482) (unit-resolution @x508 @x939 $x481) @x882 x39$))) (let ((@x877 (unit-resolution @x67 (unit-resolution @x421 @x904 $x356) (unit-resolution @x368 @x709 $x355) x2$))) (let ((@x927 (unit-resolution @x769 (unit-resolution @x559 @x754 $x482) @x882 @x974 @x929 $x374))) (let ((@x880 (unit-resolution @x155 (unit-resolution @x450 (unit-resolution @x725 @x927 x36$) $x445) @x832 (unit-resolution (asserted (or $x468 $x453)) @x928 $x453) x37$))) (let ((@x812 (unit-resolution @x108 (unit-resolution @x385 @x880 $x382) (unit-resolution @x350 @x877 $x348) (unit-resolution @x419 @x904 $x396) @x929 false))) (let ((@x713 (unit-resolution (lemma @x812 (or x12$ x43$ x47$ x19$ x52$ x16$ x50$)) (unit-resolution (asserted (or $x525 $x454)) @x911 $x454) @x974 @x757 @x756 (unit-resolution @x527 @x911 $x524) @x1058 x12$))) (let ((@x817 (unit-resolution @x222 (unit-resolution @x470 @x713 $x468) (unit-resolution @x527 @x911 $x524) @x1058 x17$))) (let ((@x903 (unit-resolution @x242 (unit-resolution @x557 @x817 $x552) @x757 @x756 x46$))) (let (($x497 (or $x495 $x496))) (let ((@x498 (asserted $x497))) (let ((@x748 (unit-resolution @x442 (unit-resolution @x193 (unit-resolution @x498 @x903 $x495) @x974 x41$) $x371))) (let ((@x1027 (unit-resolution @x440 (unit-resolution @x193 (unit-resolution @x498 @x903 $x495) @x974 x41$) $x424))) (let ((@x890 (unit-resolution @x128 (unit-resolution @x366 (unit-resolution @x77 @x748 x4$) $x364) (unit-resolution @x506 @x903 $x425) @x1027 x8$))) (let ((@x891 (unit-resolution @x1011 @x890 (unit-resolution @x368 (unit-resolution @x77 @x748 x4$) $x355) (unit-resolution @x474 @x713 $x397) false))) (let ((@x1118 (unit-resolution (lemma @x891 (or $x610 x47$ x19$ x52$)) @x974 @x757 @x756 $x610))) (let ((@x802 (hypothesis $x623))) (let ((@x914 (hypothesis $x610))) (let (($x392 (or $x383 $x336))) (let ((@x393 (asserted $x392))) (let ((@x969 (unit-resolution @x393 (hypothesis x31$) $x383))) (let ((@x1047 (unit-resolution @x725 (unit-resolution @x395 (hypothesis x31$) $x374) x36$))) (let ((@x966 (unit-resolution @x450 @x1047 $x445))) (let (($x615 (or $x609 $x539))) (let ((@x616 (asserted $x615))) (let ((@x730 (unit-resolution @x616 (unit-resolution @x1075 @x966 @x1020 @x897 @x969 x50$) $x609))) (let (($x286 (or x23$ x57$ x22$ x51$))) (let ((@x289 (mp (asserted (or x23$ (or x57$ (or x22$ x51$)))) (rewrite (= (or x23$ (or x57$ (or x22$ x51$))) $x286)) $x286))) (let (($x624 (not x57$))) (let (($x679 (or $x667 $x624))) (let ((@x680 (asserted $x679))) (let ((@x948 (unit-resolution @x680 (unit-resolution @x289 @x730 @x802 (hypothesis $x553) x57$) $x667))) (let (($x322 (or x27$ x26$ x56$))) (let ((@x325 (mp (asserted (or x27$ (or x26$ x56$))) (rewrite (= (or x27$ (or x26$ x56$)) $x322)) $x322))) (let (($x588 (not x54$))) (let ((@x798 (unit-resolution @x537 (unit-resolution @x155 @x966 @x889 @x969 x43$) $x516))) (let ((@x799 (unit-resolution @x202 @x798 (unit-resolution (asserted (or $x446 $x375)) @x1047 $x446) x48$))) (let (($x593 (or $x588 $x517))) (let ((@x594 (asserted $x593))) (let (($x660 (not x26$))) (let (($x661 (or $x660 $x657))) (let ((@x662 (asserted $x661))) (let ((@x1094 (unit-resolution @x662 (unit-resolution @x307 (unit-resolution @x594 @x799 $x588) x25$) (unit-resolution @x325 @x948 @x914 x26$) false))) (let ((@x1096 (lemma @x1094 (or $x336 x56$ x23$ x51$ $x467 x17$)))) (let ((@x1099 (unit-resolution @x1096 (unit-resolution (asserted (or $x552 $x553)) @x859 $x553) @x802 @x914 @x1020 (unit-resolution @x557 @x859 $x538) $x336))) (let ((@x804 (unit-resolution @x725 (unit-resolution (asserted (or $x382 $x374)) (hypothesis x6$) $x374) x36$))) (let ((@x1008 (unit-resolution @x1075 (unit-resolution @x450 @x804 $x445) @x1020 @x897 (unit-resolution @x385 (hypothesis x6$) $x383) x50$))) (let ((@x874 (unit-resolution @x289 (unit-resolution @x616 @x1008 $x609) @x802 (hypothesis $x553) x57$))) (let ((@x766 (unit-resolution @x155 (unit-resolution @x450 @x804 $x445) @x889 (unit-resolution @x385 (hypothesis x6$) $x383) x43$))) (let ((@x818 (unit-resolution @x202 (unit-resolution @x537 @x766 $x516) (unit-resolution (asserted (or $x446 $x375)) @x804 $x446) x48$))) (let ((@x783 (unit-resolution @x662 (unit-resolution @x307 (unit-resolution @x594 @x818 $x588) x25$) (unit-resolution @x325 (unit-resolution @x680 @x874 $x667) @x914 x26$) false))) (let ((@x737 (lemma @x783 (or $x382 x56$ x23$ x51$ $x467 x17$)))) (let ((@x1102 (unit-resolution @x737 (unit-resolution (asserted (or $x552 $x553)) @x859 $x553) @x802 @x914 @x1020 (unit-resolution @x557 @x859 $x538) $x382))) (let ((@x1104 (unit-resolution @x108 (unit-resolution @x354 (unit-resolution @x706 @x1099 x1$) $x348) @x1102 @x853 x7$))) (let (($x422 (or $x396 $x356))) (let ((@x423 (asserted $x422))) (let ((@x1106 (unit-resolution @x67 (unit-resolution @x423 @x1104 $x356) (unit-resolution @x352 (unit-resolution @x706 @x1099 x1$) $x347) x3$))) (let ((@x1112 (unit-resolution @x128 (unit-resolution @x370 @x1106 $x364) (unit-resolution (asserted (or $x495 $x425)) (hypothesis x14$) $x425) (unit-resolution @x415 @x1104 $x410) x9$))) (let ((@x1113 (unit-resolution @x444 @x1112 (unit-resolution @x77 (unit-resolution @x368 @x1106 $x363) x35$) false))) (let ((@x1119 (unit-resolution (lemma @x1113 (or $x495 x38$ x23$ x56$ $x467 x19$ x52$)) @x853 @x802 @x1118 @x1116 @x757 @x756 $x495))) (let ((@x1120 (unit-resolution @x193 @x1119 @x974 x41$))) (let ((@x1123 (unit-resolution @x366 (unit-resolution @x77 (unit-resolution @x442 @x1120 $x371) x4$) $x364))) (let ((@x1125 (unit-resolution @x368 (unit-resolution @x77 (unit-resolution @x442 @x1120 $x371) x4$) $x355))) (let ((@x1127 (unit-resolution @x128 (unit-resolution @x1011 @x1125 @x853 $x410) (unit-resolution @x440 @x1120 $x424) @x1123 x40$))) (let ((@x1129 (unit-resolution @x242 (unit-resolution @x506 @x1127 $x496) @x757 @x756 x18$))) (let ((@x1132 (unit-resolution @x737 (unit-resolution (asserted (or $x552 $x553)) @x1129 $x553) @x802 @x1118 @x1116 (unit-resolution @x557 @x1129 $x538) $x382))) (let ((@x1133 (unit-resolution @x1096 (unit-resolution (asserted (or $x552 $x553)) @x1129 $x553) @x802 @x1118 @x1116 (unit-resolution @x557 @x1129 $x538) $x336))) (let ((@x1137 (unit-resolution @x1013 (unit-resolution @x354 (unit-resolution @x706 @x1133 x1$) $x348) (unit-resolution @x352 (unit-resolution @x706 @x1133 x1$) $x347) @x1120 @x1132 (unit-resolution @x490 @x1116 $x482) false))) (let ((@x1185 (unit-resolution (lemma @x1137 (or x38$ x23$ x19$ x52$ x47$)) (unit-resolution @x646 (hypothesis x58$) $x623) @x1182 @x756 @x1183 x38$))) (let ((@x1188 (unit-resolution @x474 @x1185 $x467))) (let ((@x1140 (unit-resolution @x155 @x966 @x815 @x969 x43$))) (let (($x534 (or $x525 $x454))) (let ((@x535 (asserted $x534))) (let ((@x1142 (hypothesis $x468))) (let ((@x1144 (unit-resolution @x222 (unit-resolution @x531 @x1140 $x524) @x897 @x1142 x50$))) (let (($x621 (or $x595 $x539))) (let ((@x622 (asserted $x621))) (let ((@x1147 (unit-resolution @x202 (unit-resolution @x537 @x1140 $x516) (unit-resolution (asserted (or $x446 $x375)) @x1047 $x446) x48$))) (let ((@x1149 (unit-resolution @x269 (unit-resolution @x592 @x1147 $x587) (unit-resolution @x622 @x1144 $x595) (unit-resolution @x535 @x1140 $x525) x55$))) (let ((@x1152 (unit-resolution @x666 (unit-resolution @x307 (unit-resolution @x594 @x1147 $x588) x25$) @x1149 false))) (let ((@x1154 (lemma @x1152 (or $x336 x17$ x44$ x11$)))) (let ((@x1190 (unit-resolution @x1154 (unit-resolution @x771 @x1188 @x1183 @x1182 @x756 $x538) (unit-resolution @x478 @x1185 $x468) (unit-resolution @x480 @x1185 $x453) $x336))) (let ((@x1156 (unit-resolution @x559 (unit-resolution @x1013 @x728 @x1030 @x1031 @x845 x45$) $x552))) (let ((@x1159 (unit-resolution @x506 (unit-resolution @x128 @x999 @x913 @x922 x40$) (unit-resolution @x242 @x1156 @x757 @x756 x46$) false))) (let ((@x1163 (unit-resolution (lemma @x1159 (or $x438 x8$ x19$ x52$ x32$ x6$ x2$)) @x913 @x757 @x756 @x1030 @x1031 @x845 $x438))) (let ((@x1166 (unit-resolution @x242 (unit-resolution @x498 (unit-resolution @x193 @x1163 @x974 x14$) $x496) @x757 @x756 x18$))) (let ((@x1168 (unit-resolution @x175 (unit-resolution @x559 @x1166 $x482) @x882 (unit-resolution @x1090 @x913 @x974 $x481) x39$))) (let ((@x1171 (unit-resolution @x368 (unit-resolution @x67 (unit-resolution @x421 @x1168 $x356) @x845 x3$) $x363))) (let (($x501 (or $x495 $x425))) (let ((@x502 (asserted $x501))) (let ((@x1174 (unit-resolution @x370 (unit-resolution @x67 (unit-resolution @x421 @x1168 $x356) @x845 x3$) $x364))) (let ((@x1175 (unit-resolution @x128 @x1174 @x913 (unit-resolution @x502 (unit-resolution @x193 @x1163 @x974 x14$) $x425) x9$))) (let ((@x1178 (lemma (unit-resolution @x444 @x1175 (unit-resolution @x77 @x1171 x35$) false) (or x8$ x2$ x12$ x19$ x52$ x47$ x32$ x6$)))) (let ((@x1195 (unit-resolution @x1178 (unit-resolution @x352 (unit-resolution @x706 @x1190 x1$) $x347) @x1188 @x1182 @x756 @x1183 (unit-resolution (asserted (or $x397 $x348)) @x1185 $x348) (unit-resolution (asserted (or $x397 $x382)) @x1185 $x382) x8$))) (let ((@x1197 (unit-resolution @x67 (unit-resolution @x417 @x1195 $x356) (unit-resolution @x352 (unit-resolution @x706 @x1190 x1$) $x347) x3$))) (let ((@x1200 (unit-resolution @x442 (unit-resolution @x77 (unit-resolution @x368 @x1197 $x363) x35$) $x438))) (let ((@x1203 (unit-resolution @x242 (unit-resolution @x498 (unit-resolution @x193 @x1200 @x1183 x14$) $x496) @x1182 @x756 x18$))) (let ((@x1206 (unit-resolution @x175 (unit-resolution @x500 (unit-resolution @x193 @x1200 @x1183 x14$) $x481) @x1188 (unit-resolution @x413 @x1195 $x411) x45$))) (let ((@x1215 (unit-resolution (lemma (unit-resolution @x559 @x1206 @x1203 false) (or $x638 x52$)) @x756 $x638))) (let (($x328 (or x28$ x58$))) (let ((@x792 (monotonicity (iff-false (asserted (not x29$)) (= x29$ false)) (= (or x29$ x28$ x58$) (or false x28$ x58$))))) (let ((@x796 (trans @x792 (rewrite (= (or false x28$ x58$) $x328)) (= (or x29$ x28$ x58$) $x328)))) (let (($x337 (or x29$ x28$ x58$))) (let ((@x340 (mp (asserted (or x29$ $x328)) (rewrite (= (or x29$ $x328) $x337)) $x337))) (let ((@x797 (mp @x340 @x796 $x328))) (let (($x674 (not x28$))) (let (($x675 (or $x674 $x667))) (let ((@x676 (asserted $x675))) (let ((@x1224 (unit-resolution @x676 (unit-resolution @x797 @x1215 x28$) $x667))) (let ((@x1285 (hypothesis $x438))) (let ((@x708 (hypothesis $x411))) (let ((@x1210 (hypothesis $x496))) (let ((@x1213 (unit-resolution @x242 (unit-resolution (asserted (or $x566 $x509)) (hypothesis x47$) $x566) @x1210 @x756 x18$))) (let (($x554 (or $x552 $x553))) (let ((@x555 (asserted $x554))) (let (($x677 (or $x674 $x624))) (let ((@x678 (asserted $x677))) (let ((@x1217 (unit-resolution @x678 (unit-resolution @x797 @x1215 x28$) $x624))) (let ((@x1219 (unit-resolution @x779 (unit-resolution @x584 (hypothesis x47$) $x580) x24$))) (let (($x641 (or $x637 $x623))) (let ((@x642 (asserted $x641))) (let ((@x1221 (unit-resolution @x289 (unit-resolution @x642 @x1219 $x623) @x1217 (unit-resolution @x555 @x1213 $x553) x22$))) (let ((@x1226 (unit-resolution @x325 (unit-resolution (asserted (or $x609 $x610)) @x1221 $x610) @x1224 x26$))) (let (($x663 (or $x660 $x596))) (let ((@x664 (asserted $x663))) (let (($x589 (or $x587 $x588))) (let ((@x590 (asserted $x589))) (let ((@x1231 (unit-resolution @x590 (unit-resolution @x307 (unit-resolution @x662 @x1226 $x657) x54$) $x587))) (let ((@x1232 (unit-resolution @x269 @x1231 (unit-resolution (asserted (or $x609 $x595)) @x1221 $x595) (unit-resolution @x664 @x1226 $x596) x49$))) (let ((@x1234 (unit-resolution @x222 (unit-resolution @x527 @x1232 $x524) (unit-resolution @x557 @x1213 $x538) (unit-resolution @x616 @x1221 $x539) x44$))) (let (($x475 (or $x468 $x453))) (let ((@x476 (asserted $x475))) (let ((@x1237 (unit-resolution @x594 (unit-resolution @x307 (unit-resolution @x662 @x1226 $x657) x54$) $x517))) (let ((@x1239 (unit-resolution @x202 (unit-resolution (asserted (or $x525 $x516)) @x1232 $x516) @x1237 x42$))) (let ((@x1241 (unit-resolution @x155 (unit-resolution @x448 @x1239 $x445) (unit-resolution @x535 @x1232 $x454) (unit-resolution @x476 @x1234 $x453) x37$))) (let ((@x1243 (unit-resolution @x725 (unit-resolution (asserted (or $x446 $x375)) @x1239 $x375) x5$))) (let (($x390 (or $x383 $x374))) (let ((@x391 (asserted $x390))) (let ((@x1246 (lemma (unit-resolution @x391 @x1243 @x1241 false) (or $x509 x46$ x52$)))) (let ((@x1247 (unit-resolution @x1246 @x1210 @x756 $x509))) (let ((@x1249 (unit-resolution @x175 (unit-resolution @x1090 @x1247 @x913 $x481) @x882 @x708 x45$))) (let (($x562 (or $x553 $x482))) (let ((@x563 (asserted $x562))) (let ((@x1252 (unit-resolution @x242 (unit-resolution @x559 @x1249 $x552) @x1210 @x756 x19$))) (let ((@x1255 (unit-resolution @x642 (unit-resolution @x779 (unit-resolution @x582 @x1252 $x580) x24$) $x623))) (let ((@x1256 (unit-resolution @x289 @x1255 @x1217 (unit-resolution @x563 @x1249 $x553) x22$))) (let ((@x1260 (unit-resolution @x325 (unit-resolution (asserted (or $x609 $x610)) @x1256 $x610) @x1224 x26$))) (let ((@x1265 (unit-resolution @x590 (unit-resolution @x307 (unit-resolution @x662 @x1260 $x657) x54$) $x587))) (let ((@x1266 (unit-resolution @x269 @x1265 (unit-resolution (asserted (or $x609 $x595)) @x1256 $x595) (unit-resolution @x664 @x1260 $x596) x49$))) (let ((@x1268 (unit-resolution @x222 (unit-resolution @x527 @x1266 $x524) (unit-resolution (asserted (or $x538 $x482)) @x1249 $x538) (unit-resolution @x616 @x1256 $x539) x44$))) (let ((@x1271 (unit-resolution @x594 (unit-resolution @x307 (unit-resolution @x662 @x1260 $x657) x54$) $x517))) (let ((@x1273 (unit-resolution @x202 (unit-resolution (asserted (or $x525 $x516)) @x1266 $x516) @x1271 x42$))) (let ((@x1275 (unit-resolution @x155 (unit-resolution @x448 @x1273 $x445) (unit-resolution @x535 @x1266 $x454) (unit-resolution @x476 @x1268 $x453) x37$))) (let ((@x1277 (unit-resolution @x725 (unit-resolution (asserted (or $x446 $x375)) @x1273 $x375) x5$))) (let ((@x1280 (lemma (unit-resolution @x391 @x1277 @x1275 false) (or x46$ x52$ x12$ x39$ x8$)))) (let ((@x1282 (unit-resolution @x504 (unit-resolution @x1280 @x708 @x882 @x756 @x913 x46$) $x481))) (let ((@x1284 (unit-resolution @x563 (unit-resolution @x175 @x1282 @x882 @x708 x45$) $x553))) (let ((@x1286 (unit-resolution @x498 (unit-resolution @x1280 @x708 @x882 @x756 @x913 x46$) $x495))) (let ((@x1289 (unit-resolution @x779 (unit-resolution @x584 (unit-resolution @x193 @x1286 @x1285 x47$) $x580) x24$))) (let ((@x1291 (unit-resolution @x289 (unit-resolution @x642 @x1289 $x623) @x1217 @x1284 x22$))) (let (($x564 (or $x538 $x482))) (let ((@x565 (asserted $x564))) (let ((@x1293 (unit-resolution @x565 (unit-resolution @x175 @x1282 @x882 @x708 x45$) $x538))) (let ((@x1295 (unit-resolution @x325 (unit-resolution (asserted (or $x609 $x610)) @x1291 $x610) @x1224 x26$))) (let ((@x1300 (unit-resolution @x590 (unit-resolution @x307 (unit-resolution @x662 @x1295 $x657) x54$) $x587))) (let ((@x1301 (unit-resolution @x269 @x1300 (unit-resolution (asserted (or $x609 $x595)) @x1291 $x595) (unit-resolution @x664 @x1295 $x596) x49$))) (let ((@x1303 (unit-resolution @x222 (unit-resolution @x527 @x1301 $x524) @x1293 (unit-resolution @x616 @x1291 $x539) x44$))) (let ((@x1306 (unit-resolution @x594 (unit-resolution @x307 (unit-resolution @x662 @x1295 $x657) x54$) $x517))) (let ((@x1308 (unit-resolution @x202 (unit-resolution (asserted (or $x525 $x516)) @x1301 $x516) @x1306 x42$))) (let ((@x1310 (unit-resolution @x155 (unit-resolution @x448 @x1308 $x445) (unit-resolution @x535 @x1301 $x454) (unit-resolution @x476 @x1303 $x453) x37$))) (let ((@x1312 (unit-resolution @x725 (unit-resolution (asserted (or $x446 $x375)) @x1308 $x375) x5$))) (let ((@x1315 (lemma (unit-resolution @x391 @x1312 @x1310 false) (or x39$ x12$ x41$ x52$ x8$)))) (let ((@x1317 (unit-resolution @x421 (unit-resolution @x1315 @x1285 @x882 @x756 @x913 x39$) $x356))) (let ((@x1321 (unit-resolution @x77 (unit-resolution @x368 (unit-resolution @x67 @x1317 @x845 x3$) $x363) x35$))) (let ((@x1323 (unit-resolution @x128 (unit-resolution @x444 @x1321 $x424) @x913 (unit-resolution @x370 (unit-resolution @x67 @x1317 @x845 x3$) $x364) x40$))) (let ((@x1327 (unit-resolution @x1246 (unit-resolution @x193 (unit-resolution @x502 @x1323 $x495) @x1285 x47$) (unit-resolution @x506 @x1323 $x496) @x756 false))) (let ((@x1330 (unit-resolution (lemma @x1327 (or x41$ x52$ x8$ x2$ x12$)) @x845 @x913 @x756 @x882 x41$))) (let ((@x1334 (unit-resolution @x366 (unit-resolution @x77 (unit-resolution @x442 @x1330 $x371) x4$) $x364))) (let ((@x1335 (unit-resolution @x128 @x1334 @x913 (unit-resolution @x440 @x1330 $x424) x40$))) (let ((@x1337 (unit-resolution @x368 (unit-resolution @x77 (unit-resolution @x442 @x1330 $x371) x4$) $x355))) (let ((@x1340 (unit-resolution @x1280 (unit-resolution @x421 (unit-resolution @x67 @x1337 @x845 x33$) $x411) (unit-resolution @x506 @x1335 $x496) @x882 @x756 @x913 false))) (let ((@x1343 (unit-resolution (lemma @x1340 (or x2$ x12$ x52$ x8$)) @x913 @x756 @x882 x2$))) (let ((@x1345 (unit-resolution @x706 (unit-resolution @x352 @x1343 $x335) x31$))) (let (($x451 (or $x446 $x375))) (let ((@x452 (asserted $x451))) (let ((@x1348 (unit-resolution @x452 (unit-resolution @x725 (unit-resolution @x395 @x1345 $x374) x36$) $x446))) (let ((@x1349 (unit-resolution @x450 (unit-resolution @x725 (unit-resolution @x395 @x1345 $x374) x36$) $x445))) (let ((@x1354 (unit-resolution @x419 (unit-resolution @x1280 @x1210 @x882 @x756 @x913 x39$) $x396))) (let ((@x1355 (unit-resolution @x108 @x1354 (unit-resolution @x350 @x1343 $x348) (unit-resolution @x389 @x1345 $x382) x38$))) (let ((@x1357 (unit-resolution @x155 (unit-resolution @x480 @x1355 $x453) (unit-resolution @x393 @x1345 $x383) @x1349 x43$))) (let ((@x1360 (unit-resolution @x594 (unit-resolution @x202 (unit-resolution @x537 @x1357 $x516) @x1348 x48$) $x588))) (let ((@x1364 (unit-resolution @x1154 (unit-resolution @x478 @x1355 $x468) @x1345 (unit-resolution @x480 @x1355 $x453) x17$))) (let (($x560 (or $x553 $x538))) (let ((@x561 (asserted $x560))) (let ((@x1367 (unit-resolution @x582 (unit-resolution @x771 @x1364 @x882 @x1247 @x756 x19$) $x580))) (let ((@x1370 (unit-resolution @x289 (unit-resolution @x642 (unit-resolution @x779 @x1367 x24$) $x623) @x1217 (unit-resolution @x561 @x1364 $x553) x22$))) (let (($x611 (or $x609 $x610))) (let ((@x612 (asserted $x611))) (let ((@x1372 (unit-resolution @x325 (unit-resolution @x612 @x1370 $x610) (unit-resolution @x662 (unit-resolution @x307 @x1360 x25$) $x660) @x1224 false))) (let ((@x1384 (unit-resolution (lemma @x1372 (or x46$ x12$ x52$ x8$)) @x913 @x756 @x882 x46$))) (let ((@x1376 (unit-resolution (lemma @x891 (or $x610 x47$ x19$ x52$)) @x974 (unit-resolution (asserted (or $x566 $x496)) (hypothesis x46$) $x566) @x756 $x610))) (let ((@x1379 (unit-resolution @x594 (unit-resolution @x844 @x974 (hypothesis x46$) x48$) $x588))) (let ((@x1381 (unit-resolution @x662 (unit-resolution @x307 @x1379 x25$) (unit-resolution @x325 @x1376 @x1224 x26$) false))) (let ((@x1383 (lemma @x1381 (or x47$ x52$ $x496)))) (let (($x512 (or $x509 $x438))) (let ((@x513 (asserted $x512))) (let ((@x1387 (unit-resolution @x1315 (unit-resolution @x513 (unit-resolution @x1383 @x1384 @x756 x47$) $x438) @x882 @x756 @x913 x39$))) (let ((@x1389 (unit-resolution @x108 (unit-resolution @x419 @x1387 $x396) (unit-resolution @x350 @x1343 $x348) (unit-resolution @x389 @x1345 $x382) x38$))) (let ((@x1391 (unit-resolution @x155 (unit-resolution @x480 @x1389 $x453) (unit-resolution @x393 @x1345 $x383) @x1349 x43$))) (let ((@x1394 (unit-resolution @x594 (unit-resolution @x202 (unit-resolution @x537 @x1391 $x516) @x1348 x48$) $x588))) (let ((@x1397 (unit-resolution @x779 (unit-resolution @x584 (unit-resolution @x1383 @x1384 @x756 x47$) $x580) x24$))) (let ((@x1400 (unit-resolution @x1154 (unit-resolution @x480 @x1389 $x453) @x1345 (unit-resolution @x478 @x1389 $x468) x17$))) (let ((@x1402 (unit-resolution @x289 (unit-resolution @x561 @x1400 $x553) @x1217 (unit-resolution @x642 @x1397 $x623) x22$))) (let ((@x1405 (unit-resolution @x662 (unit-resolution @x325 (unit-resolution @x612 @x1402 $x610) @x1224 x26$) (unit-resolution @x307 @x1394 x25$) false))) (let ((@x1440 (unit-resolution (lemma @x1405 (or x8$ x12$ x52$)) @x882 @x756 x8$))) (let ((@x1411 (unit-resolution @x242 (unit-resolution @x559 (hypothesis x45$) $x552) @x1210 @x756 x19$))) (let ((@x1414 (unit-resolution @x642 (unit-resolution @x779 (unit-resolution @x582 @x1411 $x580) x24$) $x623))) (let ((@x1415 (unit-resolution @x289 @x1414 @x1217 (unit-resolution @x563 (hypothesis x45$) $x553) x22$))) (let ((@x1418 (unit-resolution @x662 (unit-resolution @x325 (unit-resolution @x612 @x1415 $x610) @x1224 x26$) $x657))) (let ((@x1421 (unit-resolution @x664 (unit-resolution @x325 (unit-resolution @x612 @x1415 $x610) @x1224 x26$) $x596))) (let ((@x1424 (unit-resolution @x269 (unit-resolution @x590 (unit-resolution @x307 @x1418 x54$) $x587) (unit-resolution (asserted (or $x609 $x595)) @x1415 $x595) @x1421 x49$))) (let (($x532 (or $x525 $x516))) (let ((@x533 (asserted $x532))) (let ((@x1426 (unit-resolution @x202 (unit-resolution @x533 @x1424 $x516) (unit-resolution @x594 (unit-resolution @x307 @x1418 x54$) $x517) x42$))) (let ((@x1432 (unit-resolution @x222 (unit-resolution @x527 @x1424 $x524) (unit-resolution @x565 (hypothesis x45$) $x538) (unit-resolution @x616 @x1415 $x539) x44$))) (let ((@x1434 (unit-resolution @x155 (unit-resolution @x476 @x1432 $x453) (unit-resolution @x535 @x1424 $x454) (unit-resolution @x448 @x1426 $x445) x37$))) (let ((@x1437 (unit-resolution @x391 (unit-resolution @x725 (unit-resolution @x452 @x1426 $x375) x5$) @x1434 false))) (let ((@x1444 (unit-resolution @x175 (unit-resolution (lemma @x1437 (or $x482 x46$ x52$)) @x1210 @x756 $x482) @x882 (unit-resolution @x413 @x1440 $x411) x13$))) (let ((@x1447 (unit-resolution @x442 (unit-resolution @x193 (unit-resolution @x500 @x1444 $x495) @x1247 x41$) $x371))) (let ((@x1450 (unit-resolution @x67 (unit-resolution @x368 (unit-resolution @x77 @x1447 x4$) $x355) (unit-resolution @x417 @x1440 $x356) x2$))) (let ((@x1452 (unit-resolution @x706 (unit-resolution @x352 @x1450 $x335) x31$))) (let ((@x1455 (unit-resolution @x452 (unit-resolution @x725 (unit-resolution @x395 @x1452 $x374) x36$) $x446))) (let ((@x1457 (unit-resolution @x1011 (unit-resolution @x368 (unit-resolution @x77 @x1447 x4$) $x355) @x1440 x38$))) (let ((@x1459 (unit-resolution @x450 (unit-resolution @x725 (unit-resolution @x395 @x1452 $x374) x36$) $x445))) (let ((@x1460 (unit-resolution @x155 @x1459 (unit-resolution @x480 @x1457 $x453) (unit-resolution @x393 @x1452 $x383) x43$))) (let ((@x1463 (unit-resolution @x594 (unit-resolution @x202 (unit-resolution @x537 @x1460 $x516) @x1455 x48$) $x588))) (let ((@x1466 (unit-resolution @x1154 @x1452 (unit-resolution @x478 @x1457 $x468) (unit-resolution @x480 @x1457 $x453) x17$))) (let ((@x1469 (unit-resolution @x582 (unit-resolution @x771 @x1466 @x882 @x1247 @x756 x19$) $x580))) (let ((@x1472 (unit-resolution @x289 (unit-resolution @x642 (unit-resolution @x779 @x1469 x24$) $x623) @x1217 (unit-resolution @x561 @x1466 $x553) x22$))) (let ((@x1475 (unit-resolution @x662 (unit-resolution @x325 (unit-resolution @x612 @x1472 $x610) @x1224 x26$) (unit-resolution @x307 @x1463 x25$) false))) (let ((@x1478 (unit-resolution (lemma @x1475 (or x46$ x12$ x52$)) @x882 @x756 x46$))) (let ((@x1480 (unit-resolution @x175 (unit-resolution @x504 @x1478 $x481) @x882 (unit-resolution @x413 @x1440 $x411) x45$))) (let ((@x1484 (unit-resolution @x779 (unit-resolution @x584 (unit-resolution @x1383 @x1478 @x756 x47$) $x580) x24$))) (let ((@x1486 (unit-resolution @x289 (unit-resolution @x642 @x1484 $x623) @x1217 (unit-resolution @x563 @x1480 $x553) x22$))) (let ((@x1491 (unit-resolution @x664 (unit-resolution @x325 (unit-resolution @x612 @x1486 $x610) @x1224 x26$) $x596))) (let ((@x1493 (unit-resolution @x662 (unit-resolution @x325 (unit-resolution @x612 @x1486 $x610) @x1224 x26$) $x657))) (let ((@x1496 (unit-resolution @x269 (unit-resolution @x590 (unit-resolution @x307 @x1493 x54$) $x587) (unit-resolution (asserted (or $x609 $x595)) @x1486 $x595) @x1491 x49$))) (let ((@x1498 (unit-resolution @x222 (unit-resolution @x527 @x1496 $x524) (unit-resolution @x565 @x1480 $x538) (unit-resolution @x616 @x1486 $x539) x44$))) (let ((@x1503 (unit-resolution @x202 (unit-resolution @x533 @x1496 $x516) (unit-resolution @x594 (unit-resolution @x307 @x1493 x54$) $x517) x42$))) (let ((@x1505 (unit-resolution @x155 (unit-resolution @x448 @x1503 $x445) (unit-resolution @x535 @x1496 $x454) (unit-resolution @x476 @x1498 $x453) x37$))) (let ((@x1508 (unit-resolution @x391 (unit-resolution @x725 (unit-resolution @x452 @x1503 $x375) x5$) @x1505 false))) (let ((@x1576 (unit-resolution @x472 (unit-resolution (lemma @x1508 (or x12$ x52$)) @x756 x12$) $x453))) (let ((@x1547 (hypothesis $x667))) (let ((@x1557 (unit-resolution @x325 (unit-resolution @x612 (hypothesis x22$) $x610) @x1547 x26$))) (let ((@x1561 (unit-resolution @x590 (unit-resolution @x307 (unit-resolution @x662 @x1557 $x657) x54$) $x587))) (let ((@x1562 (unit-resolution @x269 @x1561 (unit-resolution @x664 @x1557 $x596) (unit-resolution (asserted (or $x609 $x595)) (hypothesis x22$) $x595) x49$))) (let ((@x1564 (unit-resolution @x594 (unit-resolution @x307 (unit-resolution @x662 @x1557 $x657) x54$) $x517))) (let ((@x1512 (unit-resolution @x391 @x738 (unit-resolution @x155 @x830 @x832 @x815 x37$) false))) (let ((@x1514 (lemma @x1512 (or $x446 x43$ x11$)))) (let ((@x1567 (unit-resolution @x1514 (unit-resolution @x202 (unit-resolution @x533 @x1562 $x516) @x1564 x42$) (unit-resolution @x535 @x1562 $x454) @x815 false))) (let ((@x1569 (lemma @x1567 (or $x609 x11$ x27$)))) (let ((@x1584 (hypothesis $x446))) (let ((@x1587 (unit-resolution @x307 (unit-resolution @x662 (hypothesis x26$) $x657) x54$))) (let ((@x1590 (unit-resolution @x529 (unit-resolution @x202 (unit-resolution @x594 @x1587 $x517) @x1584 x15$) $x524))) (let ((@x1594 (unit-resolution @x533 (unit-resolution @x202 (unit-resolution @x594 @x1587 $x517) @x1584 x15$) $x525))) (let ((@x1595 (unit-resolution @x269 @x1594 (unit-resolution @x664 (hypothesis x26$) $x596) (unit-resolution @x590 @x1587 $x587) x21$))) (let ((@x1596 (unit-resolution @x622 @x1595 (unit-resolution @x222 @x1590 @x1142 @x897 x50$) false))) (let ((@x1599 (unit-resolution (lemma @x1596 (or $x660 x44$ x17$ x42$)) @x1584 @x897 @x1142 $x660))) (let ((@x1602 (unit-resolution @x222 (unit-resolution @x620 (unit-resolution @x325 @x1599 @x1547 x56$) $x539) @x1142 @x897 x16$))) (let ((@x1607 (unit-resolution @x592 (unit-resolution @x202 (unit-resolution @x529 @x1602 $x516) @x1584 x48$) $x587))) (let ((@x1608 (unit-resolution @x269 @x1607 (unit-resolution @x618 (unit-resolution @x325 @x1599 @x1547 x56$) $x595) (unit-resolution @x527 @x1602 $x525) x55$))) (let ((@x1609 (unit-resolution @x594 (unit-resolution @x202 (unit-resolution @x529 @x1602 $x516) @x1584 x48$) $x588))) (let ((@x1613 (lemma (unit-resolution @x666 (unit-resolution @x307 @x1609 x25$) @x1608 false) (or x42$ x44$ x17$ x27$)))) (let ((@x1615 (unit-resolution @x448 (unit-resolution @x1613 @x897 @x1021 @x1547 x42$) $x445))) (let ((@x1616 (unit-resolution @x1514 (unit-resolution @x1613 @x897 @x1021 @x1547 x42$) @x889 x43$))) (let (($x463 (or $x454 $x383))) (let ((@x464 (asserted $x463))) (let ((@x1618 (unit-resolution @x1075 (unit-resolution @x464 @x1616 $x383) @x1020 @x897 @x1615 x50$))) (let ((@x1621 (unit-resolution @x662 (unit-resolution @x325 (unit-resolution @x620 @x1618 $x610) @x1547 x26$) $x657))) (let ((@x1625 (unit-resolution @x664 (unit-resolution @x325 (unit-resolution @x620 @x1618 $x610) @x1547 x26$) $x596))) (let ((@x1626 (unit-resolution @x269 @x1625 (unit-resolution @x622 @x1618 $x595) (unit-resolution @x535 @x1616 $x525) x20$))) (let ((@x1629 (lemma (unit-resolution @x590 @x1626 (unit-resolution @x307 @x1621 x54$) false) (or x17$ x27$ $x467)))) (let ((@x1630 (unit-resolution @x1629 @x1224 (unit-resolution (lemma @x1508 (or x12$ x52$)) @x756 x12$) x17$))) (let ((@x1632 (unit-resolution @x289 (unit-resolution @x561 @x1630 $x553) @x1217 (unit-resolution @x1569 @x1576 @x1224 $x609) x23$))) (let ((@x1635 (unit-resolution @x584 (unit-resolution @x779 (unit-resolution @x642 @x1632 $x637) x53$) $x509))) (let ((@x1637 (unit-resolution @x582 (unit-resolution @x779 (unit-resolution @x642 @x1632 $x637) x53$) $x566))) (let ((@x1638 (unit-resolution @x242 @x1637 (unit-resolution @x557 @x1630 $x552) @x756 x46$))) (let ((@x1640 (lemma (unit-resolution @x1383 @x1638 @x1635 @x756 false) x52$))) (let (($x647 (or $x638 $x567))) (let ((@x648 (asserted $x647))) (let ((@x1665 (unit-resolution @x676 (unit-resolution @x797 (unit-resolution @x648 @x1640 $x638) x28$) $x667))) (let ((@x1668 (unit-resolution (unit-resolution @x1569 @x1665 (or $x609 x11$)) @x815 $x609))) (let ((@x1669 (unit-resolution @x678 (unit-resolution @x797 (unit-resolution @x648 @x1640 $x638) x28$) $x624))) (let ((@x1671 (unit-resolution @x289 (unit-resolution (asserted (or $x623 $x567)) @x1640 $x623) @x1669 (or x22$ x51$)))) (let ((@x1673 (unit-resolution @x563 (unit-resolution @x1671 @x1668 x51$) $x482))) (let ((@x1676 (unit-resolution (unit-resolution @x1629 @x1665 (or x17$ $x467)) @x897 $x467))) (let ((@x1650 (unit-resolution @x77 (unit-resolution @x368 (hypothesis x3$) $x363) x35$))) (let ((@x1579 (unit-resolution @x779 (unit-resolution (asserted (or $x637 $x567)) @x1640 $x637) x53$))) (let ((@x1580 (unit-resolution @x584 @x1579 $x509))) (let ((@x1653 (unit-resolution (unit-resolution @x193 @x1580 (or x14$ x41$)) (unit-resolution @x442 @x1650 $x438) x14$))) (let ((@x1655 (unit-resolution @x175 (unit-resolution @x500 @x1653 $x481) @x882 @x998 x39$))) (let ((@x1659 (unit-resolution @x128 (unit-resolution @x502 @x1653 $x425) (unit-resolution @x444 @x1650 $x424) (unit-resolution @x370 (hypothesis x3$) $x364) x8$))) (let ((@x1662 (lemma (unit-resolution @x413 @x1659 @x1655 false) (or $x355 x12$ x45$)))) (let ((@x1574 (unit-resolution (unit-resolution @x1090 @x1580 (or $x481 x8$)) (unit-resolution @x1011 @x942 @x853 $x410) $x481))) (let ((@x1581 (unit-resolution @x419 (unit-resolution @x175 @x1574 @x882 @x998 x39$) $x396))) (let ((@x1582 (unit-resolution @x421 (unit-resolution @x175 @x1574 @x882 @x998 x39$) $x356))) (let ((@x1642 (unit-resolution @x108 (unit-resolution @x350 (unit-resolution @x67 @x1582 @x942 x2$) $x348) @x1581 @x853 x6$))) (let ((@x1644 (unit-resolution @x706 (unit-resolution @x352 (unit-resolution @x67 @x1582 @x942 x2$) $x335) x31$))) (let ((@x1647 (lemma (unit-resolution @x389 @x1644 @x1642 false) (or x3$ x38$ x12$ x45$)))) (let ((@x1678 (unit-resolution @x1647 (unit-resolution @x1662 @x1673 @x1676 $x355) @x1676 @x1673 x38$))) (let ((@x1681 (unit-resolution @x706 (unit-resolution @x1154 (unit-resolution @x478 @x1678 $x468) @x897 @x815 $x336) x1$))) (let ((@x1683 (unit-resolution @x67 (unit-resolution @x352 @x1681 $x347) (unit-resolution @x1662 @x1673 @x1676 $x355) x33$))) (let ((@x1686 (unit-resolution (unit-resolution @x1090 @x1580 (or $x481 x8$)) (unit-resolution @x417 @x1683 $x410) $x481))) (let ((@x1687 (unit-resolution @x175 @x1686 (unit-resolution @x421 @x1683 $x411) @x1676 @x1673 false))) (let ((@x1691 (unit-resolution @x480 (unit-resolution (lemma @x1687 (or x11$ x17$)) @x897 x11$) $x397))) (let ((@x1692 (unit-resolution @x476 (unit-resolution (lemma @x1687 (or x11$ x17$)) @x897 x11$) $x468))) (let ((@x1695 (unit-resolution (unit-resolution @x1613 @x1665 (or x42$ x44$ x17$)) @x1692 @x897 x42$))) (let ((@x1700 (unit-resolution (unit-resolution @x769 @x1580 (or $x374 x45$ x12$ x38$)) (unit-resolution @x725 (unit-resolution @x452 @x1695 $x375) x5$) @x1676 @x1691 x45$))) (let ((@x1702 (unit-resolution @x1671 (unit-resolution @x563 @x1700 $x553) x22$))) (let ((@x1705 (unit-resolution (unit-resolution @x325 @x1665 (or x26$ x56$)) (unit-resolution @x612 @x1702 $x610) x26$))) (let ((@x1709 (unit-resolution @x222 (unit-resolution @x616 @x1702 $x539) @x897 @x1692 x16$))) (let ((@x1713 (unit-resolution @x269 (unit-resolution @x664 @x1705 $x596) (unit-resolution (asserted (or $x609 $x595)) @x1702 $x595) (unit-resolution @x527 @x1709 $x525) x20$))) (let ((@x1714 (unit-resolution @x590 @x1713 (unit-resolution @x307 (unit-resolution @x662 @x1705 $x657) x54$) false))) (let ((@x1715 (lemma @x1714 x17$))) (let ((@x1718 (unit-resolution (unit-resolution @x1569 @x1665 (or $x609 x11$)) (unit-resolution @x1671 (unit-resolution @x561 @x1715 $x553) x22$) x11$))) (let ((@x1722 (unit-resolution @x1662 (unit-resolution @x472 @x1718 $x467) (unit-resolution @x565 @x1715 $x482) $x355))) (unit-resolution @x1647 @x1722 (unit-resolution @x472 @x1718 $x467) (unit-resolution @x565 @x1715 $x482) (unit-resolution @x480 @x1718 $x397) false))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) -66bb17e2a985817e38bb524b89cc9e978af0b717 38 0 +53d98ae38981e94d40d6d86fc0074ee3a2e0fb7e 38 0 unsat ((set-logic AUFLIA) (declare-fun ?v0!0 () Int) (declare-fun ?v1!1 () Int) (proof (let (($x48 (p$ ?v0!0))) (let (($x50 (not $x48))) (let (($x63 (not (or $x48 (p$ ?v1!1))))) (let ((@x77 (monotonicity (rewrite (= (not $x50) $x48)) (= (and (not $x50) $x63) (and $x48 $x63))))) (let (($x57 (not $x50))) (let (($x67 (and $x57 $x63))) (let (($x41 (forall ((?v0 Int) )(! (let (($x32 (forall ((?v1 Int) )(! (let (($x28 (p$ ?v1))) (or (p$ ?v0) $x28)) :qid k!5)) )) (or (not (p$ ?v0)) $x32)) :qid k!5)) )) (let (($x44 (not $x41))) (let (($x52 (forall ((?v1 Int) )(! (let (($x28 (p$ ?v1))) (let (($x48 (p$ ?v0!0))) (or $x48 $x28))) :qid k!5)) )) (let ((@x69 (nnf-neg (refl (~ $x57 $x57)) (sk (~ (not $x52) $x63)) (~ (not (or $x50 $x52)) $x67)))) (let (($x34 (forall ((?v0 Int) )(! (let (($x32 (forall ((?v1 Int) )(! (let (($x28 (p$ ?v1))) (or (p$ ?v0) $x28)) :qid k!5)) )) (let (($x28 (p$ ?v0))) (=> $x28 $x32))) :qid k!5)) )) (let (($x35 (not $x34))) (let (($x32 (forall ((?v1 Int) )(! (let (($x28 (p$ ?v1))) (or (p$ ?0) $x28)) :qid k!5)) )) (let ((@x43 (quant-intro (rewrite (= (=> (p$ ?0) $x32) (or (not (p$ ?0)) $x32))) (= $x34 $x41)))) (let ((@x72 (mp~ (mp (asserted $x35) (monotonicity @x43 (= $x35 $x44)) $x44) (trans (sk (~ $x44 (not (or $x50 $x52)))) @x69 (~ $x44 $x67)) $x67))) (let ((@x81 (not-or-elim (and-elim (mp @x72 @x77 (and $x48 $x63)) $x63) $x50))) (let ((@x79 (and-elim (mp @x72 @x77 (and $x48 $x63)) $x48))) (unit-resolution @x79 @x81 false)))))))))))))))))))) -99dcee13708acddf74f37ffb7cd9ae6e8a0075ec 53 0 +e22c0f9d8d283fe65facdddeef75c43b520c8702 53 0 unsat ((set-logic AUFLIA) (declare-fun ?v0!0 () A$) (proof (let (($x517 (forall ((?v0 A$) )(! (let (($x40 (p$ x$ ?v0))) (not $x40)) :pattern ( (p$ x$ ?v0) ) :qid k!9)) )) (let (($x44 (p$ x$ c$))) (let (($x91 (= $x44 x$))) (let (($x510 (forall ((?v0 Bool) (?v1 A$) )(! (let (($x29 (p$ ?v0 ?v1))) (= $x29 ?v0)) :pattern ( (p$ ?v0 ?v1) ) :qid k!8)) )) (let (($x36 (forall ((?v0 Bool) (?v1 A$) )(! (let (($x29 (p$ ?v0 ?v1))) (= $x29 ?v0)) :qid k!8)) )) (let ((@x514 (quant-intro (refl (= (= (p$ ?1 ?0) ?1) (= (p$ ?1 ?0) ?1))) (= $x36 $x510)))) (let ((@x64 (nnf-pos (refl (~ (= (p$ ?1 ?0) ?1) (= (p$ ?1 ?0) ?1))) (~ $x36 $x36)))) (let (($x31 (forall ((?v0 Bool) (?v1 A$) )(! (let (($x29 (p$ ?v0 ?v1))) (= $x29 ?v0)) :qid k!8)) )) (let ((@x38 (quant-intro (rewrite (= (= (p$ ?1 ?0) ?1) (= (p$ ?1 ?0) ?1))) (= $x31 $x36)))) (let ((@x515 (mp (mp~ (mp (asserted $x31) @x38 $x36) @x64 $x36) @x514 $x510))) (let (($x170 (or (not $x510) $x91))) (let ((@x503 ((_ quant-inst x$ c$) $x170))) (let (($x73 (p$ x$ ?v0!0))) (let (($x179 (= $x73 x$))) (let (($x85 (or $x73 $x44))) (let (($x81 (not $x44))) (let (($x69 (forall ((?v0 A$) )(! (let (($x40 (p$ x$ ?v0))) (not $x40)) :qid k!9)) )) (let (($x84 (or $x69 $x81))) (let (($x42 (exists ((?v0 A$) )(! (p$ x$ ?v0) :qid k!9)) )) (let (($x54 (not $x42))) (let (($x55 (= $x54 $x44))) (let ((@x71 (nnf-neg (refl (~ (not (p$ x$ ?0)) (not (p$ x$ ?0)))) (~ $x54 $x69)))) (let ((@x88 (nnf-pos @x71 (nnf-neg (sk (~ $x42 $x73)) (~ (not $x54) $x73)) (refl (~ $x44 $x44)) (refl (~ $x81 $x81)) (~ $x55 (and $x85 $x84))))) (let ((@x53 (monotonicity (rewrite (= (= $x42 $x44) (= $x42 $x44))) (= (not (= $x42 $x44)) (not (= $x42 $x44)))))) (let ((@x59 (trans @x53 (rewrite (= (not (= $x42 $x44)) $x55)) (= (not (= $x42 $x44)) $x55)))) (let ((@x89 (mp~ (mp (asserted (not (= $x42 $x44))) @x59 $x55) @x88 (and $x85 $x84)))) (let ((@x92 (and-elim @x89 $x85))) (let ((@x484 (unit-resolution (def-axiom (or (not $x179) (not $x73) x$)) (unit-resolution @x92 (hypothesis $x81) $x73) (or (not $x179) x$)))) (let ((@x145 (unit-resolution @x484 (unit-resolution ((_ quant-inst x$ ?v0!0) (or (not $x510) $x179)) @x515 $x179) x$))) (let ((@x147 (unit-resolution (def-axiom (or (not $x91) $x44 (not x$))) (hypothesis $x81) (or (not $x91) (not x$))))) (let ((@x485 (lemma (unit-resolution @x147 @x145 (unit-resolution @x503 @x515 $x91) false) $x44))) (let (($x522 (or $x517 $x81))) (let ((@x521 (quant-intro (refl (= (not (p$ x$ ?0)) (not (p$ x$ ?0)))) (= $x69 $x517)))) (let ((@x525 (mp (and-elim @x89 $x84) (monotonicity @x521 (= $x84 $x522)) $x522))) (let (($x160 (or (not $x517) $x81))) (let ((@x161 ((_ quant-inst c$) $x160))) (unit-resolution @x161 @x485 (unit-resolution @x525 @x485 $x517) false))))))))))))))))))))))))))))))))))))))) -00c35e7818bb5885a6737b5ca032b22e4d0651de 53 0 +3b83f9f26b0c0bdbb99d25d8249a78edb7dbd8f3 53 0 unsat ((set-logic AUFLIA) (declare-fun ?v0!3 () A$) (proof (let (($x584 (forall ((?v0 A$) )(! (let (($x52 (p$ x$ ?v0))) (not $x52)) :pattern ( (p$ x$ ?v0) ) :qid k!10)) )) (let (($x55 (p$ x$ c$))) (let (($x230 (= $x55 x$))) (let (($x561 (forall ((?v0 Bool) (?v1 A$) )(! (let (($x29 (p$ ?v0 ?v1))) (= $x29 ?v0)) :pattern ( (p$ ?v0 ?v1) ) :qid k!8)) )) (let (($x36 (forall ((?v0 Bool) (?v1 A$) )(! (let (($x29 (p$ ?v0 ?v1))) (= $x29 ?v0)) :qid k!8)) )) (let ((@x565 (quant-intro (refl (= (= (p$ ?1 ?0) ?1) (= (p$ ?1 ?0) ?1))) (= $x36 $x561)))) (let ((@x75 (nnf-pos (refl (~ (= (p$ ?1 ?0) ?1) (= (p$ ?1 ?0) ?1))) (~ $x36 $x36)))) (let (($x31 (forall ((?v0 Bool) (?v1 A$) )(! (let (($x29 (p$ ?v0 ?v1))) (= $x29 ?v0)) :qid k!8)) )) (let ((@x38 (quant-intro (rewrite (= (= (p$ ?1 ?0) ?1) (= (p$ ?1 ?0) ?1))) (= $x31 $x36)))) (let ((@x566 (mp (mp~ (mp (asserted $x31) @x38 $x36) @x75 $x36) @x565 $x561))) (let (($x220 (or (not $x561) $x230))) (let ((@x221 ((_ quant-inst x$ c$) $x220))) (let (($x124 (p$ x$ ?v0!3))) (let (($x141 (= $x124 x$))) (let (($x136 (or $x124 $x55))) (let (($x132 (not $x55))) (let (($x120 (forall ((?v0 A$) )(! (let (($x52 (p$ x$ ?v0))) (not $x52)) :qid k!10)) )) (let (($x135 (or $x120 $x132))) (let (($x54 (exists ((?v0 A$) )(! (p$ x$ ?v0) :qid k!10)) )) (let (($x65 (not $x54))) (let (($x66 (= $x65 $x55))) (let ((@x122 (nnf-neg (refl (~ (not (p$ x$ ?0)) (not (p$ x$ ?0)))) (~ $x65 $x120)))) (let ((@x139 (nnf-pos @x122 (nnf-neg (sk (~ $x54 $x124)) (~ (not $x65) $x124)) (refl (~ $x55 $x55)) (refl (~ $x132 $x132)) (~ $x66 (and $x136 $x135))))) (let ((@x64 (monotonicity (rewrite (= (= $x54 $x55) (= $x54 $x55))) (= (not (= $x54 $x55)) (not (= $x54 $x55)))))) (let ((@x70 (trans @x64 (rewrite (= (not (= $x54 $x55)) $x66)) (= (not (= $x54 $x55)) $x66)))) (let ((@x140 (mp~ (mp (asserted (not (= $x54 $x55))) @x70 $x66) @x139 (and $x136 $x135)))) (let ((@x143 (and-elim @x140 $x136))) (let ((@x193 (unit-resolution (def-axiom (or (not $x141) (not $x124) x$)) (unit-resolution @x143 (hypothesis $x132) $x124) (or (not $x141) x$)))) (let ((@x535 (unit-resolution @x193 (unit-resolution ((_ quant-inst x$ ?v0!3) (or (not $x561) $x141)) @x566 $x141) x$))) (let ((@x197 (unit-resolution (def-axiom (or (not $x230) $x55 (not x$))) (hypothesis $x132) (or (not $x230) (not x$))))) (let ((@x199 (lemma (unit-resolution @x197 @x535 (unit-resolution @x221 @x566 $x230) false) $x55))) (let (($x589 (or $x584 $x132))) (let ((@x588 (quant-intro (refl (= (not (p$ x$ ?0)) (not (p$ x$ ?0)))) (= $x120 $x584)))) (let ((@x592 (mp (and-elim @x140 $x135) (monotonicity @x588 (= $x135 $x589)) $x589))) (let (($x549 (or (not $x584) $x132))) (let ((@x211 ((_ quant-inst c$) $x549))) (unit-resolution @x211 @x199 (unit-resolution @x592 @x199 $x584) false))))))))))))))))))))))))))))))))))))))) -c19ad9760d0e770b48c0b0ab02c85b7759923c37 7 0 -unsat -((set-logic AUFLIA) -(proof -(let ((@x35 (monotonicity (rewrite (= (= 3 3) true)) (= (not (= 3 3)) (not true))))) -(let ((@x39 (trans @x35 (rewrite (= (not true) false)) (= (not (= 3 3)) false)))) -(mp (asserted (not (= 3 3))) @x39 false))))) - -083a9501b1863f5626ecc25e47e5b4723fa35e4c 26 0 +c5dafcf16dd97b4d38e39a04bbc990e4ad5fdbd3 26 0 unsat ((set-logic AUFLIA) (proof (let (($x28 (p$ x$))) (let ((@x48 (monotonicity (rewrite (= (=> $x28 (p$ y$)) (or (not $x28) (p$ y$)))) (= (not (=> $x28 (p$ y$))) (not (or (not $x28) (p$ y$))))))) (let ((@x51 (mp (asserted (not (=> $x28 (p$ y$)))) @x48 (not (or (not $x28) (p$ y$)))))) (let ((@x49 (not-or-elim @x51 $x28))) (let (($x486 (forall ((?v0 A$) )(! (let (($x30 (p$ ?v0))) (not $x30)) :pattern ( (p$ ?v0) ) :qid k!8)) )) (let (($x34 (forall ((?v0 A$) )(! (let (($x30 (p$ ?v0))) (not $x30)) :qid k!8)) )) (let ((@x490 (quant-intro (refl (= (not (p$ ?0)) (not (p$ ?0)))) (= $x34 $x486)))) (let (($x31 (exists ((?v0 A$) )(! (p$ ?v0) :qid k!8)) )) (let (($x32 (not $x31))) (let ((@x59 (monotonicity (iff-true @x49 (= $x28 true)) (= (ite $x28 $x32 $x34) (ite true $x32 $x34))))) (let ((@x63 (trans @x59 (rewrite (= (ite true $x32 $x34) $x32)) (= (ite $x28 $x32 $x34) $x32)))) (let ((@x67 (mp~ (mp (asserted (ite $x28 $x32 $x34)) @x63 $x32) (nnf-neg (refl (~ (not (p$ ?0)) (not (p$ ?0)))) (~ $x32 $x34)) $x34))) (let ((@x491 (mp @x67 @x490 $x486))) (let (($x42 (not $x28))) (let (($x156 (or (not $x486) $x42))) (let ((@x70 ((_ quant-inst x$) $x156))) (unit-resolution @x70 @x491 @x49 false))))))))))))))))))) -ca11536c17f1a809ef914163583a39e63cac09fe 7 0 +c810fdd7e33dce88857a4a5d351d4d48aeec706d 7 0 +unsat +((set-logic AUFLIA) +(proof +(let ((@x35 (monotonicity (rewrite (= (= 3 3) true)) (= (not (= 3 3)) (not true))))) +(let ((@x39 (trans @x35 (rewrite (= (not true) false)) (= (not (= 3 3)) false)))) +(mp (asserted (not (= 3 3))) @x39 false))))) + +4405deb1e8af2d0b383b4c76fef214640ee54b60 7 0 unsat ((set-logic AUFLIRA) (proof (let ((@x35 (monotonicity (rewrite (= (= 3.0 3.0) true)) (= (not (= 3.0 3.0)) (not true))))) (let ((@x39 (trans @x35 (rewrite (= (not true) false)) (= (not (= 3.0 3.0)) false)))) (mp (asserted (not (= 3.0 3.0))) @x39 false))))) -2c3a6e6c7a46e7827f5375992c43691797675fb4 9 0 +9db6968bb918051eba4a8f252eb4d7b31abc0008 9 0 unsat ((set-logic AUFLIA) (proof (let ((@x37 (monotonicity (rewrite (= (+ 3 1) 4)) (= (= (+ 3 1) 4) (= 4 4))))) (let ((@x41 (trans @x37 (rewrite (= (= 4 4) true)) (= (= (+ 3 1) 4) true)))) (let ((@x44 (monotonicity @x41 (= (not (= (+ 3 1) 4)) (not true))))) (let ((@x48 (trans @x44 (rewrite (= (not true) false)) (= (not (= (+ 3 1) 4)) false)))) (mp (asserted (not (= (+ 3 1) 4))) @x48 false))))))) -86d19ef9c3bc052a9b275d334060669ee12e3d9f 16 0 +4236229b55c8c35ee3fdabff17499992a72bc2e9 16 0 unsat ((set-logic AUFLIA) (proof (let ((?x32 (+ z$ x$))) (let ((?x33 (+ y$ ?x32))) (let ((?x30 (+ y$ z$))) (let ((?x31 (+ x$ ?x30))) (let (($x34 (= ?x31 ?x33))) (let (($x35 (not $x34))) (let ((@x45 (monotonicity (rewrite (= ?x32 (+ x$ z$))) (= ?x33 (+ y$ (+ x$ z$)))))) (let ((@x49 (trans @x45 (rewrite (= (+ y$ (+ x$ z$)) (+ x$ y$ z$))) (= ?x33 (+ x$ y$ z$))))) (let ((@x52 (monotonicity (rewrite (= ?x31 (+ x$ y$ z$))) @x49 (= $x34 (= (+ x$ y$ z$) (+ x$ y$ z$)))))) (let ((@x56 (trans @x52 (rewrite (= (= (+ x$ y$ z$) (+ x$ y$ z$)) true)) (= $x34 true)))) (let ((@x63 (trans (monotonicity @x56 (= $x35 (not true))) (rewrite (= (not true) false)) (= $x35 false)))) (mp (asserted $x35) @x63 false)))))))))))))) -90702d41b7fbf1b5314911474ac4ef6b0a538702 11 0 +edfffa3c123ab0c63cd525084a50aa3c5ed5a484 11 0 unsat ((set-logic AUFLIA) (proof (let ((@x41 (monotonicity (rewrite (= (<= 3 8) true)) (= (ite (<= 3 8) 8 3) (ite true 8 3))))) (let ((@x45 (trans @x41 (rewrite (= (ite true 8 3) 8)) (= (ite (<= 3 8) 8 3) 8)))) (let ((@x48 (monotonicity @x45 (= (< 5 (ite (<= 3 8) 8 3)) (< 5 8))))) (let ((@x52 (trans @x48 (rewrite (= (< 5 8) true)) (= (< 5 (ite (<= 3 8) 8 3)) true)))) (let ((@x55 (monotonicity @x52 (= (not (< 5 (ite (<= 3 8) 8 3))) (not true))))) (let ((@x59 (trans @x55 (rewrite (= (not true) false)) (= (not (< 5 (ite (<= 3 8) 8 3))) false)))) (mp (asserted (not (< 5 (ite (<= 3 8) 8 3)))) @x59 false))))))))) -64a2205da8c28e8b966affffd8a102cee58f8182 12 0 -unsat -((set-logic AUFLIA) -(proof -(let ((?x31 (p$ true))) -(let (($x29 (< 2 3))) -(let ((?x30 (p$ $x29))) -(let (($x32 (= ?x30 ?x31))) -(let ((@x42 (monotonicity (monotonicity (rewrite (= $x29 true)) $x32) (= $x32 (= ?x31 ?x31))))) -(let ((@x49 (monotonicity (trans @x42 (rewrite (= (= ?x31 ?x31) true)) (= $x32 true)) (= (not $x32) (not true))))) -(let ((@x53 (trans @x49 (rewrite (= (not true) false)) (= (not $x32) false)))) -(mp (asserted (not $x32)) @x53 false)))))))))) - -55237afc0063a0033b90584d4ec259d5a3fd7fb2 88 0 +f9514ad0d68d1d07ca6390dfeefcb474eb113622 88 0 unsat ((set-logic AUFLIRA) (proof (let ((?x44 (* (- 1.0) x$))) (let (($x83 (>= x$ 0.0))) (let ((?x90 (ite $x83 x$ ?x44))) (let ((?x113 (* (- 1.0) ?x90))) (let ((?x148 (+ x$ ?x113))) (let (($x149 (<= ?x148 0.0))) (let (($x133 (= x$ ?x90))) (let ((?x45 (* (- 1.0) y$))) (let ((?x46 (+ ?x44 ?x45))) (let ((?x29 (+ x$ y$))) (let (($x71 (>= ?x29 0.0))) (let ((?x78 (ite $x71 ?x29 ?x46))) (let ((?x151 (* (- 1.0) ?x78))) (let ((?x179 (+ ?x46 ?x151))) (let (($x181 (>= ?x179 0.0))) (let (($x130 (= ?x46 ?x78))) (let (($x72 (not $x71))) (let (($x95 (>= y$ 0.0))) (let (($x96 (not $x95))) (let (($x154 (>= (+ ?x29 ?x151) 0.0))) (let (($x129 (= ?x29 ?x78))) (let (($x190 (not $x181))) (let ((@x161 (hypothesis $x95))) (let ((?x102 (ite $x95 y$ ?x45))) (let ((?x114 (* (- 1.0) ?x102))) (let ((?x115 (+ ?x78 ?x113 ?x114))) (let (($x116 (<= ?x115 0.0))) (let (($x121 (not $x116))) (let ((?x39 (+ (ite (< x$ 0.0) (- x$) x$) (ite (< y$ 0.0) (- y$) y$)))) (let (($x41 (not (<= (ite (< ?x29 0.0) (- ?x29) ?x29) ?x39)))) (let (($x36 (< y$ 0.0))) (let ((?x59 (ite $x36 ?x45 y$))) (let (($x33 (< x$ 0.0))) (let ((?x54 (ite $x33 ?x44 x$))) (let ((?x62 (+ ?x54 ?x59))) (let (($x30 (< ?x29 0.0))) (let ((?x49 (ite $x30 ?x46 ?x29))) (let (($x65 (<= ?x49 ?x62))) (let ((@x106 (trans (monotonicity (rewrite (= $x36 $x96)) (= ?x59 (ite $x96 ?x45 y$))) (rewrite (= (ite $x96 ?x45 y$) ?x102)) (= ?x59 ?x102)))) (let ((@x89 (monotonicity (rewrite (= $x33 (not $x83))) (= ?x54 (ite (not $x83) ?x44 x$))))) (let ((@x94 (trans @x89 (rewrite (= (ite (not $x83) ?x44 x$) ?x90)) (= ?x54 ?x90)))) (let ((@x82 (trans (monotonicity (rewrite (= $x30 $x72)) (= ?x49 (ite $x72 ?x46 ?x29))) (rewrite (= (ite $x72 ?x46 ?x29) ?x78)) (= ?x49 ?x78)))) (let ((@x112 (monotonicity @x82 (monotonicity @x94 @x106 (= ?x62 (+ ?x90 ?x102))) (= $x65 (<= ?x78 (+ ?x90 ?x102)))))) (let ((@x120 (trans @x112 (rewrite (= (<= ?x78 (+ ?x90 ?x102)) $x116)) (= $x65 $x116)))) (let ((@x61 (monotonicity (rewrite (= (- y$) ?x45)) (= (ite $x36 (- y$) y$) ?x59)))) (let ((@x56 (monotonicity (rewrite (= (- x$) ?x44)) (= (ite $x33 (- x$) x$) ?x54)))) (let ((@x51 (monotonicity (rewrite (= (- ?x29) ?x46)) (= (ite $x30 (- ?x29) ?x29) ?x49)))) (let ((@x67 (monotonicity @x51 (monotonicity @x56 @x61 (= ?x39 ?x62)) (= (<= (ite $x30 (- ?x29) ?x29) ?x39) $x65)))) (let ((@x125 (trans (monotonicity @x67 (= $x41 (not $x65))) (monotonicity @x120 (= (not $x65) $x121)) (= $x41 $x121)))) (let ((@x126 (mp (asserted $x41) @x125 $x121))) (let (($x139 (= y$ ?x102))) (let ((@x174 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x139) (<= (+ y$ ?x114) 0.0))) (unit-resolution (def-axiom (or $x96 $x139)) @x161 $x139) (<= (+ y$ ?x114) 0.0)))) (let ((?x150 (+ ?x44 ?x113))) (let (($x153 (<= ?x150 0.0))) (let (($x134 (= ?x44 ?x90))) (let (($x84 (not $x83))) (let ((@x159 ((_ th-lemma arith triangle-eq) (or (not $x133) $x149)))) (let ((@x160 (unit-resolution @x159 (unit-resolution (def-axiom (or $x84 $x133)) (hypothesis $x83) $x133) $x149))) (let ((@x164 (unit-resolution ((_ th-lemma arith assign-bounds -1 -1) (or $x71 $x84 $x96)) (hypothesis $x83) @x161 $x71))) (let ((@x128 (def-axiom (or $x72 $x129)))) (let ((@x168 ((_ th-lemma arith triangle-eq) (or (not $x129) $x154)))) (let ((@x175 ((_ th-lemma arith farkas 1 -1 -1 1) @x174 (unit-resolution @x168 (unit-resolution @x128 @x164 $x129) $x154) @x126 @x160 false))) (let ((@x138 (def-axiom (or $x83 $x134)))) (let ((@x184 (unit-resolution @x138 (unit-resolution (lemma @x175 (or $x84 $x96)) @x161 $x84) $x134))) (let ((@x189 ((_ th-lemma arith farkas 2 -1 -1 1 1) @x161 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x134) $x153)) @x184 $x153) @x174 @x126 (hypothesis $x181) false))) (let ((@x198 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x130) $x181)) (hypothesis $x130) (hypothesis $x190) false))) (let ((@x199 (lemma @x198 (or (not $x130) $x181)))) (let ((@x201 (unit-resolution @x199 (unit-resolution (lemma @x189 (or $x190 $x96)) @x161 $x190) (not $x130)))) (let ((@x132 (def-axiom (or $x71 $x130)))) (let ((@x204 (unit-resolution @x168 (unit-resolution @x128 (unit-resolution @x132 @x201 $x71) $x129) $x154))) (let ((@x205 ((_ th-lemma arith farkas 2 1 1 1 1) (unit-resolution (lemma @x175 (or $x84 $x96)) @x161 $x84) (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x134) $x153)) @x184 $x153) @x174 @x126 @x204 false))) (let ((@x206 (lemma @x205 $x96))) (let ((@x212 (unit-resolution ((_ th-lemma arith assign-bounds 1 1) (or $x83 $x95 $x72)) (hypothesis $x71) @x206 $x83))) (let ((@x136 (def-axiom (or $x84 $x133)))) (let ((@x216 (unit-resolution @x168 (unit-resolution @x128 (hypothesis $x71) $x129) $x154))) (let ((?x147 (+ ?x45 ?x114))) (let (($x178 (<= ?x147 0.0))) (let (($x140 (= ?x45 ?x102))) (let ((@x221 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x140) $x178)) (unit-resolution (def-axiom (or $x95 $x140)) @x206 $x140) $x178))) (let ((@x222 ((_ th-lemma arith farkas 2 1 1 1 1) @x206 @x221 @x126 @x216 (unit-resolution @x159 (unit-resolution @x136 @x212 $x133) $x149) false))) (let ((@x226 (unit-resolution @x199 (unit-resolution @x132 (lemma @x222 $x72) $x130) $x181))) (let ((@x231 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x134) $x153)) (hypothesis $x134) (lemma ((_ th-lemma arith farkas 1 -1 -1 1) @x221 @x126 @x226 (hypothesis $x153) false) (not $x153)) false))) (let ((@x234 (unit-resolution @x136 (unit-resolution @x138 (lemma @x231 (not $x134)) $x83) $x133))) ((_ th-lemma arith farkas -2 1 -1 -1 1) (unit-resolution @x138 (lemma @x231 (not $x134)) $x83) @x221 @x126 @x226 (unit-resolution @x159 @x234 $x149) false)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) -75006e522c60f9ebc5a1fb2e97d7836a131ae07a 18 0 +dfe0238fb899e04c38457f444509fee29d6fc513 12 0 +unsat +((set-logic AUFLIA) +(proof +(let ((?x31 (p$ true))) +(let (($x29 (< 2 3))) +(let ((?x30 (p$ $x29))) +(let (($x32 (= ?x30 ?x31))) +(let ((@x42 (monotonicity (monotonicity (rewrite (= $x29 true)) $x32) (= $x32 (= ?x31 ?x31))))) +(let ((@x49 (monotonicity (trans @x42 (rewrite (= (= ?x31 ?x31) true)) (= $x32 true)) (= (not $x32) (not true))))) +(let ((@x53 (trans @x49 (rewrite (= (not true) false)) (= (not $x32) false)))) +(mp (asserted (not $x32)) @x53 false)))))))))) + +46bed4652ccbc7e1a58c0efb03590e49ee15643a 16 0 +unsat +((set-logic AUFLIA) +(proof +(let (($x33 (< x$ 1))) +(let ((?x37 (+ 3 x$))) +(let (($x40 (<= 4 ?x37))) +(let (($x43 (or $x40 $x33))) +(let (($x46 (not $x43))) +(let ((@x57 (monotonicity (rewrite (= $x40 (>= x$ 1))) (rewrite (= $x33 (not (>= x$ 1)))) (= $x43 (or (>= x$ 1) (not (>= x$ 1))))))) +(let ((@x61 (trans @x57 (rewrite (= (or (>= x$ 1) (not (>= x$ 1))) true)) (= $x43 true)))) +(let ((@x68 (trans (monotonicity @x61 (= $x46 (not true))) (rewrite (= (not true) false)) (= $x46 false)))) +(let ((@x42 (monotonicity (rewrite (= (+ x$ 3) ?x37)) (= (<= 4 (+ x$ 3)) $x40)))) +(let ((@x48 (monotonicity (monotonicity @x42 (= (or (<= 4 (+ x$ 3)) $x33) $x43)) (= (not (or (<= 4 (+ x$ 3)) $x33)) $x46)))) +(let ((@x70 (trans @x48 @x68 (= (not (or (<= 4 (+ x$ 3)) $x33)) false)))) +(mp (asserted (not (or (<= 4 (+ x$ 3)) $x33))) @x70 false)))))))))))))) + +ef89c4f1b53c97f5cf2e25105c9bb8f92779adb7 18 0 unsat ((set-logic AUFLIA) (proof (let (($x51 (= (+ x$ (* (- 1) y$)) (- 4)))) (let ((@x45 (monotonicity (rewrite (= (+ x$ 4) (+ 4 x$))) (= (= y$ (+ x$ 4)) (= y$ (+ 4 x$)))))) (let ((@x54 (trans @x45 (rewrite (= (= y$ (+ 4 x$)) $x51)) (= (= y$ (+ x$ 4)) $x51)))) (let ((@x88 (monotonicity (mp (asserted (= y$ (+ x$ 4))) @x54 $x51) (= (>= (+ x$ (* (- 1) y$)) 0) (>= (- 4) 0))))) (let ((@x90 (trans @x88 (rewrite (= (>= (- 4) 0) false)) (= (>= (+ x$ (* (- 1) y$)) 0) false)))) (let (($x70 (>= (+ x$ (* (- 1) y$)) 0))) (let ((@x76 (monotonicity (rewrite (= (< 0 (+ (* (- 1) x$) y$)) (not $x70))) (= (not (< 0 (+ (* (- 1) x$) y$))) (not (not $x70)))))) (let ((@x80 (trans @x76 (rewrite (= (not (not $x70)) $x70)) (= (not (< 0 (+ (* (- 1) x$) y$))) $x70)))) (let (($x64 (< 0 (+ (* (- 1) x$) y$)))) (let (($x67 (not $x64))) (let (($x58 (not (< 0 (- y$ x$))))) (let ((@x66 (monotonicity (rewrite (= (- y$ x$) (+ (* (- 1) x$) y$))) (= (< 0 (- y$ x$)) $x64)))) (let ((@x83 (mp (asserted $x58) (trans (monotonicity @x66 (= $x58 $x67)) @x80 (= $x58 $x70)) $x70))) (mp @x83 @x90 false)))))))))))))))) -6e50a07d4733dc226c34529a521dbca5a402a4bc 16 0 -unsat -((set-logic AUFLIA) -(proof -(let (($x33 (< x$ 1))) -(let ((?x37 (+ 3 x$))) -(let (($x40 (<= 4 ?x37))) -(let (($x43 (or $x40 $x33))) -(let (($x46 (not $x43))) -(let ((@x57 (monotonicity (rewrite (= $x40 (>= x$ 1))) (rewrite (= $x33 (not (>= x$ 1)))) (= $x43 (or (>= x$ 1) (not (>= x$ 1))))))) -(let ((@x61 (trans @x57 (rewrite (= (or (>= x$ 1) (not (>= x$ 1))) true)) (= $x43 true)))) -(let ((@x68 (trans (monotonicity @x61 (= $x46 (not true))) (rewrite (= (not true) false)) (= $x46 false)))) -(let ((@x42 (monotonicity (rewrite (= (+ x$ 3) ?x37)) (= (<= 4 (+ x$ 3)) $x40)))) -(let ((@x48 (monotonicity (monotonicity @x42 (= (or (<= 4 (+ x$ 3)) $x33) $x43)) (= (not (or (<= 4 (+ x$ 3)) $x33)) $x46)))) -(let ((@x70 (trans @x48 @x68 (= (not (or (<= 4 (+ x$ 3)) $x33)) false)))) -(mp (asserted (not (or (<= 4 (+ x$ 3)) $x33))) @x70 false)))))))))))))) - -d6bf5820bec5d7ead5e685100a8340a2aff662a5 11 0 +77b18cda19c5fffd05747f5d9240aebf138e344d 11 0 unsat ((set-logic AUFLIA) (proof (let ((@x39 (monotonicity (rewrite (= (+ 2 2) 4)) (= (= (+ 2 2) 5) (= 4 5))))) (let ((@x43 (trans @x39 (rewrite (= (= 4 5) false)) (= (= (+ 2 2) 5) false)))) (let ((@x46 (monotonicity @x43 (= (not (= (+ 2 2) 5)) (not false))))) (let ((@x50 (trans @x46 (rewrite (= (not false) true)) (= (not (= (+ 2 2) 5)) true)))) (let ((@x53 (monotonicity @x50 (= (not (not (= (+ 2 2) 5))) (not true))))) (let ((@x57 (trans @x53 (rewrite (= (not true) false)) (= (not (not (= (+ 2 2) 5))) false)))) (mp (asserted (not (not (= (+ 2 2) 5)))) @x57 false))))))))) -fed37fb0fa432306b32161f6e523d7ad41178ad7 19 0 +42e94ca5e1eca47637b565820dbeb8f0c3f0cfbe 19 0 unsat ((set-logic AUFLIRA) (proof (let ((?x32 (* 7.0 a$))) (let ((?x29 (* 3.0 x$))) (let ((?x33 (+ ?x29 ?x32))) (let (($x43 (>= ?x33 4.0))) (let (($x41 (not $x43))) (let ((@x40 (mp (asserted (< ?x33 4.0)) (rewrite (= (< ?x33 4.0) $x41)) $x41))) (let ((?x38 (* 2.0 x$))) (let (($x48 (<= ?x38 3.0))) (let (($x49 (not $x48))) (let ((@x52 (mp (asserted (< 3.0 ?x38)) (rewrite (= (< 3.0 ?x38) $x49)) $x49))) (let (($x58 (>= a$ 0.0))) (let ((@x62 (monotonicity (rewrite (= (< a$ 0.0) (not $x58))) (= (not (< a$ 0.0)) (not (not $x58)))))) (let ((@x66 (trans @x62 (rewrite (= (not (not $x58)) $x58)) (= (not (< a$ 0.0)) $x58)))) (let ((@x67 (mp (asserted (not (< a$ 0.0))) @x66 $x58))) ((_ th-lemma arith farkas 7 3/2 1) @x67 @x52 @x40 false))))))))))))))))) -a02473f328cfd27bbc383138b9013877d7082823 22 0 +0be06fbd57421bc1e05bb76b65b7d775f798777d 22 0 unsat ((set-logic AUFLIA) (proof (let (($x38 (not false))) (let (($x34 (<= 0 x$))) (let (($x35 (not $x34))) (let (($x36 (or $x35 $x34))) (let ((?x29 (- 1))) (let ((?x31 (* ?x29 x$))) (let ((?x32 (+ y$ ?x31))) (let (($x33 (<= 0 ?x32))) (let (($x37 (or $x33 $x36))) (let (($x39 (= $x37 $x38))) (let (($x40 (not $x39))) (let ((@x60 (rewrite (= (or (<= 0 (+ y$ (* (- 1) x$))) true) true)))) (let ((@x50 (monotonicity (monotonicity (rewrite (= ?x29 (- 1))) (= ?x31 (* (- 1) x$))) (= ?x32 (+ y$ (* (- 1) x$)))))) (let ((@x58 (monotonicity (monotonicity @x50 (= $x33 (<= 0 (+ y$ (* (- 1) x$))))) (rewrite (= $x36 true)) (= $x37 (or (<= 0 (+ y$ (* (- 1) x$))) true))))) (let ((@x67 (monotonicity (trans @x58 @x60 (= $x37 true)) (rewrite (= $x38 true)) (= $x39 (= true true))))) (let ((@x71 (trans @x67 (rewrite (= (= true true) true)) (= $x39 true)))) (let ((@x78 (trans (monotonicity @x71 (= $x40 (not true))) (rewrite (= (not true) false)) (= $x40 false)))) (mp (asserted $x40) @x78 false)))))))))))))))))))) -a84aad2a73200dc9fcbd27c3e18e7303dda77b8a 159 0 +d419775b36e6eb4a3ae9788e677f2c6bd6596508 159 0 unsat ((set-logic AUFLIA) (proof (let (($x44 (= m$ n$))) (let ((@x480 (symm (commutativity (= $x44 (= n$ m$))) (= (= n$ m$) $x44)))) (let (($x40 (= n$ m$))) (let ((?x102 (* (- 1) m$))) (let ((?x103 (+ n$ ?x102))) (let (($x118 (>= ?x103 0))) (let ((?x78 (* (- 1) n$a))) (let ((?x96 (+ m$ ?x78))) (let (($x127 (<= ?x96 0))) (let ((?x79 (+ n$ ?x78))) (let (($x88 (>= ?x79 0))) (let (($x239 (or $x88 $x127))) (let ((@x251 (monotonicity (rewrite (= (and (not $x88) (not $x127)) (not $x239))) (= (not (and (not $x88) (not $x127))) (not (not $x239)))))) (let ((@x271 (trans @x251 (rewrite (= (not (not $x239)) $x239)) (= (not (and (not $x88) (not $x127))) $x239)))) (let (($x128 (not $x127))) (let (($x87 (not $x88))) (let (($x143 (and $x87 $x128))) (let (($x210 (not $x143))) (let (($x50 (= n$a m$))) (let (($x57 (and $x50 $x44))) (let (($x80 (<= ?x79 0))) (let (($x81 (not $x80))) (let (($x33 (= m$ n$a))) (let (($x84 (and $x33 $x81))) (let (($x91 (and $x44 $x87))) (let (($x95 (>= ?x96 0))) (let (($x94 (not $x95))) (let (($x99 (and $x94 $x81))) (let (($x48 (= n$a n$))) (let (($x104 (<= ?x103 0))) (let (($x105 (not $x104))) (let (($x108 (and $x105 $x48))) (let (($x111 (and $x105 $x87))) (let (($x114 (and $x50 $x105))) (let (($x117 (not $x118))) (let (($x121 (and $x48 $x117))) (let (($x124 (and $x81 $x117))) (let (($x131 (and $x128 $x44))) (let (($x134 (and $x128 $x105))) (let (($x137 (and $x40 $x94))) (let (($x38 (= n$ n$a))) (let (($x140 (and $x38 $x128))) (let (($x146 (and $x117 $x33))) (let (($x149 (and $x117 $x94))) (let (($x197 (or $x149 $x146 $x143 $x140 $x137 $x134 $x131 $x124 $x121 $x114 $x111 $x108 $x99 $x91 $x84 $x57))) (let (($x60 (or (and (< m$ n$a) (< n$a n$)) (or (and $x44 (< n$ n$a)) (or (and $x33 (< n$a n$)) $x57))))) (let (($x62 (or (and (< m$ n$) (< n$ n$a)) (or (and (< m$ n$) $x48) $x60)))) (let (($x65 (or (and (< n$a n$) (< n$ m$)) (or (and $x48 (< n$ m$)) (or (and $x50 (< m$ n$)) $x62))))) (let (($x67 (or (and (< n$a m$) (< m$ n$)) (or (and (< n$a m$) $x44) $x65)))) (let (($x70 (or (and (< n$ n$a) (< n$a m$)) (or (and $x38 (< n$a m$)) (or (and $x40 (< m$ n$a)) $x67))))) (let (($x72 (or (and (< n$ m$) (< m$ n$a)) (or (and (< n$ m$) $x33) $x70)))) (let (($x73 (not $x72))) (let (($x170 (or $x121 (or $x114 (or $x111 (or $x108 (or $x99 (or $x91 (or $x84 $x57))))))))) (let (($x191 (or $x146 (or $x143 (or $x140 (or $x137 (or $x134 (or $x131 (or $x124 $x170))))))))) (let (($x189 (= $x70 (or $x143 (or $x140 (or $x137 (or $x134 (or $x131 (or $x124 $x170))))))))) (let (($x186 (= (or (and $x38 (< n$a m$)) (or (and $x40 (< m$ n$a)) $x67)) (or $x140 (or $x137 (or $x134 (or $x131 (or $x124 $x170)))))))) (let (($x183 (= (or (and $x40 (< m$ n$a)) $x67) (or $x137 (or $x134 (or $x131 (or $x124 $x170))))))) (let (($x171 (= (or (and $x48 (< n$ m$)) (or (and $x50 (< m$ n$)) $x62)) $x170))) (let (($x168 (= (or (and $x50 (< m$ n$)) $x62) (or $x114 (or $x111 (or $x108 (or $x99 (or $x91 (or $x84 $x57))))))))) (let (($x162 (= (or (and (< m$ n$) $x48) $x60) (or $x108 (or $x99 (or $x91 (or $x84 $x57))))))) (let (($x156 (= (or (and $x44 (< n$ n$a)) (or (and $x33 (< n$a n$)) $x57)) (or $x91 (or $x84 $x57))))) (let ((@x83 (rewrite (= (< n$a n$) $x81)))) (let ((@x154 (monotonicity (monotonicity @x83 (= (and $x33 (< n$a n$)) $x84)) (= (or (and $x33 (< n$a n$)) $x57) (or $x84 $x57))))) (let ((@x90 (rewrite (= (< n$ n$a) $x87)))) (let ((@x157 (monotonicity (monotonicity @x90 (= (and $x44 (< n$ n$a)) $x91)) @x154 $x156))) (let ((@x98 (rewrite (= (< m$ n$a) $x94)))) (let ((@x101 (monotonicity @x98 @x83 (= (and (< m$ n$a) (< n$a n$)) $x99)))) (let ((@x160 (monotonicity @x101 @x157 (= $x60 (or $x99 (or $x91 (or $x84 $x57))))))) (let ((@x107 (rewrite (= (< m$ n$) $x105)))) (let ((@x163 (monotonicity (monotonicity @x107 (= (and (< m$ n$) $x48) $x108)) @x160 $x162))) (let ((@x113 (monotonicity @x107 @x90 (= (and (< m$ n$) (< n$ n$a)) $x111)))) (let ((@x166 (monotonicity @x113 @x163 (= $x62 (or $x111 (or $x108 (or $x99 (or $x91 (or $x84 $x57))))))))) (let ((@x169 (monotonicity (monotonicity @x107 (= (and $x50 (< m$ n$)) $x114)) @x166 $x168))) (let ((@x120 (rewrite (= (< n$ m$) $x117)))) (let ((@x172 (monotonicity (monotonicity @x120 (= (and $x48 (< n$ m$)) $x121)) @x169 $x171))) (let ((@x126 (monotonicity @x83 @x120 (= (and (< n$a n$) (< n$ m$)) $x124)))) (let ((@x130 (rewrite (= (< n$a m$) $x128)))) (let ((@x178 (monotonicity (monotonicity @x130 (= (and (< n$a m$) $x44) $x131)) (monotonicity @x126 @x172 (= $x65 (or $x124 $x170))) (= (or (and (< n$a m$) $x44) $x65) (or $x131 (or $x124 $x170)))))) (let ((@x136 (monotonicity @x130 @x107 (= (and (< n$a m$) (< m$ n$)) $x134)))) (let ((@x181 (monotonicity @x136 @x178 (= $x67 (or $x134 (or $x131 (or $x124 $x170))))))) (let ((@x184 (monotonicity (monotonicity @x98 (= (and $x40 (< m$ n$a)) $x137)) @x181 $x183))) (let ((@x187 (monotonicity (monotonicity @x130 (= (and $x38 (< n$a m$)) $x140)) @x184 $x186))) (let ((@x145 (monotonicity @x90 @x130 (= (and (< n$ n$a) (< n$a m$)) $x143)))) (let ((@x193 (monotonicity (monotonicity @x120 (= (and (< n$ m$) $x33) $x146)) (monotonicity @x145 @x187 $x189) (= (or (and (< n$ m$) $x33) $x70) $x191)))) (let ((@x151 (monotonicity @x120 @x98 (= (and (< n$ m$) (< m$ n$a)) $x149)))) (let ((@x201 (trans (monotonicity @x151 @x193 (= $x72 (or $x149 $x191))) (rewrite (= (or $x149 $x191) $x197)) (= $x72 $x197)))) (let ((@x205 (mp (asserted $x73) (monotonicity @x201 (= $x73 (not $x197))) (not $x197)))) (let ((@x272 (mp (not-or-elim @x205 $x210) @x271 $x239))) (let (($x273 (not $x38))) (let (($x274 (or $x273 $x127))) (let ((@x280 (monotonicity (rewrite (= $x140 (not $x274))) (= (not $x140) (not (not $x274)))))) (let ((@x284 (trans @x280 (rewrite (= (not (not $x274)) $x274)) (= (not $x140) $x274)))) (let ((@x285 (mp (not-or-elim @x205 (not $x140)) @x284 $x274))) (let (($x286 (not $x40))) (let (($x311 (not $x44))) (let ((@x434 (hypothesis $x81))) (let (($x386 (or $x95 $x80))) (let ((@x392 (monotonicity (rewrite (= $x99 (not $x386))) (= (not $x99) (not (not $x386)))))) (let ((@x396 (trans @x392 (rewrite (= (not (not $x386)) $x386)) (= (not $x99) $x386)))) (let ((@x397 (mp (not-or-elim @x205 (not $x99)) @x396 $x386))) (let (($x246 (not $x33))) (let (($x410 (or $x246 $x80))) (let ((@x416 (monotonicity (rewrite (= $x84 (not $x410))) (= (not $x84) (not (not $x410)))))) (let ((@x420 (trans @x416 (rewrite (= (not (not $x410)) $x410)) (= (not $x84) $x410)))) (let ((@x421 (mp (not-or-elim @x205 (not $x84)) @x420 $x410))) (let ((@x439 ((_ th-lemma arith triangle-eq) (or $x33 $x128 $x94)))) (let ((@x440 (unit-resolution @x439 (unit-resolution @x421 @x434 $x246) (unit-resolution @x397 @x434 $x95) $x128))) (let (($x312 (or $x127 $x311))) (let ((@x318 (monotonicity (rewrite (= $x131 (not $x312))) (= (not $x131) (not (not $x312)))))) (let ((@x322 (trans @x318 (rewrite (= (not (not $x312)) $x312)) (= (not $x131) $x312)))) (let ((@x323 (mp (not-or-elim @x205 (not $x131)) @x322 $x312))) (let ((@x450 (mp (unit-resolution @x323 @x440 $x311) (monotonicity (commutativity (= $x44 $x40)) (= $x311 $x286)) $x286))) (let (($x324 (or $x80 $x118))) (let ((@x330 (monotonicity (rewrite (= $x124 (not $x324))) (= (not $x124) (not (not $x324)))))) (let ((@x334 (trans @x330 (rewrite (= (not (not $x324)) $x324)) (= (not $x124) $x324)))) (let ((@x335 (mp (not-or-elim @x205 (not $x124)) @x334 $x324))) (let (($x299 (or $x127 $x104))) (let ((@x305 (monotonicity (rewrite (= $x134 (not $x299))) (= (not $x134) (not (not $x299)))))) (let ((@x309 (trans @x305 (rewrite (= (not (not $x299)) $x299)) (= (not $x134) $x299)))) (let ((@x310 (mp (not-or-elim @x205 (not $x134)) @x309 $x299))) (let ((@x444 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x40 $x105 $x117)) (unit-resolution @x310 @x440 $x104) (unit-resolution @x335 @x434 $x118) $x40))) (let ((@x459 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x38 $x81 $x87)) (lemma (unit-resolution @x444 @x450 false) $x80) (or $x38 $x87)))) (let ((@x460 (unit-resolution @x459 (unit-resolution @x285 (hypothesis $x128) $x273) (unit-resolution @x272 (hypothesis $x128) $x88) false))) (let ((@x461 (lemma @x460 $x127))) (let (($x254 (or $x118 $x95))) (let ((@x262 (monotonicity (rewrite (= $x149 (not $x254))) (= (not $x149) (not (not $x254)))))) (let ((@x256 (trans @x262 (rewrite (= (not (not $x254)) $x254)) (= (not $x149) $x254)))) (let ((@x257 (mp (not-or-elim @x205 (not $x149)) @x256 $x254))) (let (($x247 (or $x118 $x246))) (let ((@x259 (monotonicity (rewrite (= $x146 (not $x247))) (= (not $x146) (not (not $x247)))))) (let ((@x245 (trans @x259 (rewrite (= (not (not $x247)) $x247)) (= (not $x146) $x247)))) (let ((@x238 (mp (not-or-elim @x205 (not $x146)) @x245 $x247))) (let ((@x465 (unit-resolution @x439 (unit-resolution @x238 (hypothesis $x117) $x246) (unit-resolution @x257 (hypothesis $x117) $x95) @x461 false))) (let (($x336 (not $x48))) (let (($x374 (or $x104 $x336))) (let ((@x380 (monotonicity (rewrite (= $x108 (not $x374))) (= (not $x108) (not (not $x374)))))) (let ((@x384 (trans @x380 (rewrite (= (not (not $x374)) $x374)) (= (not $x108) $x374)))) (let ((@x385 (mp (not-or-elim @x205 (not $x108)) @x384 $x374))) (let ((@x475 (mp (unit-resolution @x385 (hypothesis $x105) $x336) (monotonicity (commutativity (= $x48 $x38)) (= $x336 $x273)) $x273))) (let (($x362 (or $x104 $x88))) (let ((@x368 (monotonicity (rewrite (= $x111 (not $x362))) (= (not $x111) (not (not $x362)))))) (let ((@x372 (trans @x368 (rewrite (= (not (not $x362)) $x362)) (= (not $x111) $x362)))) (let ((@x373 (mp (not-or-elim @x205 (not $x111)) @x372 $x362))) (let ((@x469 (unit-resolution @x459 (unit-resolution @x373 (hypothesis $x105) $x88) $x38))) (let ((@x478 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x40 $x105 $x117)) (lemma (unit-resolution @x469 @x475 false) $x104) (lemma @x465 $x118) $x40))) (let (($x287 (or $x286 $x95))) (let ((@x293 (monotonicity (rewrite (= $x137 (not $x287))) (= (not $x137) (not (not $x287)))))) (let ((@x297 (trans @x293 (rewrite (= (not (not $x287)) $x287)) (= (not $x137) $x287)))) (let ((@x298 (mp (not-or-elim @x205 (not $x137)) @x297 $x287))) (let ((@x488 (mp (unit-resolution @x439 (unit-resolution @x298 @x478 $x95) @x461 $x33) (symm (commutativity (= $x50 $x33)) (= $x33 $x50)) $x50))) (let (($x422 (or (not $x50) $x311))) (let ((@x428 (monotonicity (rewrite (= $x57 (not $x422))) (= (not $x57) (not (not $x422)))))) (let ((@x432 (trans @x428 (rewrite (= (not (not $x422)) $x422)) (= (not $x57) $x422)))) (let ((@x433 (mp (not-or-elim @x205 (not $x57)) @x432 $x422))) (unit-resolution @x433 @x488 (mp @x478 @x480 $x44) false))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) -f4dbaa29f0930512af8d8cd1b59c69b2a627ac2b 20 0 -unsat -((set-logic AUFLIRA) -(proof -(let ((?x30 (* 2.0 x$))) -(let ((?x32 (+ ?x30 1.0))) -(let ((?x28 (+ x$ x$))) -(let (($x33 (< ?x28 ?x32))) -(let (($x34 (or false $x33))) -(let (($x35 (or $x33 $x34))) -(let (($x36 (not $x35))) -(let ((@x67 (monotonicity (rewrite (= (< ?x30 (+ 1.0 ?x30)) true)) (= (not (< ?x30 (+ 1.0 ?x30))) (not true))))) -(let ((@x71 (trans @x67 (rewrite (= (not true) false)) (= (not (< ?x30 (+ 1.0 ?x30))) false)))) -(let ((?x40 (+ 1.0 ?x30))) -(let (($x43 (< ?x30 ?x40))) -(let ((@x45 (monotonicity (rewrite (= ?x28 ?x30)) (rewrite (= ?x32 ?x40)) (= $x33 $x43)))) -(let ((@x52 (trans (monotonicity @x45 (= $x34 (or false $x43))) (rewrite (= (or false $x43) $x43)) (= $x34 $x43)))) -(let ((@x59 (trans (monotonicity @x45 @x52 (= $x35 (or $x43 $x43))) (rewrite (= (or $x43 $x43) $x43)) (= $x35 $x43)))) -(let ((@x62 (monotonicity @x59 (= $x36 (not $x43))))) -(mp (asserted $x36) (trans @x62 @x71 (= $x36 false)) false)))))))))))))))))) - -55e13b57ccd7045141601604fad3c105a2794c19 878 0 +8eb414a6a3d3ad6d5e5412da8fced2ed014e80e6 878 0 unsat ((set-logic AUFLIA) (proof (let ((?x184 (* (- 1) x7$))) (let (($x363 (>= x7$ 0))) (let ((?x370 (ite $x363 x7$ ?x184))) (let ((?x381 (* (- 1) ?x370))) (let ((?x668 (+ x7$ ?x381))) (let (($x670 (>= ?x668 0))) (let (($x707 (not $x670))) (let ((?x655 (* (- 1) x11$))) (let ((?x656 (+ x2$ ?x655))) (let (($x657 (<= ?x656 0))) (let (($x766 (not $x657))) (let (($x92 (= x2$ x11$))) (let (($x583 (not $x92))) (let (($x91 (= x1$ x10$))) (let ((?x235 (* (- 1) x10$))) (let ((?x652 (+ x1$ ?x235))) (let (($x653 (<= ?x652 0))) (let ((?x133 (* (- 1) x4$))) (let (($x438 (>= x4$ 0))) (let ((?x445 (ite $x438 x4$ ?x133))) (let ((?x456 (* (- 1) ?x445))) (let ((?x677 (+ x4$ ?x456))) (let (($x678 (<= ?x677 0))) (let ((?x150 (* (- 1) x5$))) (let (($x413 (>= x5$ 0))) (let ((?x420 (ite $x413 x5$ ?x150))) (let ((?x431 (* (- 1) ?x420))) (let ((?x757 (+ x5$ ?x431))) (let (($x776 (>= ?x757 0))) (let (($x604 (= x5$ ?x420))) (let (($x313 (>= x10$ 0))) (let ((?x320 (ite $x313 x10$ ?x235))) (let ((?x331 (* (- 1) ?x320))) (let ((?x662 (+ x10$ ?x331))) (let (($x1381 (<= ?x662 0))) (let (($x644 (= x10$ ?x320))) (let (($x645 (= ?x235 ?x320))) (let (($x1121 (not $x645))) (let ((?x1103 (+ ?x235 ?x331))) (let (($x1249 (<= ?x1103 0))) (let (($x1261 (not $x1249))) (let ((?x218 (* (- 1) x9$))) (let (($x288 (>= x9$ 0))) (let ((?x295 (ite $x288 x9$ ?x218))) (let ((?x306 (* (- 1) ?x295))) (let ((?x1356 (+ ?x218 ?x306))) (let (($x1369 (>= ?x1356 0))) (let (($x637 (= ?x218 ?x295))) (let (($x289 (not $x288))) (let (($x414 (not $x413))) (let ((@x844 (hypothesis $x414))) (let (($x388 (>= x6$ 0))) (let (($x596 (= x4$ ?x445))) (let ((@x1078 (hypothesis $x288))) (let ((?x201 (* (- 1) x8$))) (let (($x338 (>= x8$ 0))) (let ((?x345 (ite $x338 x8$ ?x201))) (let ((?x356 (* (- 1) ?x345))) (let ((?x665 (+ x8$ ?x356))) (let (($x667 (>= ?x665 0))) (let (($x860 (not $x667))) (let (($x439 (not $x438))) (let ((@x763 (hypothesis $x439))) (let ((?x432 (+ x4$ x6$ ?x431))) (let (($x611 (>= ?x432 0))) (let (($x433 (= ?x432 0))) (let ((?x332 (+ x9$ x11$ ?x331))) (let (($x333 (= ?x332 0))) (let ((?x307 (+ x8$ x10$ ?x306))) (let (($x308 (= ?x307 0))) (let ((?x357 (+ x7$ x9$ ?x356))) (let (($x358 (= ?x357 0))) (let ((?x382 (+ x6$ x8$ ?x381))) (let (($x383 (= ?x382 0))) (let ((?x167 (* (- 1) x6$))) (let ((?x395 (ite $x388 x6$ ?x167))) (let ((?x406 (* (- 1) ?x395))) (let ((?x407 (+ x5$ x7$ ?x406))) (let (($x408 (= ?x407 0))) (let ((?x457 (+ x3$ x5$ ?x456))) (let (($x458 (= ?x457 0))) (let ((?x116 (* (- 1) x3$))) (let (($x463 (>= x3$ 0))) (let ((?x470 (ite $x463 x3$ ?x116))) (let ((?x481 (* (- 1) ?x470))) (let ((?x482 (+ x2$ x4$ ?x481))) (let (($x483 (= ?x482 0))) (let ((?x98 (* (- 1) x2$))) (let (($x488 (>= x2$ 0))) (let ((?x495 (ite $x488 x2$ ?x98))) (let ((?x506 (* (- 1) ?x495))) (let ((?x507 (+ x3$ x1$ ?x506))) (let (($x508 (= ?x507 0))) (let (($x537 (and $x508 $x483 $x458 $x433 $x408 $x383 $x358 $x308 $x333))) (let (($x548 (not (or (not $x537) (and $x91 $x92))))) (let (($x93 (and $x91 $x92))) (let (($x83 (and (= x10$ (- (ite (< x9$ 0) (- x9$) x9$) x8$)) (= x11$ (- (ite (< x10$ 0) (- x10$) x10$) x9$))))) (let (($x85 (and (= x8$ (- (ite (< x7$ 0) (- x7$) x7$) x6$)) (and (= x9$ (- (ite (< x8$ 0) (- x8$) x8$) x7$)) $x83)))) (let (($x87 (and (= x6$ (- (ite (< x5$ 0) (- x5$) x5$) x4$)) (and (= x7$ (- (ite (< x6$ 0) (- x6$) x6$) x5$)) $x85)))) (let (($x89 (and (= x4$ (- (ite (< x3$ 0) (- x3$) x3$) x2$)) (and (= x5$ (- (ite (< x4$ 0) (- x4$) x4$) x3$)) $x87)))) (let (($x94 (=> (and (= x3$ (- (ite (< x2$ 0) (- x2$) x2$) x1$)) $x89) $x93))) (let (($x95 (not $x94))) (let (($x78 (< x10$ 0))) (let ((?x238 (ite $x78 ?x235 x10$))) (let ((?x244 (+ ?x218 ?x238))) (let (($x249 (= x11$ ?x244))) (let (($x72 (< x9$ 0))) (let ((?x221 (ite $x72 ?x218 x9$))) (let ((?x227 (+ ?x201 ?x221))) (let (($x232 (= x10$ ?x227))) (let (($x252 (and $x232 $x249))) (let (($x66 (< x8$ 0))) (let ((?x204 (ite $x66 ?x201 x8$))) (let ((?x210 (+ ?x184 ?x204))) (let (($x215 (= x9$ ?x210))) (let (($x255 (and $x215 $x252))) (let (($x60 (< x7$ 0))) (let ((?x187 (ite $x60 ?x184 x7$))) (let ((?x193 (+ ?x167 ?x187))) (let (($x198 (= x8$ ?x193))) (let (($x258 (and $x198 $x255))) (let (($x54 (< x6$ 0))) (let ((?x170 (ite $x54 ?x167 x6$))) (let ((?x176 (+ ?x150 ?x170))) (let (($x181 (= x7$ ?x176))) (let (($x261 (and $x181 $x258))) (let (($x48 (< x5$ 0))) (let ((?x153 (ite $x48 ?x150 x5$))) (let ((?x159 (+ ?x133 ?x153))) (let (($x164 (= x6$ ?x159))) (let (($x264 (and $x164 $x261))) (let (($x42 (< x4$ 0))) (let ((?x136 (ite $x42 ?x133 x4$))) (let ((?x142 (+ ?x116 ?x136))) (let (($x147 (= x5$ ?x142))) (let (($x267 (and $x147 $x264))) (let (($x36 (< x3$ 0))) (let ((?x119 (ite $x36 ?x116 x3$))) (let ((?x125 (+ ?x98 ?x119))) (let (($x130 (= x4$ ?x125))) (let (($x270 (and $x130 $x267))) (let (($x29 (< x2$ 0))) (let ((?x101 (ite $x29 ?x98 x2$))) (let ((?x108 (+ (* (- 1) x1$) ?x101))) (let (($x113 (= x3$ ?x108))) (let (($x273 (and $x113 $x270))) (let (($x280 (or (not $x273) $x93))) (let (($x528 (and $x458 (and $x433 (and $x408 (and $x383 (and $x358 (and $x308 $x333)))))))) (let (($x526 (= $x264 (and $x433 (and $x408 (and $x383 (and $x358 (and $x308 $x333)))))))) (let ((@x319 (monotonicity (rewrite (= $x78 (not $x313))) (= ?x238 (ite (not $x313) ?x235 x10$))))) (let ((@x324 (trans @x319 (rewrite (= (ite (not $x313) ?x235 x10$) ?x320)) (= ?x238 ?x320)))) (let ((@x330 (monotonicity (monotonicity @x324 (= ?x244 (+ ?x218 ?x320))) (= $x249 (= x11$ (+ ?x218 ?x320)))))) (let ((@x337 (trans @x330 (rewrite (= (= x11$ (+ ?x218 ?x320)) $x333)) (= $x249 $x333)))) (let ((@x294 (monotonicity (rewrite (= $x72 $x289)) (= ?x221 (ite $x289 ?x218 x9$))))) (let ((@x302 (monotonicity (trans @x294 (rewrite (= (ite $x289 ?x218 x9$) ?x295)) (= ?x221 ?x295)) (= ?x227 (+ ?x201 ?x295))))) (let ((@x312 (trans (monotonicity @x302 (= $x232 (= x10$ (+ ?x201 ?x295)))) (rewrite (= (= x10$ (+ ?x201 ?x295)) $x308)) (= $x232 $x308)))) (let ((@x344 (monotonicity (rewrite (= $x66 (not $x338))) (= ?x204 (ite (not $x338) ?x201 x8$))))) (let ((@x349 (trans @x344 (rewrite (= (ite (not $x338) ?x201 x8$) ?x345)) (= ?x204 ?x345)))) (let ((@x355 (monotonicity (monotonicity @x349 (= ?x210 (+ ?x184 ?x345))) (= $x215 (= x9$ (+ ?x184 ?x345)))))) (let ((@x362 (trans @x355 (rewrite (= (= x9$ (+ ?x184 ?x345)) $x358)) (= $x215 $x358)))) (let ((@x518 (monotonicity @x362 (monotonicity @x312 @x337 (= $x252 (and $x308 $x333))) (= $x255 (and $x358 (and $x308 $x333)))))) (let ((@x369 (monotonicity (rewrite (= $x60 (not $x363))) (= ?x187 (ite (not $x363) ?x184 x7$))))) (let ((@x374 (trans @x369 (rewrite (= (ite (not $x363) ?x184 x7$) ?x370)) (= ?x187 ?x370)))) (let ((@x380 (monotonicity (monotonicity @x374 (= ?x193 (+ ?x167 ?x370))) (= $x198 (= x8$ (+ ?x167 ?x370)))))) (let ((@x387 (trans @x380 (rewrite (= (= x8$ (+ ?x167 ?x370)) $x383)) (= $x198 $x383)))) (let ((@x521 (monotonicity @x387 @x518 (= $x258 (and $x383 (and $x358 (and $x308 $x333))))))) (let ((@x394 (monotonicity (rewrite (= $x54 (not $x388))) (= ?x170 (ite (not $x388) ?x167 x6$))))) (let ((@x399 (trans @x394 (rewrite (= (ite (not $x388) ?x167 x6$) ?x395)) (= ?x170 ?x395)))) (let ((@x405 (monotonicity (monotonicity @x399 (= ?x176 (+ ?x150 ?x395))) (= $x181 (= x7$ (+ ?x150 ?x395)))))) (let ((@x412 (trans @x405 (rewrite (= (= x7$ (+ ?x150 ?x395)) $x408)) (= $x181 $x408)))) (let ((@x524 (monotonicity @x412 @x521 (= $x261 (and $x408 (and $x383 (and $x358 (and $x308 $x333)))))))) (let ((@x419 (monotonicity (rewrite (= $x48 $x414)) (= ?x153 (ite $x414 ?x150 x5$))))) (let ((@x427 (monotonicity (trans @x419 (rewrite (= (ite $x414 ?x150 x5$) ?x420)) (= ?x153 ?x420)) (= ?x159 (+ ?x133 ?x420))))) (let ((@x437 (trans (monotonicity @x427 (= $x164 (= x6$ (+ ?x133 ?x420)))) (rewrite (= (= x6$ (+ ?x133 ?x420)) $x433)) (= $x164 $x433)))) (let ((@x444 (monotonicity (rewrite (= $x42 $x439)) (= ?x136 (ite $x439 ?x133 x4$))))) (let ((@x452 (monotonicity (trans @x444 (rewrite (= (ite $x439 ?x133 x4$) ?x445)) (= ?x136 ?x445)) (= ?x142 (+ ?x116 ?x445))))) (let ((@x462 (trans (monotonicity @x452 (= $x147 (= x5$ (+ ?x116 ?x445)))) (rewrite (= (= x5$ (+ ?x116 ?x445)) $x458)) (= $x147 $x458)))) (let ((@x469 (monotonicity (rewrite (= $x36 (not $x463))) (= ?x119 (ite (not $x463) ?x116 x3$))))) (let ((@x474 (trans @x469 (rewrite (= (ite (not $x463) ?x116 x3$) ?x470)) (= ?x119 ?x470)))) (let ((@x480 (monotonicity (monotonicity @x474 (= ?x125 (+ ?x98 ?x470))) (= $x130 (= x4$ (+ ?x98 ?x470)))))) (let ((@x487 (trans @x480 (rewrite (= (= x4$ (+ ?x98 ?x470)) $x483)) (= $x130 $x483)))) (let ((@x533 (monotonicity @x487 (monotonicity @x462 (monotonicity @x437 @x524 $x526) (= $x267 $x528)) (= $x270 (and $x483 $x528))))) (let ((@x494 (monotonicity (rewrite (= $x29 (not $x488))) (= ?x101 (ite (not $x488) ?x98 x2$))))) (let ((@x499 (trans @x494 (rewrite (= (ite (not $x488) ?x98 x2$) ?x495)) (= ?x101 ?x495)))) (let ((@x505 (monotonicity (monotonicity @x499 (= ?x108 (+ (* (- 1) x1$) ?x495))) (= $x113 (= x3$ (+ (* (- 1) x1$) ?x495)))))) (let ((@x512 (trans @x505 (rewrite (= (= x3$ (+ (* (- 1) x1$) ?x495)) $x508)) (= $x113 $x508)))) (let ((@x541 (trans (monotonicity @x512 @x533 (= $x273 (and $x508 (and $x483 $x528)))) (rewrite (= (and $x508 (and $x483 $x528)) $x537)) (= $x273 $x537)))) (let ((@x547 (monotonicity (monotonicity @x541 (= (not $x273) (not $x537))) (= $x280 (or (not $x537) $x93))))) (let ((@x240 (monotonicity (rewrite (= (- x10$) ?x235)) (= (ite $x78 (- x10$) x10$) ?x238)))) (let ((@x243 (monotonicity @x240 (= (- (ite $x78 (- x10$) x10$) x9$) (- ?x238 x9$))))) (let ((@x248 (trans @x243 (rewrite (= (- ?x238 x9$) ?x244)) (= (- (ite $x78 (- x10$) x10$) x9$) ?x244)))) (let ((@x251 (monotonicity @x248 (= (= x11$ (- (ite $x78 (- x10$) x10$) x9$)) $x249)))) (let ((@x223 (monotonicity (rewrite (= (- x9$) ?x218)) (= (ite $x72 (- x9$) x9$) ?x221)))) (let ((@x226 (monotonicity @x223 (= (- (ite $x72 (- x9$) x9$) x8$) (- ?x221 x8$))))) (let ((@x231 (trans @x226 (rewrite (= (- ?x221 x8$) ?x227)) (= (- (ite $x72 (- x9$) x9$) x8$) ?x227)))) (let ((@x234 (monotonicity @x231 (= (= x10$ (- (ite $x72 (- x9$) x9$) x8$)) $x232)))) (let ((@x206 (monotonicity (rewrite (= (- x8$) ?x201)) (= (ite $x66 (- x8$) x8$) ?x204)))) (let ((@x209 (monotonicity @x206 (= (- (ite $x66 (- x8$) x8$) x7$) (- ?x204 x7$))))) (let ((@x214 (trans @x209 (rewrite (= (- ?x204 x7$) ?x210)) (= (- (ite $x66 (- x8$) x8$) x7$) ?x210)))) (let ((@x217 (monotonicity @x214 (= (= x9$ (- (ite $x66 (- x8$) x8$) x7$)) $x215)))) (let ((@x257 (monotonicity @x217 (monotonicity @x234 @x251 (= $x83 $x252)) (= (and (= x9$ (- (ite $x66 (- x8$) x8$) x7$)) $x83) $x255)))) (let ((@x189 (monotonicity (rewrite (= (- x7$) ?x184)) (= (ite $x60 (- x7$) x7$) ?x187)))) (let ((@x192 (monotonicity @x189 (= (- (ite $x60 (- x7$) x7$) x6$) (- ?x187 x6$))))) (let ((@x197 (trans @x192 (rewrite (= (- ?x187 x6$) ?x193)) (= (- (ite $x60 (- x7$) x7$) x6$) ?x193)))) (let ((@x200 (monotonicity @x197 (= (= x8$ (- (ite $x60 (- x7$) x7$) x6$)) $x198)))) (let ((@x172 (monotonicity (rewrite (= (- x6$) ?x167)) (= (ite $x54 (- x6$) x6$) ?x170)))) (let ((@x175 (monotonicity @x172 (= (- (ite $x54 (- x6$) x6$) x5$) (- ?x170 x5$))))) (let ((@x180 (trans @x175 (rewrite (= (- ?x170 x5$) ?x176)) (= (- (ite $x54 (- x6$) x6$) x5$) ?x176)))) (let ((@x183 (monotonicity @x180 (= (= x7$ (- (ite $x54 (- x6$) x6$) x5$)) $x181)))) (let ((@x263 (monotonicity @x183 (monotonicity @x200 @x257 (= $x85 $x258)) (= (and (= x7$ (- (ite $x54 (- x6$) x6$) x5$)) $x85) $x261)))) (let ((@x155 (monotonicity (rewrite (= (- x5$) ?x150)) (= (ite $x48 (- x5$) x5$) ?x153)))) (let ((@x158 (monotonicity @x155 (= (- (ite $x48 (- x5$) x5$) x4$) (- ?x153 x4$))))) (let ((@x163 (trans @x158 (rewrite (= (- ?x153 x4$) ?x159)) (= (- (ite $x48 (- x5$) x5$) x4$) ?x159)))) (let ((@x166 (monotonicity @x163 (= (= x6$ (- (ite $x48 (- x5$) x5$) x4$)) $x164)))) (let ((@x138 (monotonicity (rewrite (= (- x4$) ?x133)) (= (ite $x42 (- x4$) x4$) ?x136)))) (let ((@x141 (monotonicity @x138 (= (- (ite $x42 (- x4$) x4$) x3$) (- ?x136 x3$))))) (let ((@x146 (trans @x141 (rewrite (= (- ?x136 x3$) ?x142)) (= (- (ite $x42 (- x4$) x4$) x3$) ?x142)))) (let ((@x149 (monotonicity @x146 (= (= x5$ (- (ite $x42 (- x4$) x4$) x3$)) $x147)))) (let ((@x269 (monotonicity @x149 (monotonicity @x166 @x263 (= $x87 $x264)) (= (and (= x5$ (- (ite $x42 (- x4$) x4$) x3$)) $x87) $x267)))) (let ((@x121 (monotonicity (rewrite (= (- x3$) ?x116)) (= (ite $x36 (- x3$) x3$) ?x119)))) (let ((@x124 (monotonicity @x121 (= (- (ite $x36 (- x3$) x3$) x2$) (- ?x119 x2$))))) (let ((@x129 (trans @x124 (rewrite (= (- ?x119 x2$) ?x125)) (= (- (ite $x36 (- x3$) x3$) x2$) ?x125)))) (let ((@x132 (monotonicity @x129 (= (= x4$ (- (ite $x36 (- x3$) x3$) x2$)) $x130)))) (let ((@x103 (monotonicity (rewrite (= (- x2$) ?x98)) (= (ite $x29 (- x2$) x2$) ?x101)))) (let ((@x106 (monotonicity @x103 (= (- (ite $x29 (- x2$) x2$) x1$) (- ?x101 x1$))))) (let ((@x112 (trans @x106 (rewrite (= (- ?x101 x1$) ?x108)) (= (- (ite $x29 (- x2$) x2$) x1$) ?x108)))) (let ((@x115 (monotonicity @x112 (= (= x3$ (- (ite $x29 (- x2$) x2$) x1$)) $x113)))) (let ((@x275 (monotonicity @x115 (monotonicity @x132 @x269 (= $x89 $x270)) (= (and (= x3$ (- (ite $x29 (- x2$) x2$) x1$)) $x89) $x273)))) (let ((@x284 (trans (monotonicity @x275 (= $x94 (=> $x273 $x93))) (rewrite (= (=> $x273 $x93) $x280)) (= $x94 $x280)))) (let ((@x552 (trans (monotonicity @x284 (= $x95 (not $x280))) (monotonicity @x547 (= (not $x280) $x548)) (= $x95 $x548)))) (let ((@x554 (not-or-elim (mp (asserted $x95) @x552 $x548) $x537))) (let ((@x558 (and-elim @x554 $x433))) (let ((@x799 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x433) $x611)) @x558 $x611))) (let ((?x931 (+ ?x150 ?x431))) (let (($x933 (<= ?x931 0))) (let (($x605 (= ?x150 ?x420))) (let ((@x1000 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x605) $x933)) (unit-resolution (def-axiom (or $x413 $x605)) @x844 $x605) $x933))) (let (($x634 (<= ?x357 0))) (let ((@x561 (and-elim @x554 $x358))) (let ((@x857 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x358) $x634)) @x561 $x634))) (let (($x620 (= x7$ ?x370))) (let ((?x777 (+ ?x167 ?x406))) (let (($x780 (<= ?x777 0))) (let (($x613 (= ?x167 ?x395))) (let (($x389 (not $x388))) (let (($x364 (not $x363))) (let ((@x1027 (hypothesis $x364))) (let ((@x1026 (hypothesis $x388))) (let (($x619 (>= ?x407 0))) (let ((@x559 (and-elim @x554 $x408))) (let ((@x853 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x408) $x619)) @x559 $x619))) (let ((?x671 (+ x6$ ?x406))) (let (($x936 (<= ?x671 0))) (let (($x612 (= x6$ ?x395))) (let ((@x615 (def-axiom (or $x389 $x612)))) (let ((@x950 ((_ th-lemma arith triangle-eq) (or (not $x612) $x936)))) (let ((@x1029 (unit-resolution @x950 (unit-resolution @x615 @x1026 $x612) $x936))) (let ((@x1032 (lemma ((_ th-lemma arith farkas 1 1 1 1 1) @x1029 @x853 @x1027 @x844 @x1026 false) (or $x363 $x413 $x389)))) (let ((@x617 (def-axiom (or $x388 $x613)))) (let ((@x1063 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x613) $x780)) (unit-resolution @x617 (unit-resolution @x1032 @x1027 @x844 $x389) $x613) $x780))) (let ((@x1064 ((_ th-lemma arith farkas 1 1 1 1 1) (unit-resolution @x1032 @x1027 @x844 $x389) @x1027 @x853 @x844 @x1063 false))) (let ((@x623 (def-axiom (or $x364 $x620)))) (let ((@x1087 (unit-resolution @x623 (unit-resolution (lemma @x1064 (or $x363 $x413)) @x844 $x363) $x620))) (let ((@x926 ((_ th-lemma arith triangle-eq) (or (not $x620) $x670)))) (let ((@x1088 (unit-resolution @x926 @x1087 $x670))) (let (($x626 (<= ?x382 0))) (let ((@x560 (and-elim @x554 $x383))) (let ((@x703 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x383) $x626)) @x560 $x626))) (let ((@x858 (hypothesis $x667))) (let ((@x1104 (lemma ((_ th-lemma arith farkas 1 1 1 1 1 1 1 1 1) @x858 @x703 @x1088 @x857 @x763 @x1000 @x844 @x799 @x1078 false) (or $x438 $x860 $x413 $x289)))) (let (($x628 (= x8$ ?x345))) (let (($x840 (<= ?x668 0))) (let ((@x865 ((_ th-lemma arith triangle-eq) (or (not $x620) $x840)))) (let ((@x1089 (unit-resolution @x865 @x1087 $x840))) (let (($x627 (>= ?x382 0))) (let ((@x835 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x383) $x627)) @x560 $x627))) (let ((@x1241 (unit-resolution ((_ th-lemma arith assign-bounds 1 1 1 1) (or $x438 (not $x933) $x413 (not $x611) $x388)) @x763 @x799 @x1000 @x844 $x388))) (let ((@x1094 ((_ th-lemma arith assign-bounds 1 1 1 1 1) (or $x338 (not $x627) (not $x840) (not $x936) (not $x619) $x413)))) (let ((@x1244 (unit-resolution @x1094 (unit-resolution @x950 (unit-resolution @x615 @x1241 $x612) $x936) @x835 @x844 @x1089 @x853 $x338))) (let ((@x631 (def-axiom (or (not $x338) $x628)))) (let ((@x1117 ((_ th-lemma arith triangle-eq) (or (not $x628) $x667)))) (let ((@x1246 (unit-resolution @x1117 (unit-resolution @x631 @x1244 $x628) (unit-resolution @x1104 @x763 @x844 @x1078 $x860) false))) (let ((@x599 (def-axiom (or $x439 $x596)))) (let ((@x1327 (unit-resolution @x599 (unit-resolution (lemma @x1246 (or $x438 $x413 $x289)) @x844 @x1078 $x438) $x596))) (let ((@x693 ((_ th-lemma arith triangle-eq) (or (not $x596) $x678)))) (let ((?x659 (+ x9$ ?x306))) (let (($x661 (>= ?x659 0))) (let (($x636 (= x9$ ?x295))) (let ((@x639 (def-axiom (or $x289 $x636)))) (let ((@x1146 ((_ th-lemma arith triangle-eq) (or (not $x636) $x661)))) (let ((@x1147 (unit-resolution @x1146 (unit-resolution @x639 @x1078 $x636) $x661))) (let (($x660 (<= ?x659 0))) (let ((@x1151 ((_ th-lemma arith triangle-eq) (or (not $x636) $x660)))) (let ((@x1152 (unit-resolution @x1151 (unit-resolution @x639 @x1078 $x636) $x660))) (let (($x658 (>= ?x656 0))) (let (($x673 (>= ?x671 0))) (let (($x706 (not $x673))) (let (($x663 (<= ?x665 0))) (let (($x643 (>= ?x307 0))) (let ((@x562 (and-elim @x554 $x308))) (let ((@x1138 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x308) $x643)) @x562 $x643))) (let (($x314 (not $x313))) (let (($x1164 (not $x644))) (let (($x664 (>= ?x662 0))) (let (($x734 (not $x664))) (let (($x710 (not $x658))) (let ((@x711 (hypothesis $x710))) (let ((@x731 (hypothesis $x661))) (let ((@x716 (hypothesis $x664))) (let (($x621 (= ?x184 ?x370))) (let (($x823 (not $x621))) (let ((?x778 (+ ?x184 ?x381))) (let (($x779 (<= ?x778 0))) (let (($x902 (not $x779))) (let (($x669 (>= ?x677 0))) (let (($x464 (not $x463))) (let ((@x688 (hypothesis $x464))) (let (($x847 (not $x613))) (let (($x839 (>= ?x777 0))) (let (($x872 (not $x839))) (let ((?x680 (+ x3$ ?x481))) (let (($x681 (<= ?x680 0))) (let ((?x676 (+ ?x116 ?x481))) (let (($x679 (<= ?x676 0))) (let (($x589 (= ?x116 ?x470))) (let ((@x758 (unit-resolution (def-axiom (or $x463 $x589)) @x688 $x589))) (let ((@x762 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x589) $x679)) @x758 $x679))) (let ((?x674 (+ ?x133 ?x456))) (let (($x675 (<= ?x674 0))) (let (($x597 (= ?x133 ?x445))) (let ((@x601 (def-axiom (or $x438 $x597)))) (let ((@x941 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x597) $x675)) (unit-resolution @x601 @x763 $x597) $x675))) (let ((@x944 (unit-resolution ((_ th-lemma arith assign-bounds 2 1) (or $x678 $x438 (not $x675))) @x941 @x763 $x678))) (let ((@x869 (hypothesis $x681))) (let ((@x868 (hypothesis $x678))) (let ((@x867 (hypothesis $x839))) (let ((@x866 (unit-resolution @x865 (unit-resolution @x623 (hypothesis $x363) $x620) $x840))) (let ((@x841 (hypothesis $x363))) (let (($x618 (<= ?x407 0))) (let ((@x698 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x408) $x618)) @x559 $x618))) (let (($x603 (>= ?x457 0))) (let ((@x557 (and-elim @x554 $x458))) (let ((@x687 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x458) $x603)) @x557 $x603))) (let (($x650 (<= ?x332 0))) (let ((@x563 (and-elim @x554 $x333))) (let ((@x715 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x333) $x650)) @x563 $x650))) (let (($x595 (>= ?x482 0))) (let ((@x556 (and-elim @x554 $x483))) (let ((@x720 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x483) $x595)) @x556 $x595))) (let (($x642 (<= ?x307 0))) (let ((@x730 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x308) $x642)) @x562 $x642))) (let ((@x870 ((_ th-lemma arith farkas -1 1 -1 1 -1 -1 1 1 -1 1 1 -1 -2 1) @x835 @x869 @x731 @x730 @x720 @x716 @x715 @x711 @x687 @x868 @x698 @x867 @x841 @x866 false))) (let ((@x874 (lemma @x870 (or $x364 (not $x681) (not $x661) $x734 $x658 (not $x678) $x872)))) (let ((@x625 (def-axiom (or $x363 $x621)))) (let ((@x880 (unit-resolution @x625 (unit-resolution @x874 @x867 @x731 @x716 @x711 @x868 @x869 $x364) $x621))) (let ((@x882 ((_ th-lemma arith farkas -1 1 -1 1 -1 -1 1 1 -1 1 1 -1 1) @x835 @x869 @x731 @x730 @x720 @x716 @x715 @x711 @x687 @x868 @x698 @x867 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x823 $x779)) @x880 $x779) false))) (let ((@x884 (lemma @x882 (or $x872 (not $x681) (not $x661) $x734 $x658 (not $x678))))) (let ((@x945 (unit-resolution @x884 @x944 @x731 @x716 @x711 (unit-resolution ((_ th-lemma arith assign-bounds 1 2) (or $x681 (not $x679) $x463)) @x762 @x688 $x681) $x872))) (let ((@x892 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x847 $x839)) (hypothesis $x613) (hypothesis $x872) false))) (let ((@x893 (lemma @x892 (or $x847 $x839)))) (let ((@x948 (unit-resolution @x615 (unit-resolution @x617 (unit-resolution @x893 @x945 $x847) $x388) $x612))) (let (($x775 (<= ?x757 0))) (let ((@x954 (unit-resolution ((_ th-lemma arith assign-bounds 1 1 1 1) (or $x413 (not $x675) (not $x603) $x463 $x438)) @x763 @x687 @x688 @x941 $x413))) (let ((@x607 (def-axiom (or $x414 $x604)))) (let ((@x794 ((_ th-lemma arith triangle-eq) (or (not $x604) $x775)))) (let ((@x960 ((_ th-lemma arith assign-bounds 1 1 1 1 1) (or $x363 (not $x936) (not $x619) $x438 (not $x775) (not $x611))))) (let ((@x961 (unit-resolution @x960 @x763 @x853 @x799 (unit-resolution @x794 (unit-resolution @x607 @x954 $x604) $x775) (unit-resolution @x950 @x948 $x936) $x363))) (let (($x602 (<= ?x457 0))) (let ((@x832 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x458) $x602)) @x557 $x602))) (let (($x932 (>= ?x674 0))) (let ((@x966 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x597) $x932)) (unit-resolution @x601 @x763 $x597) $x932))) (let ((@x967 ((_ th-lemma arith farkas -1 -1 1 1 -1 -1 1 1 1 -1 -1 1 1) @x835 @x731 @x730 @x762 @x720 @x716 @x715 @x711 (unit-resolution @x950 @x948 $x936) @x853 @x966 @x832 (unit-resolution @x865 (unit-resolution @x623 @x961 $x620) $x840) false))) (let ((@x974 (unit-resolution (lemma @x967 (or $x438 (not $x661) $x734 $x658 $x463)) @x688 @x716 @x711 @x731 $x438))) (let ((@x828 ((_ th-lemma arith triangle-eq) (or (not $x596) $x669)))) (let ((@x978 (unit-resolution ((_ th-lemma arith assign-bounds 1 1 1 1) (or $x413 (not $x603) $x463 $x439 (not $x678))) (unit-resolution @x693 (unit-resolution @x599 @x974 $x596) $x678) @x687 @x688 @x974 $x413))) (let ((@x791 ((_ th-lemma arith triangle-eq) (or (not $x604) $x776)))) (let ((@x981 (unit-resolution @x884 (unit-resolution @x693 (unit-resolution @x599 @x974 $x596) $x678) @x731 @x716 @x711 (unit-resolution ((_ th-lemma arith assign-bounds 1 2) (or $x681 (not $x679) $x463)) @x762 @x688 $x681) $x872))) (let ((@x984 (unit-resolution @x615 (unit-resolution @x617 (unit-resolution @x893 @x981 $x847) $x388) $x612))) (let ((@x808 ((_ th-lemma arith triangle-eq) (or (not $x612) $x673)))) (let (($x903 (not $x669))) (let (($x817 (not $x776))) (let (($x813 (not $x679))) (let (($x733 (not $x661))) (let ((@x900 (hypothesis $x669))) (let (($x610 (<= ?x432 0))) (let ((@x812 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x433) $x610)) @x558 $x610))) (let ((@x699 (hypothesis $x673))) (let ((@x934 (hypothesis $x679))) (let ((@x935 ((_ th-lemma arith farkas -1 -1 1 1 -1 -1 1 1 -1 1 -2 2 -1 1 1) @x835 @x731 @x730 @x934 @x720 @x716 @x715 @x711 @x699 @x698 (hypothesis $x776) @x812 @x900 @x832 (hypothesis $x779) false))) (let ((@x986 (unit-resolution (lemma @x935 (or $x902 $x733 $x813 $x734 $x658 $x706 $x817 $x903)) @x762 @x731 @x716 @x711 (unit-resolution @x808 @x984 $x673) (unit-resolution @x791 (unit-resolution @x607 @x978 $x604) $x776) (unit-resolution @x828 (unit-resolution @x599 @x974 $x596) $x669) $x902))) (let ((@x906 (hypothesis $x902))) (let ((@x908 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x823 $x779)) (hypothesis $x621) @x906 false))) (let ((@x909 (lemma @x908 (or $x823 $x779)))) (let ((@x989 (unit-resolution @x623 (unit-resolution @x625 (unit-resolution @x909 @x986 $x823) $x363) $x620))) (let ((@x991 ((_ th-lemma arith farkas -1 -1 1 1 -1 -1 1 1 -1 1 -2 2 -2 -1 1 1) @x835 @x731 @x730 @x762 @x720 @x716 @x715 @x711 (unit-resolution @x808 @x984 $x673) @x698 (unit-resolution @x791 (unit-resolution @x607 @x978 $x604) $x776) @x812 (unit-resolution @x625 (unit-resolution @x909 @x986 $x823) $x363) (unit-resolution @x828 (unit-resolution @x599 @x974 $x596) $x669) @x832 (unit-resolution @x865 @x989 $x840) false))) (let ((@x972 (unit-resolution (lemma @x991 (or $x463 $x733 $x734 $x658)) @x716 @x731 @x711 $x463))) (let (($x588 (= x3$ ?x470))) (let ((@x591 (def-axiom (or $x464 $x588)))) (let ((@x725 ((_ th-lemma arith triangle-eq) (or (not $x588) $x681)))) (let ((@x994 (unit-resolution @x725 (unit-resolution @x591 @x972 $x588) $x681))) (let ((@x1011 (unit-resolution @x893 (unit-resolution @x884 @x944 @x731 @x716 @x711 @x994 $x872) $x847))) (let ((@x1014 (unit-resolution @x950 (unit-resolution @x615 (unit-resolution @x617 @x1011 $x388) $x612) $x936))) (let ((@x1001 (hypothesis $x936))) (let ((@x1004 ((_ th-lemma arith assign-bounds 1 1 1 1 1 2) (or $x363 (not $x936) (not $x619) $x438 (not $x611) (not $x933) $x413)))) (let ((@x1006 (unit-resolution @x623 (unit-resolution @x1004 @x844 @x799 @x853 @x763 @x1001 @x1000 $x363) $x620))) (let ((@x764 (hypothesis $x657))) (let ((@x1008 ((_ th-lemma arith farkas 1 1 1 2 1 1 1 1 1 1 1 1 1 2 1) @x835 @x1001 @x853 @x844 @x731 @x730 @x720 @x716 @x715 @x764 @x687 @x941 @x869 @x763 (unit-resolution @x865 @x1006 $x840) false))) (let ((@x1015 (unit-resolution (lemma @x1008 (or $x413 (not $x936) $x733 $x734 $x766 (not $x681) $x438)) @x1014 @x731 @x716 (unit-resolution ((_ th-lemma arith farkas 1 1) (or $x658 $x657)) @x711 $x657) @x994 @x763 $x413))) (let ((@x1018 (unit-resolution @x960 (unit-resolution @x794 (unit-resolution @x607 @x1015 $x604) $x775) @x853 @x763 @x1014 @x799 $x363))) (let ((@x1021 ((_ th-lemma arith farkas -1/2 1/2 -1/2 1/2 -1/2 1/2 1/2 -1/2 1/2 1/2 -1/2 -1/2 -1/2 1) @x832 @x966 (unit-resolution @x865 (unit-resolution @x623 @x1018 $x620) $x840) @x835 @x1014 @x853 @x731 @x730 @x720 @x716 @x715 @x711 @x994 @x972 false))) (let ((@x1025 (unit-resolution (lemma @x1021 (or $x438 $x733 $x734 $x658)) @x716 @x731 @x711 $x438))) (let ((@x1035 (unit-resolution @x884 (unit-resolution @x693 (unit-resolution @x599 @x1025 $x596) $x678) @x731 @x716 @x711 @x994 $x872))) (let ((@x1037 (unit-resolution @x617 (unit-resolution @x893 @x1035 $x847) $x388))) (let (($x1024 (>= ?x931 0))) (let ((@x1040 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x605) $x1024)) (unit-resolution (def-axiom (or $x413 $x605)) @x844 $x605) $x1024))) (let ((@x1043 (unit-resolution @x865 (unit-resolution @x623 (unit-resolution @x1032 @x844 @x1037 $x363) $x620) $x840))) (let ((@x1046 ((_ th-lemma arith farkas -1 1 -1 1 1 -1 1 1 -1 -1 -1 1 -1 1 1) (unit-resolution @x950 (unit-resolution @x615 @x1037 $x612) $x936) @x853 @x1043 @x835 @x731 @x730 @x720 @x716 @x715 @x711 @x994 @x1040 @x812 @x972 @x1037 false))) (let ((@x1051 (unit-resolution (lemma @x1046 (or $x413 $x733 $x734 $x658)) @x716 @x731 @x711 $x413))) (let ((@x897 (unit-resolution @x725 (unit-resolution @x591 (hypothesis $x463) $x588) $x681))) (let ((@x901 ((_ th-lemma arith farkas -1/2 1/2 1 -1 -1/2 1/2 -1/2 1/2 -1/2 1/2 1/2 -1/2 -1/2 -1/2 1/2 1) @x832 @x900 (hypothesis $x776) @x812 (hypothesis $x779) @x835 @x897 @x731 @x730 @x720 @x716 @x715 @x711 @x698 @x699 (hypothesis $x463) false))) (let ((@x1054 (unit-resolution (lemma @x901 (or $x902 $x903 $x817 $x733 $x734 $x658 $x706 $x464)) (unit-resolution @x791 (unit-resolution @x607 @x1051 $x604) $x776) @x972 @x731 @x716 @x711 (unit-resolution @x828 (unit-resolution @x599 @x1025 $x596) $x669) (unit-resolution @x808 (unit-resolution @x615 @x1037 $x612) $x673) $x902))) (let ((@x1057 (unit-resolution @x623 (unit-resolution @x625 (unit-resolution @x909 @x1054 $x823) $x363) $x620))) (let ((@x1059 ((_ th-lemma arith farkas 1 -1 1/2 -1/2 1 1/2 -1/2 -1/2 1/2 1/2 -1/2 1/2 1/2 -1/2 -1/2 -1/2 1) (unit-resolution @x791 (unit-resolution @x607 @x1051 $x604) $x776) @x812 (unit-resolution @x828 (unit-resolution @x599 @x1025 $x596) $x669) @x832 (unit-resolution @x625 (unit-resolution @x909 @x1054 $x823) $x363) (unit-resolution @x808 (unit-resolution @x615 @x1037 $x612) $x673) @x698 (unit-resolution @x865 @x1057 $x840) @x835 @x731 @x730 @x720 @x716 @x715 @x711 @x994 @x972 false))) (let ((@x1167 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x1164 $x664)) (hypothesis $x644) (hypothesis $x734) false))) (let ((@x1168 (lemma @x1167 (or $x1164 $x664)))) (let ((@x1170 (unit-resolution @x1168 (unit-resolution (lemma @x1059 (or $x734 $x733 $x658)) @x711 @x1147 $x734) $x1164))) (let ((@x647 (def-axiom (or $x314 $x644)))) (let ((@x1171 (unit-resolution @x647 @x1170 $x314))) (let ((@x1193 ((_ th-lemma arith assign-bounds 1 1 1 1) (or $x338 $x313 (not $x660) (not $x643) $x289)))) (let ((@x1218 (unit-resolution @x631 (unit-resolution @x1193 @x1171 @x1138 @x1078 @x1152 $x338) $x628))) (let ((@x1129 ((_ th-lemma arith triangle-eq) (or (not $x628) $x663)))) (let ((@x1219 (unit-resolution @x1129 @x1218 $x663))) (let (($x784 (not $x678))) (let (($x745 (not $x675))) (let ((@x845 (hypothesis $x389))) (let ((@x803 ((_ th-lemma arith assign-bounds 1 1 1 1 1) (or $x388 (not $x775) (not $x603) $x463 $x784 (not $x611))))) (let ((@x1070 (unit-resolution @x803 @x845 @x799 (unit-resolution ((_ th-lemma arith assign-bounds 1 2) (or $x775 (not $x933) $x413)) @x1000 @x844 $x775) @x688 @x687 $x784))) (let ((@x1073 (unit-resolution ((_ th-lemma arith assign-bounds 1 1 1 1) (or $x438 (not $x933) $x413 (not $x611) $x388)) @x845 @x799 @x844 @x1000 $x438))) (let ((@x1077 (lemma (unit-resolution @x693 (unit-resolution @x599 @x1073 $x596) @x1070 false) (or $x388 $x463 $x413)))) (let ((@x1083 (unit-resolution ((_ th-lemma arith assign-bounds -1 1 -1 1 -1) (or $x745 (not $x603) $x463 (not $x1024) (not $x610) $x389)) (unit-resolution @x1077 @x688 @x844 $x388) @x812 @x687 @x688 @x1040 $x745))) (let ((@x1085 (unit-resolution @x808 (unit-resolution @x615 (unit-resolution @x1077 @x688 @x844 $x388) $x612) $x673))) (let ((@x1090 (unit-resolution @x950 (unit-resolution @x615 (unit-resolution @x1077 @x688 @x844 $x388) $x612) $x936))) (let ((@x683 (hypothesis $x670))) (let ((@x694 (unit-resolution @x693 (unit-resolution @x599 (hypothesis $x438) $x596) $x678))) (let ((@x689 (hypothesis $x438))) (let ((@x704 (hypothesis $x338))) (let ((@x709 (lemma ((_ th-lemma arith farkas 1 -1 1 -1 1 -1 -1 1 1) @x704 @x703 @x699 @x698 @x689 @x694 @x688 @x687 @x683 false) (or $x463 (not $x338) $x706 $x439 $x707)))) (let ((@x1096 (unit-resolution @x709 (unit-resolution @x1094 @x1090 @x835 @x844 @x853 @x1089 $x338) @x1088 @x688 @x1085 $x439))) (let ((@x1098 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x597) $x675)) (unit-resolution @x601 @x1096 $x597) @x1083 false))) (let ((@x1132 (unit-resolution @x591 (unit-resolution (lemma @x1098 (or $x463 $x413)) @x844 $x463) $x588))) (let ((@x1133 (unit-resolution @x725 @x1132 $x681))) (let (($x1105 (>= ?x1103 0))) (let ((@x1160 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x1121 $x1105)) (hypothesis $x645) (hypothesis (not $x1105)) false))) (let ((@x1161 (lemma @x1160 (or $x1121 $x1105)))) (let ((@x1173 (unit-resolution @x1161 (unit-resolution (def-axiom (or $x313 $x645)) @x1171 $x645) $x1105))) (let ((@x850 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x847 $x780)) (unit-resolution @x617 @x845 $x613) $x780))) (let ((@x1112 (unit-resolution ((_ th-lemma arith farkas 1 1) (or $x936 $x673)) (unit-resolution ((_ th-lemma arith assign-bounds 1 2) (or $x706 (not $x780) $x388)) @x850 @x845 $x706) $x936))) (let ((@x1114 (unit-resolution @x631 (unit-resolution @x1094 @x1112 @x835 @x853 @x844 @x1089 $x338) $x628))) (let ((@x859 ((_ th-lemma arith farkas 1 1 1 1 1 1 1 1 1) @x858 @x857 @x853 @x845 @x731 @x730 @x850 @x844 (hypothesis $x313) false))) (let ((@x1119 (unit-resolution (lemma @x859 (or $x413 $x860 $x388 $x733 $x314)) (unit-resolution @x1117 @x1114 $x667) @x844 @x731 @x845 $x314))) (let ((@x649 (def-axiom (or $x313 $x645)))) (let ((@x1124 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x1121 $x1105)) (unit-resolution @x649 @x1119 $x645) $x1105))) (let (($x635 (>= ?x357 0))) (let ((@x1127 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x358) $x635)) @x561 $x635))) (let ((@x1135 (unit-resolution @x893 (unit-resolution @x617 @x845 $x613) $x839))) (let ((@x1139 (hypothesis $x660))) (let ((@x1140 ((_ th-lemma arith farkas 1 -1 1 -1 -1 1 -1 -1 1 -1 1 -1 -2 2 1) @x835 @x1139 @x1138 @x1089 @x698 @x1135 @x715 @x711 @x720 (unit-resolution @x693 (unit-resolution @x599 @x1073 $x596) $x678) @x687 @x1133 (unit-resolution @x1129 @x1114 $x663) @x1127 @x1124 false))) (let ((@x1174 (unit-resolution (lemma @x1140 (or $x388 (not $x660) $x658 $x413 $x733)) @x844 @x711 @x1152 @x1147 $x388))) (let ((@x1154 ((_ th-lemma arith farkas -1/2 1/2 1/2 -1/2 1/2 -1/2 1/2 -1/2 -1/2 1/2 -1/2 1/2 -1/2 1) @x703 @x683 @x699 @x698 (hypothesis $x1105) @x1152 @x1138 @x715 @x711 @x720 @x868 @x687 @x869 @x1078 false))) (let ((@x1177 (unit-resolution (lemma @x1154 (or (not $x1105) $x707 $x706 $x658 $x784 (not $x681) $x289)) (unit-resolution @x808 (unit-resolution @x615 @x1174 $x612) $x673) @x1173 @x711 @x1133 @x1088 @x1078 $x784))) (let ((@x1179 (unit-resolution @x1094 @x1089 @x835 @x844 (unit-resolution @x950 (unit-resolution @x615 @x1174 $x612) $x936) @x853 $x338))) (let ((@x1182 (unit-resolution @x1104 (unit-resolution @x1117 (unit-resolution @x631 @x1179 $x628) $x667) @x844 @x1078 $x438))) (let ((@x1186 (lemma (unit-resolution @x693 (unit-resolution @x599 @x1182 $x596) @x1177 false) (or $x413 $x289 $x658)))) (let ((@x1222 (unit-resolution @x791 (unit-resolution @x607 (unit-resolution @x1186 @x711 @x1078 $x413) $x604) $x776))) (let ((@x1189 (unit-resolution @x794 (unit-resolution @x607 (hypothesis $x413) $x604) $x775))) (let ((@x1195 (unit-resolution @x631 (unit-resolution @x1193 (hypothesis $x314) @x1138 @x1078 @x1152 $x338) $x628))) (let ((@x1190 (hypothesis $x314))) (let ((@x1201 ((_ th-lemma arith assign-bounds 1 1 1 1 1) (or $x363 $x313 (not $x663) (not $x635) (not $x660) (not $x643))))) (let ((@x1202 (unit-resolution @x1201 (unit-resolution @x1129 @x1195 $x663) @x1138 @x1190 @x1152 @x1127 $x363))) (let ((@x1187 (hypothesis $x413))) (let ((@x1205 ((_ th-lemma arith farkas -1 1 -1 -1 -1 1 1 -1 1) @x1187 @x703 (unit-resolution @x926 (unit-resolution @x623 @x1202 $x620) $x670) @x1078 (unit-resolution @x1117 @x1195 $x667) @x857 @x763 @x799 @x1189 false))) (let ((@x1207 (lemma @x1205 (or $x438 $x414 $x289 $x313)))) (let ((@x1223 (unit-resolution @x1207 (unit-resolution @x1186 @x711 @x1078 $x413) @x1078 @x1171 $x438))) (let (($x818 (not $x610))) (let (($x1199 (not $x635))) (let (($x1198 (not $x663))) (let (($x1191 (not $x643))) (let (($x1141 (not $x660))) (let (($x743 (not $x618))) (let ((@x1226 (unit-resolution ((_ th-lemma arith assign-bounds -1 -1 -1 1 1 -1 1 1 -1) (or $x706 $x743 $x313 $x1141 $x1191 $x817 $x1198 $x1199 $x439 $x818)) @x1171 @x698 @x1127 @x1138 @x812 @x1152 @x1223 @x1222 @x1219 $x706))) (let ((@x1227 (unit-resolution @x794 (unit-resolution @x607 (unit-resolution @x1186 @x711 @x1078 $x413) $x604) $x775))) (let ((@x1231 (unit-resolution @x623 (unit-resolution @x1201 @x1219 @x1138 @x1171 @x1152 @x1127 $x363) $x620))) (let ((@x1208 (hypothesis $x840))) (let ((@x1211 (unit-resolution @x591 (unit-resolution @x803 @x845 @x799 (hypothesis $x775) @x868 @x687 $x463) $x588))) (let ((@x1213 (hypothesis $x663))) (let ((@x1214 ((_ th-lemma arith farkas -1 -2 2 -1 1 1 -1 -1 1 -1 1 -1 -1 1 1) @x698 @x1213 @x1127 @x1139 @x1138 (hypothesis $x1105) @x715 @x711 @x720 (unit-resolution @x725 @x1211 $x681) @x835 @x1208 @x868 @x687 @x1135 false))) (let ((@x1216 (lemma @x1214 (or $x388 $x1198 $x1141 (not $x1105) $x658 (not $x840) $x784 (not $x775))))) (let ((@x1233 (unit-resolution @x1216 @x1219 @x1152 @x1173 @x711 (unit-resolution @x865 @x1231 $x840) (unit-resolution @x693 (unit-resolution @x599 @x1223 $x596) $x678) @x1227 $x388))) (let ((@x1237 (lemma (unit-resolution @x808 (unit-resolution @x615 @x1233 $x612) @x1226 false) (or $x658 $x289)))) (let (($x582 (not $x91))) (let ((@x1267 (unit-resolution @x631 (unit-resolution @x1094 @x1112 @x835 @x844 @x1089 @x853 $x338) $x628))) (let (($x672 (>= ?x680 0))) (let ((@x1270 ((_ th-lemma arith triangle-eq) (or (not $x588) $x672)))) (let ((@x1271 (unit-resolution @x1270 @x1132 $x672))) (let ((@x1272 (unit-resolution (lemma @x859 (or $x413 $x860 $x388 $x733 $x314)) (unit-resolution @x1117 @x1267 $x667) @x844 @x731 @x845 $x314))) (let ((@x1276 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x1121 $x1249)) (unit-resolution @x649 @x1272 $x645) $x1249))) (let ((@x1250 (hypothesis $x780))) (let ((@x1251 (hypothesis $x672))) (let (($x594 (<= ?x482 0))) (let ((@x1254 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x483) $x594)) @x556 $x594))) (let ((@x1255 (hypothesis $x766))) (let (($x651 (>= ?x332 0))) (let ((@x1258 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x333) $x651)) @x563 $x651))) (let ((@x1260 ((_ th-lemma arith farkas 1/2 -1 -1/2 -1/2 1/2 1/2 -1/2 1/2 -1/2 1/2 -1/2 1/2 -1/2 1/2 1) @x683 @x857 @x703 (hypothesis $x1249) @x1258 @x1255 @x1254 @x1251 @x832 @x731 @x730 @x900 @x1250 @x853 @x858 false))) (let ((@x1264 (lemma @x1260 (or $x657 $x707 $x1261 (not $x672) $x733 $x903 (not $x780) $x860)))) (let ((@x1277 (unit-resolution @x1264 @x1276 @x1088 @x1271 @x731 @x900 @x850 (unit-resolution @x1117 @x1267 $x667) $x657))) (let ((@x1279 ((_ th-lemma arith triangle-eq) (or $x92 $x766 $x710)))) (let (($x570 (or $x582 $x583))) (let ((@x578 (monotonicity (rewrite (= $x93 (not $x570))) (= (not $x93) (not (not $x570)))))) (let ((@x568 (trans @x578 (rewrite (= (not (not $x570)) $x570)) (= (not $x93) $x570)))) (let ((@x569 (mp (not-or-elim (mp (asserted $x95) @x552 $x548) (not $x93)) @x568 $x570))) (let ((@x1281 (unit-resolution @x569 (unit-resolution @x1279 @x1277 (hypothesis $x658) $x92) $x582))) (let (($x654 (>= ?x652 0))) (let (($x587 (>= ?x507 0))) (let ((@x555 (and-elim @x554 $x508))) (let ((@x1286 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x508) $x587)) @x555 $x587))) (let ((?x1144 (+ x2$ ?x506))) (let (($x1238 (<= ?x1144 0))) (let (($x584 (= x2$ ?x495))) (let ((@x1288 ((_ th-lemma arith assign-bounds 1 1 1 1 1) (or $x488 (not $x595) $x413 $x784 (not $x603) (not $x681))))) (let ((@x573 (def-axiom (or (not $x488) $x584)))) (let ((@x1290 (unit-resolution @x573 (unit-resolution @x1288 @x868 @x687 @x844 @x1133 @x720 $x488) $x584))) (let ((@x1293 ((_ th-lemma arith triangle-eq) (or (not $x584) $x1238)))) (let ((@x1295 ((_ th-lemma arith assign-bounds 1 -3/2 3/2 -1 1/2 -1/2 1/2 -1/2 -1 1 1/2 -1/2 -1/2 1/2 1/2 -1/2 1/2) (unit-resolution @x1293 @x1290 $x1238) @x720 @x1133 @x1286 @x1089 @x731 @x730 @x835 @x1040 @x812 @x850 @x853 (unit-resolution @x1161 (unit-resolution @x649 @x1272 $x645) $x1105) @x715 @x1277 @x687 @x868 $x654))) (let (($x586 (<= ?x507 0))) (let ((@x1298 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x508) $x586)) @x555 $x586))) (let (($x1239 (>= ?x1144 0))) (let ((@x1300 ((_ th-lemma arith triangle-eq) (or (not $x584) $x1239)))) (let ((@x1302 ((_ th-lemma arith assign-bounds 1 -3/2 3/2 -1 1/2 -1/2 1/2 -1/2 -1 1 1/2 -1/2 -1/2 1/2 1/2 -1/2 1/2) (unit-resolution @x1300 @x1290 $x1239) @x1254 @x1271 @x1298 @x1088 @x1139 @x1138 @x703 @x1000 @x799 @x1135 @x698 @x1276 @x1258 (hypothesis $x658) @x832 @x900 $x653))) (let ((@x1306 ((_ th-lemma arith triangle-eq) (or $x91 (not $x653) (not $x654))))) (let ((@x1309 (lemma (unit-resolution @x1306 @x1302 @x1295 @x1281 false) (or $x388 $x1141 $x710 $x903 $x733 $x784 $x413)))) (let ((@x1331 (unit-resolution @x1309 (unit-resolution @x828 @x1327 $x669) (unit-resolution @x1237 @x1078 $x658) @x1152 @x1147 (unit-resolution @x693 @x1327 $x678) @x844 $x388))) (let (($x1304 (not $x654))) (let ((@x1333 (unit-resolution @x950 (unit-resolution @x615 @x1331 $x612) $x936))) (let ((@x1338 (unit-resolution @x631 (unit-resolution @x1094 @x1333 @x835 @x844 @x1089 @x853 $x338) $x628))) (let ((@x1339 (unit-resolution @x1117 @x1338 $x667))) (let ((@x1315 (unit-resolution @x631 (unit-resolution @x1094 @x1029 @x835 @x844 @x1089 @x853 $x338) $x628))) (let ((@x1317 ((_ th-lemma arith farkas -1 -1 -1 1 -1 1 -1 1 1) @x1026 (hypothesis $x313) @x731 @x730 @x853 @x844 (unit-resolution @x1117 @x1315 $x667) @x857 @x1029 false))) (let ((@x1340 (unit-resolution (lemma @x1317 (or $x314 $x389 $x733 $x413)) @x1331 @x1147 @x844 $x314))) (let ((@x1311 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x1121 $x1249)) (hypothesis $x645) (hypothesis $x1261) false))) (let ((@x1312 (lemma @x1311 (or $x1121 $x1249)))) (let ((@x1343 (unit-resolution @x1264 (unit-resolution @x1312 (unit-resolution @x649 @x1340 $x645) $x1249) @x1339 @x1271 @x1147 (unit-resolution @x828 @x1327 $x669) (unit-resolution ((_ th-lemma arith assign-bounds 2 -1) (or $x780 $x389 (not $x936))) @x1333 @x1331 $x780) @x1088 $x657))) (let ((@x1345 (unit-resolution @x569 (unit-resolution @x1279 @x1343 (unit-resolution @x1237 @x1078 $x658) $x92) $x582))) (let ((@x1346 (unit-resolution @x1288 (unit-resolution @x693 @x1327 $x678) @x687 @x844 @x1133 @x720 $x488))) (let ((@x1320 (hypothesis (not $x653)))) (let ((@x1322 ((_ th-lemma arith farkas 1 -1 1/2 -1/2 1/2 -1/2 1/2 -1/2 1/2 -1/2 1/2 -1/2 1/2 -1/2 1/2 1) @x683 @x703 @x858 @x857 @x699 @x1152 @x1138 @x698 (hypothesis $x1239) @x1254 @x1251 @x1298 @x1320 (hypothesis $x933) @x799 @x1078 false))) (let ((@x1325 (lemma @x1322 (or $x653 $x707 $x860 $x706 (not $x1239) (not $x672) (not $x933) $x289)))) (let ((@x1350 (unit-resolution @x1325 @x1088 @x1339 (unit-resolution @x808 (unit-resolution @x615 @x1331 $x612) $x673) (unit-resolution @x1300 (unit-resolution @x573 @x1346 $x584) $x1239) @x1271 @x1000 @x1078 $x653))) (let ((@x1353 ((_ th-lemma arith farkas -1/2 1/2 -1/2 1/2 1/2 -1/2 -1/2 1/2 -1/2 1/2 -1/2 1/2 -1/2 1) @x1333 @x1147 @x730 @x853 @x1339 @x857 (unit-resolution @x1293 (unit-resolution @x573 @x1346 $x584) $x1238) @x720 @x1133 @x1286 (unit-resolution @x1306 @x1350 @x1345 $x1304) @x1040 @x812 @x1331 false))) (let ((@x641 (def-axiom (or $x288 $x637)))) (let ((@x1399 (unit-resolution @x641 (unit-resolution (lemma @x1353 (or $x413 $x289)) @x844 $x289) $x637))) (let ((@x1405 ((_ th-lemma arith triangle-eq) (or (not $x637) $x1369)))) (let ((@x1406 (unit-resolution @x1405 @x1399 $x1369))) (let ((@x1370 (hypothesis $x289))) (let ((@x1373 (unit-resolution ((_ th-lemma arith assign-bounds 1 1 1 1 1) (or $x1198 (not $x840) $x1199 $x288 (not $x627) $x388)) @x845 @x1127 @x1370 @x866 @x835 $x1198))) (let ((@x1376 (unit-resolution ((_ th-lemma arith assign-bounds 1 1 1 1) (or $x338 $x364 (not $x840) (not $x627) $x388)) @x845 @x835 @x841 @x866 $x338))) (let ((@x1380 (lemma (unit-resolution @x1129 (unit-resolution @x631 @x1376 $x628) @x1373 false) (or $x388 $x364 $x288)))) (let ((@x1390 (unit-resolution @x1380 (unit-resolution (lemma @x1064 (or $x363 $x413)) @x844 $x363) (unit-resolution (lemma @x1353 (or $x413 $x289)) @x844 $x289) $x388))) (let ((@x1392 (unit-resolution @x950 (unit-resolution @x615 @x1390 $x612) $x936))) (let ((@x1395 (unit-resolution (unit-resolution @x1094 @x835 @x853 (or $x338 (not $x840) (not $x936) $x413)) @x1392 @x844 @x1089 $x338))) (let ((@x1397 (unit-resolution @x1117 (unit-resolution @x631 @x1395 $x628) $x667))) (let ((@x1398 (unit-resolution @x808 (unit-resolution @x615 @x1390 $x612) $x673))) (let (($x1360 (<= ?x1356 0))) (let ((@x1402 ((_ th-lemma arith triangle-eq) (or (not $x637) $x1360)))) (let ((@x1403 (unit-resolution @x1402 @x1399 $x1360))) (let ((@x1407 (unit-resolution @x1129 (unit-resolution @x631 @x1395 $x628) $x663))) (let ((@x1411 (unit-resolution ((_ th-lemma arith assign-bounds 1 1 1 1 1 2) (or $x488 (not $x595) $x413 (not $x603) $x745 (not $x681) $x438)) @x687 @x720 (or $x488 $x413 $x745 (not $x681) $x438)))) (let ((@x1413 (unit-resolution @x573 (unit-resolution @x1411 @x941 @x1133 @x844 @x763 $x488) $x584))) (let (($x958 (not $x619))) (let (($x957 (not $x936))) (let (($x1091 (not $x627))) (let (($x1092 (not $x840))) (let (($x814 (not $x642))) (let (($x1386 (not $x1369))) (let (($x1080 (not $x1024))) (let (($x871 (not $x681))) (let (($x1416 (not $x587))) (let (($x815 (not $x595))) (let (($x1415 (not $x1238))) (let (($x1417 (or $x654 $x1415 $x815 $x1416 $x871 $x1080 $x818 $x1386 $x814 $x1092 $x1091 $x957 $x958 $x1198 $x1199))) (let ((@x1419 (unit-resolution ((_ th-lemma arith assign-bounds 1 -1 -1 1 -1 1 -1 1 2 -2 1 -1 1 -1) $x1417) (unit-resolution @x1293 @x1413 $x1238) @x812 @x853 @x835 @x1127 @x730 @x1286 @x1133 @x1392 @x1089 @x1040 @x1407 @x1406 @x720 $x654))) (let (($x1424 (not $x634))) (let (($x742 (not $x626))) (let (($x1423 (not $x1360))) (let (($x801 (not $x611))) (let (($x1002 (not $x933))) (let (($x1262 (not $x672))) (let (($x1422 (not $x586))) (let (($x1421 (not $x594))) (let (($x1323 (not $x1239))) (let (($x1425 (or $x653 $x1323 $x1421 $x1422 $x1262 $x1002 $x801 $x1423 $x1191 $x707 $x742 $x706 $x743 $x860 $x1424))) (let ((@x1426 ((_ th-lemma arith assign-bounds 1 -1 -1 1 -1 1 -1 1 2 -2 1 -1 1 -1) $x1425))) (let ((@x1427 (unit-resolution @x1426 (unit-resolution @x1300 @x1413 $x1239) @x799 @x698 @x703 @x857 @x1138 @x1298 @x1398 @x1088 @x1397 @x1271 @x1000 @x1254 @x1403 $x653))) (let ((@x1431 ((_ th-lemma arith assign-bounds 1 1 2 2 1 1 1 1 1 1 1) (or $x313 $x1423 $x1191 $x707 $x742 $x706 $x743 $x1002 $x801 $x438 $x860 $x1424)))) (let ((@x1432 (unit-resolution @x1431 @x763 @x698 @x703 @x857 @x1138 @x799 @x1398 @x1088 @x1397 @x1000 @x1403 $x313))) (let ((@x1382 (hypothesis $x675))) (let ((@x1385 ((_ th-lemma arith farkas -1 1 1 -1 1 -1 -2 2 -1 1 3 -3 1 -1 2 -2 1) @x716 @x715 @x711 @x720 @x869 @x687 (hypothesis $x1024) @x812 (hypothesis $x1369) @x730 @x1208 @x835 @x1001 @x853 @x1213 @x1127 @x1382 false))) (let ((@x1435 (unit-resolution (lemma @x1385 (or $x658 $x734 $x871 $x1080 $x1386 $x1092 $x957 $x1198 $x745)) (unit-resolution @x1168 (unit-resolution @x647 @x1432 $x644) $x664) @x1133 @x1040 @x1406 @x1089 @x1392 @x1407 @x941 $x658))) (let ((@x1436 (unit-resolution @x1279 @x1435 (unit-resolution @x569 (unit-resolution @x1306 @x1427 @x1419 $x91) $x583) $x766))) (let ((@x1438 ((_ th-lemma arith triangle-eq) (or $x1164 $x1381)))) (let ((@x1440 ((_ th-lemma arith farkas -1 1 1 -1 1 -1 -2 2 -1 1 3 -3 1 -1 2 -2 1) (unit-resolution @x1438 (unit-resolution @x647 @x1432 $x644) $x1381) @x1258 @x1436 @x1254 @x1271 @x832 @x1000 @x799 @x1403 @x1138 @x1088 @x703 @x1398 @x698 @x1397 @x857 @x966 false))) (let ((@x1453 (unit-resolution @x599 (unit-resolution (lemma @x1440 (or $x438 $x413)) @x844 $x438) $x596))) (let ((@x1455 (unit-resolution @x693 @x1453 $x678))) (let ((@x1458 (unit-resolution (unit-resolution @x1288 @x687 @x720 (or $x488 $x413 $x784 $x871)) @x1455 @x844 @x1133 $x488))) (let ((@x1461 (unit-resolution ((_ th-lemma arith assign-bounds 1 -1 -1 1 -1 1 -1 1 2 -2 1 -1 1 -1) $x1417) (unit-resolution @x1293 (unit-resolution @x573 @x1458 $x584) $x1238) @x812 @x853 @x835 @x1127 @x730 @x720 @x1133 @x1392 @x1089 @x1040 @x1407 @x1406 @x1286 $x654))) (let ((@x1463 (unit-resolution @x1426 (unit-resolution @x1300 (unit-resolution @x573 @x1458 $x584) $x1239) @x799 @x698 @x703 @x857 @x1138 @x1254 @x1398 @x1088 @x1397 @x1271 @x1000 @x1298 @x1403 $x653))) (let ((@x1468 (unit-resolution ((_ th-lemma arith assign-bounds 2 -1) (or $x675 $x439 $x784)) @x1455 (unit-resolution (lemma @x1440 (or $x438 $x413)) @x844 $x438) $x675))) (let ((@x1443 (unit-resolution (lemma @x1385 (or $x658 $x734 $x871 $x1080 $x1386 $x1092 $x957 $x1198 $x745)) @x711 @x869 (hypothesis $x1024) (hypothesis $x1369) @x1208 @x1001 @x1213 @x1382 $x734))) (let ((@x1446 (unit-resolution @x649 (unit-resolution @x647 (unit-resolution @x1168 @x1443 $x1164) $x314) $x645))) (let ((@x1449 ((_ th-lemma arith farkas -1 -1 -1 1 1 -1 1 -1 -1 1 1 -1 1) @x715 @x711 @x868 @x687 @x720 @x869 @x683 @x703 (hypothesis $x1360) @x1138 @x699 @x698 (unit-resolution @x1161 @x1446 $x1105) false))) (let ((@x1451 (lemma @x1449 (or $x658 $x784 $x871 $x707 $x1423 $x706 $x1080 $x1386 $x1092 $x957 $x1198 $x745)))) (let ((@x1469 (unit-resolution @x1451 @x1455 @x1133 @x1088 @x1403 @x1398 @x1040 @x1406 @x1089 @x1392 @x1407 @x1468 $x658))) (let ((@x1470 (unit-resolution @x1279 @x1469 (unit-resolution @x569 (unit-resolution @x1306 @x1463 @x1461 $x91) $x583) $x766))) (let (($x1472 (not $x602))) (let (($x1471 (not $x651))) (let (($x1473 (or $x1261 $x1471 $x657 $x903 $x1472 $x1421 $x1262 $x1092 $x1091 $x1386 $x814 $x957 $x958))) (let ((@x1475 (unit-resolution ((_ th-lemma arith assign-bounds -1 -1 -1 1 1 -1 1 -1 -1 1 1 -1) $x1473) @x1470 @x853 @x835 @x730 @x1258 @x832 (unit-resolution @x828 @x1453 $x669) @x1271 @x1392 @x1089 @x1254 @x1406 $x1261))) (let ((@x1478 (unit-resolution @x647 (unit-resolution @x649 (unit-resolution @x1312 @x1475 $x1121) $x313) $x644))) (let ((@x1480 ((_ th-lemma arith farkas -1 -1 -2 -1 1 1 -1 1 -1 -1 1 1 -1 1) @x1258 @x1470 (unit-resolution @x649 (unit-resolution @x1312 @x1475 $x1121) $x313) (unit-resolution @x828 @x1453 $x669) @x832 @x1254 @x1271 @x1089 @x835 @x1406 @x730 @x1392 @x853 (unit-resolution @x1438 @x1478 $x1381) false))) (let ((@x1481 (lemma @x1480 $x413))) (let ((@x1538 (unit-resolution @x791 (unit-resolution @x607 @x1481 $x604) $x776))) (let ((?x666 (+ ?x201 ?x356))) (let (($x1699 (>= ?x666 0))) (let (($x629 (= ?x201 ?x345))) (let (($x339 (not $x338))) (let ((@x1701 (hypothesis $x339))) (let ((@x633 (def-axiom (or $x338 $x629)))) (let ((@x1712 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x629) $x1699)) (unit-resolution @x633 @x1701 $x629) $x1699))) (let (($x875 (<= ?x666 0))) (let ((@x1635 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x629) $x875)) (hypothesis $x629) (hypothesis (not $x875)) false))) (let ((@x1636 (lemma @x1635 (or (not $x629) $x875)))) (let ((@x1703 (unit-resolution @x1636 (unit-resolution @x633 @x1701 $x629) $x875))) (let (($x1632 (not $x629))) (let (($x1629 (not $x875))) (let ((@x1517 (unit-resolution @x794 (unit-resolution @x607 @x1481 $x604) $x775))) (let ((@x1359 (lemma ((_ th-lemma arith farkas 1 1 1 1 1) @x1187 @x799 @x763 @x845 @x1189 false) (or $x438 $x414 $x388)))) (let ((@x1520 (unit-resolution @x693 (unit-resolution @x599 (unit-resolution @x1359 @x845 @x1481 $x438) $x596) $x678))) (let ((@x1523 (unit-resolution (unit-resolution @x803 @x799 @x687 (or $x388 (not $x775) $x463 $x784)) @x1520 @x1517 @x845 $x463))) (let ((@x1525 (unit-resolution @x1270 (unit-resolution @x591 @x1523 $x588) $x672))) (let ((@x1526 (unit-resolution @x828 (unit-resolution @x599 (unit-resolution @x1359 @x845 @x1481 $x438) $x596) $x669))) (let ((@x1365 (unit-resolution ((_ th-lemma arith assign-bounds 2 -1) (or $x779 $x364 $x1092)) (unit-resolution @x625 (unit-resolution @x909 @x906 $x823) $x363) @x906 $x1092))) (let ((@x1366 (unit-resolution @x623 (unit-resolution @x625 (unit-resolution @x909 @x906 $x823) $x363) $x620))) (let ((@x1368 (lemma (unit-resolution @x865 @x1366 @x1365 false) $x779))) (let ((@x1486 (unit-resolution ((_ th-lemma arith assign-bounds -1 1 -1 1 -1) (or $x902 $x1091 $x338 $x872 $x743 $x414)) @x835 @x1368 @x698 (or $x338 $x872 $x414)))) (let ((@x1489 (unit-resolution @x1129 (unit-resolution @x631 (unit-resolution @x1486 @x1135 @x1481 $x338) $x628) $x663))) (let ((@x1491 ((_ th-lemma arith assign-bounds 1 2 2 2 2 2) (or $x872 $x957 $x1198 $x1092 $x1199 $x288 $x1091)))) (let ((@x1495 (unit-resolution ((_ th-lemma arith farkas 1 1) (or $x840 $x670)) (unit-resolution @x1491 @x1370 @x1127 @x835 @x1135 @x1112 @x1489 $x1092) $x670))) (let ((@x1500 (unit-resolution (unit-resolution ((_ th-lemma arith assign-bounds 2 1) (or $x707 $x363 $x902)) @x1368 (or $x707 $x363)) @x1495 (unit-resolution @x1380 @x1370 @x845 $x364) false))) (let ((@x1509 (unit-resolution @x639 (unit-resolution (lemma @x1500 (or $x288 $x388)) @x845 $x288) $x636))) (let ((@x1510 (unit-resolution @x1151 @x1509 $x660))) (let ((@x1508 (unit-resolution @x1237 (unit-resolution (lemma @x1500 (or $x288 $x388)) @x845 $x288) $x658))) (let (($x585 (= ?x98 ?x495))) (let (($x1546 (not $x585))) (let ((?x1504 (+ ?x98 ?x506))) (let (($x1506 (>= ?x1504 0))) (let (($x1558 (not $x1506))) (let ((@x1572 (unit-resolution @x1129 (unit-resolution @x631 (unit-resolution @x1486 @x867 @x1481 $x338) $x628) $x663))) (let (($x800 (not $x775))) (let (($x744 (not $x603))) (let (($x1559 (or $x653 $x1558 $x784 $x744 $x815 $x871 $x1422 $x800 $x801 $x1141 $x1191 $x743 $x1198 $x1199 $x872))) (let ((@x1573 (unit-resolution ((_ th-lemma arith assign-bounds 1 -2 2 1 -1 -1 -1 1 -1 1 -1 -1 1 1) $x1559) @x1320 @x687 @x799 @x698 @x1127 @x1138 @x720 @x1139 @x868 @x1517 @x869 @x867 @x1572 @x1298 $x1558))) (let ((@x1568 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x1546 $x1506)) (hypothesis $x585) (hypothesis $x1558) false))) (let ((@x1569 (lemma @x1568 (or $x1546 $x1506)))) (let ((@x575 (def-axiom (or $x488 $x585)))) (let ((@x1576 (unit-resolution @x573 (unit-resolution @x575 (unit-resolution @x1569 @x1573 $x1546) $x488) $x584))) (let ((@x1578 ((_ th-lemma arith farkas -1/2 1/2 -1/2 1/2 -1/2 1/2 1/2 -1/2 1/2 -1/2 1/2 -1/2 1/2 1) @x698 @x867 @x1139 @x1138 @x1572 @x1127 (unit-resolution @x1300 @x1576 $x1239) @x1298 @x1320 @x1517 @x799 @x1254 @x1251 @x1481 false))) (let ((@x1580 (lemma @x1578 (or $x653 $x872 $x1141 $x1262 $x784 $x871)))) (let ((@x1593 (unit-resolution @x1580 @x1135 @x1510 @x1525 @x1520 (unit-resolution @x725 (unit-resolution @x591 @x1523 $x588) $x681) $x653))) (let ((@x1537 (unit-resolution @x1117 (unit-resolution @x631 (unit-resolution @x1486 @x1135 @x1481 $x338) $x628) $x667))) (let ((@x1539 (unit-resolution @x1146 @x1509 $x661))) (let (($x1505 (<= ?x1504 0))) (let (($x1550 (not $x1505))) (let (($x1106 (not $x780))) (let (($x1551 (or $x654 $x1550 $x903 $x1472 $x1421 $x1262 $x1416 $x817 $x818 $x733 $x814 $x958 $x860 $x1424 $x1106))) (let ((@x1585 (unit-resolution ((_ th-lemma arith assign-bounds 1 -2 2 1 -1 -1 -1 1 -1 1 -1 -1 1 1) $x1551) (hypothesis $x1304) @x832 @x812 @x853 @x857 @x730 @x1254 @x731 @x1538 @x858 @x1250 @x900 @x1251 @x1286 $x1550))) (let ((@x1582 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x1546 $x1505)) (hypothesis $x585) (hypothesis $x1550) false))) (let ((@x1583 (lemma @x1582 (or $x1546 $x1505)))) (let ((@x1588 (unit-resolution @x573 (unit-resolution @x575 (unit-resolution @x1583 @x1585 $x1546) $x488) $x584))) (let ((@x1590 ((_ th-lemma arith farkas 1/2 -1/2 1 -1 -1/2 1/2 1/2 -1/2 1/2 -1/2 -1/2 1/2 -1/2 1/2 -1/2 1) @x853 @x1250 @x900 @x832 @x1254 @x1251 @x731 @x730 @x858 @x857 (unit-resolution @x1293 @x1588 $x1238) @x1286 (hypothesis $x1304) @x1538 @x812 (unit-resolution @x575 (unit-resolution @x1583 @x1585 $x1546) $x488) false))) (let ((@x1592 (lemma @x1590 (or $x654 $x1106 $x903 $x1262 $x733 $x860)))) (let ((@x1595 (unit-resolution @x1306 (unit-resolution @x1592 @x850 @x1526 @x1525 @x1539 @x1537 $x654) @x1593 $x91))) (let ((@x1513 (unit-resolution (unit-resolution @x1201 @x1138 @x1127 (or $x363 $x313 $x1198 $x1141)) @x1027 @x1489 @x1510 $x313))) (let (($x1503 (>= ?x778 0))) (let ((@x1530 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x823 $x1503)) (unit-resolution @x625 @x1027 $x621) $x1503))) (let (($x1532 (not $x1381))) (let (($x1531 (not $x1503))) (let (($x1533 (or $x657 $x1531 $x1532 $x1471 $x742 $x903 $x1472 $x1421 $x1262 $x1141 $x1191 $x958 $x1106))) (let ((@x1534 ((_ th-lemma arith assign-bounds 1 -1 1 -1 1 -1 -1 1 -1 1 1 -1) $x1533))) (let ((@x1535 (unit-resolution @x1534 @x1530 @x853 @x703 @x1138 @x1258 @x1254 @x1510 @x850 @x1526 @x1525 @x832 (unit-resolution @x1438 (unit-resolution @x647 @x1513 $x644) $x1381) $x657))) (let (($x489 (not $x488))) (let ((@x1543 (unit-resolution ((_ th-lemma arith assign-bounds 1 1 1 1 1 1 1 1) (or $x489 $x1262 $x1421 $x1472 $x903 $x363 $x958 $x388 $x1106)) @x832 @x853 @x1254 (or $x489 $x1262 $x903 $x363 $x388 $x1106)))) (let ((@x1545 (unit-resolution @x575 (unit-resolution @x1543 @x1027 @x845 @x850 @x1526 @x1525 $x489) $x585))) (let ((@x1553 (unit-resolution ((_ th-lemma arith assign-bounds 1 -2 2 1 -1 -1 -1 1 -1 1 -1 -1 1 1) $x1551) (unit-resolution ((_ th-lemma arith triangle-eq) (or $x1546 $x1505)) @x1545 $x1505) @x832 @x812 @x853 @x857 @x730 @x1286 @x1539 @x1538 @x1537 @x850 @x1526 @x1525 @x1254 $x654))) (let ((@x1561 (unit-resolution ((_ th-lemma arith assign-bounds 1 -2 2 1 -1 -1 -1 1 -1 1 -1 -1 1 1) $x1559) (unit-resolution ((_ th-lemma arith triangle-eq) (or $x1546 $x1506)) @x1545 $x1506) @x687 @x799 @x698 @x1127 @x1138 @x1298 @x1510 @x1520 @x1517 (unit-resolution @x725 (unit-resolution @x591 @x1523 $x588) $x681) @x1135 @x1489 @x720 $x653))) (let ((@x1563 (unit-resolution @x569 (unit-resolution @x1306 @x1561 @x1553 $x91) (unit-resolution @x1279 @x1535 @x1508 $x92) false))) (let ((@x1599 (unit-resolution @x623 (unit-resolution (lemma @x1563 (or $x363 $x388)) @x845 $x363) $x620))) (let ((@x1601 (unit-resolution @x1264 (unit-resolution @x1279 (unit-resolution @x569 @x1595 $x583) @x1508 $x766) @x1537 @x1525 @x1539 @x1526 @x850 (unit-resolution @x926 @x1599 $x670) $x1261))) (let ((@x1604 (unit-resolution @x647 (unit-resolution @x649 (unit-resolution @x1312 @x1601 $x1121) $x313) $x644))) (let ((@x1608 (unit-resolution ((_ th-lemma arith assign-bounds -2 2 -2 2 -1 -2) (or $x1503 $x733 $x814 $x860 $x1424 $x707 $x314)) (unit-resolution @x649 (unit-resolution @x1312 @x1601 $x1121) $x313) @x730 @x1539 (unit-resolution @x926 @x1599 $x670) @x1537 @x857 $x1503))) (let ((@x1609 (unit-resolution @x1534 @x1608 (unit-resolution @x1438 @x1604 $x1381) @x853 @x703 @x1138 @x1258 (unit-resolution @x1279 (unit-resolution @x569 @x1595 $x583) @x1508 $x766) @x1510 @x850 @x1526 @x1525 @x832 @x1254 false))) (let ((@x1610 (lemma @x1609 $x388))) (let ((@x1637 ((_ th-lemma arith assign-bounds -1 -1 1 1 -1) (or $x1629 $x1199 $x1531 $x742 $x288 $x389)))) (let ((@x1639 (unit-resolution @x1636 (unit-resolution @x1637 @x1530 @x1127 @x1370 @x1610 @x703 $x1629) $x1632))) (let ((@x1642 (unit-resolution @x1129 (unit-resolution @x631 (unit-resolution @x633 @x1639 $x338) $x628) $x663))) (let ((@x1643 ((_ th-lemma arith farkas 1 1 1 1 1) @x1370 @x1642 @x1127 @x1027 (unit-resolution @x633 @x1639 $x338) false))) (let ((@x1645 (lemma @x1643 (or $x363 $x288)))) (let ((@x889 (unit-resolution @x926 (unit-resolution @x623 (unit-resolution @x1645 @x1370 $x363) $x620) $x670))) (let ((@x890 (unit-resolution @x865 (unit-resolution @x623 (unit-resolution @x1645 @x1370 $x363) $x620) $x840))) (let ((@x1650 (unit-resolution @x623 (unit-resolution @x1645 (unit-resolution @x1237 @x711 $x289) $x363) $x620))) (let ((@x1672 (unit-resolution @x950 (unit-resolution @x615 @x1610 $x612) $x936))) (let ((@x1648 (unit-resolution @x1237 @x711 $x289))) (let ((@x1647 (hypothesis $x875))) (let ((@x1617 (unit-resolution @x808 (unit-resolution @x615 @x1610 $x612) $x673))) (let ((@x1651 (unit-resolution @x926 @x1650 $x670))) (let ((@x1656 ((_ th-lemma arith assign-bounds 1 1 1 1 1 1 1 1) (or $x313 $x1191 $x1423 $x288 $x707 $x706 $x414 $x743 $x742)))) (let ((@x1657 (unit-resolution @x1656 @x1648 @x703 @x698 @x1138 @x1481 @x1617 @x1651 (unit-resolution @x1402 (unit-resolution @x641 @x1648 $x637) $x1360) $x313))) (let ((@x1660 ((_ th-lemma arith assign-bounds -1 1 1 -1 -1 1 -1 -1 -3 3 1 1 2 -2 -2 2) (unit-resolution @x1168 (unit-resolution @x647 @x1657 $x644) $x664) @x715 @x711 @x687 @x720 @x730 (unit-resolution @x1405 (unit-resolution @x641 @x1648 $x637) $x1369) @x1651 @x1617 @x698 @x703 @x1382 @x1647 @x1127 @x1538 @x812 $x871))) (let ((@x1662 ((_ th-lemma arith assign-bounds 1 1 1 2 2 1 1 1 1 1 1) (or $x463 $x744 $x745 $x707 $x706 $x743 $x742 $x1629 $x1199 $x288 $x817 $x818)))) (let ((@x1663 (unit-resolution @x1662 @x1647 @x812 @x698 @x703 @x1127 @x1648 @x1617 @x1651 @x1382 @x1538 @x687 $x463))) (let ((@x1667 (lemma (unit-resolution @x725 (unit-resolution @x591 @x1663 $x588) @x1660 false) (or $x1629 $x658 $x745)))) (let ((@x1669 (unit-resolution @x633 (unit-resolution @x1636 (unit-resolution @x1667 @x941 @x711 $x1629) $x1632) $x338))) (let ((@x1675 (unit-resolution ((_ th-lemma arith assign-bounds 1 1 1 1 1 1 1 1) (or $x463 $x707 $x339 $x742 $x706 $x743 $x744 $x745 $x438)) @x687 @x698 @x703 (or $x463 $x707 $x339 $x706 $x745 $x438)))) (let ((@x1677 (unit-resolution @x591 (unit-resolution @x1675 @x1669 @x1651 @x941 @x1617 @x763 $x463) $x588))) (let ((@x1681 (unit-resolution ((_ th-lemma arith assign-bounds -1 -2 -2 -2 2 2) (or $x1024 $x817 $x339 $x707 $x706 $x743 $x742)) @x1669 @x703 @x1617 @x1651 @x1538 @x698 $x1024))) (let ((@x1682 (unit-resolution @x1451 @x1681 (unit-resolution @x725 @x1677 $x681) @x711 (unit-resolution @x1402 (unit-resolution @x641 @x1648 $x637) $x1360) @x1651 @x1617 @x941 (unit-resolution @x1405 (unit-resolution @x641 @x1648 $x637) $x1369) (unit-resolution @x865 @x1650 $x840) @x1672 (unit-resolution @x1129 (unit-resolution @x631 @x1669 $x628) $x663) @x944 false))) (let ((@x1688 (unit-resolution ((_ th-lemma arith assign-bounds -1 -2 2 -2 -2 2) (or $x1503 $x707 $x706 $x743 $x439 $x817 $x818)) @x1651 @x698 @x1617 @x812 @x1538 (unit-resolution (lemma @x1682 (or $x438 $x658)) @x711 $x438) $x1503))) (let ((@x1690 (unit-resolution @x1636 (unit-resolution @x1637 @x1688 @x1127 @x1648 @x1610 @x703 $x1629) $x1632))) (let ((@x1693 (unit-resolution @x1129 (unit-resolution @x631 (unit-resolution @x633 @x1690 $x338) $x628) $x663))) (let ((@x1696 (unit-resolution ((_ th-lemma arith assign-bounds -3 -2 -2 2 2 -2 -2 2) (or $x839 $x706 $x339 $x707 $x742 $x743 $x439 $x817 $x818)) (unit-resolution @x633 @x1690 $x338) @x698 @x703 @x812 @x1617 @x1651 @x1538 (unit-resolution (lemma @x1682 (or $x438 $x658)) @x711 $x438) $x839))) (let ((@x1697 (unit-resolution @x1491 @x1696 @x1693 @x1127 @x835 @x1648 @x1672 (unit-resolution @x865 @x1650 $x840) false))) (let ((@x1698 (lemma @x1697 $x658))) (let ((@x1612 (unit-resolution @x1402 (unit-resolution @x641 @x1370 $x637) $x1360))) (let ((@x1741 (unit-resolution (unit-resolution @x960 @x853 @x799 (or $x363 $x957 $x438 $x800)) @x763 @x1672 @x1517 $x363))) (let ((@x1743 (unit-resolution @x926 (unit-resolution @x623 @x1741 $x620) $x670))) (let ((@x1700 (hypothesis $x932))) (let ((@x1704 (unit-resolution @x1662 @x1703 @x812 @x698 @x703 @x1127 @x1370 @x1617 @x683 @x1382 @x1538 @x687 $x463))) (let ((@x1708 (unit-resolution @x647 (unit-resolution @x1656 @x1612 @x703 @x698 @x1138 @x1481 @x1617 @x683 @x1370 $x313) $x644))) (let ((@x1709 (unit-resolution @x1438 @x1708 $x1381))) (let ((@x1713 ((_ th-lemma arith assign-bounds 1 -1 -3/2 3/2 -1 1 -1/2 1/2 -1/2 -1/2 1/2 1/2 -1/2 -1/2 1/2 1/2) @x1712 @x857 @x1672 @x853 @x1517 @x799 @x1709 @x1258 @x832 @x1254 (unit-resolution @x1270 (unit-resolution @x591 @x1704 $x588) $x672) @x1138 @x1612 @x1208 @x835 @x1700 $x657))) (let ((@x1718 (unit-resolution ((_ th-lemma arith assign-bounds 2 1 1 1 1 1 1) (or $x488 $x288 $x1532 $x1471 $x710 $x1191 $x1423 $x338)) @x1701 @x1370 @x1138 @x1258 @x1698 @x1612 @x1709 $x488))) (let (($x1723 (not $x932))) (let (($x1724 (or $x654 $x1415 $x1416 $x1532 $x1471 $x710 $x1472 $x1723 $x1092 $x957 $x958 $x1091 $x815 $x871 $x814 $x1386))) (let ((@x1726 (unit-resolution ((_ th-lemma arith assign-bounds 1 -1 1/2 -1/2 -1/2 1/2 -1/2 1/2 1/2 -1/2 -1/2 -1/2 1/2 1/2 -1/2) $x1724) (unit-resolution @x725 (unit-resolution @x591 @x1704 $x588) $x681) @x832 @x853 @x835 @x730 @x1258 @x1286 @x1698 @x720 @x1672 @x1700 @x1208 (unit-resolution @x1405 (unit-resolution @x641 @x1370 $x637) $x1369) (unit-resolution @x1293 (unit-resolution @x573 @x1718 $x584) $x1238) @x1709 $x654))) (let (($x816 (not $x650))) (let (($x1729 (or $x653 $x1323 $x1422 $x734 $x816 $x766 $x744 $x745 $x707 $x706 $x743 $x742 $x1421 $x1262 $x1191 $x1423))) (let ((@x1731 (unit-resolution ((_ th-lemma arith assign-bounds 1 -1 1/2 -1/2 -1/2 1/2 -1/2 1/2 1/2 -1/2 -1/2 -1/2 1/2 1/2 -1/2) $x1729) @x1713 @x687 @x698 @x703 @x1138 @x715 @x1298 @x1254 (unit-resolution @x1168 @x1708 $x664) @x1617 @x683 @x1382 (unit-resolution @x1270 (unit-resolution @x591 @x1704 $x588) $x672) (unit-resolution @x1300 (unit-resolution @x573 @x1718 $x584) $x1239) @x1612 $x653))) (let ((@x1732 (unit-resolution @x1306 @x1731 @x1726 (unit-resolution @x569 (unit-resolution @x1279 @x1713 @x1698 $x92) $x582) false))) (let ((@x1734 (lemma @x1732 (or $x338 $x707 $x745 $x1723 $x1092 $x288)))) (let ((@x1745 (unit-resolution @x1734 @x1370 @x941 @x966 (unit-resolution @x865 (unit-resolution @x623 @x1741 $x620) $x840) @x1743 $x338))) (let ((@x1747 (unit-resolution @x591 (unit-resolution @x1675 @x1745 @x763 @x941 @x1617 @x1743 $x463) $x588))) (let ((@x1750 (unit-resolution @x647 (unit-resolution @x1656 @x1612 @x703 @x698 @x1138 @x1481 @x1617 @x1743 @x1370 $x313) $x644))) (let ((@x1751 (unit-resolution @x1438 @x1750 $x1381))) (let ((@x1735 (hypothesis $x1381))) (let ((@x1736 ((_ th-lemma arith farkas 3/4 1/4 -1/4 -3/4 1/2 -1/2 -1/2 1/2 -1/4 1/4 1/4 -1/4 -1/4 1/4 1/4 -1/4 1/4 1) @x683 @x1617 @x698 @x703 @x858 @x857 @x1517 @x799 @x1735 @x1258 @x1255 @x832 @x1254 @x1251 @x1138 (hypothesis $x1360) @x1700 @x1481 false))) (let ((@x1754 (unit-resolution (lemma @x1736 (or $x657 $x707 $x860 $x1532 $x1262 $x1423 $x1723)) (unit-resolution @x1117 (unit-resolution @x631 @x1745 $x628) $x667) @x1743 @x1751 (unit-resolution @x1270 @x1747 $x672) @x1612 @x966 $x657))) (let ((@x1759 ((_ th-lemma arith assign-bounds 2 3/4 3/4 3/4 3/4 3/4 1/2 1/2 3/4 3/4 1/2 1/2 1/4 1/4 1/4 1/4 1/4 1/4) @x1370 @x1751 @x1258 @x1698 @x1138 @x1612 (unit-resolution @x1129 (unit-resolution @x631 @x1745 $x628) $x663) @x1127 @x1617 @x698 @x1538 @x812 @x687 @x720 (unit-resolution @x725 @x1747 $x681) @x1743 @x703 @x941 $x488))) (let ((@x1762 (unit-resolution ((_ th-lemma arith assign-bounds 1 -1 1/2 -1/2 -1/2 1/2 -1/2 1/2 1/2 -1/2 -1/2 -1/2 1/2 1/2 -1/2) $x1724) (unit-resolution @x1293 (unit-resolution @x573 @x1759 $x584) $x1238) @x832 @x853 @x835 @x730 @x1258 @x1286 @x1698 @x720 @x1672 @x966 (unit-resolution @x865 (unit-resolution @x623 @x1741 $x620) $x840) (unit-resolution @x1405 (unit-resolution @x641 @x1370 $x637) $x1369) (unit-resolution @x725 @x1747 $x681) @x1751 $x654))) (let ((@x1767 (unit-resolution @x1426 (unit-resolution @x1300 (unit-resolution @x573 @x1759 $x584) $x1239) @x799 @x698 @x703 @x857 @x1138 @x1617 @x1612 @x1743 (unit-resolution @x1117 (unit-resolution @x631 @x1745 $x628) $x667) (unit-resolution @x1270 @x1747 $x672) (unit-resolution ((_ th-lemma arith assign-bounds 2 -1) (or $x933 $x414 $x800)) @x1517 @x1481 $x933) @x1254 @x1298 $x653))) (let ((@x1768 (unit-resolution @x1306 @x1767 @x1762 (unit-resolution @x569 (unit-resolution @x1279 @x1754 @x1698 $x92) $x582) false))) (let ((@x1770 (lemma @x1768 (or $x288 $x438)))) (let ((@x891 (unit-resolution @x1770 @x1370 $x438))) (let ((@x783 (unit-resolution ((_ th-lemma arith assign-bounds -2 2 -2 -2 2 -1) (or $x932 $x817 $x818 $x706 $x364 $x743 $x903)) @x698 @x812 (or $x932 $x817 $x706 $x364 $x903)))) (let ((@x795 (unit-resolution (unit-resolution @x783 @x1538 @x1617 (or $x932 $x364 $x903)) (unit-resolution @x828 (unit-resolution @x599 @x891 $x596) $x669) (unit-resolution @x1645 @x1370 $x363) $x932))) (let ((@x809 (unit-resolution (unit-resolution @x709 @x1617 (or $x463 $x339 $x439 $x707)) @x889 @x688 @x891 $x339))) (let ((@x821 (unit-resolution ((_ th-lemma arith assign-bounds 2 -1) (or $x675 $x439 $x784)) (unit-resolution @x693 (unit-resolution @x599 @x891 $x596) $x678) @x891 $x675))) (let ((@x836 (lemma (unit-resolution @x1734 @x821 @x809 @x1370 @x795 @x890 @x889 false) (or $x288 $x463)))) (let ((@x918 (unit-resolution @x836 @x688 $x288))) (let ((@x722 (unit-resolution @x1151 (unit-resolution @x639 @x918 $x636) $x660))) (let ((@x1807 (unit-resolution (unit-resolution @x1193 @x1138 (or $x338 $x313 $x1141 $x289)) @x1701 @x918 @x722 $x313))) (let ((@x838 (unit-resolution (unit-resolution @x960 @x853 @x799 (or $x363 $x957 $x438 $x800)) @x1672 @x1517 (or $x363 $x438)))) (let ((@x910 (unit-resolution @x623 (unit-resolution @x838 @x763 $x363) $x620))) (let ((@x920 (unit-resolution @x1146 (unit-resolution @x639 @x918 $x636) $x661))) (let ((@x916 (unit-resolution ((_ th-lemma arith assign-bounds 1 1 1 1) (or $x488 $x463 $x813 $x815 $x438)) @x720 (or $x488 $x463 $x813 $x438)))) (let ((@x923 (unit-resolution @x1293 (unit-resolution @x573 (unit-resolution @x916 @x763 @x688 @x762 $x488) $x584) $x1238))) (let ((@x924 ((_ th-lemma arith assign-bounds 1 -1 1 -1 1 -1 1 3 -3 1 -1 -1 2 -2 2 -2) @x923 @x1286 @x762 @x720 @x730 (hypothesis $x1699) @x857 @x1672 @x853 @x1517 @x799 @x920 @x832 @x966 (unit-resolution @x865 @x910 $x840) @x835 $x654))) (let (($x886 (>= ?x676 0))) (let ((@x735 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x589) $x886)) @x758 $x886))) (let ((@x736 (unit-resolution @x1300 (unit-resolution @x573 (unit-resolution @x916 @x763 @x688 @x762 $x488) $x584) $x1239))) (let ((@x682 ((_ th-lemma arith assign-bounds 1 -1 1 -1 1 -1 1 3 -3 1 -1 -1 2 -2 2 -2) @x736 @x1298 @x735 @x1254 @x1138 @x1647 @x1127 @x1617 @x698 @x1538 @x812 @x722 @x687 @x941 (unit-resolution @x926 @x910 $x670) @x703 $x653))) (let (($x741 (not $x886))) (let (($x748 (or $x657 $x741 $x1532 $x1471 $x1421 $x1191 $x706 $x743 $x744 $x745 $x707 $x742 $x1141))) (let ((@x750 (unit-resolution ((_ th-lemma arith assign-bounds 1 -1 1 -1 1 1 -1 1 -1 1 -1 -1) $x748) (unit-resolution @x926 @x910 $x670) @x698 @x703 @x1138 @x1258 @x1254 @x722 @x1617 @x687 @x941 @x1735 @x735 $x657))) (let ((@x755 (unit-resolution @x1279 @x1698 (or $x92 $x766)))) (let ((@x917 (unit-resolution @x569 (unit-resolution @x755 @x750 $x92) (unit-resolution @x1306 @x682 @x924 $x91) false))) (let ((@x1810 (unit-resolution (lemma @x917 (or $x438 $x1532 $x1629 (not $x1699) $x463)) (unit-resolution @x1438 (unit-resolution @x647 @x1807 $x644) $x1381) @x1703 @x1712 @x688 $x438))) (let ((@x1780 (hypothesis $x886))) (let (($x1782 (or $x657 $x1531 $x741 $x1532 $x1471 $x1421 $x1191 $x957 $x958 $x744 $x742 $x1141 $x784 $x800 $x801))) (let ((@x1784 (unit-resolution ((_ th-lemma arith assign-bounds 1 1 -1 1 -1 1 -1 1 1 -1 -1 -1 -2 2) $x1782) (hypothesis $x1503) @x799 @x853 @x703 @x1138 @x1258 @x1254 @x1139 @x868 @x1517 @x1672 @x687 @x1735 @x1780 $x657))) (let ((@x1789 (unit-resolution ((_ th-lemma arith assign-bounds 1 1 1 1 1 1) (or $x488 $x338 $x1532 $x1471 $x710 $x1191 $x1141)) @x1701 @x1138 @x1258 @x1698 @x1139 @x1735 $x488))) (let (($x927 (not $x1699))) (let (($x1792 (or $x654 $x1415 $x1416 $x741 $x1421 $x1191 $x927 $x1424 $x957 $x958 $x800 $x801 $x1141 $x1532 $x1471 $x710))) (let ((@x1794 (unit-resolution ((_ th-lemma arith assign-bounds 1 -1 -1 1 -1 -1 1 1 -1 1 -1 1 2 -2 -2) $x1792) (unit-resolution @x1293 (unit-resolution @x573 @x1789 $x584) $x1238) @x799 @x853 @x857 @x1138 @x1258 @x1286 @x1698 @x1139 @x1517 @x1672 @x1254 @x1735 @x1780 @x1712 $x654))) (let (($x1796 (or $x653 $x1323 $x1422 $x813 $x815 $x814 $x1629 $x1199 $x706 $x743 $x817 $x818 $x733 $x734 $x816 $x766))) (let ((@x1798 (unit-resolution ((_ th-lemma arith assign-bounds 1 -1 -1 1 -1 -1 1 1 -1 1 -1 1 2 -2 -2) $x1796) @x1784 @x812 @x698 @x1127 @x730 @x715 @x1298 @x720 @x731 @x716 @x1617 @x934 @x1538 @x1703 (unit-resolution @x1300 (unit-resolution @x573 @x1789 $x584) $x1239) $x653))) (let ((@x1799 (unit-resolution @x1306 @x1798 @x1794 (unit-resolution @x569 (unit-resolution @x755 @x1784 $x92) $x582) false))) (let ((@x1814 (unit-resolution (lemma @x1799 (or $x1531 $x733 $x734 $x813 $x1141 $x1532 $x741 $x784 $x338)) (unit-resolution @x1168 (unit-resolution @x647 @x1807 $x644) $x664) @x920 @x762 @x722 (unit-resolution @x1438 (unit-resolution @x647 @x1807 $x644) $x1381) @x735 (unit-resolution @x693 (unit-resolution @x599 @x1810 $x596) $x678) @x1701 $x1531))) (let ((@x1816 (unit-resolution ((_ th-lemma arith assign-bounds -1 -2 2 -2 -2 2) (or $x1503 $x707 $x706 $x743 $x439 $x817 $x818)) @x698 @x1617 @x812 @x1538 (or $x1503 $x707 $x439)))) (let ((@x1803 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x823 $x1503)) (hypothesis $x621) (hypothesis $x1531) false))) (let ((@x1804 (lemma @x1803 (or $x823 $x1503)))) (let ((@x1820 (unit-resolution @x623 (unit-resolution @x625 (unit-resolution @x1804 @x1814 $x823) $x363) $x620))) (let ((@x1821 (unit-resolution @x926 @x1820 (unit-resolution @x1816 @x1814 @x1810 $x707) false))) (let ((@x1861 (unit-resolution (lemma @x1821 (or $x338 $x463)) @x688 $x338))) (let ((@x1827 (unit-resolution ((_ th-lemma arith assign-bounds 1 1 -1 -1 -1 1 1 -1) (or $x860 $x707 $x414 $x742 $x1424 $x800 $x801 $x289 $x438)) @x799 @x703 @x857 @x1481 @x1517 (or $x860 $x707 $x289 $x438)))) (let ((@x1829 (unit-resolution @x926 @x910 (unit-resolution @x1827 @x763 @x1078 @x858 $x707) false))) (let ((@x1831 (lemma @x1829 (or $x438 $x289 $x860)))) (let ((@x1864 (unit-resolution @x1831 @x918 (unit-resolution @x1117 (unit-resolution @x631 @x1861 $x628) $x667) $x438))) (let ((@x1865 (unit-resolution (unit-resolution @x709 @x1617 (or $x463 $x339 $x439 $x707)) @x1864 @x688 @x1861 $x707))) (let ((@x1868 (unit-resolution @x1129 (unit-resolution @x631 @x1861 $x628) $x663))) (let ((@x1619 (unit-resolution ((_ th-lemma arith assign-bounds -1 -1 -1 1 1 -1 1 1 -1) (or $x706 $x743 $x313 $x1141 $x1191 $x817 $x1198 $x1199 $x439 $x818)) @x698 @x1127 @x1138 @x812 (or $x706 $x313 $x1141 $x817 $x1198 $x439)))) (let ((@x1871 (unit-resolution (unit-resolution @x1619 @x1538 @x1617 (or $x313 $x1141 $x1198 $x439)) @x1864 @x722 @x1868 $x313))) (let ((@x1836 (unit-resolution ((_ th-lemma arith assign-bounds 1 -1 -1 1 -1 -1 1 1 -1 1 -1 1 2 -2 -2) $x1796) @x1320 @x812 @x698 @x1127 @x730 @x715 @x1298 @x720 @x731 @x716 @x1617 @x934 @x1538 @x1647 @x764 $x1323))) (let ((@x1833 ((_ th-lemma arith farkas 1 -1 -1 1 -1 1 1 1 -1 1 -1 -1 1) @x1138 @x1139 @x1298 @x1320 @x934 @x720 @x1127 @x1617 @x698 @x1538 @x812 @x1213 (hypothesis $x1506) false))) (let ((@x1837 (unit-resolution (lemma @x1833 (or $x1558 $x1141 $x653 $x813 $x1198)) @x1320 @x1139 @x934 @x1213 $x1558))) (let ((@x1840 (unit-resolution @x573 (unit-resolution @x575 (unit-resolution @x1569 @x1837 $x1546) $x488) $x584))) (let ((@x1843 (lemma (unit-resolution @x1300 @x1840 @x1836 false) (or $x653 $x1141 $x813 $x1198 $x733 $x734 $x1629 $x766)))) (let ((@x1847 (unit-resolution @x1306 (unit-resolution @x1843 @x764 @x934 @x1213 @x731 @x716 @x1647 @x1139 $x653) (unit-resolution @x569 (unit-resolution @x755 @x764 $x92) $x582) $x1304))) (let (($x1848 (or $x1550 $x814 $x733 $x1416 $x654 $x741 $x1421 $x1424 $x957 $x958 $x800 $x801 $x860))) (let ((@x1850 (unit-resolution ((_ th-lemma arith assign-bounds 1 -1 -1 1 -1 1 1 1 -1 1 -1 -1) $x1848) @x1847 @x799 @x853 @x857 @x730 @x1254 @x731 @x1517 @x858 @x1672 @x1286 @x1780 $x1550))) (let ((@x1853 (unit-resolution @x573 (unit-resolution @x575 (unit-resolution @x1583 @x1850 $x1546) $x488) $x584))) (let ((@x1857 (unit-resolution ((_ th-lemma arith assign-bounds -1 -2 -2 2 2 2 -2) (or $x1699 $x860 $x489 $x734 $x816 $x766 $x814 $x733)) @x764 @x715 @x730 @x731 @x716 @x858 (unit-resolution @x575 (unit-resolution @x1583 @x1850 $x1546) $x488) $x1699))) (let ((@x1858 (unit-resolution ((_ th-lemma arith assign-bounds 1 -1 -1 1 -1 -1 1 1 -1 1 -1 1 2 -2 -2) $x1792) @x1857 (unit-resolution @x1293 @x1853 $x1238) @x799 @x853 @x857 @x1138 @x1258 @x1735 @x1698 @x1139 @x1517 @x1672 @x1847 @x1254 @x1780 @x1286 false))) (let ((@x1878 (unit-resolution (lemma @x1858 (or $x766 $x1532 $x1141 $x741 $x733 $x734 $x860 $x813 $x1198 $x1629)) (unit-resolution @x1438 (unit-resolution @x647 @x1871 $x644) $x1381) @x722 @x735 @x920 (unit-resolution @x1168 (unit-resolution @x647 @x1871 $x644) $x664) (unit-resolution @x1117 (unit-resolution @x631 @x1861 $x628) $x667) @x762 @x1868 (unit-resolution ((_ th-lemma arith assign-bounds 1 -2) (or $x875 $x1198 $x339)) @x1861 @x1868 $x875) $x766))) (let ((@x1879 (unit-resolution ((_ th-lemma arith assign-bounds 1 1 -1 1 -1 1 -1 1 1 -1 -1 -1 -2 2) $x1782) @x1878 @x799 @x853 @x703 @x1138 @x1258 (unit-resolution @x1438 (unit-resolution @x647 @x1871 $x644) $x1381) @x722 (unit-resolution @x693 (unit-resolution @x599 @x1864 $x596) $x678) @x1517 @x1672 @x687 @x1254 @x735 $x1531))) (let ((@x1882 (unit-resolution @x623 (unit-resolution @x625 (unit-resolution @x1804 @x1879 $x823) $x363) $x620))) (let ((@x1884 (lemma (unit-resolution @x926 @x1882 @x1865 false) $x463))) (let ((@x1943 (unit-resolution ((_ th-lemma arith assign-bounds 1 -1 1 -1 1) (or $x678 $x389 $x1472 $x817 $x818 $x464)) @x832 @x812 @x1610 @x1884 @x1538 $x678))) (let ((@x1906 (unit-resolution @x1770 @x763 $x288))) (let ((@x1910 (unit-resolution (unit-resolution @x1207 @x1481 (or $x438 $x289 $x313)) @x763 @x1906 $x313))) (let ((@x1915 (unit-resolution ((_ th-lemma arith farkas 1 1) (or $x663 $x667)) (unit-resolution @x1831 @x1906 @x763 $x860) $x663))) (let ((@x1886 (unit-resolution @x1270 (unit-resolution @x591 @x1884 $x588) $x672))) (let ((@x1887 ((_ th-lemma arith farkas -1 1 -1 1 -3/2 3/2 -1/2 1/2 1/2 -1/2 1/2 -1/2 1/2 1/2 -1/2 -1/2 1/2 1) @x857 @x1078 @x1517 @x799 @x1672 @x853 @x1735 @x1258 @x1255 @x1254 @x1700 @x832 @x1886 @x1138 @x1152 @x1208 @x835 (hypothesis $x1699) false))) (let ((@x1890 (unit-resolution (lemma @x1887 (or $x657 $x289 $x1532 $x1723 $x1092 $x927)) @x1712 @x1735 @x1700 @x1208 @x1078 $x657))) (let ((@x1772 (hypothesis $x871))) (let ((@x1774 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x589) $x679)) @x758 (unit-resolution ((_ th-lemma arith assign-bounds 1 2) (or $x681 $x813 $x463)) @x688 @x1772 $x813) false))) (let ((@x1777 (unit-resolution @x591 (unit-resolution (lemma @x1774 (or $x463 $x681)) @x1772 $x463) $x588))) (let ((@x1779 (lemma (unit-resolution @x725 @x1777 @x1772 false) $x681))) (let ((@x1897 (unit-resolution (unit-resolution ((_ th-lemma arith assign-bounds 2 -1) (or $x679 $x464 $x871)) @x1779 (or $x679 $x464)) @x1884 $x679))) (let ((@x1899 (unit-resolution @x1306 (unit-resolution @x1843 @x1890 @x1897 @x1213 @x1147 @x716 @x1703 @x1152 $x653) (unit-resolution @x569 (unit-resolution @x755 @x1890 $x92) $x582) $x1304))) (let ((@x1900 (unit-resolution ((_ th-lemma arith assign-bounds 1 1 1 1 1 1) (or $x488 $x338 $x1532 $x1471 $x710 $x1191 $x1141)) @x1701 @x1138 @x1258 @x1698 @x1152 @x1735 $x488))) (let ((@x1903 ((_ th-lemma arith farkas -1 -1 1 -2 2 -1 1 1 1 -1 -1 1 -1 1 -1 1) @x857 @x1517 @x799 @x1672 @x853 @x1735 @x1258 @x1698 @x1700 @x832 @x1208 @x835 (unit-resolution @x1293 (unit-resolution @x573 @x1900 $x584) $x1238) @x1286 @x1899 @x1712 false))) (let ((@x1917 (unit-resolution (lemma @x1903 (or $x338 $x1532 $x1723 $x1092 $x1198 $x734 $x289)) (unit-resolution @x1438 (unit-resolution @x647 @x1910 $x644) $x1381) @x966 (unit-resolution @x865 @x910 $x840) @x1915 (unit-resolution @x1168 (unit-resolution @x647 @x1910 $x644) $x664) @x1906 $x338))) (let ((@x1919 (unit-resolution @x1117 (unit-resolution @x631 @x1917 $x628) (unit-resolution @x1831 @x1906 @x763 $x860) false))) (let ((@x1920 (lemma @x1919 $x438))) (let ((@x1922 (unit-resolution @x828 (unit-resolution @x599 @x1920 $x596) $x669))) (let ((@x1925 (unit-resolution ((_ th-lemma arith assign-bounds -1 -2 2 -2 -2 2) (or $x839 $x706 $x817 $x818 $x464 $x903 $x1472)) @x832 @x812 @x1617 @x1538 @x1884 @x1922 $x839))) (let ((@x1929 (unit-resolution @x631 (unit-resolution (unit-resolution @x1486 @x1481 (or $x338 $x872)) @x1925 $x338) $x628))) (let ((@x1930 (unit-resolution @x1129 @x1929 $x663))) (let ((@x1933 (unit-resolution (unit-resolution @x1491 @x1127 @x835 @x1672 (or $x872 $x1198 $x1092 $x288)) @x1370 @x1925 @x1930 $x1092))) (let ((@x1934 (unit-resolution ((_ th-lemma arith assign-bounds 1 -2) (or $x875 $x1198 $x339)) @x1930 (unit-resolution (unit-resolution @x1486 @x1481 (or $x338 $x872)) @x1925 $x338) $x875))) (let ((@x1937 (unit-resolution (unit-resolution @x1637 @x1127 @x1610 @x703 (or $x1629 $x1531 $x288)) @x1370 @x1934 $x1531))) (let ((@x1939 (unit-resolution ((_ th-lemma arith farkas 1 1) (or $x840 $x670)) (unit-resolution @x1816 @x1937 @x1920 $x707) @x1933 false))) (let ((@x1945 (unit-resolution @x1151 (unit-resolution @x639 (lemma @x1939 $x288) $x636) $x660))) (let ((@x1948 (unit-resolution (unit-resolution @x1580 @x1779 (or $x653 $x872 $x1141 $x1262 $x784)) @x1945 @x1886 @x1925 @x1943 $x653))) (let ((@x1950 (unit-resolution @x1146 (unit-resolution @x639 (lemma @x1939 $x288) $x636) $x661))) (let ((@x1951 (unit-resolution ((_ th-lemma arith assign-bounds 2 -1) (or $x780 $x389 $x957)) @x1672 @x1610 $x780))) (let ((@x1954 (unit-resolution (unit-resolution @x1592 @x1951 (or $x654 $x903 $x1262 $x733 $x860)) @x1950 @x1886 @x1922 (unit-resolution @x1117 @x1929 $x667) $x654))) (let ((@x1957 (unit-resolution @x755 (unit-resolution @x569 (unit-resolution @x1306 @x1954 @x1948 $x91) $x583) $x766))) (let ((@x1958 (unit-resolution (unit-resolution @x1619 @x1538 @x1617 (or $x313 $x1141 $x1198 $x439)) @x1945 @x1920 @x1930 $x313))) (let ((@x1963 (unit-resolution ((_ th-lemma arith assign-bounds 2 -1) (or $x1249 $x314 $x1532)) (unit-resolution @x1438 (unit-resolution @x647 @x1958 $x644) $x1381) @x1958 $x1249))) (let ((@x1966 (unit-resolution (unit-resolution @x1264 @x1951 (or $x657 $x707 $x1261 $x1262 $x733 $x903 $x860)) @x1963 @x1886 (unit-resolution @x1117 @x1929 $x667) @x1950 @x1922 @x1957 $x707))) (let ((@x1968 (unit-resolution @x1534 @x853 @x703 @x1138 @x1258 @x1951 @x832 @x1254 (or $x657 $x1531 $x1532 $x903 $x1262 $x1141)))) (let ((@x1969 (unit-resolution @x1968 (unit-resolution @x1438 (unit-resolution @x647 @x1958 $x644) $x1381) @x1886 @x1922 @x1945 @x1957 $x1531))) (let ((@x1972 (unit-resolution @x623 (unit-resolution @x625 (unit-resolution @x1804 @x1969 $x823) $x363) $x620))) (unit-resolution @x926 @x1972 @x1966 false)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) -faad33b2f84ccaf1e2790bec1489d8a4c6b742a9 113 0 +acc0a8679fada55f807fa45c47b89f2dc4f0cc19 20 0 +unsat +((set-logic AUFLIRA) +(proof +(let ((?x30 (* 2.0 x$))) +(let ((?x32 (+ ?x30 1.0))) +(let ((?x28 (+ x$ x$))) +(let (($x33 (< ?x28 ?x32))) +(let (($x34 (or false $x33))) +(let (($x35 (or $x33 $x34))) +(let (($x36 (not $x35))) +(let ((@x67 (monotonicity (rewrite (= (< ?x30 (+ 1.0 ?x30)) true)) (= (not (< ?x30 (+ 1.0 ?x30))) (not true))))) +(let ((@x71 (trans @x67 (rewrite (= (not true) false)) (= (not (< ?x30 (+ 1.0 ?x30))) false)))) +(let ((?x40 (+ 1.0 ?x30))) +(let (($x43 (< ?x30 ?x40))) +(let ((@x45 (monotonicity (rewrite (= ?x28 ?x30)) (rewrite (= ?x32 ?x40)) (= $x33 $x43)))) +(let ((@x52 (trans (monotonicity @x45 (= $x34 (or false $x43))) (rewrite (= (or false $x43) $x43)) (= $x34 $x43)))) +(let ((@x59 (trans (monotonicity @x45 @x52 (= $x35 (or $x43 $x43))) (rewrite (= (or $x43 $x43) $x43)) (= $x35 $x43)))) +(let ((@x62 (monotonicity @x59 (= $x36 (not $x43))))) +(mp (asserted $x36) (trans @x62 @x71 (= $x36 false)) false)))))))))))))))))) + +f2ecc8d02c730cd119d0a8be84bc5bf03ed0f98b 113 0 unsat ((set-logic ) (proof (let ((?x228 (mod x$ 2))) (let ((?x262 (* (- 1) ?x228))) (let ((?x31 (modulo$ x$ 2))) (let ((?x263 (+ ?x31 ?x262))) (let (($x280 (>= ?x263 0))) (let (($x264 (= ?x263 0))) (let (($x205 (forall ((?v0 Int) (?v1 Int) )(! (let ((?x136 (mod ?v0 ?v1))) (let ((?x93 (* (- 1) ?v1))) (let ((?x90 (* (- 1) ?v0))) (let ((?x144 (mod ?x90 ?x93))) (let ((?x150 (* (- 1) ?x144))) (let (($x111 (<= ?v1 0))) (let ((?x170 (ite $x111 ?x150 ?x136))) (let (($x78 (= ?v1 0))) (let ((?x175 (ite $x78 ?v0 ?x170))) (let ((?x135 (modulo$ ?v0 ?v1))) (= ?x135 ?x175))))))))))) :pattern ( (modulo$ ?v0 ?v1) ) :qid k!9)) )) (let (($x181 (forall ((?v0 Int) (?v1 Int) )(! (let ((?x136 (mod ?v0 ?v1))) (let ((?x93 (* (- 1) ?v1))) (let ((?x90 (* (- 1) ?v0))) (let ((?x144 (mod ?x90 ?x93))) (let ((?x150 (* (- 1) ?x144))) (let (($x111 (<= ?v1 0))) (let ((?x170 (ite $x111 ?x150 ?x136))) (let (($x78 (= ?v1 0))) (let ((?x175 (ite $x78 ?v0 ?x170))) (let ((?x135 (modulo$ ?v0 ?v1))) (= ?x135 ?x175))))))))))) :qid k!9)) )) (let ((?x136 (mod ?1 ?0))) (let ((?x93 (* (- 1) ?0))) (let ((?x90 (* (- 1) ?1))) (let ((?x144 (mod ?x90 ?x93))) (let ((?x150 (* (- 1) ?x144))) (let (($x111 (<= ?0 0))) (let ((?x170 (ite $x111 ?x150 ?x136))) (let (($x78 (= ?0 0))) (let ((?x175 (ite $x78 ?1 ?x170))) (let ((?x135 (modulo$ ?1 ?0))) (let (($x178 (= ?x135 ?x175))) (let (($x142 (forall ((?v0 Int) (?v1 Int) )(! (let (($x78 (= ?v1 0))) (let ((?x140 (ite $x78 ?v0 (ite (< 0 ?v1) (mod ?v0 ?v1) (- (mod (- ?v0) (- ?v1))))))) (let ((?x135 (modulo$ ?v0 ?v1))) (= ?x135 ?x140)))) :qid k!9)) )) (let (($x164 (forall ((?v0 Int) (?v1 Int) )(! (let ((?x93 (* (- 1) ?v1))) (let ((?x90 (* (- 1) ?v0))) (let ((?x144 (mod ?x90 ?x93))) (let ((?x150 (* (- 1) ?x144))) (let ((?x136 (mod ?v0 ?v1))) (let (($x79 (< 0 ?v1))) (let ((?x155 (ite $x79 ?x136 ?x150))) (let (($x78 (= ?v1 0))) (let ((?x158 (ite $x78 ?v0 ?x155))) (let ((?x135 (modulo$ ?v0 ?v1))) (= ?x135 ?x158))))))))))) :qid k!9)) )) (let ((@x169 (monotonicity (rewrite (= (< 0 ?0) (not $x111))) (= (ite (< 0 ?0) ?x136 ?x150) (ite (not $x111) ?x136 ?x150))))) (let ((@x174 (trans @x169 (rewrite (= (ite (not $x111) ?x136 ?x150) ?x170)) (= (ite (< 0 ?0) ?x136 ?x150) ?x170)))) (let ((@x177 (monotonicity @x174 (= (ite $x78 ?1 (ite (< 0 ?0) ?x136 ?x150)) ?x175)))) (let ((@x180 (monotonicity @x177 (= (= ?x135 (ite $x78 ?1 (ite (< 0 ?0) ?x136 ?x150))) $x178)))) (let (($x79 (< 0 ?0))) (let ((?x155 (ite $x79 ?x136 ?x150))) (let ((?x158 (ite $x78 ?1 ?x155))) (let (($x161 (= ?x135 ?x158))) (let (($x162 (= (= ?x135 (ite $x78 ?1 (ite $x79 ?x136 (- (mod (- ?1) (- ?0)))))) $x161))) (let ((@x146 (monotonicity (rewrite (= (- ?1) ?x90)) (rewrite (= (- ?0) ?x93)) (= (mod (- ?1) (- ?0)) ?x144)))) (let ((@x154 (trans (monotonicity @x146 (= (- (mod (- ?1) (- ?0))) (- ?x144))) (rewrite (= (- ?x144) ?x150)) (= (- (mod (- ?1) (- ?0))) ?x150)))) (let ((@x157 (monotonicity @x154 (= (ite $x79 ?x136 (- (mod (- ?1) (- ?0)))) ?x155)))) (let ((@x160 (monotonicity @x157 (= (ite $x78 ?1 (ite $x79 ?x136 (- (mod (- ?1) (- ?0))))) ?x158)))) (let ((@x185 (trans (quant-intro (monotonicity @x160 $x162) (= $x142 $x164)) (quant-intro @x180 (= $x164 $x181)) (= $x142 $x181)))) (let ((@x196 (mp~ (mp (asserted $x142) @x185 $x181) (nnf-pos (refl (~ $x178 $x178)) (~ $x181 $x181)) $x181))) (let ((@x210 (mp @x196 (quant-intro (refl (= $x178 $x178)) (= $x181 $x205)) $x205))) (let (($x270 (or (not $x205) $x264))) (let ((?x225 (* (- 1) 2))) (let ((?x224 (* (- 1) x$))) (let ((?x226 (mod ?x224 ?x225))) (let ((?x227 (* (- 1) ?x226))) (let (($x223 (<= 2 0))) (let ((?x229 (ite $x223 ?x227 ?x228))) (let (($x222 (= 2 0))) (let ((?x230 (ite $x222 x$ ?x229))) (let (($x231 (= ?x31 ?x230))) (let ((@x244 (monotonicity (monotonicity (rewrite (= ?x225 (- 2))) (= ?x226 (mod ?x224 (- 2)))) (= ?x227 (* (- 1) (mod ?x224 (- 2))))))) (let ((@x247 (monotonicity (rewrite (= $x223 false)) @x244 (= ?x229 (ite false (* (- 1) (mod ?x224 (- 2))) ?x228))))) (let ((@x251 (trans @x247 (rewrite (= (ite false (* (- 1) (mod ?x224 (- 2))) ?x228) ?x228)) (= ?x229 ?x228)))) (let ((@x254 (monotonicity (rewrite (= $x222 false)) @x251 (= ?x230 (ite false x$ ?x228))))) (let ((@x261 (monotonicity (trans @x254 (rewrite (= (ite false x$ ?x228) ?x228)) (= ?x230 ?x228)) (= $x231 (= ?x31 ?x228))))) (let ((@x274 (monotonicity (trans @x261 (rewrite (= (= ?x31 ?x228) $x264)) (= $x231 $x264)) (= (or (not $x205) $x231) $x270)))) (let ((@x277 (trans @x274 (rewrite (= $x270 $x270)) (= (or (not $x205) $x231) $x270)))) (let ((@x278 (mp ((_ quant-inst x$ 2) (or (not $x205) $x231)) @x277 $x270))) (let ((@x332 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x264) $x280)) (unit-resolution @x278 @x210 $x264) $x280))) (let (($x305 (>= ?x228 0))) (let (($x64 (>= ?x31 0))) (let (($x67 (not $x64))) (let (($x36 (not (<= (+ x$ 1) (+ x$ (+ (* 2 ?x31) 1)))))) (let ((@x69 (monotonicity (rewrite (= (>= (* 2 ?x31) 0) $x64)) (= (not (>= (* 2 ?x31) 0)) $x67)))) (let ((?x32 (* 2 ?x31))) (let ((?x47 (+ 1 x$ ?x32))) (let (($x52 (<= (+ 1 x$) ?x47))) (let (($x55 (not $x52))) (let ((@x63 (monotonicity (rewrite (= $x52 (>= ?x32 0))) (= $x55 (not (>= ?x32 0)))))) (let ((@x46 (monotonicity (rewrite (= (+ ?x32 1) (+ 1 ?x32))) (= (+ x$ (+ ?x32 1)) (+ x$ (+ 1 ?x32)))))) (let ((@x51 (trans @x46 (rewrite (= (+ x$ (+ 1 ?x32)) ?x47)) (= (+ x$ (+ ?x32 1)) ?x47)))) (let ((@x54 (monotonicity (rewrite (= (+ x$ 1) (+ 1 x$))) @x51 (= (<= (+ x$ 1) (+ x$ (+ ?x32 1))) $x52)))) (let ((@x73 (trans (monotonicity @x54 (= $x36 $x55)) (trans @x63 @x69 (= $x55 $x67)) (= $x36 $x67)))) (let ((@x74 (mp (asserted $x36) @x73 $x67))) ((_ th-lemma arith farkas -1 1 1) @x74 (unit-resolution ((_ th-lemma arith) (or false $x305)) (true-axiom true) $x305) @x332 false)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) -054d158bf38c0362154ef81cac0cc403f00fe2d7 112 0 +2b90909cb79318775a857f179e3de90ebc09360b 112 0 unsat ((set-logic ) (proof (let ((?x224 (mod x$ 2))) (let (($x318 (>= ?x224 2))) (let (($x319 (not $x318))) (let ((?x258 (* (- 1) ?x224))) (let ((?x29 (modulo$ x$ 2))) (let ((?x259 (+ ?x29 ?x258))) (let (($x275 (<= ?x259 0))) (let (($x260 (= ?x259 0))) (let (($x201 (forall ((?v0 Int) (?v1 Int) )(! (let ((?x132 (mod ?v0 ?v1))) (let ((?x89 (* (- 1) ?v1))) (let ((?x86 (* (- 1) ?v0))) (let ((?x140 (mod ?x86 ?x89))) (let ((?x146 (* (- 1) ?x140))) (let (($x107 (<= ?v1 0))) (let ((?x166 (ite $x107 ?x146 ?x132))) (let (($x74 (= ?v1 0))) (let ((?x171 (ite $x74 ?v0 ?x166))) (let ((?x131 (modulo$ ?v0 ?v1))) (= ?x131 ?x171))))))))))) :pattern ( (modulo$ ?v0 ?v1) ) :qid k!9)) )) (let (($x177 (forall ((?v0 Int) (?v1 Int) )(! (let ((?x132 (mod ?v0 ?v1))) (let ((?x89 (* (- 1) ?v1))) (let ((?x86 (* (- 1) ?v0))) (let ((?x140 (mod ?x86 ?x89))) (let ((?x146 (* (- 1) ?x140))) (let (($x107 (<= ?v1 0))) (let ((?x166 (ite $x107 ?x146 ?x132))) (let (($x74 (= ?v1 0))) (let ((?x171 (ite $x74 ?v0 ?x166))) (let ((?x131 (modulo$ ?v0 ?v1))) (= ?x131 ?x171))))))))))) :qid k!9)) )) (let ((?x132 (mod ?1 ?0))) (let ((?x89 (* (- 1) ?0))) (let ((?x86 (* (- 1) ?1))) (let ((?x140 (mod ?x86 ?x89))) (let ((?x146 (* (- 1) ?x140))) (let (($x107 (<= ?0 0))) (let ((?x166 (ite $x107 ?x146 ?x132))) (let (($x74 (= ?0 0))) (let ((?x171 (ite $x74 ?1 ?x166))) (let ((?x131 (modulo$ ?1 ?0))) (let (($x174 (= ?x131 ?x171))) (let (($x138 (forall ((?v0 Int) (?v1 Int) )(! (let (($x74 (= ?v1 0))) (let ((?x136 (ite $x74 ?v0 (ite (< 0 ?v1) (mod ?v0 ?v1) (- (mod (- ?v0) (- ?v1))))))) (let ((?x131 (modulo$ ?v0 ?v1))) (= ?x131 ?x136)))) :qid k!9)) )) (let (($x160 (forall ((?v0 Int) (?v1 Int) )(! (let ((?x89 (* (- 1) ?v1))) (let ((?x86 (* (- 1) ?v0))) (let ((?x140 (mod ?x86 ?x89))) (let ((?x146 (* (- 1) ?x140))) (let ((?x132 (mod ?v0 ?v1))) (let (($x75 (< 0 ?v1))) (let ((?x151 (ite $x75 ?x132 ?x146))) (let (($x74 (= ?v1 0))) (let ((?x154 (ite $x74 ?v0 ?x151))) (let ((?x131 (modulo$ ?v0 ?v1))) (= ?x131 ?x154))))))))))) :qid k!9)) )) (let ((@x165 (monotonicity (rewrite (= (< 0 ?0) (not $x107))) (= (ite (< 0 ?0) ?x132 ?x146) (ite (not $x107) ?x132 ?x146))))) (let ((@x170 (trans @x165 (rewrite (= (ite (not $x107) ?x132 ?x146) ?x166)) (= (ite (< 0 ?0) ?x132 ?x146) ?x166)))) (let ((@x173 (monotonicity @x170 (= (ite $x74 ?1 (ite (< 0 ?0) ?x132 ?x146)) ?x171)))) (let ((@x176 (monotonicity @x173 (= (= ?x131 (ite $x74 ?1 (ite (< 0 ?0) ?x132 ?x146))) $x174)))) (let (($x75 (< 0 ?0))) (let ((?x151 (ite $x75 ?x132 ?x146))) (let ((?x154 (ite $x74 ?1 ?x151))) (let (($x157 (= ?x131 ?x154))) (let (($x158 (= (= ?x131 (ite $x74 ?1 (ite $x75 ?x132 (- (mod (- ?1) (- ?0)))))) $x157))) (let ((@x142 (monotonicity (rewrite (= (- ?1) ?x86)) (rewrite (= (- ?0) ?x89)) (= (mod (- ?1) (- ?0)) ?x140)))) (let ((@x150 (trans (monotonicity @x142 (= (- (mod (- ?1) (- ?0))) (- ?x140))) (rewrite (= (- ?x140) ?x146)) (= (- (mod (- ?1) (- ?0))) ?x146)))) (let ((@x153 (monotonicity @x150 (= (ite $x75 ?x132 (- (mod (- ?1) (- ?0)))) ?x151)))) (let ((@x156 (monotonicity @x153 (= (ite $x74 ?1 (ite $x75 ?x132 (- (mod (- ?1) (- ?0))))) ?x154)))) (let ((@x181 (trans (quant-intro (monotonicity @x156 $x158) (= $x138 $x160)) (quant-intro @x176 (= $x160 $x177)) (= $x138 $x177)))) (let ((@x192 (mp~ (mp (asserted $x138) @x181 $x177) (nnf-pos (refl (~ $x174 $x174)) (~ $x177 $x177)) $x177))) (let ((@x206 (mp @x192 (quant-intro (refl (= $x174 $x174)) (= $x177 $x201)) $x201))) (let (($x266 (or (not $x201) $x260))) (let ((?x221 (* (- 1) 2))) (let ((?x220 (* (- 1) x$))) (let ((?x222 (mod ?x220 ?x221))) (let ((?x223 (* (- 1) ?x222))) (let (($x219 (<= 2 0))) (let ((?x225 (ite $x219 ?x223 ?x224))) (let (($x218 (= 2 0))) (let ((?x226 (ite $x218 x$ ?x225))) (let (($x227 (= ?x29 ?x226))) (let ((@x240 (monotonicity (monotonicity (rewrite (= ?x221 (- 2))) (= ?x222 (mod ?x220 (- 2)))) (= ?x223 (* (- 1) (mod ?x220 (- 2))))))) (let ((@x243 (monotonicity (rewrite (= $x219 false)) @x240 (= ?x225 (ite false (* (- 1) (mod ?x220 (- 2))) ?x224))))) (let ((@x247 (trans @x243 (rewrite (= (ite false (* (- 1) (mod ?x220 (- 2))) ?x224) ?x224)) (= ?x225 ?x224)))) (let ((@x250 (monotonicity (rewrite (= $x218 false)) @x247 (= ?x226 (ite false x$ ?x224))))) (let ((@x257 (monotonicity (trans @x250 (rewrite (= (ite false x$ ?x224) ?x224)) (= ?x226 ?x224)) (= $x227 (= ?x29 ?x224))))) (let ((@x270 (monotonicity (trans @x257 (rewrite (= (= ?x29 ?x224) $x260)) (= $x227 $x260)) (= (or (not $x201) $x227) $x266)))) (let ((@x273 (trans @x270 (rewrite (= $x266 $x266)) (= (or (not $x201) $x227) $x266)))) (let ((@x274 (mp ((_ quant-inst x$ 2) (or (not $x201) $x227)) @x273 $x266))) (let ((@x331 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x260) $x275)) (unit-resolution @x274 @x206 $x260) $x275))) (let (($x63 (>= ?x29 2))) (let ((?x37 (* 2 ?x29))) (let (($x56 (>= ?x37 3))) (let (($x46 (< (+ x$ ?x37) (+ 3 x$)))) (let (($x49 (not $x46))) (let ((@x58 (monotonicity (rewrite (= $x46 (not $x56))) (= $x49 (not (not $x56)))))) (let ((@x67 (trans (trans @x58 (rewrite (= (not (not $x56)) $x56)) (= $x49 $x56)) (rewrite (= $x56 $x63)) (= $x49 $x63)))) (let ((@x42 (monotonicity (rewrite (= (+ ?x29 ?x29) ?x37)) (= (+ x$ (+ ?x29 ?x29)) (+ x$ ?x37))))) (let ((@x48 (monotonicity @x42 (rewrite (= (+ x$ 3) (+ 3 x$))) (= (< (+ x$ (+ ?x29 ?x29)) (+ x$ 3)) $x46)))) (let ((@x51 (monotonicity @x48 (= (not (< (+ x$ (+ ?x29 ?x29)) (+ x$ 3))) $x49)))) (let ((@x69 (trans @x51 @x67 (= (not (< (+ x$ (+ ?x29 ?x29)) (+ x$ 3))) $x63)))) (let ((@x70 (mp (asserted (not (< (+ x$ (+ ?x29 ?x29)) (+ x$ 3)))) @x69 $x63))) ((_ th-lemma arith farkas -1 1 1) @x70 @x331 (unit-resolution ((_ th-lemma arith) (or false $x319)) (true-axiom true) $x319) false))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) -62c4b764a3697fd9b8f73fa2aa0e093ddab1835d 32 0 +9e8bd1ccee1598c51f1f67ef729241282bee8975 32 0 unsat ((set-logic ) (proof (let (($x28 (= x$ 0.0))) (let (($x29 (not $x28))) (let ((@x30 (asserted $x29))) (let (($x101 (<= x$ 0.0))) (let ((?x47 (* 2.0 x$))) (let (($x99 (<= ?x47 0.0))) (let (($x95 (= ?x47 0.0))) (let (($x36 (< 1.0 (ite (< x$ 0.0) (- x$) x$)))) (let (($x38 (or $x36 (not $x36)))) (let ((?x41 (ite $x38 4.0 2.0))) (let (($x45 (not (not (= (+ x$ x$) (* ?x41 x$)))))) (let ((@x90 (rewrite (= (not (not (= ?x47 (* 4.0 x$)))) (= ?x47 (* 4.0 x$)))))) (let (($x84 (= (not (= (+ x$ x$) (* ?x41 x$))) (not (= ?x47 (* 4.0 x$)))))) (let (($x57 (< 1.0 (ite (< x$ 0.0) (* (- 1.0) x$) x$)))) (let (($x55 (= (ite (< x$ 0.0) (- x$) x$) (ite (< x$ 0.0) (* (- 1.0) x$) x$)))) (let ((@x59 (monotonicity (monotonicity (rewrite (= (- x$) (* (- 1.0) x$))) $x55) (= $x36 $x57)))) (let ((@x65 (monotonicity @x59 (monotonicity @x59 (= (not $x36) (not $x57))) (= $x38 (or $x57 (not $x57)))))) (let ((@x69 (trans @x65 (rewrite (= (or $x57 (not $x57)) true)) (= $x38 true)))) (let ((@x76 (trans (monotonicity @x69 (= ?x41 (ite true 4.0 2.0))) (rewrite (= (ite true 4.0 2.0) 4.0)) (= ?x41 4.0)))) (let ((@x82 (monotonicity (rewrite (= (+ x$ x$) ?x47)) (monotonicity @x76 (= (* ?x41 x$) (* 4.0 x$))) (= (= (+ x$ x$) (* ?x41 x$)) (= ?x47 (* 4.0 x$)))))) (let ((@x88 (monotonicity (monotonicity @x82 $x84) (= $x45 (not (not (= ?x47 (* 4.0 x$)))))))) (let ((@x97 (trans (trans @x88 @x90 (= $x45 (= ?x47 (* 4.0 x$)))) (rewrite (= (= ?x47 (* 4.0 x$)) $x95)) (= $x45 $x95)))) (let ((@x98 (mp (asserted $x45) @x97 $x95))) (let ((@x110 (unit-resolution ((_ th-lemma arith assign-bounds 1) (or $x101 (not $x99))) (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x95) $x99)) @x98 $x99) $x101))) (let (($x102 (>= x$ 0.0))) (let (($x100 (>= ?x47 0.0))) (let ((@x117 (unit-resolution ((_ th-lemma arith assign-bounds 1) (or $x102 (not $x100))) (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x95) $x100)) @x98 $x100) $x102))) (unit-resolution ((_ th-lemma arith triangle-eq) (or $x28 (not $x101) (not $x102))) @x117 @x110 @x30 false)))))))))))))))))))))))))))))) -cbe2ad2be523199183bc675f533d4cb9b488ff3c 12 0 +e975f8a0748f1ab04103c4bce1c336d67c9ddc7f 12 0 unsat ((set-logic AUFLIA) (proof (let (($x28 (exists ((?v0 Int) )(! false :qid k!4)) )) (let (($x27 (not $x28))) (let (($x29 (not $x27))) (let ((@x35 (monotonicity (elim-unused (= $x28 false)) (= $x27 (not false))))) (let ((@x42 (monotonicity (trans @x35 (rewrite (= (not false) true)) (= $x27 true)) (= $x29 (not true))))) (let ((@x46 (trans @x42 (rewrite (= (not true) false)) (= $x29 false)))) (mp (asserted $x29) @x46 false))))))))) -9161d7d93581f36f7a468a5d2ec4a4f93f49bded 12 0 +693a453fa295b294a12bfe4fc2548b88f93af81d 12 0 unsat ((set-logic AUFLIRA) (proof (let (($x27 (exists ((?v0 Real) )(! false :qid k!4)) )) (let (($x28 (not $x27))) (let (($x29 (not $x28))) (let ((@x35 (monotonicity (elim-unused (= $x27 false)) (= $x28 (not false))))) (let ((@x42 (monotonicity (trans @x35 (rewrite (= (not false) true)) (= $x28 true)) (= $x29 (not true))))) (let ((@x46 (trans @x42 (rewrite (= (not true) false)) (= $x29 false)))) (mp (asserted $x29) @x46 false))))))))) -a6a1ed7d9ca2dde49ccb419a5c671f6cb54cc6db 22 0 +da9745bea43c7d7581f4f1a982ea54a4f665c150 22 0 unsat ((set-logic AUFLIA) (proof (let (($x52 (forall ((?v0 Int) )(! (<= ?v0 0) :qid k!4)) )) (let (($x46 (forall ((?v0 Int) )(! (let (($x34 (<= ?v0 0))) (let (($x35 (not $x34))) (not $x35))) :qid k!4)) )) (let ((@x54 (quant-intro (rewrite (= (not (not (<= ?0 0))) (<= ?0 0))) (= $x46 $x52)))) (let (($x38 (exists ((?v0 Int) )(! (let (($x34 (<= ?v0 0))) (not $x34)) :qid k!4)) )) (let (($x41 (not $x38))) (let ((@x48 (nnf-neg (refl (~ (not (not (<= ?0 0))) (not (not (<= ?0 0))))) (~ $x41 $x46)))) (let (($x29 (exists ((?v0 Int) )(! (< 0 ?v0) :qid k!4)) )) (let (($x30 (not $x29))) (let ((@x40 (quant-intro (rewrite (= (< 0 ?0) (not (<= ?0 0)))) (= $x29 $x38)))) (let ((@x49 (mp~ (mp (asserted $x30) (monotonicity @x40 (= $x30 $x41)) $x41) @x48 $x46))) (mp (mp @x49 @x54 $x52) (rewrite (= $x52 false)) false))))))))))))) -8d4ad6d4dd3d24ade2dee49ac9ccd7dc4eb5a126 22 0 +d1b4498be99afb5671326f37a46458328653a778 22 0 unsat ((set-logic AUFLIRA) (proof (let (($x51 (forall ((?v0 Real) )(! (<= ?v0 0.0) :qid k!4)) )) (let (($x45 (forall ((?v0 Real) )(! (let (($x33 (<= ?v0 0.0))) (let (($x34 (not $x33))) (not $x34))) :qid k!4)) )) (let ((@x53 (quant-intro (rewrite (= (not (not (<= ?0 0.0))) (<= ?0 0.0))) (= $x45 $x51)))) (let (($x37 (exists ((?v0 Real) )(! (let (($x33 (<= ?v0 0.0))) (not $x33)) :qid k!4)) )) (let (($x40 (not $x37))) (let ((@x47 (nnf-neg (refl (~ (not (not (<= ?0 0.0))) (not (not (<= ?0 0.0))))) (~ $x40 $x45)))) (let (($x28 (exists ((?v0 Real) )(! (< 0.0 ?v0) :qid k!4)) )) (let (($x29 (not $x28))) (let ((@x39 (quant-intro (rewrite (= (< 0.0 ?0) (not (<= ?0 0.0)))) (= $x28 $x37)))) (let ((@x48 (mp~ (mp (asserted $x29) (monotonicity @x39 (= $x29 $x40)) $x40) @x47 $x45))) (mp (mp @x48 @x53 $x51) (rewrite (= $x51 false)) false))))))))))))) -129394c26840800397440346d2be8228f88432bf 31 0 +47b866c871f79f79347596e68e9f0a6717e9f9ae 31 0 unsat ((set-logic AUFLIA) (declare-fun ?v0!0 () Int) (proof (let (($x71 (forall ((?v1 Int) )(! (<= (+ ?v1 (* (- 1) ?v0!0)) 0) :qid k!4)) )) (let (($x63 (forall ((?v1 Int) )(! (not (not (<= (+ ?v1 (* (- 1) ?v0!0)) 0))) :qid k!4)) )) (let (($x54 (<= (+ ?0 (* (- 1) ?v0!0)) 0))) (let (($x60 (not (not $x54)))) (let (($x46 (forall ((?v0 Int) )(! (exists ((?v1 Int) )(! (not (<= (+ ?v1 (* (- 1) ?v0)) 0)) :qid k!4)) :qid k!4)) )) (let (($x49 (not $x46))) (let (($x56 (exists ((?v1 Int) )(! (let (($x54 (<= (+ ?v1 (* (- 1) ?v0!0)) 0))) (not $x54)) :qid k!4)) )) (let ((@x67 (trans (sk (~ $x49 (not $x56))) (nnf-neg (refl (~ $x60 $x60)) (~ (not $x56) $x63)) (~ $x49 $x63)))) (let (($x31 (forall ((?v0 Int) )(! (exists ((?v1 Int) )(! (< ?v0 ?v1) :qid k!4)) :qid k!4)) )) (let (($x32 (not $x31))) (let (($x43 (exists ((?v1 Int) )(! (not (<= (+ ?v1 (* (- 1) ?0)) 0)) :qid k!4)) )) (let (($x30 (exists ((?v1 Int) )(! (< ?0 ?v1) :qid k!4)) )) (let ((@x42 (rewrite (= (< ?1 ?0) (not (<= (+ ?0 (* (- 1) ?1)) 0)))))) (let ((@x51 (monotonicity (quant-intro (quant-intro @x42 (= $x30 $x43)) (= $x31 $x46)) (= $x32 $x49)))) (let ((@x74 (mp (mp~ (mp (asserted $x32) @x51 $x49) @x67 $x63) (quant-intro (rewrite (= $x60 $x54)) (= $x63 $x71)) $x71))) (mp @x74 (rewrite (= $x71 false)) false)))))))))))))))))) -874267db756bf9fbfe33e5bcc1c8d446bb786208 22 0 +f8895baf351fb020e98a9589d9032cb37daead5c 22 0 unsat ((set-logic AUFLIA) (declare-fun ?v1!0 () Int) (declare-fun ?v0!1 () Int) (proof (let (($x53 (= ?v1!0 1))) (let (($x59 (not (or (not (and (= ?v0!1 0) $x53)) (not (= ?v0!1 ?v1!0)))))) (let (($x43 (forall ((?v0 Int) (?v1 Int) )(! (or (not (and (= ?v0 0) (= ?v1 1))) (not (= ?v0 ?v1))) :qid k!4)) )) (let (($x46 (not $x43))) (let (($x36 (forall ((?v0 Int) (?v1 Int) )(! (=> (and (= ?v0 0) (= ?v1 1)) (not (= ?v0 ?v1))) :qid k!4)) )) (let (($x37 (not $x36))) (let (($x41 (= (=> (and (= ?1 0) (= ?0 1)) (not (= ?1 ?0))) (or (not (and (= ?1 0) (= ?0 1))) (not (= ?1 ?0)))))) (let ((@x48 (monotonicity (quant-intro (rewrite $x41) (= $x36 $x43)) (= $x37 $x46)))) (let ((@x65 (not-or-elim (mp~ (mp (asserted $x37) @x48 $x46) (sk (~ $x46 $x59)) $x59) (and (= ?v0!1 0) $x53)))) (let ((@x67 (and-elim @x65 $x53))) (let (($x56 (= ?v0!1 ?v1!0))) (let ((@x68 (not-or-elim (mp~ (mp (asserted $x37) @x48 $x46) (sk (~ $x46 $x59)) $x59) $x56))) (let ((@x70 (trans (symm (and-elim @x65 (= ?v0!1 0)) (= 0 ?v0!1)) @x68 (= 0 ?v1!0)))) (mp (trans @x70 @x67 (= 0 1)) (rewrite (= (= 0 1) false)) false)))))))))))))))) -a1990b1f2b40273080891d8099cbf8be7a3bff08 55 0 +c6ae686b0a4faf5664648d4de310ae4c5a1de7ec 55 0 unsat ((set-logic AUFLIA) (proof (let (($x35 (exists ((?v0 Int) )(! (forall ((?v1 Int) )(! (let (($x31 (<= 0 ?v1))) (let (($x30 (< ?v1 0))) (let (($x32 (or $x30 $x31))) (let (($x29 (< ?v0 ?v1))) (=> $x29 $x32))))) :qid k!4)) :qid k!4)) )) (let (($x36 (not $x35))) (let (($x45 (exists ((?v0 Int) )(! (forall ((?v1 Int) )(! (let (($x31 (<= 0 ?v1))) (let (($x30 (< ?v1 0))) (let (($x32 (or $x30 $x31))) (let (($x29 (< ?v0 ?v1))) (let (($x38 (not $x29))) (or $x38 $x32)))))) :qid k!4)) :qid k!4)) )) (let (($x48 (not $x45))) (let (($x88 (exists ((?v0 Int) )(! true :qid k!4)) )) (let (($x42 (forall ((?v1 Int) )(! (let (($x31 (<= 0 ?v1))) (let (($x30 (< ?v1 0))) (let (($x32 (or $x30 $x31))) (let (($x29 (< ?0 ?v1))) (let (($x38 (not $x29))) (or $x38 $x32)))))) :qid k!4)) )) (let (($x81 (forall ((?v1 Int) )(! true :qid k!4)) )) (let (($x31 (<= 0 ?0))) (let (($x30 (< ?0 0))) (let (($x32 (or $x30 $x31))) (let (($x29 (< ?1 ?0))) (let (($x38 (not $x29))) (let (($x39 (or $x38 $x32))) (let (($x60 (<= (+ ?0 (* (- 1) ?1)) 0))) (let ((@x78 (rewrite (= (or $x60 (or (not (>= ?0 0)) (>= ?0 0))) true)))) (let ((@x73 (monotonicity (rewrite (= $x30 (not (>= ?0 0)))) (rewrite (= $x31 (>= ?0 0))) (= $x32 (or (not (>= ?0 0)) (>= ?0 0)))))) (let ((@x66 (monotonicity (rewrite (= $x29 (not $x60))) (= $x38 (not (not $x60)))))) (let ((@x76 (monotonicity (trans @x66 (rewrite (= (not (not $x60)) $x60)) (= $x38 $x60)) @x73 (= $x39 (or $x60 (or (not (>= ?0 0)) (>= ?0 0))))))) (let ((@x87 (trans (quant-intro (trans @x76 @x78 (= $x39 true)) (= $x42 $x81)) (elim-unused (= $x81 true)) (= $x42 true)))) (let ((@x94 (trans (quant-intro @x87 (= $x45 $x88)) (elim-unused (= $x88 true)) (= $x45 true)))) (let ((@x101 (trans (monotonicity @x94 (= $x48 (not true))) (rewrite (= (not true) false)) (= $x48 false)))) (let (($x34 (forall ((?v1 Int) )(! (let (($x31 (<= 0 ?v1))) (let (($x30 (< ?v1 0))) (let (($x32 (or $x30 $x31))) (let (($x29 (< ?0 ?v1))) (=> $x29 $x32))))) :qid k!4)) )) (let ((@x47 (quant-intro (quant-intro (rewrite (= (=> $x29 $x32) $x39)) (= $x34 $x42)) (= $x35 $x45)))) (let ((@x50 (monotonicity @x47 (= $x36 $x48)))) (mp (asserted $x36) (trans @x50 @x101 (= $x36 false)) false))))))))))))))))))))))))))) -714d9704b498d8f69a61aec61e9ab9fbb7c490e0 42 0 +326e4de3d7358a1ce81c3b38c63746b57dca63fa 42 0 unsat ((set-logic AUFLIA) (proof (let (($x37 (forall ((?v0 Int) (?v1 Int) )(! (let ((?x34 (* 2 ?v1))) (let ((?x31 (* 2 ?v0))) (let ((?x33 (+ ?x31 1))) (let (($x35 (< ?x33 ?x34))) (let (($x29 (< ?v0 ?v1))) (=> $x29 $x35)))))) :qid k!4)) )) (let (($x38 (not $x37))) (let (($x55 (forall ((?v0 Int) (?v1 Int) )(! (let ((?x34 (* 2 ?v1))) (let ((?x31 (* 2 ?v0))) (let ((?x40 (+ 1 ?x31))) (let (($x43 (< ?x40 ?x34))) (let (($x29 (< ?v0 ?v1))) (let (($x49 (not $x29))) (or $x49 $x43))))))) :qid k!4)) )) (let (($x58 (not $x55))) (let (($x84 (forall ((?v0 Int) (?v1 Int) )(! true :qid k!4)) )) (let ((?x34 (* 2 ?0))) (let ((?x31 (* 2 ?1))) (let ((?x40 (+ 1 ?x31))) (let (($x43 (< ?x40 ?x34))) (let (($x29 (< ?1 ?0))) (let (($x49 (not $x29))) (let (($x50 (or $x49 $x43))) (let (($x63 (>= (+ ?1 (* (- 1) ?0)) 0))) (let (($x62 (not $x63))) (let ((@x74 (trans (monotonicity (rewrite (= $x29 $x62)) (= $x49 (not $x62))) (rewrite (= (not $x62) $x63)) (= $x49 $x63)))) (let ((@x79 (monotonicity @x74 (rewrite (= $x43 $x62)) (= $x50 (or $x63 $x62))))) (let ((@x86 (quant-intro (trans @x79 (rewrite (= (or $x63 $x62) true)) (= $x50 true)) (= $x55 $x84)))) (let ((@x93 (monotonicity (trans @x86 (elim-unused (= $x84 true)) (= $x55 true)) (= $x58 (not true))))) (let ((@x97 (trans @x93 (rewrite (= (not true) false)) (= $x58 false)))) (let ((@x45 (monotonicity (rewrite (= (+ ?x31 1) ?x40)) (= (< (+ ?x31 1) ?x34) $x43)))) (let ((@x48 (monotonicity @x45 (= (=> $x29 (< (+ ?x31 1) ?x34)) (=> $x29 $x43))))) (let ((@x54 (trans @x48 (rewrite (= (=> $x29 $x43) $x50)) (= (=> $x29 (< (+ ?x31 1) ?x34)) $x50)))) (let ((@x60 (monotonicity (quant-intro @x54 (= $x37 $x55)) (= $x38 $x58)))) (mp (asserted $x38) (trans @x60 @x97 (= $x38 false)) false)))))))))))))))))))))))))) -e41ae3e6173a8a45d2e1293e87000046d27321f4 32 0 +8948c34be010e83eefa29947fdeb482617c77a6d 32 0 unsat ((set-logic AUFLIA) (proof (let (($x36 (forall ((?v0 Int) (?v1 Int) )(! (let ((?x33 (* 2 ?v1))) (let ((?x30 (* 2 ?v0))) (let ((?x32 (+ ?x30 1))) (let (($x34 (= ?x32 ?x33))) (not $x34))))) :qid k!4)) )) (let (($x37 (not $x36))) (let (($x48 (forall ((?v0 Int) (?v1 Int) )(! (let ((?x33 (* 2 ?v1))) (let ((?x30 (* 2 ?v0))) (let ((?x39 (+ 1 ?x30))) (let (($x42 (= ?x39 ?x33))) (not $x42))))) :qid k!4)) )) (let (($x51 (not $x48))) (let (($x63 (forall ((?v0 Int) (?v1 Int) )(! true :qid k!4)) )) (let ((?x33 (* 2 ?0))) (let ((?x30 (* 2 ?1))) (let ((?x39 (+ 1 ?x30))) (let (($x42 (= ?x39 ?x33))) (let (($x45 (not $x42))) (let ((@x62 (trans (monotonicity (rewrite (= $x42 false)) (= $x45 (not false))) (rewrite (= (not false) true)) (= $x45 true)))) (let ((@x69 (trans (quant-intro @x62 (= $x48 $x63)) (elim-unused (= $x63 true)) (= $x48 true)))) (let ((@x76 (trans (monotonicity @x69 (= $x51 (not true))) (rewrite (= (not true) false)) (= $x51 false)))) (let ((@x44 (monotonicity (rewrite (= (+ ?x30 1) ?x39)) (= (= (+ ?x30 1) ?x33) $x42)))) (let ((@x50 (quant-intro (monotonicity @x44 (= (not (= (+ ?x30 1) ?x33)) $x45)) (= $x36 $x48)))) (let ((@x53 (monotonicity @x50 (= $x37 $x51)))) (mp (asserted $x37) (trans @x53 @x76 (= $x37 false)) false))))))))))))))))))) -349db302a77644aba10e708ffed825b615312604 43 0 +933b139b2a650c91137f9f7c9b004c8f0d9521d1 43 0 unsat ((set-logic AUFLIA) (declare-fun ?v0!1 () Int) (declare-fun ?v1!0 () Int) (proof (let ((?x78 (+ ?v1!0 ?v0!1))) (let (($x90 (>= ?x78 2))) (let (($x93 (not $x90))) (let (($x87 (= ?x78 2))) (let (($x81 (<= ?x78 2))) (let (($x84 (not $x81))) (let (($x73 (or (not (<= (+ ?v0!1 ?v1!0) 2)) (= (+ ?v0!1 ?v1!0) 2) (not (>= (+ ?v0!1 ?v1!0) 2))))) (let (($x74 (not $x73))) (let ((@x80 (rewrite (= (+ ?v0!1 ?v1!0) ?x78)))) (let ((@x95 (monotonicity (monotonicity @x80 (= (>= (+ ?v0!1 ?v1!0) 2) $x90)) (= (not (>= (+ ?v0!1 ?v1!0) 2)) $x93)))) (let ((@x86 (monotonicity (monotonicity @x80 (= (<= (+ ?v0!1 ?v1!0) 2) $x81)) (= (not (<= (+ ?v0!1 ?v1!0) 2)) $x84)))) (let ((@x98 (monotonicity @x86 (monotonicity @x80 (= (= (+ ?v0!1 ?v1!0) 2) $x87)) @x95 (= $x73 (or $x84 $x87 $x93))))) (let (($x60 (forall ((?v0 Int) (?v1 Int) )(! (let (($x41 (not (>= (+ ?v0 ?v1) 2)))) (let ((?x30 (+ ?v0 ?v1))) (let (($x32 (= ?x30 2))) (let (($x46 (not (<= ?x30 2)))) (or $x46 $x32 $x41))))) :qid k!4)) )) (let (($x63 (not $x60))) (let (($x36 (forall ((?v0 Int) (?v1 Int) )(! (or (< 2 (+ ?v0 ?v1)) (or (= (+ ?v0 ?v1) 2) (< (+ ?v0 ?v1) 2))) :qid k!4)) )) (let (($x37 (not $x36))) (let (($x41 (not (>= (+ ?1 ?0) 2)))) (let ((?x30 (+ ?1 ?0))) (let (($x32 (= ?x30 2))) (let (($x46 (not (<= ?x30 2)))) (let (($x55 (or $x46 $x32 $x41))) (let (($x35 (or (< 2 ?x30) (or $x32 (< ?x30 2))))) (let ((@x51 (monotonicity (rewrite (= (< ?x30 2) $x41)) (= (or $x32 (< ?x30 2)) (or $x32 $x41))))) (let ((@x54 (monotonicity (rewrite (= (< 2 ?x30) $x46)) @x51 (= $x35 (or $x46 (or $x32 $x41)))))) (let ((@x59 (trans @x54 (rewrite (= (or $x46 (or $x32 $x41)) $x55)) (= $x35 $x55)))) (let ((@x66 (mp (asserted $x37) (monotonicity (quant-intro @x59 (= $x36 $x60)) (= $x37 $x63)) $x63))) (let ((@x102 (mp (mp~ @x66 (sk (~ $x63 $x74)) $x74) (monotonicity @x98 (= $x74 (not (or $x84 $x87 $x93)))) (not (or $x84 $x87 $x93))))) (let ((@x105 (not-or-elim @x102 (not $x87)))) (let ((@x106 (not-or-elim @x102 $x90))) (let ((@x103 (not-or-elim @x102 $x81))) (unit-resolution (unit-resolution ((_ th-lemma arith triangle-eq) (or $x87 $x84 $x93)) @x103 (or $x87 $x93)) @x106 @x105 false))))))))))))))))))))))))))))))))) -b9376e0ba9a01161166fc671c9275872a16f237f 46 0 +b488c2ec223d613631144f2dcdf7e5867fbbb258 46 0 unsat ((set-logic AUFLIA) (declare-fun ?v0!0 () Int) (proof (let (($x86 (<= ?v0!0 (- 1)))) (let (($x87 (not $x86))) (let (($x84 (>= ?v0!0 1))) (let (($x83 (<= ?v0!0 0))) (let (($x93 (not $x83))) (let (($x85 (not $x84))) (let (($x88 (ite $x83 $x85 $x87))) (let (($x89 (not $x88))) (let (($x73 (forall ((?v0 Int) )(! (let (($x58 (not (<= ?v0 (- 1))))) (let (($x61 (not (>= ?v0 1)))) (ite (<= ?v0 0) $x61 $x58))) :qid k!4)) )) (let (($x76 (not $x73))) (let (($x34 (forall ((?v0 Int) )(! (let (($x32 (< ?v0 1))) (let (($x28 (< 0 ?v0))) (ite $x28 (< 0 (+ ?v0 1)) $x32))) :qid k!4)) )) (let (($x35 (not $x34))) (let (($x46 (forall ((?v0 Int) )(! (let (($x32 (< ?v0 1))) (let (($x40 (< 0 (+ 1 ?v0)))) (let (($x28 (< 0 ?v0))) (ite $x28 $x40 $x32)))) :qid k!4)) )) (let (($x58 (not (<= ?0 (- 1))))) (let (($x61 (not (>= ?0 1)))) (let (($x68 (ite (<= ?0 0) $x61 $x58))) (let (($x32 (< ?0 1))) (let (($x40 (< 0 (+ 1 ?0)))) (let (($x28 (< 0 ?0))) (let (($x43 (ite $x28 $x40 $x32))) (let ((@x67 (monotonicity (rewrite (= $x28 (not (<= ?0 0)))) (rewrite (= $x40 $x58)) (rewrite (= $x32 $x61)) (= $x43 (ite (not (<= ?0 0)) $x58 $x61))))) (let ((@x72 (trans @x67 (rewrite (= (ite (not (<= ?0 0)) $x58 $x61) $x68)) (= $x43 $x68)))) (let ((@x78 (monotonicity (quant-intro @x72 (= $x46 $x73)) (= (not $x46) $x76)))) (let ((@x42 (monotonicity (rewrite (= (+ ?0 1) (+ 1 ?0))) (= (< 0 (+ ?0 1)) $x40)))) (let ((@x45 (monotonicity @x42 (= (ite $x28 (< 0 (+ ?0 1)) $x32) $x43)))) (let ((@x51 (monotonicity (quant-intro @x45 (= $x34 $x46)) (= $x35 (not $x46))))) (let ((@x92 (mp~ (mp (asserted $x35) (trans @x51 @x78 (= $x35 $x76)) $x76) (sk (~ $x76 $x89)) $x89))) (let ((@x105 (unit-resolution (unit-resolution (def-axiom (or $x88 $x93 $x84)) @x92 (or $x93 $x84)) (hypothesis $x85) $x93))) (let ((@x108 (unit-resolution ((_ th-lemma arith farkas 1 1) (or $x83 $x84)) @x105 (hypothesis $x85) false))) (let ((@x109 (lemma @x108 $x84))) (unit-resolution (unit-resolution (def-axiom (or $x88 $x83 $x86)) @x92 (or $x83 $x86)) (unit-resolution ((_ th-lemma arith farkas 1 1) (or $x93 $x85)) @x109 $x93) (unit-resolution ((_ th-lemma arith farkas 1 1) (or $x87 $x85)) @x109 $x87) false))))))))))))))))))))))))))))))))) -71f3749978d74887262db57fc45e685f1b58a1fe 31 0 +da417520952f17eeef46bee85072a2ecad83fc46 31 0 unsat ((set-logic AUFLIA) (proof (let (($x56 (forall ((?v0 Int) )(! (let (($x50 (not (<= ?v0 0)))) (let (($x45 (not (>= ?v0 0)))) (or $x45 $x50))) :qid k!4)) )) (let (($x458 (not $x56))) (let (($x153 (<= 0 0))) (let (($x68 (not $x153))) (let (($x158 (>= 0 0))) (let (($x143 (not $x158))) (let (($x154 (or $x143 $x68))) (let (($x119 (or $x458 $x154))) (let ((@x137 (trans (monotonicity (rewrite (= $x153 true)) (= $x68 (not true))) (rewrite (= (not true) false)) (= $x68 false)))) (let ((@x261 (trans (monotonicity (rewrite (= $x158 true)) (= $x143 (not true))) (rewrite (= (not true) false)) (= $x143 false)))) (let ((@x116 (trans (monotonicity @x261 @x137 (= $x154 (or false false))) (rewrite (= (or false false) false)) (= $x154 false)))) (let ((@x463 (trans (monotonicity @x116 (= $x119 (or $x458 false))) (rewrite (= (or $x458 false) $x458)) (= $x119 $x458)))) (let ((@x464 (mp ((_ quant-inst 0) $x119) @x463 $x458))) (let (($x50 (not (<= ?0 0)))) (let (($x45 (not (>= ?0 0)))) (let (($x53 (or $x45 $x50))) (let (($x31 (forall ((?v0 Int) )(! (or (< ?v0 0) (< 0 ?v0)) :qid k!4)) )) (let (($x33 (not (ite $x31 false true)))) (let ((@x55 (monotonicity (rewrite (= (< ?0 0) $x45)) (rewrite (= (< 0 ?0) $x50)) (= (or (< ?0 0) (< 0 ?0)) $x53)))) (let ((@x40 (monotonicity (rewrite (= (ite $x31 false true) (not $x31))) (= $x33 (not (not $x31)))))) (let ((@x60 (trans (trans @x40 (rewrite (= (not (not $x31)) $x31)) (= $x33 $x31)) (quant-intro @x55 (= $x31 $x56)) (= $x33 $x56)))) (let ((@x66 (mp~ (mp (asserted $x33) @x60 $x56) (nnf-pos (refl (~ $x53 $x53)) (~ $x56 $x56)) $x56))) (unit-resolution @x66 @x464 false))))))))))))))))))))))))) -416c05cb2acf4da101c1b31aeeea71fb83ecd69a 62 0 +623edcfe9613936b08dbdc0269a0746af35c83aa 62 0 unsat ((set-logic AUFLIA) (declare-fun ?v0!1 () Int) (declare-fun z3name!0 () Bool) (proof (let ((?x96 (ite z3name!0 (- 1) 3))) (let (($x99 (<= ?x96 0))) (let (($x62 (forall ((?v0 Int) )(! (let (($x56 (not (<= ?v0 0)))) (let (($x51 (not (>= ?v0 0)))) (or $x51 $x56))) :qid k!4)) )) (let ((?x65 (ite $x62 (- 1) 3))) (let (($x71 (<= ?x65 0))) (let ((@x93 (intro-def (and (or (not z3name!0) $x62) (or z3name!0 (not $x62)))))) (let ((@x101 (monotonicity (monotonicity (apply-def @x93 (~ $x62 z3name!0)) (= ?x65 ?x96)) (= $x71 $x99)))) (let (($x31 (forall ((?v0 Int) )(! (or (< ?v0 0) (< 0 ?v0)) :qid k!4)) )) (let (($x37 (not (< 0 (ite $x31 (- 1) 3))))) (let (($x56 (not (<= ?0 0)))) (let (($x51 (not (>= ?0 0)))) (let (($x59 (or $x51 $x56))) (let ((@x61 (monotonicity (rewrite (= (< ?0 0) $x51)) (rewrite (= (< 0 ?0) $x56)) (= (or (< ?0 0) (< 0 ?0)) $x59)))) (let ((@x67 (monotonicity (quant-intro @x61 (= $x31 $x62)) (= (ite $x31 (- 1) 3) ?x65)))) (let ((@x70 (monotonicity @x67 (= (< 0 (ite $x31 (- 1) 3)) (< 0 ?x65))))) (let ((@x76 (trans @x70 (rewrite (= (< 0 ?x65) (not $x71))) (= (< 0 (ite $x31 (- 1) 3)) (not $x71))))) (let ((@x79 (monotonicity @x76 (= (not (< 0 (ite $x31 (- 1) 3))) (not (not $x71)))))) (let ((@x83 (trans @x79 (rewrite (= (not (not $x71)) $x71)) (= (not (< 0 (ite $x31 (- 1) 3))) $x71)))) (let ((?x42 (ite $x31 (- 1) 3))) (let (($x45 (< 0 ?x42))) (let ((@x44 (monotonicity (rewrite (= (- 1) (- 1))) (= (ite $x31 (- 1) 3) ?x42)))) (let ((@x50 (monotonicity (monotonicity @x44 (= (< 0 (ite $x31 (- 1) 3)) $x45)) (= $x37 (not $x45))))) (let ((@x128 (mp (mp (asserted $x37) (trans @x50 @x83 (= $x37 $x71)) $x71) @x101 $x99))) (let ((@x245 (unit-resolution ((_ th-lemma arith farkas 1 1) (or (not (>= ?x96 3)) (not $x99))) @x128 (not (>= ?x96 3))))) (let (($x220 (= ?x96 3))) (let (($x88 (not z3name!0))) (let (($x90 (not $x62))) (let (($x323 (<= 0 0))) (let (($x533 (not $x323))) (let (($x542 (>= 0 0))) (let (($x179 (not $x542))) (let (($x206 (or $x179 $x533))) (let (($x529 (or $x90 $x206))) (let ((@x527 (trans (monotonicity (rewrite (= $x323 true)) (= $x533 (not true))) (rewrite (= (not true) false)) (= $x533 false)))) (let ((@x200 (trans (monotonicity (rewrite (= $x542 true)) (= $x179 (not true))) (rewrite (= (not true) false)) (= $x179 false)))) (let ((@x528 (trans (monotonicity @x200 @x527 (= $x206 (or false false))) (rewrite (= (or false false) false)) (= $x206 false)))) (let ((@x237 (trans (monotonicity @x528 (= $x529 (or $x90 false))) (rewrite (= (or $x90 false) $x90)) (= $x529 $x90)))) (let ((@x238 (mp ((_ quant-inst 0) $x529) @x237 $x90))) (let (($x89 (or $x88 $x62))) (let (($x115 (<= ?v0!1 0))) (let (($x116 (not $x115))) (let (($x113 (>= ?v0!1 0))) (let (($x114 (not $x113))) (let (($x117 (or $x114 $x116))) (let (($x118 (not $x117))) (let (($x121 (or z3name!0 $x118))) (let ((@x123 (monotonicity (refl (~ z3name!0 z3name!0)) (sk (~ $x90 $x118)) (~ (or z3name!0 $x90) $x121)))) (let ((@x109 (monotonicity (refl (~ $x88 $x88)) (nnf-pos (refl (~ $x59 $x59)) (~ $x62 $x62)) (~ $x89 $x89)))) (let ((@x126 (monotonicity @x109 @x123 (~ (and $x89 (or z3name!0 $x90)) (and $x89 $x121))))) (let ((@x131 (and-elim (mp~ @x93 @x126 (and $x89 $x121)) $x89))) (let ((@x515 (unit-resolution (def-axiom (or z3name!0 $x220)) (unit-resolution @x131 @x238 $x88) $x220))) (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x220) (>= ?x96 3))) @x515 @x245 false)))))))))))))))))))))))))))))))))))))))))))))))))))))) -742e196ba0cf000357e0842d69c2a9fdddbb46b5 39 0 +42b10c0c66daf8181b08c93c22f4ecaa3220e964 39 0 unsat ((set-logic AUFLIA) (proof (let (($x38 (exists ((?v0 Int) (?v1 Int) (?v2 Int) )(! (let ((?x33 (- 6))) (let ((?x34 (* ?x33 ?v1))) (let ((?x31 (* 4 ?v0))) (let ((?x35 (+ ?x31 ?x34))) (= ?x35 1))))) :qid k!4)) )) (let (($x29 (not $x38))) (let (($x39 (not $x29))) (let (($x61 (exists ((?v0 Int) (?v1 Int) )(! (let ((?x58 (* (- 6) ?v1))) (let ((?x57 (* 4 ?v0))) (let ((?x59 (+ ?x57 ?x58))) (= ?x59 1)))) :qid k!4)) )) (let (($x77 (exists ((?v0 Int) (?v1 Int) )(! false :qid k!4)) )) (let ((@x81 (quant-intro (rewrite (= (= (+ (* 4 ?1) (* (- 6) ?0)) 1) false)) (= $x61 $x77)))) (let ((@x85 (trans @x81 (elim-unused (= $x77 false)) (= $x61 false)))) (let (($x53 (exists ((?v0 Int) (?v1 Int) (?v2 Int) )(! (let ((?x44 (* (- 6) ?v1))) (let ((?x31 (* 4 ?v0))) (let ((?x47 (+ ?x31 ?x44))) (= ?x47 1)))) :qid k!4)) )) (let ((?x44 (* (- 6) ?1))) (let ((?x31 (* 4 ?2))) (let ((?x47 (+ ?x31 ?x44))) (let (($x50 (= ?x47 1))) (let ((?x33 (- 6))) (let ((?x34 (* ?x33 ?1))) (let ((?x35 (+ ?x31 ?x34))) (let (($x37 (= ?x35 1))) (let ((@x49 (monotonicity (monotonicity (rewrite (= ?x33 (- 6))) (= ?x34 ?x44)) (= ?x35 ?x47)))) (let ((@x65 (trans (quant-intro (monotonicity @x49 (= $x37 $x50)) (= $x38 $x53)) (elim-unused (= $x53 $x61)) (= $x38 $x61)))) (let ((@x71 (monotonicity (monotonicity @x65 (= $x29 (not $x61))) (= $x39 (not (not $x61)))))) (let ((@x75 (trans @x71 (rewrite (= (not (not $x61)) $x61)) (= $x39 $x61)))) (mp (asserted $x39) (trans @x75 @x85 (= $x39 false)) false))))))))))))))))))))))) -d772bd969a6ce5898850d584bb29d59c8304fae6 45 0 -unsat -((set-logic AUFLIRA) -(declare-fun ?v1!1 () Int) -(declare-fun ?v2!0 () Real) -(proof -(let (($x105 (<= ?v1!1 (- 1)))) -(let (($x107 (or (not (and (not (<= ?v1!1 0)) (not (<= ?v2!0 0.0)))) (not $x105)))) -(let (($x88 (forall ((?v1 Int) (?v2 Real) )(! (or (not (and (not (<= ?v1 0)) (not (<= ?v2 0.0)))) (not (<= ?v1 (- 1)))) :qid k!4)) -)) -(let (($x91 (not $x88))) -(let (($x37 (exists ((?v0 Int) )(! (forall ((?v1 Int) (?v2 Real) )(! (let (($x31 (and (< 0 ?v1) (< 0.0 ?v2)))) -(=> $x31 (< (- 1) ?v1))) :qid k!4)) - :qid k!4)) -)) -(let (($x27 (not $x37))) -(let (($x54 (forall ((?v1 Int) (?v2 Real) )(! (let (($x42 (< (- 1) ?v1))) -(or (not (and (< 0 ?v1) (< 0.0 ?v2))) $x42)) :qid k!4)) -)) -(let (($x85 (or (not (and (not (<= ?1 0)) (not (<= ?0 0.0)))) (not (<= ?1 (- 1)))))) -(let (($x42 (< (- 1) ?1))) -(let (($x49 (or (not (and (< 0 ?1) (< 0.0 ?0))) $x42))) -(let (($x79 (= (not (and (< 0 ?1) (< 0.0 ?0))) (not (and (not (<= ?1 0)) (not (<= ?0 0.0))))))) -(let (($x31 (and (< 0 ?1) (< 0.0 ?0)))) -(let ((@x77 (monotonicity (rewrite (= (< 0 ?1) (not (<= ?1 0)))) (rewrite (= (< 0.0 ?0) (not (<= ?0 0.0)))) (= $x31 (and (not (<= ?1 0)) (not (<= ?0 0.0))))))) -(let ((@x87 (monotonicity (monotonicity @x77 $x79) (rewrite (= $x42 (not (<= ?1 (- 1))))) (= $x49 $x85)))) -(let ((@x93 (monotonicity (quant-intro @x87 (= $x54 $x88)) (= (not $x54) $x91)))) -(let (($x57 (exists ((?v0 Int) )(! (forall ((?v1 Int) (?v2 Real) )(! (let (($x42 (< (- 1) ?v1))) -(or (not (and (< 0 ?v1) (< 0.0 ?v2))) $x42)) :qid k!4)) - :qid k!4)) -)) -(let (($x36 (forall ((?v1 Int) (?v2 Real) )(! (let (($x31 (and (< 0 ?v1) (< 0.0 ?v2)))) -(=> $x31 (< (- 1) ?v1))) :qid k!4)) -)) -(let ((@x44 (monotonicity (rewrite (= (- 1) (- 1))) (= (< (- 1) ?1) $x42)))) -(let ((@x47 (monotonicity @x44 (= (=> $x31 (< (- 1) ?1)) (=> $x31 $x42))))) -(let ((@x53 (trans @x47 (rewrite (= (=> $x31 $x42) $x49)) (= (=> $x31 (< (- 1) ?1)) $x49)))) -(let ((@x63 (trans (quant-intro (quant-intro @x53 (= $x36 $x54)) (= $x37 $x57)) (elim-unused (= $x57 $x54)) (= $x37 $x54)))) -(let ((@x95 (trans (monotonicity @x63 (= $x27 (not $x54))) @x93 (= $x27 $x91)))) -(let ((@x111 (mp~ (mp (asserted $x27) @x95 $x91) (sk (~ $x91 (not $x107))) (not $x107)))) -(let ((@x117 (not-or-elim @x111 $x105))) -(let (($x99 (<= ?v1!1 0))) -(let (($x100 (not $x99))) -(let ((@x115 (and-elim (not-or-elim @x111 (and $x100 (not (<= ?v2!0 0.0)))) $x100))) -(unit-resolution ((_ th-lemma arith farkas 1 1) (or (not $x105) $x99)) @x115 @x117 false)))))))))))))))))))))))))))))) - -aa1f4d1a333204b725ef94e682d891f7a12a55b7 52 0 +a32c06c0a3798bb49bc988f268a9de26ca0e273b 52 0 unsat ((set-logic AUFLIA) (declare-fun ?v1!1 () Int) (declare-fun ?v2!0 () Int) (proof (let ((?x105 (+ ?v2!0 ?v1!1))) (let (($x106 (<= ?x105 0))) (let (($x108 (or (not (and (not (<= ?v1!1 0)) (not (<= ?v2!0 0)))) (not $x106)))) (let (($x88 (forall ((?v1 Int) (?v2 Int) )(! (or (not (and (not (<= ?v1 0)) (not (<= ?v2 0)))) (not (<= (+ ?v2 ?v1) 0))) :qid k!4)) )) (let (($x91 (not $x88))) (let (($x36 (exists ((?v0 Int) )(! (forall ((?v1 Int) (?v2 Int) )(! (let (($x31 (and (< 0 ?v1) (< 0 ?v2)))) (=> $x31 (< 0 (+ ?v1 ?v2)))) :qid k!4)) :qid k!4)) )) (let (($x37 (not $x36))) (let (($x54 (forall ((?v1 Int) (?v2 Int) )(! (let ((?x39 (+ ?v2 ?v1))) (let (($x42 (< 0 ?x39))) (or (not (and (< 0 ?v1) (< 0 ?v2))) $x42))) :qid k!4)) )) (let (($x85 (or (not (and (not (<= ?1 0)) (not (<= ?0 0)))) (not (<= (+ ?0 ?1) 0))))) (let ((?x39 (+ ?0 ?1))) (let (($x42 (< 0 ?x39))) (let (($x49 (or (not (and (< 0 ?1) (< 0 ?0))) $x42))) (let (($x79 (= (not (and (< 0 ?1) (< 0 ?0))) (not (and (not (<= ?1 0)) (not (<= ?0 0))))))) (let (($x31 (and (< 0 ?1) (< 0 ?0)))) (let ((@x77 (monotonicity (rewrite (= (< 0 ?1) (not (<= ?1 0)))) (rewrite (= (< 0 ?0) (not (<= ?0 0)))) (= $x31 (and (not (<= ?1 0)) (not (<= ?0 0))))))) (let ((@x87 (monotonicity (monotonicity @x77 $x79) (rewrite (= $x42 (not (<= ?x39 0)))) (= $x49 $x85)))) (let ((@x93 (monotonicity (quant-intro @x87 (= $x54 $x88)) (= (not $x54) $x91)))) (let (($x57 (exists ((?v0 Int) )(! (forall ((?v1 Int) (?v2 Int) )(! (let ((?x39 (+ ?v2 ?v1))) (let (($x42 (< 0 ?x39))) (or (not (and (< 0 ?v1) (< 0 ?v2))) $x42))) :qid k!4)) :qid k!4)) )) (let (($x35 (forall ((?v1 Int) (?v2 Int) )(! (let (($x31 (and (< 0 ?v1) (< 0 ?v2)))) (=> $x31 (< 0 (+ ?v1 ?v2)))) :qid k!4)) )) (let ((@x44 (monotonicity (rewrite (= (+ ?1 ?0) ?x39)) (= (< 0 (+ ?1 ?0)) $x42)))) (let ((@x47 (monotonicity @x44 (= (=> $x31 (< 0 (+ ?1 ?0))) (=> $x31 $x42))))) (let ((@x53 (trans @x47 (rewrite (= (=> $x31 $x42) $x49)) (= (=> $x31 (< 0 (+ ?1 ?0))) $x49)))) (let ((@x63 (trans (quant-intro (quant-intro @x53 (= $x35 $x54)) (= $x36 $x57)) (elim-unused (= $x57 $x54)) (= $x36 $x54)))) (let ((@x95 (trans (monotonicity @x63 (= $x37 (not $x54))) @x93 (= $x37 $x91)))) (let ((@x112 (mp~ (mp (asserted $x37) @x95 $x91) (sk (~ $x91 (not $x108))) (not $x108)))) (let ((@x118 (not-or-elim @x112 $x106))) (let (($x99 (<= ?v1!1 0))) (let (($x100 (not $x99))) (let ((@x116 (and-elim (not-or-elim @x112 (and $x100 (not (<= ?v2!0 0)))) $x100))) (let (($x101 (<= ?v2!0 0))) (let (($x102 (not $x101))) (let ((@x117 (and-elim (not-or-elim @x112 (and $x100 $x102)) $x102))) ((_ th-lemma arith farkas 1 1 1) @x117 @x116 @x118 false))))))))))))))))))))))))))))))))))) -658167ac53fd7dc613987fbbc3cae6d25535a8f0 110 0 +dd6dcae1cf0d709ea38f21e7928a94234cce9953 45 0 +unsat +((set-logic AUFLIRA) +(declare-fun ?v1!1 () Int) +(declare-fun ?v2!0 () Real) +(proof +(let (($x105 (<= ?v1!1 (- 1)))) +(let (($x107 (or (not (and (not (<= ?v1!1 0)) (not (<= ?v2!0 0.0)))) (not $x105)))) +(let (($x88 (forall ((?v1 Int) (?v2 Real) )(! (or (not (and (not (<= ?v1 0)) (not (<= ?v2 0.0)))) (not (<= ?v1 (- 1)))) :qid k!4)) +)) +(let (($x91 (not $x88))) +(let (($x37 (exists ((?v0 Int) )(! (forall ((?v1 Int) (?v2 Real) )(! (let (($x31 (and (< 0 ?v1) (< 0.0 ?v2)))) +(=> $x31 (< (- 1) ?v1))) :qid k!4)) + :qid k!4)) +)) +(let (($x27 (not $x37))) +(let (($x54 (forall ((?v1 Int) (?v2 Real) )(! (let (($x42 (< (- 1) ?v1))) +(or (not (and (< 0 ?v1) (< 0.0 ?v2))) $x42)) :qid k!4)) +)) +(let (($x85 (or (not (and (not (<= ?1 0)) (not (<= ?0 0.0)))) (not (<= ?1 (- 1)))))) +(let (($x42 (< (- 1) ?1))) +(let (($x49 (or (not (and (< 0 ?1) (< 0.0 ?0))) $x42))) +(let (($x79 (= (not (and (< 0 ?1) (< 0.0 ?0))) (not (and (not (<= ?1 0)) (not (<= ?0 0.0))))))) +(let (($x31 (and (< 0 ?1) (< 0.0 ?0)))) +(let ((@x77 (monotonicity (rewrite (= (< 0 ?1) (not (<= ?1 0)))) (rewrite (= (< 0.0 ?0) (not (<= ?0 0.0)))) (= $x31 (and (not (<= ?1 0)) (not (<= ?0 0.0))))))) +(let ((@x87 (monotonicity (monotonicity @x77 $x79) (rewrite (= $x42 (not (<= ?1 (- 1))))) (= $x49 $x85)))) +(let ((@x93 (monotonicity (quant-intro @x87 (= $x54 $x88)) (= (not $x54) $x91)))) +(let (($x57 (exists ((?v0 Int) )(! (forall ((?v1 Int) (?v2 Real) )(! (let (($x42 (< (- 1) ?v1))) +(or (not (and (< 0 ?v1) (< 0.0 ?v2))) $x42)) :qid k!4)) + :qid k!4)) +)) +(let (($x36 (forall ((?v1 Int) (?v2 Real) )(! (let (($x31 (and (< 0 ?v1) (< 0.0 ?v2)))) +(=> $x31 (< (- 1) ?v1))) :qid k!4)) +)) +(let ((@x44 (monotonicity (rewrite (= (- 1) (- 1))) (= (< (- 1) ?1) $x42)))) +(let ((@x47 (monotonicity @x44 (= (=> $x31 (< (- 1) ?1)) (=> $x31 $x42))))) +(let ((@x53 (trans @x47 (rewrite (= (=> $x31 $x42) $x49)) (= (=> $x31 (< (- 1) ?1)) $x49)))) +(let ((@x63 (trans (quant-intro (quant-intro @x53 (= $x36 $x54)) (= $x37 $x57)) (elim-unused (= $x57 $x54)) (= $x37 $x54)))) +(let ((@x95 (trans (monotonicity @x63 (= $x27 (not $x54))) @x93 (= $x27 $x91)))) +(let ((@x111 (mp~ (mp (asserted $x27) @x95 $x91) (sk (~ $x91 (not $x107))) (not $x107)))) +(let ((@x117 (not-or-elim @x111 $x105))) +(let (($x99 (<= ?v1!1 0))) +(let (($x100 (not $x99))) +(let ((@x115 (and-elim (not-or-elim @x111 (and $x100 (not (<= ?v2!0 0.0)))) $x100))) +(unit-resolution ((_ th-lemma arith farkas 1 1) (or (not $x105) $x99)) @x115 @x117 false)))))))))))))))))))))))))))))) + +3eba422177cb1a37290b37910c836f326aae81a7 110 0 unsat ((set-logic AUFLIA) (proof (let (($x152 (forall ((?v0 Int) )(! (let (($x68 (<= ?v0 0))) (let (($x69 (not $x68))) (let (($x143 (not false))) (let (($x146 (or $x143 $x69))) (not $x146))))) :qid k!4)) )) (let (($x174 (forall ((?v0 Int) )(! false :qid k!4)) )) (let (($x68 (<= ?0 0))) (let (($x69 (not $x68))) (let (($x143 (not false))) (let (($x146 (or $x143 $x69))) (let ((@x166 (trans (monotonicity (rewrite (= $x143 true)) (= $x146 (or true $x69))) (rewrite (= (or true $x69) true)) (= $x146 true)))) (let ((@x173 (trans (monotonicity @x166 (= (not $x146) (not true))) (rewrite (= (not true) false)) (= (not $x146) false)))) (let ((@x180 (trans (quant-intro @x173 (= $x152 $x174)) (elim-unused (= $x174 false)) (= $x152 false)))) (let (($x122 (forall ((?v0 Int) )(! (let (($x68 (<= ?v0 0))) (let (($x69 (not $x68))) (let (($x75 (forall ((?v1 Int) )(! (let (($x68 (<= ?v1 0))) (let (($x69 (not $x68))) (or (not (>= (+ ?v1 (* (- 1) ?v0)) 0)) $x69))) :qid k!4)) )) (let (($x78 (not $x75))) (let (($x81 (or $x78 $x69))) (not $x81)))))) :qid k!4)) )) (let (($x138 (forall ((?v0 Int) )(! (let (($x68 (<= ?v0 0))) (let (($x69 (not $x68))) (let (($x126 (forall ((?v1 Int) )(! (let (($x68 (<= ?v1 0))) (not $x68)) :qid k!4)) )) (not (or (not $x126) $x69))))) :qid k!4)) )) (let ((@x156 (trans (rewrite (= $x122 $x138)) (rewrite (= $x138 $x152)) (= $x122 $x152)))) (let (($x116 (forall ((?v0 Int) )(! (let (($x68 (<= ?v0 0))) (let (($x75 (forall ((?v1 Int) )(! (let (($x68 (<= ?v1 0))) (let (($x69 (not $x68))) (or (not (>= (+ ?v1 (* (- 1) ?v0)) 0)) $x69))) :qid k!4)) )) (and $x75 $x68))) :qid k!4)) )) (let (($x75 (forall ((?v1 Int) )(! (let (($x68 (<= ?v1 0))) (let (($x69 (not $x68))) (or (not (>= (+ ?v1 (* (- 1) ?0)) 0)) $x69))) :qid k!4)) )) (let (($x78 (not $x75))) (let (($x81 (or $x78 $x69))) (let (($x104 (not $x81))) (let (($x113 (and $x75 $x68))) (let (($x107 (forall ((?v0 Int) )(! (let (($x68 (<= ?v0 0))) (let (($x69 (not $x68))) (let (($x100 (not $x69))) (let (($x75 (forall ((?v1 Int) )(! (let (($x68 (<= ?v1 0))) (let (($x69 (not $x68))) (or (not (>= (+ ?v1 (* (- 1) ?v0)) 0)) $x69))) :qid k!4)) )) (and $x75 $x100))))) :qid k!4)) )) (let ((@x115 (monotonicity (rewrite (= (not $x69) $x68)) (= (and $x75 (not $x69)) $x113)))) (let (($x84 (exists ((?v0 Int) )(! (let (($x68 (<= ?v0 0))) (let (($x69 (not $x68))) (let (($x75 (forall ((?v1 Int) )(! (let (($x68 (<= ?v1 0))) (let (($x69 (not $x68))) (or (not (>= (+ ?v1 (* (- 1) ?v0)) 0)) $x69))) :qid k!4)) )) (let (($x78 (not $x75))) (or $x78 $x69))))) :qid k!4)) )) (let (($x87 (not $x84))) (let (($x72 (or (not (>= (+ ?0 (* (- 1) ?1)) 0)) $x69))) (let ((@x99 (nnf-neg (nnf-pos (refl (~ $x72 $x72)) (~ $x75 $x75)) (~ (not $x78) $x75)))) (let ((@x106 (nnf-neg @x99 (refl (~ (not $x69) (not $x69))) (~ $x104 (and $x75 (not $x69)))))) (let (($x34 (exists ((?v0 Int) )(! (let (($x30 (< 0 ?v0))) (let (($x32 (forall ((?v1 Int) )(! (let (($x30 (< 0 ?v1))) (let (($x29 (<= ?v0 ?v1))) (=> $x29 $x30))) :qid k!4)) )) (=> $x32 $x30))) :qid k!4)) )) (let (($x35 (not $x34))) (let (($x53 (exists ((?v0 Int) )(! (let (($x30 (< 0 ?v0))) (let (($x41 (forall ((?v1 Int) )(! (let (($x30 (< 0 ?v1))) (or (not (<= ?v0 ?v1)) $x30)) :qid k!4)) )) (or (not $x41) $x30))) :qid k!4)) )) (let (($x30 (< 0 ?0))) (let (($x41 (forall ((?v1 Int) )(! (let (($x30 (< 0 ?v1))) (or (not (<= ?0 ?v1)) $x30)) :qid k!4)) )) (let (($x48 (or (not $x41) $x30))) (let ((@x67 (monotonicity (rewrite (= (<= ?1 ?0) (>= (+ ?0 (* (- 1) ?1)) 0))) (= (not (<= ?1 ?0)) (not (>= (+ ?0 (* (- 1) ?1)) 0)))))) (let ((@x74 (monotonicity @x67 (rewrite (= $x30 $x69)) (= (or (not (<= ?1 ?0)) $x30) $x72)))) (let ((@x80 (monotonicity (quant-intro @x74 (= $x41 $x75)) (= (not $x41) $x78)))) (let ((@x86 (quant-intro (monotonicity @x80 (rewrite (= $x30 $x69)) (= $x48 $x81)) (= $x53 $x84)))) (let (($x32 (forall ((?v1 Int) )(! (let (($x30 (< 0 ?v1))) (let (($x29 (<= ?0 ?v1))) (=> $x29 $x30))) :qid k!4)) )) (let (($x33 (=> $x32 $x30))) (let ((@x40 (rewrite (= (=> (<= ?1 ?0) $x30) (or (not (<= ?1 ?0)) $x30))))) (let ((@x46 (monotonicity (quant-intro @x40 (= $x32 $x41)) (= $x33 (=> $x41 $x30))))) (let ((@x55 (quant-intro (trans @x46 (rewrite (= (=> $x41 $x30) $x48)) (= $x33 $x48)) (= $x34 $x53)))) (let ((@x91 (trans (monotonicity @x55 (= $x35 (not $x53))) (monotonicity @x86 (= (not $x53) $x87)) (= $x35 $x87)))) (let ((@x110 (mp~ (mp (asserted $x35) @x91 $x87) (nnf-neg @x106 (~ $x87 $x107)) $x107))) (let ((@x125 (mp (mp @x110 (quant-intro @x115 (= $x107 $x116)) $x116) (quant-intro (rewrite (= $x113 $x104)) (= $x116 $x122)) $x122))) (mp (mp @x125 @x156 $x152) @x180 false)))))))))))))))))))))))))))))))))))))))))))))) -ec42cd87fa1228ca157b6059baa64bb1eb437d48 23 0 +cf55ed5d5e3fbc48182cb17ef320bda064703b0c 23 0 unsat ((set-logic AUFLIA) (declare-fun ?v1!0 () Int) (proof (let (($x64 (>= ?v1!0 1))) (let (($x52 (forall ((?v1 Int) )(! (or (not (<= ?v1 0)) (not (>= ?v1 1))) :qid k!4)) )) (let (($x55 (not $x52))) (let (($x33 (forall ((?v0 Int) (?v1 Int) )(! (or (< 0 ?v1) (< ?v1 1)) :qid k!4)) )) (let (($x27 (not $x33))) (let (($x35 (forall ((?v1 Int) )(! (or (< 0 ?v1) (< ?v1 1)) :qid k!4)) )) (let (($x32 (or (< 0 ?0) (< ?0 1)))) (let ((@x51 (monotonicity (rewrite (= (< 0 ?0) (not (<= ?0 0)))) (rewrite (= (< ?0 1) (not (>= ?0 1)))) (= $x32 (or (not (<= ?0 0)) (not (>= ?0 1))))))) (let ((@x57 (monotonicity (quant-intro @x51 (= $x35 $x52)) (= (not $x35) $x55)))) (let ((@x59 (trans (monotonicity (elim-unused (= $x33 $x35)) (= $x27 (not $x35))) @x57 (= $x27 $x55)))) (let ((@x70 (mp~ (mp (asserted $x27) @x59 $x55) (sk (~ $x55 (not (or (not (<= ?v1!0 0)) (not $x64))))) (not (or (not (<= ?v1!0 0)) (not $x64)))))) (let ((@x74 (not-or-elim @x70 $x64))) (let (($x62 (<= ?v1!0 0))) (let ((@x73 (not-or-elim @x70 $x62))) (unit-resolution ((_ th-lemma arith farkas 1 1) (or (not $x62) (not $x64))) @x73 @x74 false))))))))))))))))) -e0b55f4468e9d2470373689927a3a9ab1ac26d87 26 0 +47c99edbec21b5ca2d3944c6aeff150e7def6e0b 26 0 unsat ((set-logic ) (proof (let (($x58 (<= b$ 0))) (let (($x62 (or (not (and (not (<= a$ 0)) (not (<= (* a$ b$) 0)))) (not $x58)))) (let (($x65 (not $x62))) (let (($x35 (not (=> (and (< 0 a$) (< 0 (* a$ b$))) (< 0 b$))))) (let (($x33 (< 0 b$))) (let (($x38 (or (not (and (< 0 a$) (< 0 (* a$ b$)))) $x33))) (let (($x56 (= (not (and (< 0 a$) (< 0 (* a$ b$)))) (not (and (not (<= a$ 0)) (not (<= (* a$ b$) 0))))))) (let ((?x30 (* a$ b$))) (let (($x48 (<= ?x30 0))) (let (($x49 (not $x48))) (let (($x44 (<= a$ 0))) (let (($x45 (not $x44))) (let (($x52 (and $x45 $x49))) (let (($x32 (and (< 0 a$) (< 0 ?x30)))) (let ((@x54 (monotonicity (rewrite (= (< 0 a$) $x45)) (rewrite (= (< 0 ?x30) $x49)) (= $x32 $x52)))) (let ((@x64 (monotonicity (monotonicity @x54 $x56) (rewrite (= $x33 (not $x58))) (= $x38 $x62)))) (let ((@x43 (monotonicity (rewrite (= (=> $x32 $x33) $x38)) (= $x35 (not $x38))))) (let ((@x69 (trans @x43 (monotonicity @x64 (= (not $x38) $x65)) (= $x35 $x65)))) (let ((@x74 (not-or-elim (mp (asserted $x35) @x69 $x65) $x58))) (let ((@x72 (and-elim (not-or-elim (mp (asserted $x35) @x69 $x65) $x52) $x45))) (let ((@x73 (and-elim (not-or-elim (mp (asserted $x35) @x69 $x65) $x52) $x49))) ((_ th-lemma arith farkas 1 1 1) @x73 @x72 @x74 false)))))))))))))))))))))))) -14471384dcc76beb9e9e05cc2b020e277bc6dec7 26 0 +d19214170f32152ce058c34f982fe481da9e80ff 26 0 unsat ((set-logic ) (proof (let ((?x35 (+ y$ 1))) (let ((?x36 (* a$ ?x35))) (let ((?x34 (* a$ x$))) (let ((?x37 (+ ?x34 ?x36))) (let ((?x30 (+ x$ 1))) (let ((?x32 (+ ?x30 y$))) (let ((?x33 (* a$ ?x32))) (let (($x38 (= ?x33 ?x37))) (let (($x39 (not $x38))) (let (($x82 (= (= (+ a$ ?x34 (* a$ y$)) (+ a$ ?x34 (* a$ y$))) true))) (let (($x80 (= $x38 (= (+ a$ ?x34 (* a$ y$)) (+ a$ ?x34 (* a$ y$)))))) (let ((@x76 (rewrite (= (+ ?x34 (+ a$ (* a$ y$))) (+ a$ ?x34 (* a$ y$)))))) (let ((@x66 (monotonicity (rewrite (= ?x35 (+ 1 y$))) (= ?x36 (* a$ (+ 1 y$)))))) (let ((@x71 (trans @x66 (rewrite (= (* a$ (+ 1 y$)) (+ a$ (* a$ y$)))) (= ?x36 (+ a$ (* a$ y$)))))) (let ((@x78 (trans (monotonicity @x71 (= ?x37 (+ ?x34 (+ a$ (* a$ y$))))) @x76 (= ?x37 (+ a$ ?x34 (* a$ y$)))))) (let ((@x58 (rewrite (= (* a$ (+ 1 x$ y$)) (+ a$ ?x34 (* a$ y$)))))) (let ((@x46 (monotonicity (rewrite (= ?x30 (+ 1 x$))) (= ?x32 (+ (+ 1 x$) y$))))) (let ((@x51 (trans @x46 (rewrite (= (+ (+ 1 x$) y$) (+ 1 x$ y$))) (= ?x32 (+ 1 x$ y$))))) (let ((@x60 (trans (monotonicity @x51 (= ?x33 (* a$ (+ 1 x$ y$)))) @x58 (= ?x33 (+ a$ ?x34 (* a$ y$)))))) (let ((@x88 (monotonicity (trans (monotonicity @x60 @x78 $x80) (rewrite $x82) (= $x38 true)) (= $x39 (not true))))) (let ((@x92 (trans @x88 (rewrite (= (not true) false)) (= $x39 false)))) (mp (asserted $x39) @x92 false)))))))))))))))))))))))) -251ff9654bce931059979b6f6ebb89ed7adb1f46 23 0 +6338e51142f708a9900dc576fef69c89a46c7f58 23 0 unsat ((set-logic ) (proof (let ((?x36 (* 2.0 x$))) (let ((?x37 (* ?x36 y$))) (let ((?x32 (- 1.0 y$))) (let ((?x33 (* x$ ?x32))) (let ((?x30 (+ 1.0 y$))) (let ((?x31 (* x$ ?x30))) (let ((?x34 (- ?x31 ?x33))) (let (($x38 (= ?x34 ?x37))) (let (($x39 (not $x38))) (let ((@x73 (rewrite (= (= (* 2.0 (* x$ y$)) (* 2.0 (* x$ y$))) true)))) (let ((?x41 (* x$ y$))) (let ((?x63 (* 2.0 ?x41))) (let ((@x56 (rewrite (= (* x$ (+ 1.0 (* (- 1.0) y$))) (+ x$ (* (- 1.0) ?x41)))))) (let ((@x52 (monotonicity (rewrite (= ?x32 (+ 1.0 (* (- 1.0) y$)))) (= ?x33 (* x$ (+ 1.0 (* (- 1.0) y$))))))) (let ((@x61 (monotonicity (rewrite (= ?x31 (+ x$ ?x41))) (trans @x52 @x56 (= ?x33 (+ x$ (* (- 1.0) ?x41)))) (= ?x34 (- (+ x$ ?x41) (+ x$ (* (- 1.0) ?x41))))))) (let ((@x66 (trans @x61 (rewrite (= (- (+ x$ ?x41) (+ x$ (* (- 1.0) ?x41))) ?x63)) (= ?x34 ?x63)))) (let ((@x75 (trans (monotonicity @x66 (rewrite (= ?x37 ?x63)) (= $x38 (= ?x63 ?x63))) @x73 (= $x38 true)))) (let ((@x82 (trans (monotonicity @x75 (= $x39 (not true))) (rewrite (= (not true) false)) (= $x39 false)))) (mp (asserted $x39) @x82 false))))))))))))))))))))) -eaadcda722e0f2320e16a98d649f8db4cfbfc7ee 51 0 +760eefae5bab2da16eec8daa0cc978ac4329de62 51 0 unsat ((set-logic ) (proof (let ((?x47 (+ b$ d$))) (let ((?x48 (+ ?x47 e$))) (let ((?x30 (+ 1 p$))) (let ((?x49 (* ?x30 ?x48))) (let ((?x44 (* d$ p$))) (let ((?x42 (* ?x30 d$))) (let ((?x33 (+ b$ e$))) (let ((?x40 (* 2 ?x30))) (let ((?x41 (* ?x40 ?x33))) (let ((?x43 (+ ?x41 ?x42))) (let ((?x45 (+ ?x43 ?x44))) (let ((?x46 (+ u$ ?x45))) (let ((?x50 (- ?x46 ?x49))) (let ((?x37 (* p$ d$))) (let ((?x34 (* ?x30 ?x33))) (let ((?x35 (+ u$ ?x34))) (let ((?x38 (+ ?x35 ?x37))) (let (($x51 (= ?x38 ?x50))) (let (($x52 (not $x51))) (let ((?x55 (* p$ e$))) (let ((?x54 (* p$ b$))) (let ((?x70 (+ u$ b$ e$ ?x37 ?x54 ?x55))) (let ((?x127 (+ b$ e$ d$ ?x37 ?x54 ?x55))) (let ((?x85 (* 2 ?x55))) (let ((?x83 (* 2 ?x54))) (let ((?x84 (* 2 e$))) (let ((?x82 (* 2 b$))) (let ((?x116 (+ u$ ?x82 ?x84 d$ (* 2 ?x37) ?x83 ?x85))) (let ((@x126 (monotonicity (rewrite (= ?x48 (+ b$ e$ d$))) (= ?x49 (* ?x30 (+ b$ e$ d$)))))) (let ((@x131 (trans @x126 (rewrite (= (* ?x30 (+ b$ e$ d$)) ?x127)) (= ?x49 ?x127)))) (let ((@x118 (rewrite (= (+ u$ (+ ?x82 ?x84 d$ (* 2 ?x37) ?x83 ?x85)) ?x116)))) (let ((?x108 (+ ?x82 ?x84 d$ (* 2 ?x37) ?x83 ?x85))) (let ((?x97 (+ ?x82 ?x84 d$ ?x37 ?x83 ?x85))) (let ((@x88 (rewrite (= (* (+ 2 (* 2 p$)) ?x33) (+ ?x82 ?x84 ?x83 ?x85))))) (let ((@x81 (monotonicity (rewrite (= ?x40 (+ 2 (* 2 p$)))) (= ?x41 (* (+ 2 (* 2 p$)) ?x33))))) (let ((@x96 (monotonicity (trans @x81 @x88 (= ?x41 (+ ?x82 ?x84 ?x83 ?x85))) (rewrite (= ?x42 (+ d$ ?x37))) (= ?x43 (+ (+ ?x82 ?x84 ?x83 ?x85) (+ d$ ?x37)))))) (let ((@x101 (trans @x96 (rewrite (= (+ (+ ?x82 ?x84 ?x83 ?x85) (+ d$ ?x37)) ?x97)) (= ?x43 ?x97)))) (let ((@x112 (trans (monotonicity @x101 (rewrite (= ?x44 ?x37)) (= ?x45 (+ ?x97 ?x37))) (rewrite (= (+ ?x97 ?x37) ?x108)) (= ?x45 ?x108)))) (let ((@x120 (trans (monotonicity @x112 (= ?x46 (+ u$ ?x108))) @x118 (= ?x46 ?x116)))) (let ((@x139 (trans (monotonicity @x120 @x131 (= ?x50 (- ?x116 ?x127))) (rewrite (= (- ?x116 ?x127) ?x70)) (= ?x50 ?x70)))) (let ((@x64 (rewrite (= (+ u$ (+ b$ e$ ?x54 ?x55)) (+ u$ b$ e$ ?x54 ?x55))))) (let ((@x61 (monotonicity (rewrite (= ?x34 (+ b$ e$ ?x54 ?x55))) (= ?x35 (+ u$ (+ b$ e$ ?x54 ?x55)))))) (let ((@x69 (monotonicity (trans @x61 @x64 (= ?x35 (+ u$ b$ e$ ?x54 ?x55))) (= ?x38 (+ (+ u$ b$ e$ ?x54 ?x55) ?x37))))) (let ((@x74 (trans @x69 (rewrite (= (+ (+ u$ b$ e$ ?x54 ?x55) ?x37) ?x70)) (= ?x38 ?x70)))) (let ((@x145 (trans (monotonicity @x74 @x139 (= $x51 (= ?x70 ?x70))) (rewrite (= (= ?x70 ?x70) true)) (= $x51 true)))) (let ((@x152 (trans (monotonicity @x145 (= $x52 (not true))) (rewrite (= (not true) false)) (= $x52 false)))) (mp (asserted $x52) @x152 false))))))))))))))))))))))))))))))))))))))))))))))))) -97fbe4b306ce04830904de9c18fd2eef3d92ff14 12 0 +12dc1d685081b4234b95f046bcf34da3681d7c1e 12 0 unsat ((set-logic AUFLIA) (proof (let ((@x39 (rewrite (= (= (* 2 (of_nat$ x$)) 1) false)))) (let ((?x29 (of_nat$ x$))) (let ((?x30 (* 2 ?x29))) (let (($x32 (= ?x30 1))) (let (($x33 (not $x32))) (let (($x34 (not $x33))) (let ((@x37 (rewrite (= $x34 $x32)))) (mp (asserted $x34) (trans @x37 @x39 (= $x34 false)) false)))))))))) -c87ffca7b379061d55a2b7af6a0c81bd41a8c4dc 23 0 +f2f21091bf9deb3a38832129de5449a872415f16 23 0 unsat ((set-logic AUFLIA) (proof (let ((?x28 (of_nat$ a$))) (let (($x57 (>= ?x28 4))) (let (($x47 (>= ?x28 3))) (let (($x61 (or $x47 (not $x57)))) (let (($x64 (not $x61))) (let ((@x51 (monotonicity (rewrite (= (< ?x28 3) (not $x47))) (= (not (< ?x28 3)) (not (not $x47)))))) (let ((@x55 (trans @x51 (rewrite (= (not (not $x47)) $x47)) (= (not (< ?x28 3)) $x47)))) (let ((@x63 (monotonicity @x55 (rewrite (= (< (* 2 ?x28) 7) (not $x57))) (= (or (not (< ?x28 3)) (< (* 2 ?x28) 7)) $x61)))) (let ((@x66 (monotonicity @x63 (= (not (or (not (< ?x28 3)) (< (* 2 ?x28) 7))) $x64)))) (let (($x36 (not (=> (< ?x28 3) (< (* 2 ?x28) 7))))) (let (($x34 (< (* 2 ?x28) 7))) (let (($x30 (< ?x28 3))) (let (($x38 (not $x30))) (let (($x39 (or $x38 $x34))) (let ((@x44 (monotonicity (rewrite (= (=> $x30 $x34) $x39)) (= $x36 (not $x39))))) (let ((@x71 (not-or-elim (mp (asserted $x36) (trans @x44 @x66 (= $x36 $x64)) $x64) $x57))) (let (($x45 (not $x47))) (let ((@x70 (not-or-elim (mp (asserted $x36) (trans @x44 @x66 (= $x36 $x64)) $x64) $x45))) (unit-resolution ((_ th-lemma arith farkas 1 1) $x61) @x70 @x71 false))))))))))))))))))))) -61914002c318176ad9a312fe098a2c60b9897e26 22 0 +dbe03d888710bfc170c0322723b6fe3d138c2de7 22 0 unsat ((set-logic AUFLIA) (proof (let ((?x29 (of_nat$ y$))) (let ((?x30 (+ 1 ?x29))) (let ((?x33 (- ?x30 ?x29))) (let (($x32 (< ?x30 ?x29))) (let ((?x34 (ite $x32 0 ?x33))) (let ((?x31 (* 0 ?x30))) (let (($x35 (< ?x31 ?x34))) (let (($x36 (not $x35))) (let ((@x55 (monotonicity (rewrite (= $x32 false)) (= (ite $x32 0 1) (ite false 0 1))))) (let ((@x59 (trans @x55 (rewrite (= (ite false 0 1) 1)) (= (ite $x32 0 1) 1)))) (let ((@x62 (monotonicity @x59 (= (< 0 (ite $x32 0 1)) (< 0 1))))) (let ((@x66 (trans @x62 (rewrite (= (< 0 1) true)) (= (< 0 (ite $x32 0 1)) true)))) (let ((@x69 (monotonicity @x66 (= (not (< 0 (ite $x32 0 1))) (not true))))) (let ((@x73 (trans @x69 (rewrite (= (not true) false)) (= (not (< 0 (ite $x32 0 1))) false)))) (let ((@x44 (monotonicity (rewrite (= ?x33 1)) (= ?x34 (ite $x32 0 1))))) (let ((@x47 (monotonicity (rewrite (= ?x31 0)) @x44 (= $x35 (< 0 (ite $x32 0 1)))))) (let ((@x50 (monotonicity @x47 (= $x36 (not (< 0 (ite $x32 0 1))))))) (mp (asserted $x36) (trans @x50 @x73 (= $x36 false)) false)))))))))))))))))))) -8b73614ff24556cd5cdf357f7135fa992f035643 37 0 +30cc2762602a7a30eb3ec186f081112e21381d17 37 0 unsat ((set-logic AUFLIA) (proof (let ((?x29 (of_nat$ y$))) (let (($x91 (>= ?x29 0))) (let ((@x126 (mp (asserted (<= 0 ?x29)) (rewrite (= (<= 0 ?x29) $x91)) $x91))) (let (($x86 (<= ?x29 (- 1)))) (let (($x111 (not (or (= (not $x86) (= (ite $x91 ?x29 0) ?x29)) (not $x86))))) (let (($x39 (=> (not (ite (< 0 (+ 1 ?x29)) true false)) false))) (let (($x36 (= (ite (< (+ 1 ?x29) 1) 0 (- (+ 1 ?x29) 1)) ?x29))) (let ((?x30 (+ 1 ?x29))) (let (($x31 (< 0 ?x30))) (let (($x32 (ite $x31 true false))) (let (($x37 (= $x32 $x36))) (let (($x41 (or false (or $x37 $x39)))) (let (($x42 (not $x41))) (let (($x112 (= (not (or (= $x31 (= (ite (< ?x30 1) 0 ?x29) ?x29)) $x31)) $x111))) (let (($x33 (< ?x30 1))) (let ((?x48 (ite $x33 0 ?x29))) (let (($x51 (= ?x48 ?x29))) (let (($x57 (= $x31 $x51))) (let (($x72 (or $x57 $x31))) (let (($x109 (= $x72 (or (= (not $x86) (= (ite $x91 ?x29 0) ?x29)) (not $x86))))) (let ((@x96 (monotonicity (rewrite (= $x33 (not $x91))) (= ?x48 (ite (not $x91) 0 ?x29))))) (let ((@x101 (trans @x96 (rewrite (= (ite (not $x91) 0 ?x29) (ite $x91 ?x29 0))) (= ?x48 (ite $x91 ?x29 0))))) (let ((@x107 (monotonicity (rewrite (= $x31 (not $x86))) (monotonicity @x101 (= $x51 (= (ite $x91 ?x29 0) ?x29))) (= $x57 (= (not $x86) (= (ite $x91 ?x29 0) ?x29)))))) (let ((@x113 (monotonicity (monotonicity @x107 (rewrite (= $x31 (not $x86))) $x109) $x112))) (let ((@x67 (monotonicity (monotonicity (rewrite (= $x32 $x31)) (= (not $x32) (not $x31))) (= $x39 (=> (not $x31) false))))) (let ((@x71 (trans @x67 (rewrite (= (=> (not $x31) false) $x31)) (= $x39 $x31)))) (let ((@x50 (monotonicity (rewrite (= (- ?x30 1) ?x29)) (= (ite $x33 0 (- ?x30 1)) ?x48)))) (let ((@x56 (monotonicity (rewrite (= $x32 $x31)) (monotonicity @x50 (= $x36 $x51)) (= $x37 (= $x31 $x51))))) (let ((@x74 (monotonicity (trans @x56 (rewrite (= (= $x31 $x51) $x57)) (= $x37 $x57)) @x71 (= (or $x37 $x39) $x72)))) (let ((@x81 (trans (monotonicity @x74 (= $x41 (or false $x72))) (rewrite (= (or false $x72) $x72)) (= $x41 $x72)))) (let ((@x115 (trans (monotonicity @x81 (= $x42 (not $x72))) @x113 (= $x42 $x111)))) (let ((@x119 (not-or-elim (mp (asserted $x42) @x115 $x111) $x86))) (unit-resolution ((_ th-lemma arith farkas 1 1) (or (not $x86) (not $x91))) @x119 @x126 false))))))))))))))))))))))))))))))))))) -89694a345fbe7a5ab77e70a58babfff7e73da738 64 0 +093b4bdc35e8040f16c5dca022c87a6f58a6b797 64 0 unsat ((set-logic AUFLIA) (proof (let ((?x58 (* (- 1) x$))) (let (($x76 (>= x$ 0))) (let ((?x83 (ite $x76 x$ ?x58))) (let ((?x536 (* (- 1) ?x83))) (let ((?x539 (+ ?x58 ?x536))) (let (($x237 (<= ?x539 0))) (let (($x229 (= ?x58 ?x83))) (let (($x77 (not $x76))) (let (($x143 (= x$ ?x83))) (let ((@x182 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x143) (<= (+ x$ ?x536) 0))) (unit-resolution (def-axiom (or $x77 $x143)) (hypothesis $x76) $x143) (<= (+ x$ ?x536) 0)))) (let (($x232 (>= ?x83 0))) (let (($x337 (not $x232))) (let ((?x88 (nat$ ?x83))) (let ((?x91 (of_nat$ ?x88))) (let (($x233 (= ?x91 0))) (let (($x94 (= ?x91 ?x83))) (let (($x234 (ite $x232 $x94 $x233))) (let (($x560 (forall ((?v0 Int) )(! (let (($x39 (>= ?v0 0))) (ite $x39 (= (of_nat$ (nat$ ?v0)) ?v0) (= (of_nat$ (nat$ ?v0)) 0))) :pattern ( (nat$ ?v0) ) :qid k!8)) )) (let (($x139 (forall ((?v0 Int) )(! (let (($x39 (>= ?v0 0))) (ite $x39 (= (of_nat$ (nat$ ?v0)) ?v0) (= (of_nat$ (nat$ ?v0)) 0))) :qid k!8)) )) (let (($x39 (>= ?0 0))) (let (($x136 (ite $x39 (= (of_nat$ (nat$ ?0)) ?0) (= (of_nat$ (nat$ ?0)) 0)))) (let (($x46 (forall ((?v0 Int) )(! (let ((?x29 (of_nat$ (nat$ ?v0)))) (= ?x29 (ite (>= ?v0 0) ?v0 0))) :qid k!8)) )) (let ((@x141 (quant-intro (rewrite (= (= (of_nat$ (nat$ ?0)) (ite $x39 ?0 0)) $x136)) (= $x46 $x139)))) (let ((?x29 (of_nat$ (nat$ ?0)))) (let (($x43 (= ?x29 (ite $x39 ?0 0)))) (let (($x33 (forall ((?v0 Int) )(! (let ((?x29 (of_nat$ (nat$ ?v0)))) (= ?x29 (ite (<= 0 ?v0) ?v0 0))) :qid k!8)) )) (let ((@x42 (monotonicity (rewrite (= (<= 0 ?0) $x39)) (= (ite (<= 0 ?0) ?0 0) (ite $x39 ?0 0))))) (let ((@x45 (monotonicity @x42 (= (= ?x29 (ite (<= 0 ?0) ?0 0)) $x43)))) (let ((@x122 (mp~ (mp (asserted $x33) (quant-intro @x45 (= $x33 $x46)) $x46) (nnf-pos (refl (~ $x43 $x43)) (~ $x46 $x46)) $x46))) (let ((@x565 (mp (mp @x122 @x141 $x139) (quant-intro (refl (= $x136 $x136)) (= $x139 $x560)) $x560))) (let (($x551 (or (not $x560) $x234))) (let ((@x552 ((_ quant-inst (ite $x76 x$ ?x58)) $x551))) (let (($x97 (not $x94))) (let (($x36 (< x$ 0))) (let ((?x51 (ite $x36 (- x$) x$))) (let (($x55 (not (= (of_nat$ (nat$ ?x51)) ?x51)))) (let (($x98 (= (not (= (of_nat$ (nat$ (ite $x36 ?x58 x$))) (ite $x36 ?x58 x$))) $x97))) (let ((?x61 (ite $x36 ?x58 x$))) (let ((?x64 (nat$ ?x61))) (let ((?x67 (of_nat$ ?x64))) (let (($x70 (= ?x67 ?x61))) (let ((@x87 (trans (monotonicity (rewrite (= $x36 $x77)) (= ?x61 (ite $x77 ?x58 x$))) (rewrite (= (ite $x77 ?x58 x$) ?x83)) (= ?x61 ?x83)))) (let ((@x96 (monotonicity (monotonicity (monotonicity @x87 (= ?x64 ?x88)) (= ?x67 ?x91)) @x87 (= $x70 $x94)))) (let ((@x66 (monotonicity (monotonicity (rewrite (= (- x$) ?x58)) (= ?x51 ?x61)) (= (nat$ ?x51) ?x64)))) (let ((@x72 (monotonicity (monotonicity @x66 (= (of_nat$ (nat$ ?x51)) ?x67)) (monotonicity (rewrite (= (- x$) ?x58)) (= ?x51 ?x61)) (= (= (of_nat$ (nat$ ?x51)) ?x51) $x70)))) (let ((@x101 (trans (monotonicity @x72 (= $x55 (not $x70))) (monotonicity @x96 $x98) (= $x55 $x97)))) (let ((@x102 (mp (asserted $x55) @x101 $x97))) (let ((@x545 (unit-resolution (def-axiom (or (not $x234) $x337 $x94)) @x102 (or (not $x234) $x337)))) (let ((@x532 ((_ th-lemma arith farkas -1 1 1) (hypothesis $x76) (unit-resolution @x545 (unit-resolution @x552 @x565 $x234) $x337) @x182 false))) (let ((@x533 (lemma @x532 $x77))) (let ((@x526 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x229) $x237)) (unit-resolution (def-axiom (or $x76 $x229)) @x533 $x229) $x237))) ((_ th-lemma arith farkas 1 1 1) (unit-resolution @x545 (unit-resolution @x552 @x565 $x234) $x337) @x533 @x526 false)))))))))))))))))))))))))))))))))))))))))))))))))))))) -b5fca6c6782410deb719c8da4ee5b4bae9e51cbe 23 0 -unsat -((set-logic AUFLIA) -(proof -(let (($x40 (= x$ a$))) -(let ((?x36 (pair$ x$ y$))) -(let ((?x37 (fst$ ?x36))) -(let (($x39 (= ?x37 a$))) -(let ((@x50 (monotonicity (rewrite (= (=> $x39 $x40) (or (not $x39) $x40))) (= (not (=> $x39 $x40)) (not (or (not $x39) $x40)))))) -(let ((@x51 (not-or-elim (mp (asserted (not (=> $x39 $x40))) @x50 (not (or (not $x39) $x40))) $x39))) -(let (($x56 (= ?x37 x$))) -(let (($x478 (forall ((?v0 A$) (?v1 B$) )(! (= (fst$ (pair$ ?v0 ?v1)) ?v0) :pattern ( (pair$ ?v0 ?v1) ) :qid k!12)) -)) -(let (($x32 (forall ((?v0 A$) (?v1 B$) )(! (= (fst$ (pair$ ?v0 ?v1)) ?v0) :qid k!12)) -)) -(let (($x31 (= (fst$ (pair$ ?1 ?0)) ?1))) -(let ((@x55 (mp~ (asserted $x32) (nnf-pos (refl (~ $x31 $x31)) (~ $x32 $x32)) $x32))) -(let ((@x483 (mp @x55 (quant-intro (refl (= $x31 $x31)) (= $x32 $x478)) $x478))) -(let (($x62 (or (not $x478) $x56))) -(let ((@x149 ((_ quant-inst x$ y$) $x62))) -(let ((@x150 (trans (symm (unit-resolution @x149 @x483 $x56) (= x$ ?x37)) @x51 $x40))) -(let ((@x54 (not-or-elim (mp (asserted (not (=> $x39 $x40))) @x50 (not (or (not $x39) $x40))) (not $x40)))) -(unit-resolution @x54 @x150 false))))))))))))))))))) - -d8b36ba641e8fd3207b81ac452cde17bed425388 42 0 -unsat -((set-logic AUFLIA) -(proof -(let ((?x59 (snd$a p2$))) -(let ((?x58 (fst$a p1$))) -(let (($x60 (= ?x58 ?x59))) -(let ((?x55 (pair$ y$ x$))) -(let (($x56 (= p2$ ?x55))) -(let ((?x52 (pair$a x$ y$))) -(let (($x53 (= p1$ ?x52))) -(let (($x57 (and $x53 $x56))) -(let ((@x70 (monotonicity (rewrite (= (=> $x57 $x60) (or (not $x57) $x60))) (= (not (=> $x57 $x60)) (not (or (not $x57) $x60)))))) -(let ((@x71 (not-or-elim (mp (asserted (not (=> $x57 $x60))) @x70 (not (or (not $x57) $x60))) $x57))) -(let ((@x74 (and-elim @x71 $x56))) -(let ((@x504 (symm (monotonicity @x74 (= ?x59 (snd$a ?x55))) (= (snd$a ?x55) ?x59)))) -(let ((?x100 (snd$a ?x55))) -(let (($x185 (= ?x100 x$))) -(let (($x534 (forall ((?v0 B$) (?v1 A$) )(! (= (snd$a (pair$ ?v0 ?v1)) ?v1) :pattern ( (pair$ ?v0 ?v1) ) :qid k!21)) -)) -(let (($x47 (forall ((?v0 B$) (?v1 A$) )(! (= (snd$a (pair$ ?v0 ?v1)) ?v1) :qid k!21)) -)) -(let (($x46 (= (snd$a (pair$ ?1 ?0)) ?0))) -(let ((@x96 (mp~ (asserted $x47) (nnf-pos (refl (~ $x46 $x46)) (~ $x47 $x47)) $x47))) -(let ((@x539 (mp @x96 (quant-intro (refl (= $x46 $x46)) (= $x47 $x534)) $x534))) -(let (($x190 (or (not $x534) $x185))) -(let ((@x191 ((_ quant-inst y$ x$) $x190))) -(let ((?x187 (fst$a ?x52))) -(let (($x188 (= ?x187 x$))) -(let (($x522 (forall ((?v0 A$) (?v1 B$) )(! (= (fst$a (pair$a ?v0 ?v1)) ?v0) :pattern ( (pair$a ?v0 ?v1) ) :qid k!19)) -)) -(let (($x39 (forall ((?v0 A$) (?v1 B$) )(! (= (fst$a (pair$a ?v0 ?v1)) ?v0) :qid k!19)) -)) -(let (($x38 (= (fst$a (pair$a ?1 ?0)) ?1))) -(let ((@x90 (mp~ (asserted $x39) (nnf-pos (refl (~ $x38 $x38)) (~ $x39 $x39)) $x39))) -(let ((@x527 (mp @x90 (quant-intro (refl (= $x38 $x38)) (= $x39 $x522)) $x522))) -(let (($x162 (or (not $x522) $x188))) -(let ((@x292 ((_ quant-inst x$ y$) $x162))) -(let ((@x505 (trans (monotonicity (and-elim @x71 $x53) (= ?x58 ?x187)) (unit-resolution @x292 @x527 $x188) (= ?x58 x$)))) -(let ((@x489 (trans @x505 (symm (unit-resolution @x191 @x539 $x185) (= x$ ?x100)) (= ?x58 ?x100)))) -(let ((@x76 (not-or-elim (mp (asserted (not (=> $x57 $x60))) @x70 (not (or (not $x57) $x60))) (not $x60)))) -(unit-resolution @x76 (trans @x489 @x504 $x60) false)))))))))))))))))))))))))))))))))))) - -6bc8eb1ffd043b94d9f9af6ecb9089d7d193f8db 264 0 +c03c5a5464afed237861dfdc891e37969d566ebb 264 0 unsat ((set-logic AUFLIA) (declare-fun ?v1!0 (Nat$) Nat$) (proof (let ((?x89 (of_nat$ m$))) (let ((?x90 (* 4 ?x89))) (let ((?x98 (+ 1 ?x90))) (let ((?x101 (nat$ ?x98))) (let ((?x276 (of_nat$ ?x101))) (let ((?x581 (* (- 1) ?x276))) (let ((?x582 (+ ?x90 ?x581))) (let (($x555 (>= ?x582 (- 1)))) (let (($x580 (= ?x582 (- 1)))) (let (($x574 (= ?x276 0))) (let (($x622 (>= ?x89 0))) (let (($x583 (ite $x622 $x580 $x574))) (let (($x737 (forall ((?v0 Int) )(! (let (($x160 (>= ?v0 0))) (ite $x160 (= (of_nat$ (nat$ ?v0)) ?v0) (= (of_nat$ (nat$ ?v0)) 0))) :pattern ( (nat$ ?v0) ) :qid k!14)) )) (let (($x271 (forall ((?v0 Int) )(! (let (($x160 (>= ?v0 0))) (ite $x160 (= (of_nat$ (nat$ ?v0)) ?v0) (= (of_nat$ (nat$ ?v0)) 0))) :qid k!14)) )) (let (($x160 (>= ?0 0))) (let (($x268 (ite $x160 (= (of_nat$ (nat$ ?0)) ?0) (= (of_nat$ (nat$ ?0)) 0)))) (let (($x167 (forall ((?v0 Int) )(! (let ((?x149 (nat$ ?v0))) (let ((?x150 (of_nat$ ?x149))) (= ?x150 (ite (>= ?v0 0) ?v0 0)))) :qid k!14)) )) (let ((@x273 (quant-intro (rewrite (= (= (of_nat$ (nat$ ?0)) (ite $x160 ?0 0)) $x268)) (= $x167 $x271)))) (let ((?x149 (nat$ ?0))) (let ((?x150 (of_nat$ ?x149))) (let (($x164 (= ?x150 (ite $x160 ?0 0)))) (let (($x154 (forall ((?v0 Int) )(! (let ((?x149 (nat$ ?v0))) (let ((?x150 (of_nat$ ?x149))) (= ?x150 (ite (<= 0 ?v0) ?v0 0)))) :qid k!14)) )) (let ((@x163 (monotonicity (rewrite (= (<= 0 ?0) $x160)) (= (ite (<= 0 ?0) ?0 0) (ite $x160 ?0 0))))) (let ((@x166 (monotonicity @x163 (= (= ?x150 (ite (<= 0 ?0) ?0 0)) $x164)))) (let ((@x243 (mp~ (mp (asserted $x154) (quant-intro @x166 (= $x154 $x167)) $x167) (nnf-pos (refl (~ $x164 $x164)) (~ $x167 $x167)) $x167))) (let ((@x742 (mp (mp @x243 @x273 $x271) (quant-intro (refl (= $x268 $x268)) (= $x271 $x737)) $x737))) (let (($x587 (or (not $x737) $x583))) (let ((@x585 (monotonicity (rewrite (= (>= ?x98 0) $x622)) (rewrite (= (= ?x276 ?x98) $x580)) (= (ite (>= ?x98 0) (= ?x276 ?x98) $x574) $x583)))) (let ((@x568 (monotonicity @x585 (= (or (not $x737) (ite (>= ?x98 0) (= ?x276 ?x98) $x574)) $x587)))) (let ((@x571 (trans @x568 (rewrite (= $x587 $x587)) (= (or (not $x737) (ite (>= ?x98 0) (= ?x276 ?x98) $x574)) $x587)))) (let ((@x572 (mp ((_ quant-inst (+ 1 ?x90)) (or (not $x737) (ite (>= ?x98 0) (= ?x276 ?x98) $x574))) @x571 $x587))) (let (($x723 (forall ((?v0 Nat$) )(! (let ((?x30 (of_nat$ ?v0))) (>= ?x30 0)) :pattern ( (of_nat$ ?v0) ) :qid k!12)) )) (let (($x142 (forall ((?v0 Nat$) )(! (let ((?x30 (of_nat$ ?v0))) (>= ?x30 0)) :qid k!12)) )) (let ((@x727 (quant-intro (refl (= (>= (of_nat$ ?0) 0) (>= (of_nat$ ?0) 0))) (= $x142 $x723)))) (let ((@x232 (nnf-pos (refl (~ (>= (of_nat$ ?0) 0) (>= (of_nat$ ?0) 0))) (~ $x142 $x142)))) (let (($x135 (forall ((?v0 Nat$) )(! (let ((?x30 (of_nat$ ?v0))) (<= 0 ?x30)) :qid k!12)) )) (let ((@x144 (quant-intro (rewrite (= (<= 0 (of_nat$ ?0)) (>= (of_nat$ ?0) 0))) (= $x135 $x142)))) (let ((@x728 (mp (mp~ (mp (asserted $x135) @x144 $x142) @x232 $x142) @x727 $x723))) (let (($x593 (or (not $x723) $x622))) (let ((@x594 ((_ quant-inst m$) $x593))) (let ((@x547 (unit-resolution (def-axiom (or (not $x583) (not $x622) $x580)) (unit-resolution @x594 @x728 $x622) (or (not $x583) $x580)))) (let ((@x551 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x580) $x555)) (unit-resolution @x547 (unit-resolution @x572 @x742 $x583) $x580) $x555))) (let (($x361 (<= ?x276 1))) (let (($x668 (not $x361))) (let (($x346 (forall ((?v1 Nat$) )(! (let ((?x89 (of_nat$ m$))) (let ((?x90 (* 4 ?x89))) (let ((?x98 (+ 1 ?x90))) (let ((?x101 (nat$ ?x98))) (let ((?x276 (of_nat$ ?x101))) (let ((?x30 (of_nat$ ?v1))) (let (($x363 (= ?x30 ?x276))) (let (($x34 (= ?x30 1))) (let (($x362 (dvd$ ?v1 ?x101))) (let (($x352 (not $x362))) (or $x352 $x34 $x363))))))))))) :pattern ( (dvd$ ?v1 (nat$ (+ 1 (* 4 (of_nat$ m$))))) ) :pattern ( (of_nat$ ?v1) ) :qid k!10)) )) (let (($x682 (not $x346))) (let (($x683 (or $x361 $x682))) (let (($x338 (not $x683))) (let (($x104 (prime_nat$ ?x101))) (let (($x110 (not $x104))) (let (($x468 (or $x110 $x338))) (let ((?x351 (?v1!0 ?x101))) (let ((?x686 (of_nat$ ?x351))) (let (($x688 (= ?x686 ?x276))) (let (($x687 (= ?x686 1))) (let (($x684 (dvd$ ?x351 ?x101))) (let (($x685 (not $x684))) (let (($x689 (or $x685 $x687 $x688))) (let (($x679 (not $x689))) (let (($x344 (or $x104 $x361 $x679))) (let (($x681 (not $x344))) (let (($x678 (not $x468))) (let (($x323 (or $x678 $x681))) (let (($x665 (not $x323))) (let (($x719 (forall ((?v0 Nat$) )(! (let (($x191 (or (not (dvd$ (?v1!0 ?v0) ?v0)) (= (of_nat$ (?v1!0 ?v0)) 1) (= (of_nat$ (?v1!0 ?v0)) (of_nat$ ?v0))))) (let (($x192 (not $x191))) (let ((?x30 (of_nat$ ?v0))) (let (($x65 (<= ?x30 1))) (let (($x28 (prime_nat$ ?v0))) (let (($x217 (or $x28 $x65 $x192))) (let (($x692 (forall ((?v1 Nat$) )(! (let ((?x30 (of_nat$ ?v1))) (let (($x34 (= ?x30 1))) (or (not (dvd$ ?v1 ?v0)) $x34 (= ?x30 (of_nat$ ?v0))))) :pattern ( (dvd$ ?v1 ?v0) ) :pattern ( (of_nat$ ?v1) ) :qid k!10)) )) (let (($x177 (not $x28))) (not (or (not (or $x177 (not (or $x65 (not $x692))))) (not $x217))))))))))) :pattern ( (prime_nat$ ?v0) ) :pattern ( (of_nat$ ?v0) ) :qid k!10)) )) (let (($x262 (forall ((?v0 Nat$) )(! (let (($x191 (or (not (dvd$ (?v1!0 ?v0) ?v0)) (= (of_nat$ (?v1!0 ?v0)) 1) (= (of_nat$ (?v1!0 ?v0)) (of_nat$ ?v0))))) (let (($x192 (not $x191))) (let ((?x30 (of_nat$ ?v0))) (let (($x65 (<= ?x30 1))) (let (($x28 (prime_nat$ ?v0))) (let (($x217 (or $x28 $x65 $x192))) (let (($x72 (forall ((?v1 Nat$) )(! (let ((?x30 (of_nat$ ?v1))) (let (($x34 (= ?x30 1))) (or (not (dvd$ ?v1 ?v0)) $x34 (= ?x30 (of_nat$ ?v0))))) :qid k!10)) )) (let (($x193 (not $x72))) (let (($x245 (not (or $x65 $x193)))) (let (($x177 (not $x28))) (let (($x248 (or $x177 $x245))) (not (or (not $x248) (not $x217)))))))))))))) :qid k!10)) )) (let (($x191 (or (not (dvd$ (?v1!0 ?0) ?0)) (= (of_nat$ (?v1!0 ?0)) 1) (= (of_nat$ (?v1!0 ?0)) (of_nat$ ?0))))) (let (($x192 (not $x191))) (let ((?x30 (of_nat$ ?0))) (let (($x65 (<= ?x30 1))) (let (($x28 (prime_nat$ ?0))) (let (($x217 (or $x28 $x65 $x192))) (let (($x692 (forall ((?v1 Nat$) )(! (let ((?x30 (of_nat$ ?v1))) (let (($x34 (= ?x30 1))) (or (not (dvd$ ?v1 ?0)) $x34 (= ?x30 (of_nat$ ?0))))) :pattern ( (dvd$ ?v1 ?0) ) :pattern ( (of_nat$ ?v1) ) :qid k!10)) )) (let (($x177 (not $x28))) (let (($x72 (forall ((?v1 Nat$) )(! (let ((?x30 (of_nat$ ?v1))) (let (($x34 (= ?x30 1))) (or (not (dvd$ ?v1 ?0)) $x34 (= ?x30 (of_nat$ ?0))))) :qid k!10)) )) (let (($x193 (not $x72))) (let (($x245 (not (or $x65 $x193)))) (let (($x248 (or $x177 $x245))) (let (($x257 (not (or (not $x248) (not $x217))))) (let (($x716 (= $x257 (not (or (not (or $x177 (not (or $x65 (not $x692))))) (not $x217)))))) (let (($x713 (= (or (not $x248) (not $x217)) (or (not (or $x177 (not (or $x65 (not $x692))))) (not $x217))))) (let (($x34 (= ?x30 1))) (let (($x69 (or (not (dvd$ ?0 ?1)) $x34 (= ?x30 (of_nat$ ?1))))) (let ((@x699 (monotonicity (quant-intro (refl (= $x69 $x69)) (= $x72 $x692)) (= $x193 (not $x692))))) (let ((@x705 (monotonicity (monotonicity @x699 (= (or $x65 $x193) (or $x65 (not $x692)))) (= $x245 (not (or $x65 (not $x692))))))) (let ((@x711 (monotonicity (monotonicity @x705 (= $x248 (or $x177 (not (or $x65 (not $x692)))))) (= (not $x248) (not (or $x177 (not (or $x65 (not $x692))))))))) (let ((@x721 (quant-intro (monotonicity (monotonicity @x711 $x713) $x716) (= $x262 $x719)))) (let (($x225 (forall ((?v0 Nat$) )(! (let (($x191 (or (not (dvd$ (?v1!0 ?v0) ?v0)) (= (of_nat$ (?v1!0 ?v0)) 1) (= (of_nat$ (?v1!0 ?v0)) (of_nat$ ?v0))))) (let (($x192 (not $x191))) (let ((?x30 (of_nat$ ?v0))) (let (($x65 (<= ?x30 1))) (let (($x28 (prime_nat$ ?v0))) (let (($x217 (or $x28 $x65 $x192))) (let (($x72 (forall ((?v1 Nat$) )(! (let ((?x30 (of_nat$ ?v1))) (let (($x34 (= ?x30 1))) (or (not (dvd$ ?v1 ?v0)) $x34 (= ?x30 (of_nat$ ?v0))))) :qid k!10)) )) (let (($x66 (not $x65))) (let (($x75 (and $x66 $x72))) (let (($x177 (not $x28))) (let (($x201 (or $x177 $x75))) (and $x201 $x217)))))))))))) :qid k!10)) )) (let ((@x250 (monotonicity (rewrite (= (and (not $x65) $x72) $x245)) (= (or $x177 (and (not $x65) $x72)) $x248)))) (let ((@x253 (monotonicity @x250 (= (and (or $x177 (and (not $x65) $x72)) $x217) (and $x248 $x217))))) (let ((@x261 (trans @x253 (rewrite (= (and $x248 $x217) $x257)) (= (and (or $x177 (and (not $x65) $x72)) $x217) $x257)))) (let (($x205 (forall ((?v0 Nat$) )(! (let (($x191 (or (not (dvd$ (?v1!0 ?v0) ?v0)) (= (of_nat$ (?v1!0 ?v0)) 1) (= (of_nat$ (?v1!0 ?v0)) (of_nat$ ?v0))))) (let (($x192 (not $x191))) (let ((?x30 (of_nat$ ?v0))) (let (($x65 (<= ?x30 1))) (let (($x66 (not $x65))) (let (($x182 (not $x66))) (let (($x196 (or $x182 $x192))) (let (($x28 (prime_nat$ ?v0))) (let (($x200 (or $x28 $x196))) (let (($x72 (forall ((?v1 Nat$) )(! (let ((?x30 (of_nat$ ?v1))) (let (($x34 (= ?x30 1))) (or (not (dvd$ ?v1 ?v0)) $x34 (= ?x30 (of_nat$ ?v0))))) :qid k!10)) )) (let (($x75 (and $x66 $x72))) (let (($x177 (not $x28))) (let (($x201 (or $x177 $x75))) (and $x201 $x200)))))))))))))) :qid k!10)) )) (let (($x66 (not $x65))) (let (($x75 (and $x66 $x72))) (let (($x201 (or $x177 $x75))) (let (($x222 (and $x201 $x217))) (let (($x182 (not $x66))) (let (($x196 (or $x182 $x192))) (let (($x200 (or $x28 $x196))) (let (($x202 (and $x201 $x200))) (let ((@x216 (monotonicity (monotonicity (rewrite (= $x182 $x65)) (= $x196 (or $x65 $x192))) (= $x200 (or $x28 (or $x65 $x192)))))) (let ((@x221 (trans @x216 (rewrite (= (or $x28 (or $x65 $x192)) $x217)) (= $x200 $x217)))) (let (($x81 (forall ((?v0 Nat$) )(! (let (($x72 (forall ((?v1 Nat$) )(! (let ((?x30 (of_nat$ ?v1))) (let (($x34 (= ?x30 1))) (or (not (dvd$ ?v1 ?v0)) $x34 (= ?x30 (of_nat$ ?v0))))) :qid k!10)) )) (let ((?x30 (of_nat$ ?v0))) (let (($x65 (<= ?x30 1))) (let (($x66 (not $x65))) (let (($x75 (and $x66 $x72))) (let (($x28 (prime_nat$ ?v0))) (= $x28 $x75))))))) :qid k!10)) )) (let ((@x199 (nnf-neg (refl (~ $x182 $x182)) (sk (~ $x193 $x192)) (~ (not $x75) $x196)))) (let ((@x181 (monotonicity (refl (~ $x66 $x66)) (nnf-pos (refl (~ $x69 $x69)) (~ $x72 $x72)) (~ $x75 $x75)))) (let ((@x204 (nnf-pos (refl (~ $x28 $x28)) (refl (~ $x177 $x177)) @x181 @x199 (~ (= $x28 $x75) $x202)))) (let (($x42 (forall ((?v0 Nat$) )(! (let (($x39 (forall ((?v1 Nat$) )(! (let (($x33 (dvd$ ?v1 ?v0))) (=> $x33 (or (= (of_nat$ ?v1) 1) (= (of_nat$ ?v1) (of_nat$ ?v0))))) :qid k!10)) )) (let ((?x30 (of_nat$ ?v0))) (let (($x31 (< 1 ?x30))) (let (($x28 (prime_nat$ ?v0))) (= $x28 (and $x31 $x39)))))) :qid k!10)) )) (let (($x62 (forall ((?v0 Nat$) )(! (let (($x48 (forall ((?v1 Nat$) )(! (or (not (dvd$ ?v1 ?v0)) (or (= (of_nat$ ?v1) 1) (= (of_nat$ ?v1) (of_nat$ ?v0)))) :qid k!10)) )) (let ((?x30 (of_nat$ ?v0))) (let (($x31 (< 1 ?x30))) (let (($x51 (and $x31 $x48))) (let (($x28 (prime_nat$ ?v0))) (= $x28 $x51)))))) :qid k!10)) )) (let (($x78 (= $x28 $x75))) (let (($x48 (forall ((?v1 Nat$) )(! (or (not (dvd$ ?v1 ?0)) (or (= (of_nat$ ?v1) 1) (= (of_nat$ ?v1) (of_nat$ ?0)))) :qid k!10)) )) (let (($x31 (< 1 ?x30))) (let (($x51 (and $x31 $x48))) (let (($x57 (= $x28 $x51))) (let (($x45 (or (not (dvd$ ?0 ?1)) (or $x34 (= ?x30 (of_nat$ ?1)))))) (let ((@x77 (monotonicity (rewrite (= $x31 $x66)) (quant-intro (rewrite (= $x45 $x69)) (= $x48 $x72)) (= $x51 $x75)))) (let (($x39 (forall ((?v1 Nat$) )(! (let (($x33 (dvd$ ?v1 ?0))) (=> $x33 (or (= (of_nat$ ?v1) 1) (= (of_nat$ ?v1) (of_nat$ ?0))))) :qid k!10)) )) (let (($x41 (= $x28 (and $x31 $x39)))) (let ((@x47 (rewrite (= (=> (dvd$ ?0 ?1) (or $x34 (= ?x30 (of_nat$ ?1)))) $x45)))) (let ((@x53 (monotonicity (quant-intro @x47 (= $x39 $x48)) (= (and $x31 $x39) $x51)))) (let ((@x61 (trans (monotonicity @x53 (= $x41 (= $x28 $x51))) (rewrite (= (= $x28 $x51) $x57)) (= $x41 $x57)))) (let ((@x85 (trans (quant-intro @x61 (= $x42 $x62)) (quant-intro (monotonicity @x77 (= $x57 $x78)) (= $x62 $x81)) (= $x42 $x81)))) (let ((@x208 (mp~ (mp (asserted $x42) @x85 $x81) (nnf-pos @x204 (~ $x81 $x205)) $x205))) (let ((@x228 (mp @x208 (quant-intro (monotonicity @x221 (= $x202 $x222)) (= $x205 $x225)) $x225))) (let ((@x722 (mp (mp @x228 (quant-intro @x261 (= $x225 $x262)) $x262) @x721 $x719))) (let (($x329 (or (not $x719) $x665))) (let ((@x667 ((_ quant-inst (nat$ ?x98)) $x329))) (let ((@x553 (unit-resolution (def-axiom (or $x323 $x468)) (unit-resolution @x667 @x722 $x665) $x468))) (let (($x125 (not (or $x110 (>= ?x89 1))))) (let (($x94 (<= 1 ?x89))) (let (($x95 (=> (prime_nat$ (nat$ (+ ?x90 1))) $x94))) (let (($x96 (not $x95))) (let ((@x124 (monotonicity (rewrite (= $x94 (>= ?x89 1))) (= (or $x110 $x94) (or $x110 (>= ?x89 1)))))) (let ((@x103 (monotonicity (rewrite (= (+ ?x90 1) ?x98)) (= (nat$ (+ ?x90 1)) ?x101)))) (let ((@x109 (monotonicity (monotonicity @x103 (= (prime_nat$ (nat$ (+ ?x90 1))) $x104)) (= $x95 (=> $x104 $x94))))) (let ((@x115 (trans @x109 (rewrite (= (=> $x104 $x94) (or $x110 $x94))) (= $x95 (or $x110 $x94))))) (let ((@x129 (trans (monotonicity @x115 (= $x96 (not (or $x110 $x94)))) (monotonicity @x124 (= (not (or $x110 $x94)) $x125)) (= $x96 $x125)))) (let ((@x131 (not-or-elim (mp (asserted $x96) @x129 $x125) $x104))) (let ((@x479 (unit-resolution (unit-resolution (def-axiom (or $x678 $x110 $x338)) @x131 (or $x678 $x338)) @x553 $x338))) (let ((@x133 (not-or-elim (mp (asserted $x96) @x129 $x125) (not (>= ?x89 1))))) ((_ th-lemma arith farkas -4 1 1) @x133 (unit-resolution (def-axiom (or $x683 $x668)) @x479 $x668) @x551 false)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) -5e4cb132f817e2256c61e4ec223d6759992674e9 51 0 +60d94e0cd230c2f830228f101b7544d16a19dfd6 23 0 +unsat +((set-logic AUFLIA) +(proof +(let (($x40 (= x$ a$))) +(let ((?x36 (pair$ x$ y$))) +(let ((?x37 (fst$ ?x36))) +(let (($x39 (= ?x37 a$))) +(let ((@x50 (monotonicity (rewrite (= (=> $x39 $x40) (or (not $x39) $x40))) (= (not (=> $x39 $x40)) (not (or (not $x39) $x40)))))) +(let ((@x51 (not-or-elim (mp (asserted (not (=> $x39 $x40))) @x50 (not (or (not $x39) $x40))) $x39))) +(let (($x56 (= ?x37 x$))) +(let (($x478 (forall ((?v0 A$) (?v1 B$) )(! (= (fst$ (pair$ ?v0 ?v1)) ?v0) :pattern ( (pair$ ?v0 ?v1) ) :qid k!12)) +)) +(let (($x32 (forall ((?v0 A$) (?v1 B$) )(! (= (fst$ (pair$ ?v0 ?v1)) ?v0) :qid k!12)) +)) +(let (($x31 (= (fst$ (pair$ ?1 ?0)) ?1))) +(let ((@x55 (mp~ (asserted $x32) (nnf-pos (refl (~ $x31 $x31)) (~ $x32 $x32)) $x32))) +(let ((@x483 (mp @x55 (quant-intro (refl (= $x31 $x31)) (= $x32 $x478)) $x478))) +(let (($x62 (or (not $x478) $x56))) +(let ((@x149 ((_ quant-inst x$ y$) $x62))) +(let ((@x150 (trans (symm (unit-resolution @x149 @x483 $x56) (= x$ ?x37)) @x51 $x40))) +(let ((@x54 (not-or-elim (mp (asserted (not (=> $x39 $x40))) @x50 (not (or (not $x39) $x40))) (not $x40)))) +(unit-resolution @x54 @x150 false))))))))))))))))))) + +abc6aef55894d3d204d52d3df341120d4c77014e 42 0 +unsat +((set-logic AUFLIA) +(proof +(let ((?x59 (snd$a p2$))) +(let ((?x58 (fst$a p1$))) +(let (($x60 (= ?x58 ?x59))) +(let ((?x55 (pair$ y$ x$))) +(let (($x56 (= p2$ ?x55))) +(let ((?x52 (pair$a x$ y$))) +(let (($x53 (= p1$ ?x52))) +(let (($x57 (and $x53 $x56))) +(let ((@x70 (monotonicity (rewrite (= (=> $x57 $x60) (or (not $x57) $x60))) (= (not (=> $x57 $x60)) (not (or (not $x57) $x60)))))) +(let ((@x71 (not-or-elim (mp (asserted (not (=> $x57 $x60))) @x70 (not (or (not $x57) $x60))) $x57))) +(let ((@x74 (and-elim @x71 $x56))) +(let ((@x504 (symm (monotonicity @x74 (= ?x59 (snd$a ?x55))) (= (snd$a ?x55) ?x59)))) +(let ((?x100 (snd$a ?x55))) +(let (($x185 (= ?x100 x$))) +(let (($x534 (forall ((?v0 B$) (?v1 A$) )(! (= (snd$a (pair$ ?v0 ?v1)) ?v1) :pattern ( (pair$ ?v0 ?v1) ) :qid k!21)) +)) +(let (($x47 (forall ((?v0 B$) (?v1 A$) )(! (= (snd$a (pair$ ?v0 ?v1)) ?v1) :qid k!21)) +)) +(let (($x46 (= (snd$a (pair$ ?1 ?0)) ?0))) +(let ((@x96 (mp~ (asserted $x47) (nnf-pos (refl (~ $x46 $x46)) (~ $x47 $x47)) $x47))) +(let ((@x539 (mp @x96 (quant-intro (refl (= $x46 $x46)) (= $x47 $x534)) $x534))) +(let (($x190 (or (not $x534) $x185))) +(let ((@x191 ((_ quant-inst y$ x$) $x190))) +(let ((?x187 (fst$a ?x52))) +(let (($x188 (= ?x187 x$))) +(let (($x522 (forall ((?v0 A$) (?v1 B$) )(! (= (fst$a (pair$a ?v0 ?v1)) ?v0) :pattern ( (pair$a ?v0 ?v1) ) :qid k!19)) +)) +(let (($x39 (forall ((?v0 A$) (?v1 B$) )(! (= (fst$a (pair$a ?v0 ?v1)) ?v0) :qid k!19)) +)) +(let (($x38 (= (fst$a (pair$a ?1 ?0)) ?1))) +(let ((@x90 (mp~ (asserted $x39) (nnf-pos (refl (~ $x38 $x38)) (~ $x39 $x39)) $x39))) +(let ((@x527 (mp @x90 (quant-intro (refl (= $x38 $x38)) (= $x39 $x522)) $x522))) +(let (($x162 (or (not $x522) $x188))) +(let ((@x292 ((_ quant-inst x$ y$) $x162))) +(let ((@x505 (trans (monotonicity (and-elim @x71 $x53) (= ?x58 ?x187)) (unit-resolution @x292 @x527 $x188) (= ?x58 x$)))) +(let ((@x489 (trans @x505 (symm (unit-resolution @x191 @x539 $x185) (= x$ ?x100)) (= ?x58 ?x100)))) +(let ((@x76 (not-or-elim (mp (asserted (not (=> $x57 $x60))) @x70 (not (or (not $x57) $x60))) (not $x60)))) +(unit-resolution @x76 (trans @x489 @x504 $x60) false)))))))))))))))))))))))))))))))))))) + +d251f21fb3589ab6ed61bce83e553bbcd5ee429c 51 0 unsat ((set-logic AUFLIA) (proof (let ((?x61 (fun_app$ f$ i$))) (let ((?x57 (fun_upd$ f$ i1$ v1$))) (let ((?x59 (fun_upd$ ?x57 i2$ v2$))) (let ((?x60 (fun_app$ ?x59 i$))) (let (($x62 (= ?x60 ?x61))) (let ((?x189 (fun_app$ ?x57 i$))) (let (($x197 (= ?x189 ?x61))) (let (($x196 (= ?x189 v1$))) (let (($x49 (= i$ i1$))) (let (($x476 (ite $x49 $x196 $x197))) (let (($x524 (forall ((?v0 A_b_fun$) (?v1 A$) (?v2 B$) (?v3 A$) )(! (let (($x41 (= ?v3 ?v1))) (ite $x41 (= (fun_app$ (fun_upd$ ?v0 ?v1 ?v2) ?v3) ?v2) (= (fun_app$ (fun_upd$ ?v0 ?v1 ?v2) ?v3) (fun_app$ ?v0 ?v3)))) :pattern ( (fun_app$ (fun_upd$ ?v0 ?v1 ?v2) ?v3) ) :qid k!16)) )) (let (($x94 (forall ((?v0 A_b_fun$) (?v1 A$) (?v2 B$) (?v3 A$) )(! (let (($x41 (= ?v3 ?v1))) (ite $x41 (= (fun_app$ (fun_upd$ ?v0 ?v1 ?v2) ?v3) ?v2) (= (fun_app$ (fun_upd$ ?v0 ?v1 ?v2) ?v3) (fun_app$ ?v0 ?v3)))) :qid k!16)) )) (let (($x41 (= ?0 ?2))) (let (($x89 (ite $x41 (= (fun_app$ (fun_upd$ ?3 ?2 ?1) ?0) ?1) (= (fun_app$ (fun_upd$ ?3 ?2 ?1) ?0) (fun_app$ ?3 ?0))))) (let (($x45 (forall ((?v0 A_b_fun$) (?v1 A$) (?v2 B$) (?v3 A$) )(! (let ((?x40 (fun_app$ (fun_upd$ ?v0 ?v1 ?v2) ?v3))) (= ?x40 (ite (= ?v3 ?v1) ?v2 (fun_app$ ?v0 ?v3)))) :qid k!16)) )) (let ((?x40 (fun_app$ (fun_upd$ ?3 ?2 ?1) ?0))) (let (($x44 (= ?x40 (ite $x41 ?1 (fun_app$ ?3 ?0))))) (let ((@x82 (mp~ (asserted $x45) (nnf-pos (refl (~ $x44 $x44)) (~ $x45 $x45)) $x45))) (let ((@x97 (mp @x82 (quant-intro (rewrite (= $x44 $x89)) (= $x45 $x94)) $x94))) (let ((@x529 (mp @x97 (quant-intro (refl (= $x89 $x89)) (= $x94 $x524)) $x524))) (let (($x163 (not $x524))) (let (($x478 (or $x163 $x476))) (let ((@x479 ((_ quant-inst f$ i1$ v1$ i$) $x478))) (let (($x50 (not $x49))) (let (($x52 (= i$ i2$))) (let (($x53 (not $x52))) (let (($x54 (and $x50 $x53))) (let ((@x72 (monotonicity (rewrite (= (=> $x54 $x62) (or (not $x54) $x62))) (= (not (=> $x54 $x62)) (not (or (not $x54) $x62)))))) (let ((@x73 (not-or-elim (mp (asserted (not (=> $x54 $x62))) @x72 (not (or (not $x54) $x62))) $x54))) (let ((@x74 (and-elim @x73 $x50))) (let ((@x313 (unit-resolution (def-axiom (or (not $x476) $x49 $x197)) @x74 (or (not $x476) $x197)))) (let (($x192 (= ?x60 ?x189))) (let (($x188 (= ?x60 v2$))) (let (($x171 (ite $x52 $x188 $x192))) (let (($x293 (or $x163 $x171))) (let ((@x503 ((_ quant-inst (fun_upd$ f$ i1$ v1$) i2$ v2$ i$) $x293))) (let ((@x76 (and-elim @x73 $x53))) (let ((@x458 (unit-resolution (def-axiom (or (not $x171) $x52 $x192)) @x76 (or (not $x171) $x192)))) (let ((@x462 (trans (unit-resolution @x458 (unit-resolution @x503 @x529 $x171) $x192) (unit-resolution @x313 (unit-resolution @x479 @x529 $x476) $x197) $x62))) (let ((@x78 (not-or-elim (mp (asserted (not (=> $x54 $x62))) @x72 (not (or (not $x54) $x62))) (not $x62)))) (unit-resolution @x78 @x462 false))))))))))))))))))))))))))))))))))))))))))) -a7a12d91db289166a47592e85e858193337352b3 24 0 +481375169802669da2461e9c7ce3d0e407b7bc16 24 0 unsat ((set-logic AUFLIA) (proof (let (($x29 (f$ g$ x$))) (let (($x73 (not $x29))) (let (($x65 (not (or (= $x29 (fun_app$ g$ x$)) $x29 (fun_app$ g$ x$))))) (let (($x32 (= $x29 (and (fun_app$ g$ x$) true)))) (let (($x37 (not (or $x32 (or (= $x29 true) (= (fun_app$ g$ x$) true)))))) (let (($x30 (fun_app$ g$ x$))) (let (($x44 (= $x29 $x30))) (let (($x56 (or $x44 (or $x29 $x30)))) (let ((@x67 (monotonicity (rewrite (= $x56 (or $x44 $x29 $x30))) (= (not $x56) $x65)))) (let ((@x55 (monotonicity (rewrite (= (= $x29 true) $x29)) (rewrite (= (= $x30 true) $x30)) (= (or (= $x29 true) (= $x30 true)) (or $x29 $x30))))) (let ((@x43 (monotonicity (rewrite (= (and $x30 true) $x30)) (= $x32 (= $x29 $x30))))) (let ((@x58 (monotonicity (trans @x43 (rewrite (= (= $x29 $x30) $x44)) (= $x32 $x44)) @x55 (= (or $x32 (or (= $x29 true) (= $x30 true))) $x56)))) (let ((@x69 (trans (monotonicity @x58 (= $x37 (not $x56))) @x67 (= $x37 $x65)))) (let ((@x70 (mp (asserted $x37) @x69 $x65))) (let ((@x87 (monotonicity (iff-false (not-or-elim @x70 (not $x30)) (= $x30 false)) (= (= $x73 $x30) (= $x73 false))))) (let ((@x91 (trans @x87 (rewrite (= (= $x73 false) $x29)) (= (= $x73 $x30) $x29)))) (let ((@x93 (trans @x91 (iff-false (not-or-elim @x70 $x73) (= $x29 false)) (= (= $x73 $x30) false)))) (let (($x77 (= $x73 $x30))) (let ((@x80 (mp (not-or-elim @x70 (not $x44)) (rewrite (= (not $x44) $x77)) $x77))) (mp @x80 @x93 false)))))))))))))))))))))) -007c741fde1e8e6491cbd3c04ab271d45f47868f 45 0 +847a42093e0c7ebac5b356b94c79945004bf96e9 45 0 unsat ((set-logic AUFLIA) (proof (let ((?x44 (id$ x$))) (let (($x46 (= ?x44 x$))) (let (($x73 (not $x46))) (let (($x47 (id$a true))) (let (($x510 (forall ((?v0 Bool) )(! (let (($x33 (id$a ?v0))) (= $x33 ?v0)) :pattern ( (id$a ?v0) ) :qid k!9)) )) (let (($x40 (forall ((?v0 Bool) )(! (let (($x33 (id$a ?v0))) (= $x33 ?v0)) :qid k!9)) )) (let ((@x514 (quant-intro (refl (= (= (id$a ?0) ?0) (= (id$a ?0) ?0))) (= $x40 $x510)))) (let ((@x69 (nnf-pos (refl (~ (= (id$a ?0) ?0) (= (id$a ?0) ?0))) (~ $x40 $x40)))) (let (($x35 (forall ((?v0 Bool) )(! (let (($x33 (id$a ?v0))) (= $x33 ?v0)) :qid k!9)) )) (let ((@x42 (quant-intro (rewrite (= (= (id$a ?0) ?0) (= (id$a ?0) ?0))) (= $x35 $x40)))) (let ((@x515 (mp (mp~ (mp (asserted $x35) @x42 $x40) @x69 $x40) @x514 $x510))) (let (($x87 (or (not $x510) $x47))) (let ((@x176 (monotonicity (rewrite (= (= $x47 true) $x47)) (= (or (not $x510) (= $x47 true)) $x87)))) (let ((@x179 (trans @x176 (rewrite (= $x87 $x87)) (= (or (not $x510) (= $x47 true)) $x87)))) (let ((@x495 (unit-resolution (mp ((_ quant-inst true) (or (not $x510) (= $x47 true))) @x179 $x87) @x515 (hypothesis (not $x47)) false))) (let (($x71 (or $x73 (not $x47)))) (let ((@x79 (monotonicity (rewrite (= (and $x46 $x47) (not $x71))) (= (not (and $x46 $x47)) (not (not $x71)))))) (let ((@x83 (trans @x79 (rewrite (= (not (not $x71)) $x71)) (= (not (and $x46 $x47)) $x71)))) (let (($x54 (and $x46 $x47))) (let (($x57 (not $x54))) (let ((@x56 (monotonicity (rewrite (= (= $x47 true) $x47)) (= (and $x46 (= $x47 true)) $x54)))) (let ((@x62 (mp (asserted (not (and $x46 (= $x47 true)))) (monotonicity @x56 (= (not (and $x46 (= $x47 true))) $x57)) $x57))) (let ((@x84 (mp @x62 @x83 $x71))) (let (($x503 (forall ((?v0 A$) )(! (let ((?x28 (id$ ?v0))) (= ?x28 ?v0)) :pattern ( (id$ ?v0) ) :qid k!8)) )) (let (($x30 (forall ((?v0 A$) )(! (let ((?x28 (id$ ?v0))) (= ?x28 ?v0)) :qid k!8)) )) (let ((@x507 (quant-intro (refl (= (= (id$ ?0) ?0) (= (id$ ?0) ?0))) (= $x30 $x503)))) (let ((@x64 (nnf-pos (refl (~ (= (id$ ?0) ?0) (= (id$ ?0) ?0))) (~ $x30 $x30)))) (let ((@x508 (mp (mp~ (asserted $x30) @x64 $x30) @x507 $x503))) (let (($x163 (or (not $x503) $x46))) (let ((@x496 ((_ quant-inst x$) $x163))) (unit-resolution @x496 @x508 (unit-resolution @x84 (lemma @x495 $x47) $x73) false))))))))))))))))))))))))))))))))) -1e460cc19bd04463ff2cfe3d4f84064a301cbc7a 11 0 +7db89748bff125dc0b538776ae3b570548832266 11 0 unsat ((set-logic AUFLIA) (proof (let (($x29 (exists ((?v0 A$) )(! (g$ ?v0) :qid k!7)) )) (let (($x30 (f$ $x29))) (let (($x31 (=> $x30 true))) (let (($x32 (not $x31))) (let ((@x42 (trans (monotonicity (rewrite (= $x31 true)) (= $x32 (not true))) (rewrite (= (not true) false)) (= $x32 false)))) (mp (asserted $x32) @x42 false)))))))) -45adc4aad0a65892aab62fc883141746ca482192 11 0 +f60c850fda8f88ddfddcac265e198fed2855c01b 11 0 unsat ((set-logic AUFLIA) (proof -(let (($x29 (forall ((?v0 A$) )(! (p$ ?v0) :qid k!6)) +(let (($x29 (forall ((?v0 A$) )(! (g$ ?v0) :qid k!7)) )) -(let (($x30 (not $x29))) -(let (($x31 (or $x29 $x30))) +(let (($x30 (f$ $x29))) +(let (($x31 (=> $x30 true))) (let (($x32 (not $x31))) (let ((@x42 (trans (monotonicity (rewrite (= $x31 true)) (= $x32 (not true))) (rewrite (= (not true) false)) (= $x32 false)))) (mp (asserted $x32) @x42 false)))))))) -dc9c699374a745fbbd7639b7a8a0668e412a34bb 46 0 +f9e10e513fd0588f5d6c281610f4889bb0668a34 46 0 unsat ((set-logic AUFLIA) (proof (let ((?x61 (fun_app$a le$ 3))) (let (($x63 (fun_app$ ?x61 42))) (let (($x75 (not $x63))) (let (($x59 (= le$ uu$))) (let ((@x73 (monotonicity (rewrite (= (=> $x59 $x63) (or (not $x59) $x63))) (= (not (=> $x59 $x63)) (not (or (not $x59) $x63)))))) (let ((@x74 (not-or-elim (mp (asserted (not (=> $x59 $x63))) @x73 (not (or (not $x59) $x63))) $x59))) (let ((@x482 (monotonicity (symm @x74 (= uu$ le$)) (= (fun_app$a uu$ 3) ?x61)))) (let ((@x484 (symm (monotonicity @x482 (= (fun_app$ (fun_app$a uu$ 3) 42) $x63)) (= $x63 (fun_app$ (fun_app$a uu$ 3) 42))))) (let ((@x472 (monotonicity @x484 (= $x75 (not (fun_app$ (fun_app$a uu$ 3) 42)))))) (let ((@x77 (not-or-elim (mp (asserted (not (=> $x59 $x63))) @x73 (not (or (not $x59) $x63))) $x75))) (let ((?x79 (fun_app$a uu$ 3))) (let (($x168 (fun_app$ ?x79 42))) (let (($x52 (forall ((?v0 Int) (?v1 Int) )(! (let (($x46 (<= (+ ?v0 (* (- 1) ?v1)) 0))) (let (($x31 (fun_app$ (fun_app$a uu$ ?v0) ?v1))) (= $x31 $x46))) :pattern ( (fun_app$ (fun_app$a uu$ ?v0) ?v1) ) :qid k!10)) )) (let (($x46 (<= (+ ?1 (* (- 1) ?0)) 0))) (let (($x31 (fun_app$ (fun_app$a uu$ ?1) ?0))) (let (($x49 (= $x31 $x46))) (let (($x35 (forall ((?v0 Int) (?v1 Int) )(! (let (($x32 (<= ?v0 ?v1))) (let (($x31 (fun_app$ (fun_app$a uu$ ?v0) ?v1))) (= $x31 $x32))) :pattern ( (fun_app$ (fun_app$a uu$ ?v0) ?v1) ) :qid k!10)) )) (let (($x40 (forall ((?v0 Int) (?v1 Int) )(! (let (($x32 (<= ?v0 ?v1))) (let (($x31 (fun_app$ (fun_app$a uu$ ?v0) ?v1))) (= $x31 $x32))) :pattern ( (fun_app$ (fun_app$a uu$ ?v0) ?v1) ) :qid k!10)) )) (let ((@x51 (monotonicity (rewrite (= (<= ?1 ?0) $x46)) (= (= $x31 (<= ?1 ?0)) $x49)))) (let ((@x42 (quant-intro (rewrite (= (= $x31 (<= ?1 ?0)) (= $x31 (<= ?1 ?0)))) (= $x35 $x40)))) (let ((@x57 (mp (asserted $x35) (trans @x42 (quant-intro @x51 (= $x40 $x52)) (= $x35 $x52)) $x52))) (let ((@x78 (mp~ @x57 (nnf-pos (refl (~ $x49 $x49)) (~ $x52 $x52)) $x52))) (let (($x134 (or (not $x52) $x168))) (let (($x137 (= (or (not $x52) (= $x168 (<= (+ 3 (* (- 1) 42)) 0))) $x134))) (let ((?x169 (* (- 1) 42))) (let ((?x170 (+ 3 ?x169))) (let (($x160 (<= ?x170 0))) (let (($x171 (= $x168 $x160))) (let ((@x158 (trans (monotonicity (rewrite (= ?x169 (- 42))) (= ?x170 (+ 3 (- 42)))) (rewrite (= (+ 3 (- 42)) (- 39))) (= ?x170 (- 39))))) (let ((@x497 (trans (monotonicity @x158 (= $x160 (<= (- 39) 0))) (rewrite (= (<= (- 39) 0) true)) (= $x160 true)))) (let ((@x131 (trans (monotonicity @x497 (= $x171 (= $x168 true))) (rewrite (= (= $x168 true) $x168)) (= $x171 $x168)))) (let ((@x478 (mp ((_ quant-inst 3 42) (or (not $x52) $x171)) (trans (monotonicity @x131 $x137) (rewrite (= $x134 $x134)) $x137) $x134))) (unit-resolution (unit-resolution @x478 @x78 $x168) (mp @x77 @x472 (not $x168)) false))))))))))))))))))))))))))))))))))) -85b5834715b5e4e1024c8904c8b28a8b2abf704f 75 0 +88fa92ffd8ea964848bdbb197defe1efa7fdd2e7 75 0 unsat ((set-logic AUFLIA) (proof (let ((?x78 (cons$ 2 nil$))) (let ((?x79 (cons$ 1 ?x78))) (let ((?x74 (cons$ 1 nil$))) (let ((?x75 (cons$ 0 ?x74))) (let ((?x76 (map$ uu$ ?x75))) (let (($x80 (= ?x76 ?x79))) (let ((?x185 (map$ uu$ ?x74))) (let ((?x189 (map$ uu$ nil$))) (let ((?x188 (fun_app$ uu$ 1))) (let ((?x160 (cons$ ?x188 ?x189))) (let (($x290 (= ?x185 ?x160))) (let (($x521 (forall ((?v0 Int_int_fun$) (?v1 Int) (?v2 Int_list$) )(! (= (map$ ?v0 (cons$ ?v1 ?v2)) (cons$ (fun_app$ ?v0 ?v1) (map$ ?v0 ?v2))) :pattern ( (map$ ?v0 (cons$ ?v1 ?v2)) ) :pattern ( (cons$ (fun_app$ ?v0 ?v1) (map$ ?v0 ?v2)) ) :qid k!13)) )) (let (($x72 (forall ((?v0 Int_int_fun$) (?v1 Int) (?v2 Int_list$) )(! (= (map$ ?v0 (cons$ ?v1 ?v2)) (cons$ (fun_app$ ?v0 ?v1) (map$ ?v0 ?v2))) :qid k!13)) )) (let (($x71 (= (map$ ?2 (cons$ ?1 ?0)) (cons$ (fun_app$ ?2 ?1) (map$ ?2 ?0))))) (let ((@x97 (mp~ (asserted $x72) (nnf-pos (refl (~ $x71 $x71)) (~ $x72 $x72)) $x72))) (let ((@x526 (mp @x97 (quant-intro (refl (= $x71 $x71)) (= $x72 $x521)) $x521))) (let (($x173 (or (not $x521) $x290))) (let ((@x506 ((_ quant-inst uu$ 1 nil$) $x173))) (let (($x492 (= ?x189 nil$))) (let (($x513 (forall ((?v0 Int_int_fun$) )(! (= (map$ ?v0 nil$) nil$) :pattern ( (map$ ?v0 nil$) ) :qid k!12)) )) (let (($x61 (forall ((?v0 Int_int_fun$) )(! (= (map$ ?v0 nil$) nil$) :qid k!12)) )) (let ((@x515 (refl (= (= (map$ ?0 nil$) nil$) (= (map$ ?0 nil$) nil$))))) (let ((@x83 (refl (~ (= (map$ ?0 nil$) nil$) (= (map$ ?0 nil$) nil$))))) (let ((@x518 (mp (mp~ (asserted $x61) (nnf-pos @x83 (~ $x61 $x61)) $x61) (quant-intro @x515 (= $x61 $x513)) $x513))) (let (($x495 (or (not $x513) $x492))) (let ((@x496 ((_ quant-inst uu$) $x495))) (let (($x136 (= ?x188 2))) (let (($x51 (forall ((?v0 Int) )(! (= (+ ?v0 (* (- 1) (fun_app$ uu$ ?v0))) (- 1)) :pattern ( (fun_app$ uu$ ?v0) ) :qid k!11)) )) (let (($x47 (= (+ ?0 (* (- 1) (fun_app$ uu$ ?0))) (- 1)))) (let (($x34 (forall ((?v0 Int) )(! (let ((?x29 (fun_app$ uu$ ?v0))) (= ?x29 (+ ?v0 1))) :pattern ( (fun_app$ uu$ ?v0) ) :qid k!11)) )) (let (($x42 (forall ((?v0 Int) )(! (let ((?x29 (fun_app$ uu$ ?v0))) (= ?x29 (+ 1 ?v0))) :pattern ( (fun_app$ uu$ ?v0) ) :qid k!11)) )) (let ((@x53 (quant-intro (rewrite (= (= (fun_app$ uu$ ?0) (+ 1 ?0)) $x47)) (= $x42 $x51)))) (let ((?x29 (fun_app$ uu$ ?0))) (let (($x39 (= ?x29 (+ 1 ?0)))) (let ((@x41 (monotonicity (rewrite (= (+ ?0 1) (+ 1 ?0))) (= (= ?x29 (+ ?0 1)) $x39)))) (let ((@x56 (mp (asserted $x34) (trans (quant-intro @x41 (= $x34 $x42)) @x53 (= $x34 $x51)) $x51))) (let ((@x85 (mp~ @x56 (nnf-pos (refl (~ $x47 $x47)) (~ $x51 $x51)) $x51))) (let (($x145 (not $x51))) (let (($x499 (or $x145 $x136))) (let ((@x498 (rewrite (= (= (+ 1 (* (- 1) ?x188)) (- 1)) $x136)))) (let ((@x204 (monotonicity @x498 (= (or $x145 (= (+ 1 (* (- 1) ?x188)) (- 1))) $x499)))) (let ((@x207 (trans @x204 (rewrite (= $x499 $x499)) (= (or $x145 (= (+ 1 (* (- 1) ?x188)) (- 1))) $x499)))) (let ((@x104 (mp ((_ quant-inst 1) (or $x145 (= (+ 1 (* (- 1) ?x188)) (- 1)))) @x207 $x499))) (let ((@x191 (monotonicity (symm (unit-resolution @x104 @x85 $x136) (= 2 ?x188)) (symm (unit-resolution @x496 @x518 $x492) (= nil$ ?x189)) (= ?x78 ?x160)))) (let ((@x473 (trans @x191 (symm (unit-resolution @x506 @x526 $x290) (= ?x160 ?x185)) (= ?x78 ?x185)))) (let ((?x182 (fun_app$ uu$ 0))) (let (($x163 (= ?x182 1))) (let (($x487 (or $x145 $x163))) (let ((@x501 (monotonicity (rewrite (= (+ 0 (* (- 1) ?x182)) (* (- 1) ?x182))) (= (= (+ 0 (* (- 1) ?x182)) (- 1)) (= (* (- 1) ?x182) (- 1)))))) (let ((@x503 (trans @x501 (rewrite (= (= (* (- 1) ?x182) (- 1)) $x163)) (= (= (+ 0 (* (- 1) ?x182)) (- 1)) $x163)))) (let ((@x151 (monotonicity @x503 (= (or $x145 (= (+ 0 (* (- 1) ?x182)) (- 1))) $x487)))) (let ((@x490 (trans @x151 (rewrite (= $x487 $x487)) (= (or $x145 (= (+ 0 (* (- 1) ?x182)) (- 1))) $x487)))) (let ((@x491 (mp ((_ quant-inst 0) (or $x145 (= (+ 0 (* (- 1) ?x182)) (- 1)))) @x490 $x487))) (let ((@x478 (monotonicity (symm (unit-resolution @x491 @x85 $x163) (= 1 ?x182)) @x473 (= ?x79 (cons$ ?x182 ?x185))))) (let ((?x186 (cons$ ?x182 ?x185))) (let (($x187 (= ?x76 ?x186))) (let (($x504 (or (not $x521) $x187))) (let ((@x505 ((_ quant-inst uu$ 0 (cons$ 1 nil$)) $x504))) (let ((@x466 (trans (unit-resolution @x505 @x526 $x187) (symm @x478 (= ?x186 ?x79)) $x80))) (let (($x81 (not $x80))) (let ((@x82 (asserted $x81))) (unit-resolution @x82 @x466 false)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) -41140cb6c9910268908cf109c82533c28c91e219 11 0 +f06072929c8d142e53379b87462f703ce8c8fca8 11 0 unsat ((set-logic AUFLIA) (proof -(let (($x29 (forall ((?v0 A$) )(! (g$ ?v0) :qid k!7)) +(let (($x29 (forall ((?v0 A$) )(! (p$ ?v0) :qid k!6)) )) -(let (($x30 (f$ $x29))) -(let (($x31 (=> $x30 true))) +(let (($x30 (not $x29))) +(let (($x31 (or $x29 $x30))) (let (($x32 (not $x31))) (let ((@x42 (trans (monotonicity (rewrite (= $x31 true)) (= $x32 (not true))) (rewrite (= (not true) false)) (= $x32 false)))) (mp (asserted $x32) @x42 false)))))))) -4244be0c19336abc9efe7cacc29f63cb8c90bbc9 109 0 +c36d2d391586c8a6d1e6b8e7a73bd245b4c2def7 109 0 unsat ((set-logic AUFLIA) (proof (let ((?x75 (dec_10$ 4))) (let ((?x76 (* 4 ?x75))) (let ((?x77 (dec_10$ ?x76))) (let (($x79 (= ?x77 6))) (let (($x150 (<= ?x75 4))) (let (($x174 (= ?x75 4))) (let (($x513 (forall ((?v0 Int) )(! (let (($x55 (>= ?v0 10))) (ite $x55 (= (dec_10$ ?v0) (dec_10$ (+ (- 10) ?v0))) (= (dec_10$ ?v0) ?v0))) :pattern ( (dec_10$ ?v0) ) :qid k!5)) )) (let (($x92 (forall ((?v0 Int) )(! (let (($x55 (>= ?v0 10))) (ite $x55 (= (dec_10$ ?v0) (dec_10$ (+ (- 10) ?v0))) (= (dec_10$ ?v0) ?v0))) :qid k!5)) )) (let (($x55 (>= ?0 10))) (let (($x87 (ite $x55 (= (dec_10$ ?0) (dec_10$ (+ (- 10) ?0))) (= (dec_10$ ?0) ?0)))) (let (($x68 (forall ((?v0 Int) )(! (let ((?x38 (+ (- 10) ?v0))) (let ((?x41 (dec_10$ ?x38))) (let (($x55 (>= ?v0 10))) (let ((?x60 (ite $x55 ?x41 ?v0))) (let ((?x28 (dec_10$ ?v0))) (= ?x28 ?x60)))))) :qid k!5)) )) (let ((?x38 (+ (- 10) ?0))) (let ((?x41 (dec_10$ ?x38))) (let ((?x60 (ite $x55 ?x41 ?0))) (let ((?x28 (dec_10$ ?0))) (let (($x65 (= ?x28 ?x60))) (let (($x35 (forall ((?v0 Int) )(! (let ((?x28 (dec_10$ ?v0))) (= ?x28 (ite (< ?v0 10) ?v0 (dec_10$ (- ?v0 10))))) :qid k!5)) )) (let (($x50 (forall ((?v0 Int) )(! (let ((?x38 (+ (- 10) ?v0))) (let ((?x41 (dec_10$ ?x38))) (let (($x30 (< ?v0 10))) (let ((?x44 (ite $x30 ?v0 ?x41))) (let ((?x28 (dec_10$ ?v0))) (= ?x28 ?x44)))))) :qid k!5)) )) (let ((@x59 (monotonicity (rewrite (= (< ?0 10) (not $x55))) (= (ite (< ?0 10) ?0 ?x41) (ite (not $x55) ?0 ?x41))))) (let ((@x64 (trans @x59 (rewrite (= (ite (not $x55) ?0 ?x41) ?x60)) (= (ite (< ?0 10) ?0 ?x41) ?x60)))) (let ((@x67 (monotonicity @x64 (= (= ?x28 (ite (< ?0 10) ?0 ?x41)) $x65)))) (let (($x30 (< ?0 10))) (let ((?x44 (ite $x30 ?0 ?x41))) (let (($x47 (= ?x28 ?x44))) (let ((@x43 (monotonicity (rewrite (= (- ?0 10) ?x38)) (= (dec_10$ (- ?0 10)) ?x41)))) (let ((@x49 (monotonicity (monotonicity @x43 (= (ite $x30 ?0 (dec_10$ (- ?0 10))) ?x44)) (= (= ?x28 (ite $x30 ?0 (dec_10$ (- ?0 10)))) $x47)))) (let ((@x72 (trans (quant-intro @x49 (= $x35 $x50)) (quant-intro @x67 (= $x50 $x68)) (= $x35 $x68)))) (let ((@x86 (mp~ (mp (asserted $x35) @x72 $x68) (nnf-pos (refl (~ $x65 $x65)) (~ $x68 $x68)) $x68))) (let ((@x95 (mp @x86 (quant-intro (rewrite (= $x65 $x87)) (= $x68 $x92)) $x92))) (let ((@x518 (mp @x95 (quant-intro (refl (= $x87 $x87)) (= $x92 $x513)) $x513))) (let (($x501 (not $x513))) (let (($x163 (or $x501 $x174))) (let ((?x97 (+ (- 10) 4))) (let ((?x183 (dec_10$ ?x97))) (let (($x184 (= ?x75 ?x183))) (let (($x96 (>= 4 10))) (let (($x185 (ite $x96 $x184 $x174))) (let ((@x172 (monotonicity (monotonicity (rewrite (= ?x97 (- 6))) (= ?x183 (dec_10$ (- 6)))) (= $x184 (= ?x75 (dec_10$ (- 6))))))) (let ((@x507 (monotonicity (rewrite (= $x96 false)) @x172 (= $x185 (ite false (= ?x75 (dec_10$ (- 6))) $x174))))) (let ((@x511 (trans @x507 (rewrite (= (ite false (= ?x75 (dec_10$ (- 6))) $x174) $x174)) (= $x185 $x174)))) (let ((@x148 (trans (monotonicity @x511 (= (or $x501 $x185) $x163)) (rewrite (= $x163 $x163)) (= (or $x501 $x185) $x163)))) (let ((@x149 (mp ((_ quant-inst 4) (or $x501 $x185)) @x148 $x163))) (let ((@x438 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x174) $x150)) (unit-resolution @x149 @x518 $x174) $x150))) (let (($x151 (>= ?x75 4))) (let ((@x428 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x174) $x151)) (unit-resolution @x149 @x518 $x174) $x151))) (let ((?x489 (+ (- 10) ?x76))) (let ((?x490 (dec_10$ ?x489))) (let ((?x448 (* (- 1) ?x490))) (let ((?x449 (+ ?x76 ?x448))) (let (($x444 (<= ?x449 10))) (let (($x292 (= ?x449 10))) (let ((?x455 (+ (- 20) ?x76))) (let ((?x458 (dec_10$ ?x455))) (let (($x461 (= ?x490 ?x458))) (let (($x310 (>= ?x75 5))) (let (($x450 (ite $x310 $x461 $x292))) (let (($x453 (or $x501 $x450))) (let (($x470 (= ?x490 ?x489))) (let ((?x467 (+ (- 10) ?x489))) (let ((?x468 (dec_10$ ?x467))) (let (($x469 (= ?x490 ?x468))) (let (($x466 (>= ?x489 10))) (let (($x471 (ite $x466 $x469 $x470))) (let ((@x463 (monotonicity (monotonicity (rewrite (= ?x467 ?x455)) (= ?x468 ?x458)) (= $x469 $x461)))) (let ((@x452 (monotonicity (rewrite (= $x466 $x310)) @x463 (rewrite (= $x470 $x292)) (= $x471 $x450)))) (let ((@x442 (trans (monotonicity @x452 (= (or $x501 $x471) $x453)) (rewrite (= $x453 $x453)) (= (or $x501 $x471) $x453)))) (let ((@x443 (mp ((_ quant-inst (+ (- 10) ?x76)) (or $x501 $x471)) @x442 $x453))) (let (($x346 (not $x310))) (let ((@x418 (unit-resolution (def-axiom (or (not $x450) $x310 $x292)) (unit-resolution ((_ th-lemma arith farkas 1 1) (or $x346 (not $x150))) @x438 $x346) (or (not $x450) $x292)))) (let ((@x422 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x292) $x444)) (unit-resolution @x418 (unit-resolution @x443 @x518 $x450) $x292) $x444))) (let (($x336 (>= ?x449 10))) (let ((@x410 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x292) $x336)) (unit-resolution @x418 (unit-resolution @x443 @x518 $x450) $x292) $x336))) (let (($x491 (= ?x77 ?x490))) (let ((?x499 (* (- 1) ?x77))) (let ((?x485 (+ ?x76 ?x499))) (let (($x497 (= ?x485 0))) (let (($x131 (>= ?x75 3))) (let (($x486 (ite $x131 $x491 $x497))) (let (($x205 (or $x501 $x486))) (let ((@x204 (monotonicity (rewrite (= (>= ?x76 10) $x131)) (rewrite (= (= ?x77 ?x76) $x497)) (= (ite (>= ?x76 10) $x491 (= ?x77 ?x76)) $x486)))) (let ((@x479 (monotonicity @x204 (= (or $x501 (ite (>= ?x76 10) $x491 (= ?x77 ?x76))) $x205)))) (let ((@x212 (trans @x479 (rewrite (= $x205 $x205)) (= (or $x501 (ite (>= ?x76 10) $x491 (= ?x77 ?x76))) $x205)))) (let ((@x481 (mp ((_ quant-inst (* 4 ?x75)) (or $x501 (ite (>= ?x76 10) $x491 (= ?x77 ?x76)))) @x212 $x205))) (let ((@x397 (unit-resolution (def-axiom (or (not $x486) (not $x131) $x491)) (unit-resolution ((_ th-lemma arith farkas 1 1) (or $x131 (not $x151))) @x428 $x131) (unit-resolution @x481 @x518 $x486) $x491))) (let (($x80 (not $x79))) (let ((@x81 (asserted $x80))) (unit-resolution @x81 (trans @x397 ((_ th-lemma arith eq-propagate 1 1 -4 -4) @x410 @x422 @x428 @x438 (= ?x490 6)) $x79) false))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) -341760516a6945174e657494d3881bda7f0b1219 348 0 +703387d92be4ef7e4f1bc652b2328a3b33f53830 348 0 unsat ((set-logic ) (proof (let ((?x96 (map$ uu$ xs$))) (let ((?x97 (eval_dioph$ ks$ ?x96))) (let ((?x424 (+ l$ ?x97))) (let ((?x425 (mod ?x424 2))) (let (($x482 (>= ?x425 2))) (let (($x564 (not $x482))) (let ((@x26 (true-axiom true))) (let ((?x369 (* (- 1) l$))) (let ((?x93 (eval_dioph$ ks$ xs$))) (let ((?x678 (+ ?x93 ?x369))) (let (($x679 (<= ?x678 0))) (let (($x95 (= ?x93 l$))) (let ((?x110 (* (- 1) ?x97))) (let ((?x111 (+ l$ ?x110))) (let ((?x114 (divide$ ?x111 2))) (let ((?x101 (map$ uua$ xs$))) (let ((?x102 (eval_dioph$ ks$ ?x101))) (let (($x117 (= ?x102 ?x114))) (let (($x282 (not $x117))) (let ((?x99 (modulo$ l$ 2))) (let ((?x98 (modulo$ ?x97 2))) (let (($x100 (= ?x98 ?x99))) (let (($x281 (not $x100))) (let (($x283 (or $x281 $x282))) (let (($x465 (>= ?x425 0))) (let ((?x496 (* (- 2) ?x102))) (let ((?x497 (+ ?x93 ?x110 ?x496))) (let (($x504 (<= ?x497 0))) (let (($x498 (= ?x497 0))) (let (($x304 (forall ((?v0 Int_list$) (?v1 Int_list$) )(! (let ((?x45 (eval_dioph$ ?v0 ?v1))) (let ((?x83 (+ ?x45 (* (- 1) (eval_dioph$ ?v0 (map$ uu$ ?v1))) (* (- 2) (eval_dioph$ ?v0 (map$ uua$ ?v1)))))) (= ?x83 0))) :pattern ( (eval_dioph$ ?v0 (map$ uu$ ?v1)) ) :pattern ( (eval_dioph$ ?v0 (map$ uua$ ?v1)) ) :qid k!19)) )) (let (($x85 (forall ((?v0 Int_list$) (?v1 Int_list$) )(! (let ((?x45 (eval_dioph$ ?v0 ?v1))) (let ((?x83 (+ ?x45 (* (- 1) (eval_dioph$ ?v0 (map$ uu$ ?v1))) (* (- 2) (eval_dioph$ ?v0 (map$ uua$ ?v1)))))) (= ?x83 0))) :qid k!19)) )) (let ((?x45 (eval_dioph$ ?1 ?0))) (let ((?x83 (+ ?x45 (* (- 1) (eval_dioph$ ?1 (map$ uu$ ?0))) (* (- 2) (eval_dioph$ ?1 (map$ uua$ ?0)))))) (let (($x79 (= ?x83 0))) (let (($x58 (forall ((?v0 Int_list$) (?v1 Int_list$) )(! (let ((?x45 (eval_dioph$ ?v0 ?v1))) (let ((?x48 (eval_dioph$ ?v0 (map$ uu$ ?v1)))) (let ((?x56 (+ (* (eval_dioph$ ?v0 (map$ uua$ ?v1)) 2) ?x48))) (= ?x56 ?x45)))) :qid k!19)) )) (let (($x74 (forall ((?v0 Int_list$) (?v1 Int_list$) )(! (let ((?x45 (eval_dioph$ ?v0 ?v1))) (let ((?x54 (eval_dioph$ ?v0 (map$ uua$ ?v1)))) (let ((?x60 (* 2 ?x54))) (let ((?x48 (eval_dioph$ ?v0 (map$ uu$ ?v1)))) (let ((?x66 (+ ?x48 ?x60))) (= ?x66 ?x45)))))) :qid k!19)) )) (let ((?x54 (eval_dioph$ ?1 (map$ uua$ ?0)))) (let ((?x60 (* 2 ?x54))) (let ((?x48 (eval_dioph$ ?1 (map$ uu$ ?0)))) (let ((?x66 (+ ?x48 ?x60))) (let (($x71 (= ?x66 ?x45))) (let ((@x65 (monotonicity (rewrite (= (* ?x54 2) ?x60)) (= (+ (* ?x54 2) ?x48) (+ ?x60 ?x48))))) (let ((@x70 (trans @x65 (rewrite (= (+ ?x60 ?x48) ?x66)) (= (+ (* ?x54 2) ?x48) ?x66)))) (let ((@x76 (quant-intro (monotonicity @x70 (= (= (+ (* ?x54 2) ?x48) ?x45) $x71)) (= $x58 $x74)))) (let ((@x89 (trans @x76 (quant-intro (rewrite (= $x71 $x79)) (= $x74 $x85)) (= $x58 $x85)))) (let ((@x270 (mp~ (mp (asserted $x58) @x89 $x85) (nnf-pos (refl (~ $x79 $x79)) (~ $x85 $x85)) $x85))) (let ((@x309 (mp @x270 (quant-intro (refl (= $x79 $x79)) (= $x85 $x304)) $x304))) (let (($x502 (or (not $x304) $x498))) (let ((@x503 ((_ quant-inst ks$ xs$) $x502))) (let ((@x795 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x498) $x504)) (unit-resolution @x503 @x309 $x498) $x504))) (let (($x815 (not $x679))) (let (($x680 (>= ?x678 0))) (let ((?x592 (mod ?x97 2))) (let ((?x619 (* (- 1) ?x592))) (let ((?x511 (mod l$ 2))) (let ((?x538 (* (- 1) ?x511))) (let ((?x776 (* (- 1) ?x102))) (let ((?x759 (+ l$ ?x98 ?x776 ?x538 (* (- 1) (div l$ 2)) ?x619 (* (- 1) (div ?x97 2))))) (let (($x760 (>= ?x759 1))) (let (($x747 (not $x760))) (let ((?x674 (* (- 1) ?x99))) (let ((?x675 (+ ?x98 ?x674))) (let (($x676 (<= ?x675 0))) (let (($x284 (not $x283))) (let ((@x493 (hypothesis $x284))) (let ((@x781 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x281 $x676)) (unit-resolution (def-axiom (or $x283 $x100)) @x493 $x100) $x676))) (let ((?x670 (* (- 1) ?x114))) (let ((?x671 (+ ?x102 ?x670))) (let (($x673 (>= ?x671 0))) (let ((@x787 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x282 $x673)) (unit-resolution (def-axiom (or $x283 $x117)) @x493 $x117) $x673))) (let ((?x557 (div l$ 2))) (let ((?x570 (* (- 2) ?x557))) (let ((?x571 (+ l$ ?x538 ?x570))) (let (($x576 (<= ?x571 0))) (let (($x569 (= ?x571 0))) (let ((@x568 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x569) $x576)) (unit-resolution ((_ th-lemma arith) (or false $x569)) @x26 $x569) $x576))) (let ((?x620 (+ ?x98 ?x619))) (let (($x635 (<= ?x620 0))) (let (($x621 (= ?x620 0))) (let (($x318 (forall ((?v0 Int) (?v1 Int) )(! (let ((?x200 (mod ?v0 ?v1))) (let ((?x157 (* (- 1) ?v1))) (let ((?x154 (* (- 1) ?v0))) (let ((?x208 (mod ?x154 ?x157))) (let ((?x214 (* (- 1) ?x208))) (let (($x175 (<= ?v1 0))) (let ((?x234 (ite $x175 ?x214 ?x200))) (let (($x143 (= ?v1 0))) (let ((?x239 (ite $x143 ?v0 ?x234))) (let ((?x199 (modulo$ ?v0 ?v1))) (= ?x199 ?x239))))))))))) :pattern ( (modulo$ ?v0 ?v1) ) :qid k!22)) )) (let (($x245 (forall ((?v0 Int) (?v1 Int) )(! (let ((?x200 (mod ?v0 ?v1))) (let ((?x157 (* (- 1) ?v1))) (let ((?x154 (* (- 1) ?v0))) (let ((?x208 (mod ?x154 ?x157))) (let ((?x214 (* (- 1) ?x208))) (let (($x175 (<= ?v1 0))) (let ((?x234 (ite $x175 ?x214 ?x200))) (let (($x143 (= ?v1 0))) (let ((?x239 (ite $x143 ?v0 ?x234))) (let ((?x199 (modulo$ ?v0 ?v1))) (= ?x199 ?x239))))))))))) :qid k!22)) )) (let ((?x200 (mod ?1 ?0))) (let ((?x157 (* (- 1) ?0))) (let ((?x154 (* (- 1) ?1))) (let ((?x208 (mod ?x154 ?x157))) (let ((?x214 (* (- 1) ?x208))) (let (($x175 (<= ?0 0))) (let ((?x234 (ite $x175 ?x214 ?x200))) (let (($x143 (= ?0 0))) (let ((?x239 (ite $x143 ?1 ?x234))) (let ((?x199 (modulo$ ?1 ?0))) (let (($x242 (= ?x199 ?x239))) (let (($x206 (forall ((?v0 Int) (?v1 Int) )(! (let (($x143 (= ?v1 0))) (let ((?x204 (ite $x143 ?v0 (ite (< 0 ?v1) (mod ?v0 ?v1) (- (mod (- ?v0) (- ?v1))))))) (let ((?x199 (modulo$ ?v0 ?v1))) (= ?x199 ?x204)))) :qid k!22)) )) (let (($x228 (forall ((?v0 Int) (?v1 Int) )(! (let ((?x157 (* (- 1) ?v1))) (let ((?x154 (* (- 1) ?v0))) (let ((?x208 (mod ?x154 ?x157))) (let ((?x214 (* (- 1) ?x208))) (let ((?x200 (mod ?v0 ?v1))) (let (($x144 (< 0 ?v1))) (let ((?x219 (ite $x144 ?x200 ?x214))) (let (($x143 (= ?v1 0))) (let ((?x222 (ite $x143 ?v0 ?x219))) (let ((?x199 (modulo$ ?v0 ?v1))) (= ?x199 ?x222))))))))))) :qid k!22)) )) (let ((@x233 (monotonicity (rewrite (= (< 0 ?0) (not $x175))) (= (ite (< 0 ?0) ?x200 ?x214) (ite (not $x175) ?x200 ?x214))))) (let ((@x238 (trans @x233 (rewrite (= (ite (not $x175) ?x200 ?x214) ?x234)) (= (ite (< 0 ?0) ?x200 ?x214) ?x234)))) (let ((@x241 (monotonicity @x238 (= (ite $x143 ?1 (ite (< 0 ?0) ?x200 ?x214)) ?x239)))) (let ((@x244 (monotonicity @x241 (= (= ?x199 (ite $x143 ?1 (ite (< 0 ?0) ?x200 ?x214))) $x242)))) (let (($x144 (< 0 ?0))) (let ((?x219 (ite $x144 ?x200 ?x214))) (let ((?x222 (ite $x143 ?1 ?x219))) (let (($x225 (= ?x199 ?x222))) (let (($x226 (= (= ?x199 (ite $x143 ?1 (ite $x144 ?x200 (- (mod (- ?1) (- ?0)))))) $x225))) (let ((@x210 (monotonicity (rewrite (= (- ?1) ?x154)) (rewrite (= (- ?0) ?x157)) (= (mod (- ?1) (- ?0)) ?x208)))) (let ((@x218 (trans (monotonicity @x210 (= (- (mod (- ?1) (- ?0))) (- ?x208))) (rewrite (= (- ?x208) ?x214)) (= (- (mod (- ?1) (- ?0))) ?x214)))) (let ((@x221 (monotonicity @x218 (= (ite $x144 ?x200 (- (mod (- ?1) (- ?0)))) ?x219)))) (let ((@x224 (monotonicity @x221 (= (ite $x143 ?1 (ite $x144 ?x200 (- (mod (- ?1) (- ?0))))) ?x222)))) (let ((@x249 (trans (quant-intro (monotonicity @x224 $x226) (= $x206 $x228)) (quant-intro @x244 (= $x228 $x245)) (= $x206 $x245)))) (let ((@x280 (mp~ (mp (asserted $x206) @x249 $x245) (nnf-pos (refl (~ $x242 $x242)) (~ $x245 $x245)) $x245))) (let ((@x323 (mp @x280 (quant-intro (refl (= $x242 $x242)) (= $x245 $x318)) $x318))) (let (($x545 (not $x318))) (let (($x626 (or $x545 $x621))) (let ((?x359 (* (- 1) 2))) (let ((?x590 (mod ?x110 ?x359))) (let ((?x591 (* (- 1) ?x590))) (let (($x357 (<= 2 0))) (let ((?x593 (ite $x357 ?x591 ?x592))) (let (($x356 (= 2 0))) (let ((?x594 (ite $x356 ?x97 ?x593))) (let (($x595 (= ?x98 ?x594))) (let ((@x601 (monotonicity (monotonicity (rewrite (= ?x359 (- 2))) (= ?x590 (mod ?x110 (- 2)))) (= ?x591 (* (- 1) (mod ?x110 (- 2))))))) (let ((@x368 (rewrite (= $x357 false)))) (let ((@x604 (monotonicity @x368 @x601 (= ?x593 (ite false (* (- 1) (mod ?x110 (- 2))) ?x592))))) (let ((@x608 (trans @x604 (rewrite (= (ite false (* (- 1) (mod ?x110 (- 2))) ?x592) ?x592)) (= ?x593 ?x592)))) (let ((@x366 (rewrite (= $x356 false)))) (let ((@x615 (trans (monotonicity @x366 @x608 (= ?x594 (ite false ?x97 ?x592))) (rewrite (= (ite false ?x97 ?x592) ?x592)) (= ?x594 ?x592)))) (let ((@x625 (trans (monotonicity @x615 (= $x595 (= ?x98 ?x592))) (rewrite (= (= ?x98 ?x592) $x621)) (= $x595 $x621)))) (let ((@x633 (trans (monotonicity @x625 (= (or $x545 $x595) $x626)) (rewrite (= $x626 $x626)) (= (or $x545 $x595) $x626)))) (let ((@x634 (mp ((_ quant-inst (eval_dioph$ ks$ ?x96) 2) (or $x545 $x595)) @x633 $x626))) (let ((@x431 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x621) $x635)) (unit-resolution @x634 @x323 $x621) $x635))) (let ((?x637 (div ?x97 2))) (let ((?x650 (* (- 2) ?x637))) (let ((?x651 (+ ?x97 ?x619 ?x650))) (let (($x656 (<= ?x651 0))) (let (($x649 (= ?x651 0))) (let ((@x661 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x649) $x656)) (unit-resolution ((_ th-lemma arith) (or false $x649)) @x26 $x649) $x656))) (let ((?x539 (+ ?x99 ?x538))) (let (($x555 (<= ?x539 0))) (let (($x540 (= ?x539 0))) (let (($x546 (or $x545 $x540))) (let ((?x506 (mod ?x369 ?x359))) (let ((?x507 (* (- 1) ?x506))) (let ((?x512 (ite $x357 ?x507 ?x511))) (let ((?x513 (ite $x356 l$ ?x512))) (let (($x514 (= ?x99 ?x513))) (let ((@x520 (monotonicity (monotonicity (rewrite (= ?x359 (- 2))) (= ?x506 (mod ?x369 (- 2)))) (= ?x507 (* (- 1) (mod ?x369 (- 2))))))) (let ((@x523 (monotonicity @x368 @x520 (= ?x512 (ite false (* (- 1) (mod ?x369 (- 2))) ?x511))))) (let ((@x527 (trans @x523 (rewrite (= (ite false (* (- 1) (mod ?x369 (- 2))) ?x511) ?x511)) (= ?x512 ?x511)))) (let ((@x534 (trans (monotonicity @x366 @x527 (= ?x513 (ite false l$ ?x511))) (rewrite (= (ite false l$ ?x511) ?x511)) (= ?x513 ?x511)))) (let ((@x544 (trans (monotonicity @x534 (= $x514 (= ?x99 ?x511))) (rewrite (= (= ?x99 ?x511) $x540)) (= $x514 $x540)))) (let ((@x553 (trans (monotonicity @x544 (= (or $x545 $x514) $x546)) (rewrite (= $x546 $x546)) (= (or $x545 $x514) $x546)))) (let ((@x554 (mp ((_ quant-inst l$ 2) (or $x545 $x514)) @x553 $x546))) (let ((@x668 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x540) $x555)) (unit-resolution @x554 @x323 $x540) $x555))) (let ((?x361 (div ?x111 2))) (let ((?x395 (* (- 1) ?x361))) (let ((?x396 (+ ?x114 ?x395))) (let (($x414 (>= ?x396 0))) (let (($x397 (= ?x396 0))) (let (($x311 (forall ((?v0 Int) (?v1 Int) )(! (let ((?x145 (div ?v0 ?v1))) (let ((?x157 (* (- 1) ?v1))) (let ((?x154 (* (- 1) ?v0))) (let ((?x160 (div ?x154 ?x157))) (let (($x175 (<= ?v1 0))) (let ((?x182 (ite $x175 ?x160 ?x145))) (let (($x143 (= ?v1 0))) (let ((?x141 (divide$ ?v0 ?v1))) (= ?x141 (ite $x143 0 ?x182)))))))))) :pattern ( (divide$ ?v0 ?v1) ) :qid k!21)) )) (let (($x193 (forall ((?v0 Int) (?v1 Int) )(! (let ((?x145 (div ?v0 ?v1))) (let ((?x157 (* (- 1) ?v1))) (let ((?x154 (* (- 1) ?v0))) (let ((?x160 (div ?x154 ?x157))) (let (($x175 (<= ?v1 0))) (let ((?x182 (ite $x175 ?x160 ?x145))) (let (($x143 (= ?v1 0))) (let ((?x141 (divide$ ?v0 ?v1))) (= ?x141 (ite $x143 0 ?x182)))))))))) :qid k!21)) )) (let ((?x141 (divide$ ?1 ?0))) (let (($x190 (= ?x141 (ite $x143 0 (ite $x175 (div ?x154 ?x157) (div ?1 ?0)))))) (let (($x152 (forall ((?v0 Int) (?v1 Int) )(! (let (($x143 (= ?v1 0))) (let ((?x150 (ite $x143 0 (ite (< 0 ?v1) (div ?v0 ?v1) (div (- ?v0) (- ?v1)))))) (let ((?x141 (divide$ ?v0 ?v1))) (= ?x141 ?x150)))) :qid k!21)) )) (let (($x172 (forall ((?v0 Int) (?v1 Int) )(! (let ((?x157 (* (- 1) ?v1))) (let ((?x154 (* (- 1) ?v0))) (let ((?x160 (div ?x154 ?x157))) (let ((?x145 (div ?v0 ?v1))) (let (($x144 (< 0 ?v1))) (let ((?x163 (ite $x144 ?x145 ?x160))) (let (($x143 (= ?v1 0))) (let ((?x166 (ite $x143 0 ?x163))) (let ((?x141 (divide$ ?v0 ?v1))) (= ?x141 ?x166)))))))))) :qid k!21)) )) (let ((?x160 (div ?x154 ?x157))) (let ((?x145 (div ?1 ?0))) (let ((?x163 (ite $x144 ?x145 ?x160))) (let ((?x166 (ite $x143 0 ?x163))) (let (($x169 (= ?x141 ?x166))) (let ((@x181 (monotonicity (rewrite (= $x144 (not $x175))) (= ?x163 (ite (not $x175) ?x145 ?x160))))) (let ((@x186 (trans @x181 (rewrite (= (ite (not $x175) ?x145 ?x160) (ite $x175 ?x160 ?x145))) (= ?x163 (ite $x175 ?x160 ?x145))))) (let ((@x192 (monotonicity (monotonicity @x186 (= ?x166 (ite $x143 0 (ite $x175 ?x160 ?x145)))) (= $x169 $x190)))) (let (($x170 (= (= ?x141 (ite $x143 0 (ite $x144 ?x145 (div (- ?1) (- ?0))))) $x169))) (let ((@x162 (monotonicity (rewrite (= (- ?1) ?x154)) (rewrite (= (- ?0) ?x157)) (= (div (- ?1) (- ?0)) ?x160)))) (let ((@x168 (monotonicity (monotonicity @x162 (= (ite $x144 ?x145 (div (- ?1) (- ?0))) ?x163)) (= (ite $x143 0 (ite $x144 ?x145 (div (- ?1) (- ?0)))) ?x166)))) (let ((@x197 (trans (quant-intro (monotonicity @x168 $x170) (= $x152 $x172)) (quant-intro @x192 (= $x172 $x193)) (= $x152 $x193)))) (let ((@x275 (mp~ (mp (asserted $x152) @x197 $x193) (nnf-pos (refl (~ $x190 $x190)) (~ $x193 $x193)) $x193))) (let ((@x316 (mp @x275 (quant-intro (refl (= $x190 $x190)) (= $x193 $x311)) $x311))) (let (($x403 (or (not $x311) $x397))) (let ((?x358 (* (- 1) ?x111))) (let ((?x360 (div ?x358 ?x359))) (let ((?x362 (ite $x357 ?x360 ?x361))) (let ((?x363 (ite $x356 0 ?x362))) (let (($x364 (= ?x114 ?x363))) (let ((@x374 (rewrite (= ?x359 (- 2))))) (let ((@x377 (monotonicity (rewrite (= ?x358 (+ ?x369 ?x97))) @x374 (= ?x360 (div (+ ?x369 ?x97) (- 2)))))) (let ((@x380 (monotonicity @x368 @x377 (= ?x362 (ite false (div (+ ?x369 ?x97) (- 2)) ?x361))))) (let ((@x384 (trans @x380 (rewrite (= (ite false (div (+ ?x369 ?x97) (- 2)) ?x361) ?x361)) (= ?x362 ?x361)))) (let ((@x391 (trans (monotonicity @x366 @x384 (= ?x363 (ite false 0 ?x361))) (rewrite (= (ite false 0 ?x361) ?x361)) (= ?x363 ?x361)))) (let ((@x401 (trans (monotonicity @x391 (= $x364 (= ?x114 ?x361))) (rewrite (= (= ?x114 ?x361) $x397)) (= $x364 $x397)))) (let ((@x410 (trans (monotonicity @x401 (= (or (not $x311) $x364) $x403)) (rewrite (= $x403 $x403)) (= (or (not $x311) $x364) $x403)))) (let ((@x411 (mp ((_ quant-inst (+ l$ ?x110) 2) (or (not $x311) $x364)) @x410 $x403))) (let ((@x485 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x397) $x414)) (unit-resolution @x411 @x316 $x397) $x414))) (let ((?x436 (* (- 1) ?x425))) (let ((?x435 (* (- 2) ?x361))) (let ((?x437 (+ l$ ?x110 ?x435 ?x436))) (let (($x442 (<= ?x437 0))) (let (($x434 (= ?x437 0))) (let ((@x745 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x434) $x442)) (unit-resolution ((_ th-lemma arith) (or false $x434)) @x26 $x434) $x442))) (let ((@x746 ((_ th-lemma arith farkas 1 -2 -2 -2 1 1 1 1 1 1) @x745 @x485 (hypothesis $x673) (hypothesis $x760) (hypothesis $x676) @x668 @x661 @x431 @x568 (unit-resolution ((_ th-lemma arith) (or false $x564)) @x26 $x564) false))) (let ((@x788 (unit-resolution (lemma @x746 (or $x747 (not $x673) (not $x676))) @x787 @x781 $x747))) (let (($x677 (>= ?x675 0))) (let ((@x812 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x281 $x677)) (unit-resolution (def-axiom (or $x283 $x100)) @x493 $x100) $x677))) (let (($x577 (>= ?x571 0))) (let ((@x778 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x569) $x577)) (unit-resolution ((_ th-lemma arith) (or false $x569)) @x26 $x569) $x577))) (let (($x556 (>= ?x539 0))) (let ((@x645 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x540) $x556)) (unit-resolution @x554 @x323 $x540) $x556))) (let (($x636 (>= ?x620 0))) (let ((@x652 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x621) $x636)) (unit-resolution @x634 @x323 $x621) $x636))) (let (($x505 (>= ?x497 0))) (let ((@x488 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x498) $x505)) (unit-resolution @x503 @x309 $x498) $x505))) (let (($x657 (>= ?x651 0))) (let ((@x581 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x649) $x657)) (unit-resolution ((_ th-lemma arith) (or false $x649)) @x26 $x649) $x657))) (let ((@x582 ((_ th-lemma arith farkas -1/2 -1/2 -1/2 1/2 -1/2 -1/2 -1/2 1) @x581 (hypothesis $x677) @x488 (hypothesis (not $x680)) @x652 @x645 @x778 (hypothesis $x747) false))) (let ((@x813 (unit-resolution (lemma @x582 (or $x680 (not $x677) $x760)) @x812 @x788 $x680))) (let (($x134 (not $x95))) (let (($x290 (= $x95 $x283))) (let ((@x289 (monotonicity (rewrite (= (and $x100 $x117) $x284)) (= (= $x134 (and $x100 $x117)) (= $x134 $x284))))) (let ((@x294 (trans @x289 (rewrite (= (= $x134 $x284) $x290)) (= (= $x134 (and $x100 $x117)) $x290)))) (let (($x120 (and $x100 $x117))) (let (($x135 (= $x134 $x120))) (let (($x107 (= $x95 (and $x100 (= ?x102 (divide$ (- l$ ?x97) 2)))))) (let (($x108 (not $x107))) (let ((@x116 (monotonicity (rewrite (= (- l$ ?x97) ?x111)) (= (divide$ (- l$ ?x97) 2) ?x114)))) (let ((@x122 (monotonicity (monotonicity @x116 (= (= ?x102 (divide$ (- l$ ?x97) 2)) $x117)) (= (and $x100 (= ?x102 (divide$ (- l$ ?x97) 2))) $x120)))) (let ((@x130 (trans (monotonicity @x122 (= $x107 (= $x95 $x120))) (rewrite (= (= $x95 $x120) (= $x95 $x120))) (= $x107 (= $x95 $x120))))) (let ((@x139 (trans (monotonicity @x130 (= $x108 (not (= $x95 $x120)))) (rewrite (= (not (= $x95 $x120)) $x135)) (= $x108 $x135)))) (let ((@x295 (mp (mp (asserted $x108) @x139 $x135) @x294 $x290))) (let ((@x344 (unit-resolution (def-axiom (or $x134 $x283 (not $x290))) @x295 (or $x134 $x283)))) (let ((@x819 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x95 $x815 (not $x680))) (unit-resolution @x344 @x493 $x134) (or $x815 (not $x680))))) (let (($x672 (<= ?x671 0))) (let ((@x823 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x282 $x672)) (unit-resolution (def-axiom (or $x283 $x117)) @x493 $x117) $x672))) (let (($x413 (<= ?x396 0))) (let ((@x802 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x397) $x413)) (unit-resolution @x411 @x316 $x397) $x413))) (let (($x443 (>= ?x437 0))) (let ((@x826 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x434) $x443)) (unit-resolution ((_ th-lemma arith) (or false $x434)) @x26 $x434) $x443))) (let ((@x827 ((_ th-lemma arith farkas 1 -2 -2 1 -1 1) @x826 @x802 @x823 (unit-resolution @x819 @x813 $x815) @x795 (unit-resolution ((_ th-lemma arith) (or false $x465)) @x26 $x465) false))) (let ((@x828 (lemma @x827 $x283))) (let ((@x340 (unit-resolution (def-axiom (or $x95 $x284 (not $x290))) @x295 (or $x95 $x284)))) (let ((@x584 (unit-resolution @x340 @x828 $x95))) (let (($x807 (not $x672))) (let ((@x888 ((_ th-lemma arith assign-bounds 1 -1/2 -1/2 1/2 -1/2) (or $x673 (not $x413) (not $x465) (not $x443) (not $x504) (not $x680))))) (let ((@x889 (unit-resolution @x888 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x134 $x680)) @x584 $x680) @x802 @x826 (unit-resolution ((_ th-lemma arith) (or false $x465)) @x26 $x465) @x795 $x673))) (let ((@x728 (monotonicity (symm @x584 (= l$ ?x93)) (= ?x99 (modulo$ ?x93 2))))) (let ((?x499 (modulo$ ?x93 2))) (let (($x500 (= ?x499 ?x98))) (let (($x297 (forall ((?v0 Int_list$) (?v1 Int_list$) )(! (= (modulo$ (eval_dioph$ ?v0 ?v1) 2) (modulo$ (eval_dioph$ ?v0 (map$ uu$ ?v1)) 2)) :pattern ( (eval_dioph$ ?v0 (map$ uu$ ?v1)) ) :qid k!18)) )) (let (($x51 (forall ((?v0 Int_list$) (?v1 Int_list$) )(! (= (modulo$ (eval_dioph$ ?v0 ?v1) 2) (modulo$ (eval_dioph$ ?v0 (map$ uu$ ?v1)) 2)) :qid k!18)) )) (let (($x50 (= (modulo$ ?x45 2) (modulo$ ?x48 2)))) (let ((@x265 (mp~ (asserted $x51) (nnf-pos (refl (~ $x50 $x50)) (~ $x51 $x51)) $x51))) (let ((@x302 (mp @x265 (quant-intro (refl (= $x50 $x50)) (= $x51 $x297)) $x297))) (let (($x464 (or (not $x297) $x500))) (let ((@x578 ((_ quant-inst ks$ xs$) $x464))) (let ((@x748 (trans (symm (unit-resolution @x578 @x302 $x500) (= ?x98 ?x499)) (symm @x728 (= ?x499 ?x99)) $x100))) (let ((@x891 (unit-resolution (unit-resolution (def-axiom (or $x284 $x281 $x282)) @x828 $x283) (lemma (unit-resolution (hypothesis $x281) @x748 false) $x100) $x282))) (let ((@x895 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x117 $x807 (not $x673))) @x891 (or $x807 (not $x673))))) ((_ th-lemma arith farkas -2 -2 1 -1 1 1) (unit-resolution @x895 @x889 $x807) @x485 @x745 @x488 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x134 $x679)) @x584 $x679) (unit-resolution ((_ th-lemma arith) (or false $x564)) @x26 $x564) false))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) -e7854e1b6f2371461d17d5751e574a95a9d2644d 64 0 +9c0ac00b9444829edc9751ffc537b6a41af5144b 64 0 unsat ((set-logic AUFLIA) (proof (let ((?x108 (collect$ uu$))) (let ((?x109 (sup$ ?x108))) (let (($x117 (less_eq$ ?x109 ?x109))) (let (($x118 (not $x117))) (let ((@x119 (asserted $x118))) (let ((?x111 (collect$ uua$))) (let ((?x112 (sup$ ?x111))) (let (($x115 (less_eq$ ?x112 ?x109))) (let ((@x116 (asserted $x115))) (let (($x113 (less_eq$ ?x109 ?x112))) (let ((@x114 (asserted $x113))) (let (($x578 (forall ((?v0 A$) (?v1 A$) (?v2 A$) )(! (let (($x97 (less_eq$ ?v0 ?v2))) (let (($x95 (less_eq$ ?v1 ?v2))) (let (($x138 (not $x95))) (let (($x93 (less_eq$ ?v0 ?v1))) (let (($x137 (not $x93))) (or $x137 $x138 $x97)))))) :pattern ( (less_eq$ ?v0 ?v1) (less_eq$ ?v1 ?v2) ) :qid k!17)) )) (let (($x156 (forall ((?v0 A$) (?v1 A$) (?v2 A$) )(! (let (($x97 (less_eq$ ?v0 ?v2))) (let (($x95 (less_eq$ ?v1 ?v2))) (let (($x138 (not $x95))) (let (($x93 (less_eq$ ?v0 ?v1))) (let (($x137 (not $x93))) (or $x137 $x138 $x97)))))) :qid k!17)) )) (let ((@x583 (trans (rewrite (= $x156 $x578)) (rewrite (= $x578 $x578)) (= $x156 $x578)))) (let (($x105 (forall ((?v0 A$) (?v1 A$) (?v2 A$) )(! (let (($x97 (less_eq$ ?v0 ?v2))) (let (($x95 (less_eq$ ?v1 ?v2))) (let (($x93 (less_eq$ ?v0 ?v1))) (let (($x96 (and $x93 $x95))) (let (($x101 (not $x96))) (or $x101 $x97)))))) :qid k!17)) )) (let (($x97 (less_eq$ ?2 ?0))) (let (($x95 (less_eq$ ?1 ?0))) (let (($x138 (not $x95))) (let (($x93 (less_eq$ ?2 ?1))) (let (($x137 (not $x93))) (let (($x151 (or $x137 $x138 $x97))) (let (($x96 (and $x93 $x95))) (let (($x101 (not $x96))) (let (($x102 (or $x101 $x97))) (let ((@x143 (monotonicity (rewrite (= $x96 (not (or $x137 $x138)))) (= $x101 (not (not (or $x137 $x138))))))) (let ((@x147 (trans @x143 (rewrite (= (not (not (or $x137 $x138))) (or $x137 $x138))) (= $x101 (or $x137 $x138))))) (let ((@x155 (trans (monotonicity @x147 (= $x102 (or (or $x137 $x138) $x97))) (rewrite (= (or (or $x137 $x138) $x97) $x151)) (= $x102 $x151)))) (let (($x99 (forall ((?v0 A$) (?v1 A$) (?v2 A$) )(! (let (($x97 (less_eq$ ?v0 ?v2))) (let (($x95 (less_eq$ ?v1 ?v2))) (let (($x93 (less_eq$ ?v0 ?v1))) (let (($x96 (and $x93 $x95))) (=> $x96 $x97))))) :qid k!17)) )) (let ((@x110 (mp (asserted $x99) (quant-intro (rewrite (= (=> $x96 $x97) $x102)) (= $x99 $x105)) $x105))) (let ((@x159 (mp (mp~ @x110 (nnf-pos (refl (~ $x102 $x102)) (~ $x105 $x105)) $x105) (quant-intro @x155 (= $x105 $x156)) $x156))) (let ((@x584 (mp @x159 @x583 $x578))) (let (($x247 (not $x115))) (let (($x160 (not $x113))) (let (($x251 (not $x578))) (let (($x252 (or $x251 $x160 $x247 $x117))) (let ((@x570 (mp ((_ quant-inst (sup$ ?x108) (sup$ ?x111) (sup$ ?x108)) (or $x251 (or $x160 $x247 $x117))) (rewrite (= (or $x251 (or $x160 $x247 $x117)) $x252)) $x252))) (unit-resolution @x570 @x584 @x114 @x116 @x119 false))))))))))))))))))))))))))))))))))))))) -53256a17fda698860255ca06ca403057a7847e4b 25 0 +3d46cc152552934c74a9b7e72f528acd2da80760 25 0 unsat ((set-logic AUFLIA) (proof (let (($x142 (pred$e 1))) (let (($x144 (not $x142))) (let ((@x145 (asserted $x144))) (let (($x615 (forall ((?v0 Int) )(! (pred$e ?v0) :pattern ( (pred$e ?v0) ) :qid k!29)) )) (let (($x138 (forall ((?v0 Int) )(! (pred$e ?v0) :qid k!29)) )) (let (($x127 (forall ((?v0 Int) )(! (let (($x125 (or (pred$d (cons$d ?v0 nil$d)) (not (pred$d (cons$d ?v0 nil$d)))))) (let (($x119 (pred$e ?v0))) (and $x119 $x125))) :qid k!29)) )) (let (($x119 (pred$e ?0))) (let (($x125 (or (pred$d (cons$d ?0 nil$d)) (not (pred$d (cons$d ?0 nil$d)))))) (let (($x126 (and $x119 $x125))) (let ((@x133 (monotonicity (rewrite (= $x125 true)) (= $x126 (and $x119 true))))) (let ((@x140 (quant-intro (trans @x133 (rewrite (= (and $x119 true) $x119)) (= $x126 $x119)) (= $x127 $x138)))) (let ((@x170 (mp~ (mp (asserted $x127) @x140 $x138) (nnf-pos (refl (~ $x119 $x119)) (~ $x138 $x138)) $x138))) (let ((@x620 (mp @x170 (quant-intro (refl (= $x119 $x119)) (= $x138 $x615)) $x615))) (let (($x257 (or (not $x615) $x142))) (let ((@x258 ((_ quant-inst 1) $x257))) (unit-resolution @x258 @x620 @x145 false)))))))))))))))))) -9b9a3d55dfc209ebb876a6eb9fcfbca8df90f899 101 0 +83f2e868ac360af426c9844684088eb79f31b9ad 101 0 unsat ((set-logic AUFLIA) (proof (let ((?x124 (some$a true))) (let ((?x125 (g$b ?x124))) (let ((?x122 (some$ 3))) (let ((?x123 (g$ ?x122))) (let (($x126 (= ?x123 ?x125))) (let ((?x269 (cons$a true nil$a))) (let ((?x270 (g$c ?x269))) (let (($x587 (= ?x125 ?x270))) (let (($x604 (forall ((?v0 Bool) )(! (= (g$b (some$a ?v0)) (g$c (cons$a ?v0 nil$a))) :pattern ( (some$a ?v0) ) :pattern ( (cons$a ?v0 nil$a) ) :qid k!33)) )) (let (($x43 (forall ((?v0 Bool) )(! (= (g$b (some$a ?v0)) (g$c (cons$a ?v0 nil$a))) :qid k!33)) )) (let (($x42 (= (g$b (some$a ?0)) (g$c (cons$a ?0 nil$a))))) (let ((@x160 (mp~ (asserted $x43) (nnf-pos (refl (~ $x42 $x42)) (~ $x43 $x43)) $x43))) (let ((@x609 (mp @x160 (quant-intro (refl (= $x42 $x42)) (= $x43 $x604)) $x604))) (let (($x254 (or (not $x604) $x587))) (let ((@x255 ((_ quant-inst true) $x254))) (let ((?x227 (size$ ?x269))) (let (($x569 (= ?x270 ?x227))) (let (($x612 (forall ((?v0 Bool_list$) )(! (let ((?x61 (size$ ?v0))) (let ((?x60 (g$c ?v0))) (= ?x60 ?x61))) :pattern ( (g$c ?v0) ) :pattern ( (size$ ?v0) ) :qid k!38)) )) (let (($x63 (forall ((?v0 Bool_list$) )(! (let ((?x61 (size$ ?v0))) (let ((?x60 (g$c ?v0))) (= ?x60 ?x61))) :qid k!38)) )) (let ((@x616 (quant-intro (refl (= (= (g$c ?0) (size$ ?0)) (= (g$c ?0) (size$ ?0)))) (= $x63 $x612)))) (let ((@x142 (nnf-pos (refl (~ (= (g$c ?0) (size$ ?0)) (= (g$c ?0) (size$ ?0)))) (~ $x63 $x63)))) (let ((@x617 (mp (mp~ (asserted $x63) @x142 $x63) @x616 $x612))) (let (($x571 (or (not $x612) $x569))) (let ((@x572 ((_ quant-inst (cons$a true nil$a)) $x571))) (let ((?x89 (suc$ zero$))) (let ((?x105 (size$ nil$a))) (let ((?x233 (plus$ ?x105 ?x89))) (let (($x570 (= ?x227 ?x233))) (let (($x657 (forall ((?v0 Bool) (?v1 Bool_list$) )(! (= (size$ (cons$a ?v0 ?v1)) (plus$ (size$ ?v1) (suc$ zero$))) :pattern ( (cons$a ?v0 ?v1) ) :qid k!46)) )) (let (($x114 (forall ((?v0 Bool) (?v1 Bool_list$) )(! (= (size$ (cons$a ?v0 ?v1)) (plus$ (size$ ?v1) (suc$ zero$))) :qid k!46)) )) (let (($x113 (= (size$ (cons$a ?1 ?0)) (plus$ (size$ ?0) ?x89)))) (let ((@x173 (mp~ (asserted $x114) (nnf-pos (refl (~ $x113 $x113)) (~ $x114 $x114)) $x114))) (let ((@x662 (mp @x173 (quant-intro (refl (= $x113 $x113)) (= $x114 $x657)) $x657))) (let (($x576 (or (not $x657) $x570))) (let ((@x213 ((_ quant-inst true nil$a) $x576))) (let ((?x108 (size$a nil$))) (let (($x109 (= ?x108 zero$))) (let ((@x110 (asserted $x109))) (let (($x106 (= ?x105 zero$))) (let ((@x107 (asserted $x106))) (let ((@x287 (monotonicity (trans @x107 (symm @x110 (= zero$ ?x108)) (= ?x105 ?x108)) (= ?x233 (plus$ ?x108 ?x89))))) (let ((?x246 (plus$ ?x108 ?x89))) (let ((?x256 (cons$ 3 nil$))) (let ((?x588 (size$a ?x256))) (let (($x584 (= ?x588 ?x246))) (let (($x664 (forall ((?v0 Int) (?v1 Int_list$) )(! (= (size$a (cons$ ?v0 ?v1)) (plus$ (size$a ?v1) (suc$ zero$))) :pattern ( (cons$ ?v0 ?v1) ) :qid k!47)) )) (let (($x119 (forall ((?v0 Int) (?v1 Int_list$) )(! (= (size$a (cons$ ?v0 ?v1)) (plus$ (size$a ?v1) (suc$ zero$))) :qid k!47)) )) (let (($x118 (= (size$a (cons$ ?1 ?0)) (plus$ (size$a ?0) ?x89)))) (let ((@x178 (mp~ (asserted $x119) (nnf-pos (refl (~ $x118 $x118)) (~ $x119 $x119)) $x119))) (let ((@x669 (mp @x178 (quant-intro (refl (= $x118 $x118)) (= $x119 $x664)) $x664))) (let (($x231 (or (not $x664) $x584))) (let ((@x232 ((_ quant-inst 3 nil$) $x231))) (let ((?x267 (g$a ?x256))) (let (($x592 (= ?x267 ?x588))) (let (($x620 (forall ((?v0 Int_list$) )(! (let ((?x67 (size$a ?v0))) (let ((?x66 (g$a ?v0))) (= ?x66 ?x67))) :pattern ( (g$a ?v0) ) :pattern ( (size$a ?v0) ) :qid k!39)) )) (let (($x69 (forall ((?v0 Int_list$) )(! (let ((?x67 (size$a ?v0))) (let ((?x66 (g$a ?v0))) (= ?x66 ?x67))) :qid k!39)) )) (let ((@x622 (refl (= (= (g$a ?0) (size$a ?0)) (= (g$a ?0) (size$a ?0)))))) (let ((@x129 (nnf-pos (refl (~ (= (g$a ?0) (size$a ?0)) (= (g$a ?0) (size$a ?0)))) (~ $x69 $x69)))) (let ((@x625 (mp (mp~ (asserted $x69) @x129 $x69) (quant-intro @x622 (= $x69 $x620)) $x620))) (let (($x248 (or (not $x620) $x592))) (let ((@x585 ((_ quant-inst (cons$ 3 nil$)) $x248))) (let (($x268 (= ?x123 ?x267))) (let (($x596 (forall ((?v0 Int) )(! (= (g$ (some$ ?v0)) (g$a (cons$ ?v0 nil$))) :pattern ( (some$ ?v0) ) :pattern ( (cons$ ?v0 nil$) ) :qid k!32)) )) (let (($x34 (forall ((?v0 Int) )(! (= (g$ (some$ ?v0)) (g$a (cons$ ?v0 nil$))) :qid k!32)) )) (let (($x33 (= (g$ (some$ ?0)) (g$a (cons$ ?0 nil$))))) (let ((@x157 (mp~ (asserted $x34) (nnf-pos (refl (~ $x33 $x33)) (~ $x34 $x34)) $x34))) (let ((@x601 (mp @x157 (quant-intro (refl (= $x33 $x33)) (= $x34 $x596)) $x596))) (let (($x250 (or (not $x596) $x268))) (let ((@x586 ((_ quant-inst 3) $x250))) (let ((@x275 (trans (unit-resolution @x586 @x601 $x268) (unit-resolution @x585 @x625 $x592) (= ?x123 ?x588)))) (let ((@x280 (trans (trans @x275 (unit-resolution @x232 @x669 $x584) (= ?x123 ?x246)) (symm @x287 (= ?x246 ?x233)) (= ?x123 ?x233)))) (let ((@x558 (trans @x280 (symm (unit-resolution @x213 @x662 $x570) (= ?x233 ?x227)) (= ?x123 ?x227)))) (let ((@x560 (trans @x558 (symm (unit-resolution @x572 @x617 $x569) (= ?x227 ?x270)) (= ?x123 ?x270)))) (let ((@x546 (trans @x560 (symm (unit-resolution @x255 @x609 $x587) (= ?x270 ?x125)) $x126))) (let (($x127 (not $x126))) (let ((@x128 (asserted $x127))) (unit-resolution @x128 @x546 false))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) diff --git a/src/HOL/SMT_Examples/SMT_Examples_Verit.certs b/src/HOL/SMT_Examples/SMT_Examples_Verit.certs --- a/src/HOL/SMT_Examples/SMT_Examples_Verit.certs +++ b/src/HOL/SMT_Examples/SMT_Examples_Verit.certs @@ -1,12431 +1,12428 @@ -ae54fcb9dfe8ac3652092131f8427bebbd05402c 9 0 +95a654bfff554e647800fe77ff2ba30347402e24 9 0 unsat -(assume axiom0 (! (not true) :named @p_1)) +(assume a0 (! (not true) :named @p_1)) (step t2 (cl (! (= @p_1 false) :named @p_2)) :rule not_simplify) (step t3 (cl (! (not @p_2) :named @p_4) (! (not @p_1) :named @p_3) false) :rule equiv_pos2) (step t4 (cl (not @p_3) true) :rule not_not) (step t5 (cl @p_4 true false) :rule th_resolution :premises (t4 t3)) -(step t6 (cl false) :rule th_resolution :premises (axiom0 t2 t5)) +(step t6 (cl false) :rule th_resolution :premises (a0 t2 t5)) (step t7 (cl (not false)) :rule false) (step t8 (cl) :rule resolution :premises (t6 t7)) -ef08efbe2a4fd690de84a4f2f024c061b9c72554 12 0 +064ce4a7bbfaa11e79501270fc838c420c703181 12 0 unsat -(assume axiom0 (! (not (! (or p$ (not p$)) :named @p_1)) :named @p_2)) +(assume a0 (! (not (! (or p$ (not p$)) :named @p_1)) :named @p_2)) (step t2 (cl (= @p_1 true)) :rule or_simplify) (step t3 (cl (= @p_2 (! (not true) :named @p_3))) :rule cong :premises (t2)) (step t4 (cl (= @p_3 false)) :rule not_simplify) (step t5 (cl (! (= @p_2 false) :named @p_4)) :rule trans :premises (t3 t4)) (step t6 (cl (! (not @p_4) :named @p_6) (! (not @p_2) :named @p_5) false) :rule equiv_pos2) (step t7 (cl (not @p_5) @p_1) :rule not_not) (step t8 (cl @p_6 @p_1 false) :rule th_resolution :premises (t7 t6)) -(step t9 (cl false) :rule th_resolution :premises (axiom0 t5 t8)) +(step t9 (cl false) :rule th_resolution :premises (a0 t5 t8)) (step t10 (cl (not false)) :rule false) (step t11 (cl) :rule resolution :premises (t9 t10)) -b753d4b1e8a27c132b8339803a4e586242a9eed9 17 0 +d4888d8ad473d347e6ab6d509244a7583a7babd4 17 0 unsat -(assume axiom0 (! (not (! (= (! (and p$ true) :named @p_1) p$) :named @p_3)) :named @p_5)) +(assume a0 (! (not (! (= (! (and p$ true) :named @p_1) p$) :named @p_3)) :named @p_5)) (step t2 (cl (= @p_1 (! (and p$) :named @p_2))) :rule and_simplify) (step t3 (cl (= @p_2 p$)) :rule and_simplify) (step t4 (cl @p_3) :rule trans :premises (t2 t3)) (step t5 (cl (= @p_3 (! (= p$ p$) :named @p_4))) :rule cong :premises (t4)) (step t6 (cl (= @p_4 true)) :rule equiv_simplify) (step t7 (cl (= @p_3 true)) :rule trans :premises (t5 t6)) (step t8 (cl (= @p_5 (! (not true) :named @p_6))) :rule cong :premises (t7)) (step t9 (cl (= @p_6 false)) :rule not_simplify) (step t10 (cl (! (= @p_5 false) :named @p_7)) :rule trans :premises (t8 t9)) (step t11 (cl (! (not @p_7) :named @p_9) (! (not @p_5) :named @p_8) false) :rule equiv_pos2) (step t12 (cl (not @p_8) @p_3) :rule not_not) (step t13 (cl @p_9 @p_3 false) :rule th_resolution :premises (t12 t11)) -(step t14 (cl false) :rule th_resolution :premises (axiom0 t10 t13)) +(step t14 (cl false) :rule th_resolution :premises (a0 t10 t13)) (step t15 (cl (not false)) :rule false) (step t16 (cl) :rule resolution :premises (t14 t15)) -3aef0472082a0952dd5c0083a53b60410a65fb15 15 0 +337e2bffaa7ce02e1ab772f593ffdbb243d5e449 15 0 unsat -(assume axiom0 (! (not (! (=> (! (and (! (or p$ q$) :named @p_8) (! (not p$) :named @p_9)) :named @p_2) q$) :named @p_6)) :named @p_1)) +(assume a0 (! (not (! (=> (! (and (! (or p$ q$) :named @p_8) (! (not p$) :named @p_9)) :named @p_2) q$) :named @p_6)) :named @p_1)) (step t2 (cl (! (= @p_1 (! (and @p_2 (! (not q$) :named @p_10)) :named @p_4)) :named @p_3)) :rule bool_simplify) (step t3 (cl (! (not @p_3) :named @p_7) (! (not @p_1) :named @p_5) @p_4) :rule equiv_pos2) (step t4 (cl (not @p_5) @p_6) :rule not_not) (step t5 (cl @p_7 @p_6 @p_4) :rule th_resolution :premises (t4 t3)) -(step t6 (cl @p_4) :rule th_resolution :premises (axiom0 t2 t5)) +(step t6 (cl @p_4) :rule th_resolution :premises (a0 t2 t5)) (step t7 (cl (! (= @p_4 (! (and @p_8 @p_9 @p_10) :named @p_12)) :named @p_11)) :rule ac_simp) (step t8 (cl (not @p_11) (not @p_4) @p_12) :rule equiv_pos2) (step t9 (cl @p_12) :rule th_resolution :premises (t6 t7 t8)) (step t10 (cl @p_8) :rule and :premises (t9)) (step t11 (cl p$ q$) :rule or :premises (t10)) (step t12 (cl @p_9) :rule and :premises (t9)) (step t13 (cl @p_10) :rule and :premises (t9)) (step t14 (cl) :rule resolution :premises (t11 t12 t13)) -a4d4a57bc38d3365a195600a7f29533d2f85c08f 12 0 +10d84ea161ad298d0be18624997ac708a1f26ba1 12 0 unsat -(assume axiom0 (! (not (! (=> (! (or (and a$ b$) (and c$ d$)) :named @p_1) @p_1) :named @p_6)) :named @p_2)) +(assume a0 (! (not (! (=> (! (or (and a$ b$) (and c$ d$)) :named @p_1) @p_1) :named @p_6)) :named @p_2)) (step t2 (cl (! (= @p_2 (! (and @p_1 (not @p_1)) :named @p_4)) :named @p_3)) :rule bool_simplify) (step t3 (cl (! (not @p_3) :named @p_7) (! (not @p_2) :named @p_5) @p_4) :rule equiv_pos2) (step t4 (cl (not @p_5) @p_6) :rule not_not) (step t5 (cl @p_7 @p_6 @p_4) :rule th_resolution :premises (t4 t3)) -(step t6 (cl @p_4) :rule th_resolution :premises (axiom0 t2 t5)) +(step t6 (cl @p_4) :rule th_resolution :premises (a0 t2 t5)) (step t7 (cl (! (= @p_4 false) :named @p_8)) :rule and_simplify) (step t8 (cl (not @p_8) (not @p_4) false) :rule equiv_pos2) (step t9 (cl false) :rule th_resolution :premises (t6 t7 t8)) (step t10 (cl (not false)) :rule false) (step t11 (cl) :rule resolution :premises (t9 t10)) -f8a0f590e48624e657155c162af04ac8e33a73bd 12 0 +9edc95cdafbdeeaebc87884ea4bcc53a0e812967 12 0 unsat -(assume axiom0 (! (not (! (=> (! (or (and p1$ p2$) p3$) :named @p_2) (! (or (! (=> p1$ (or (and p3$ p2$) (and p1$ p3$))) :named @p_10) p1$) :named @p_3)) :named @p_7)) :named @p_1)) +(assume a0 (! (not (! (=> (! (or (and p1$ p2$) p3$) :named @p_2) (! (or (! (=> p1$ (or (and p3$ p2$) (and p1$ p3$))) :named @p_10) p1$) :named @p_3)) :named @p_7)) :named @p_1)) (step t2 (cl (! (= @p_1 (! (and @p_2 (! (not @p_3) :named @p_9)) :named @p_5)) :named @p_4)) :rule bool_simplify) (step t3 (cl (! (not @p_4) :named @p_8) (! (not @p_1) :named @p_6) @p_5) :rule equiv_pos2) (step t4 (cl (not @p_6) @p_7) :rule not_not) (step t5 (cl @p_8 @p_7 @p_5) :rule th_resolution :premises (t4 t3)) -(step t6 (cl @p_5) :rule th_resolution :premises (axiom0 t2 t5)) +(step t6 (cl @p_5) :rule th_resolution :premises (a0 t2 t5)) (step t7 (cl @p_9) :rule and :premises (t6)) (step t8 (cl (not @p_10)) :rule not_or :premises (t7)) (step t9 (cl p1$) :rule not_implies1 :premises (t8)) (step t10 (cl (not p1$)) :rule not_or :premises (t7)) (step t11 (cl) :rule resolution :premises (t10 t9)) -2815beadf2b8b0fa1acb410b1f6d788eddf2d2da 29 0 +f8dcc171fd9ab79494da2e1c5e4771e075fd9d51 29 0 unsat -(assume axiom0 (! (not (! (= (! (= (! (= (! (= (! (= (! (= (! (= (! (= (! (= p$ p$) :named @p_1) p$) :named @p_2) p$) :named @p_4) p$) :named @p_5) p$) :named @p_6) p$) :named @p_7) p$) :named @p_8) p$) :named @p_9) p$) :named @p_10)) :named @p_11)) +(assume a0 (! (not (! (= (! (= (! (= (! (= (! (= (! (= (! (= (! (= (! (= p$ p$) :named @p_1) p$) :named @p_2) p$) :named @p_4) p$) :named @p_5) p$) :named @p_6) p$) :named @p_7) p$) :named @p_8) p$) :named @p_9) p$) :named @p_10)) :named @p_11)) (step t2 (cl (= @p_1 true)) :rule equiv_simplify) (step t3 (cl (= @p_2 (! (= true p$) :named @p_3))) :rule cong :premises (t2)) (step t4 (cl (= @p_3 p$)) :rule equiv_simplify) (step t5 (cl @p_4) :rule trans :premises (t3 t4)) (step t6 (cl (= @p_4 @p_1)) :rule cong :premises (t5)) (step t7 (cl (= @p_4 true)) :rule trans :premises (t6 t2)) (step t8 (cl (= @p_5 @p_3)) :rule cong :premises (t7)) (step t9 (cl @p_6) :rule trans :premises (t8 t4)) (step t10 (cl (= @p_6 @p_1)) :rule cong :premises (t9)) (step t11 (cl (= @p_6 true)) :rule trans :premises (t10 t2)) (step t12 (cl (= @p_7 @p_3)) :rule cong :premises (t11)) (step t13 (cl @p_8) :rule trans :premises (t12 t4)) (step t14 (cl (= @p_8 @p_1)) :rule cong :premises (t13)) (step t15 (cl (= @p_8 true)) :rule trans :premises (t14 t2)) (step t16 (cl (= @p_9 @p_3)) :rule cong :premises (t15)) (step t17 (cl @p_10) :rule trans :premises (t16 t4)) (step t18 (cl (= @p_10 @p_1)) :rule cong :premises (t17)) (step t19 (cl (= @p_10 true)) :rule trans :premises (t18 t2)) (step t20 (cl (= @p_11 (! (not true) :named @p_12))) :rule cong :premises (t19)) (step t21 (cl (= @p_12 false)) :rule not_simplify) (step t22 (cl (! (= @p_11 false) :named @p_13)) :rule trans :premises (t20 t21)) (step t23 (cl (! (not @p_13) :named @p_15) (! (not @p_11) :named @p_14) false) :rule equiv_pos2) (step t24 (cl (not @p_14) @p_10) :rule not_not) (step t25 (cl @p_15 @p_10 false) :rule th_resolution :premises (t24 t23)) -(step t26 (cl false) :rule th_resolution :premises (axiom0 t22 t25)) +(step t26 (cl false) :rule th_resolution :premises (a0 t22 t25)) (step t27 (cl (not false)) :rule false) (step t28 (cl) :rule resolution :premises (t26 t27)) -324d7169fc854a8e46b44966c6d6829b24a059d5 59 0 +ef250e7a4e9499952e8416cff69ed029a37c7aa3 59 0 unsat -(assume axiom0 (! (or a$ (or b$ (or c$ d$))) :named @p_1)) -(assume axiom2 (! (or (! (not (! (or a$ (! (and c$ (! (not c$) :named @p_40)) :named @p_4)) :named @p_5)) :named @p_8) b$) :named @p_9)) -(assume axiom3 (! (or (! (not (! (and b$ (! (or x$ (not x$)) :named @p_13)) :named @p_14)) :named @p_17) c$) :named @p_18)) -(assume axiom4 (! (or (! (not (! (or d$ false) :named @p_22)) :named @p_24) c$) :named @p_25)) -(assume axiom5 (! (not (! (or c$ (! (and (! (not p$) :named @p_34) (! (or p$ (! (and q$ (not q$)) :named @p_29)) :named @p_30)) :named @p_33)) :named @p_36)) :named @p_39)) +(assume a0 (! (or a$ (or b$ (or c$ d$))) :named @p_1)) +(assume a2 (! (or (! (not (! (or a$ (! (and c$ (! (not c$) :named @p_40)) :named @p_4)) :named @p_5)) :named @p_8) b$) :named @p_9)) +(assume a3 (! (or (! (not (! (and b$ (! (or x$ (not x$)) :named @p_13)) :named @p_14)) :named @p_17) c$) :named @p_18)) +(assume a4 (! (or (! (not (! (or d$ false) :named @p_22)) :named @p_24) c$) :named @p_25)) +(assume a5 (! (not (! (or c$ (! (and (! (not p$) :named @p_34) (! (or p$ (! (and q$ (not q$)) :named @p_29)) :named @p_30)) :named @p_33)) :named @p_36)) :named @p_39)) (step t6 (cl (! (= @p_1 (! (or a$ b$ c$ d$) :named @p_3)) :named @p_2)) :rule ac_simp) (step t7 (cl (not @p_2) (not @p_1) @p_3) :rule equiv_pos2) -(step t8 (cl @p_3) :rule th_resolution :premises (axiom0 t6 t7)) +(step t8 (cl @p_3) :rule th_resolution :premises (a0 t6 t7)) (step t9 (cl (= @p_4 false)) :rule and_simplify) (step t10 (cl (= @p_5 (! (or a$ false) :named @p_6))) :rule cong :premises (t9)) (step t11 (cl (= @p_6 (! (or a$) :named @p_7))) :rule or_simplify) (step t12 (cl (= @p_7 a$)) :rule or_simplify) (step t13 (cl (= @p_5 a$)) :rule trans :premises (t10 t11 t12)) (step t14 (cl (= @p_8 (! (not a$) :named @p_10))) :rule cong :premises (t13)) (step t15 (cl (! (= @p_9 (! (or @p_10 b$) :named @p_12)) :named @p_11)) :rule cong :premises (t14)) (step t16 (cl (not @p_11) (not @p_9) @p_12) :rule equiv_pos2) -(step t17 (cl @p_12) :rule th_resolution :premises (axiom2 t15 t16)) +(step t17 (cl @p_12) :rule th_resolution :premises (a2 t15 t16)) (step t18 (cl (= @p_13 true)) :rule or_simplify) (step t19 (cl (= @p_14 (! (and b$ true) :named @p_15))) :rule cong :premises (t18)) (step t20 (cl (= @p_15 (! (and b$) :named @p_16))) :rule and_simplify) (step t21 (cl (= @p_16 b$)) :rule and_simplify) (step t22 (cl (= @p_14 b$)) :rule trans :premises (t19 t20 t21)) (step t23 (cl (= @p_17 (! (not b$) :named @p_19))) :rule cong :premises (t22)) (step t24 (cl (! (= @p_18 (! (or @p_19 c$) :named @p_21)) :named @p_20)) :rule cong :premises (t23)) (step t25 (cl (not @p_20) (not @p_18) @p_21) :rule equiv_pos2) -(step t26 (cl @p_21) :rule th_resolution :premises (axiom3 t24 t25)) +(step t26 (cl @p_21) :rule th_resolution :premises (a3 t24 t25)) (step t27 (cl (= @p_22 (! (or d$) :named @p_23))) :rule or_simplify) (step t28 (cl (= @p_23 d$)) :rule or_simplify) (step t29 (cl (= @p_22 d$)) :rule trans :premises (t27 t28)) (step t30 (cl (= @p_24 (! (not d$) :named @p_26))) :rule cong :premises (t29)) (step t31 (cl (! (= @p_25 (! (or @p_26 c$) :named @p_28)) :named @p_27)) :rule cong :premises (t30)) (step t32 (cl (not @p_27) (not @p_25) @p_28) :rule equiv_pos2) -(step t33 (cl @p_28) :rule th_resolution :premises (axiom4 t31 t32)) +(step t33 (cl @p_28) :rule th_resolution :premises (a4 t31 t32)) (step t34 (cl (= @p_29 false)) :rule and_simplify) (step t35 (cl (= @p_30 (! (or p$ false) :named @p_31))) :rule cong :premises (t34)) (step t36 (cl (= @p_31 (! (or p$) :named @p_32))) :rule or_simplify) (step t37 (cl (= @p_32 p$)) :rule or_simplify) (step t38 (cl (= @p_30 p$)) :rule trans :premises (t35 t36 t37)) (step t39 (cl (= @p_33 (! (and @p_34 p$) :named @p_35))) :rule cong :premises (t38)) (step t40 (cl (= @p_35 false)) :rule and_simplify) (step t41 (cl (= @p_33 false)) :rule trans :premises (t39 t40)) (step t42 (cl (= @p_36 (! (or c$ false) :named @p_37))) :rule cong :premises (t41)) (step t43 (cl (= @p_37 (! (or c$) :named @p_38))) :rule or_simplify) (step t44 (cl (= @p_38 c$)) :rule or_simplify) (step t45 (cl (= @p_36 c$)) :rule trans :premises (t42 t43 t44)) (step t46 (cl (! (= @p_39 @p_40) :named @p_41)) :rule cong :premises (t45)) (step t47 (cl (! (not @p_41) :named @p_43) (! (not @p_39) :named @p_42) @p_40) :rule equiv_pos2) (step t48 (cl (not @p_42) @p_36) :rule not_not) (step t49 (cl @p_43 @p_36 @p_40) :rule th_resolution :premises (t48 t47)) -(step t50 (cl @p_40) :rule th_resolution :premises (axiom5 t46 t49)) +(step t50 (cl @p_40) :rule th_resolution :premises (a5 t46 t49)) (step t51 (cl a$ b$ c$ d$) :rule or :premises (t8)) (step t52 (cl @p_10 b$) :rule or :premises (t17)) (step t53 (cl @p_19 c$) :rule or :premises (t26)) (step t54 (cl @p_26 c$) :rule or :premises (t33)) (step t55 (cl @p_19) :rule resolution :premises (t53 t50)) (step t56 (cl @p_26) :rule resolution :premises (t54 t50)) (step t57 (cl a$) :rule resolution :premises (t51 t55 t50 t56)) (step t58 (cl) :rule resolution :premises (t52 t55 t57)) -e724b7ec8c17b26e1986911ee66a23de60e69502 38 0 +a331481eed4f18a666baadda4e1010ca7a295ccf 38 0 unsat -(assume axiom0 (! (forall ((?v0 A$) (?v1 A$)) (! (= (! (symm_f$ ?v0 ?v1) :named @p_2) (! (symm_f$ ?v1 ?v0) :named @p_6)) :named @p_8)) :named @p_1)) -(assume axiom1 (! (not (! (and (! (= a$ a$) :named @p_19) (! (= (symm_f$ a$ b$) (symm_f$ b$ a$)) :named @p_21)) :named @p_20)) :named @p_24)) +(assume a0 (! (forall ((?v0 A$) (?v1 A$)) (! (= (! (symm_f$ ?v0 ?v1) :named @p_2) (! (symm_f$ ?v1 ?v0) :named @p_6)) :named @p_8)) :named @p_1)) +(assume a1 (! (not (! (and (! (= a$ a$) :named @p_19) (! (= (symm_f$ a$ b$) (symm_f$ b$ a$)) :named @p_21)) :named @p_20)) :named @p_24)) (anchor :step t3 :args ((:= (?v0 A$) veriT_vr0) (:= (?v1 A$) veriT_vr1))) (step t3.t1 (cl (! (= ?v0 veriT_vr0) :named @p_5)) :rule refl) (step t3.t2 (cl (! (= ?v1 veriT_vr1) :named @p_4)) :rule refl) (step t3.t3 (cl (= @p_2 (! (symm_f$ veriT_vr0 veriT_vr1) :named @p_3))) :rule cong :premises (t3.t1 t3.t2)) (step t3.t4 (cl @p_4) :rule refl) (step t3.t5 (cl @p_5) :rule refl) (step t3.t6 (cl (= @p_6 (! (symm_f$ veriT_vr1 veriT_vr0) :named @p_7))) :rule cong :premises (t3.t4 t3.t5)) (step t3.t7 (cl (= @p_8 (! (= @p_3 @p_7) :named @p_9))) :rule cong :premises (t3.t3 t3.t6)) (step t3 (cl (! (= @p_1 (! (forall ((veriT_vr0 A$) (veriT_vr1 A$)) @p_9) :named @p_11)) :named @p_10)) :rule bind) (step t4 (cl (not @p_10) (not @p_1) @p_11) :rule equiv_pos2) -(step t5 (cl @p_11) :rule th_resolution :premises (axiom0 t3 t4)) +(step t5 (cl @p_11) :rule th_resolution :premises (a0 t3 t4)) (anchor :step t6 :args ((:= (veriT_vr0 A$) veriT_vr2) (:= (veriT_vr1 A$) veriT_vr3))) (step t6.t1 (cl (! (= veriT_vr0 veriT_vr2) :named @p_14)) :rule refl) (step t6.t2 (cl (! (= veriT_vr1 veriT_vr3) :named @p_13)) :rule refl) (step t6.t3 (cl (= @p_3 (! (symm_f$ veriT_vr2 veriT_vr3) :named @p_12))) :rule cong :premises (t6.t1 t6.t2)) (step t6.t4 (cl @p_13) :rule refl) (step t6.t5 (cl @p_14) :rule refl) (step t6.t6 (cl (= @p_7 (! (symm_f$ veriT_vr3 veriT_vr2) :named @p_15))) :rule cong :premises (t6.t4 t6.t5)) (step t6.t7 (cl (= @p_9 (! (= @p_12 @p_15) :named @p_16))) :rule cong :premises (t6.t3 t6.t6)) (step t6 (cl (! (= @p_11 (! (forall ((veriT_vr2 A$) (veriT_vr3 A$)) @p_16) :named @p_18)) :named @p_17)) :rule bind) (step t7 (cl (not @p_17) (not @p_11) @p_18) :rule equiv_pos2) (step t8 (cl @p_18) :rule th_resolution :premises (t5 t6 t7)) (step t9 (cl (= @p_19 true)) :rule eq_simplify) (step t10 (cl (= @p_20 (! (and true @p_21) :named @p_22))) :rule cong :premises (t9)) (step t11 (cl (= @p_22 (! (and @p_21) :named @p_23))) :rule and_simplify) (step t12 (cl (= @p_23 @p_21)) :rule and_simplify) (step t13 (cl (= @p_20 @p_21)) :rule trans :premises (t10 t11 t12)) (step t14 (cl (! (= @p_24 (! (not @p_21) :named @p_26)) :named @p_25)) :rule cong :premises (t13)) (step t15 (cl (! (not @p_25) :named @p_28) (! (not @p_24) :named @p_27) @p_26) :rule equiv_pos2) (step t16 (cl (not @p_27) @p_20) :rule not_not) (step t17 (cl @p_28 @p_20 @p_26) :rule th_resolution :premises (t16 t15)) -(step t18 (cl @p_26) :rule th_resolution :premises (axiom1 t14 t17)) +(step t18 (cl @p_26) :rule th_resolution :premises (a1 t14 t17)) (step t19 (cl (or (! (not @p_18) :named @p_29) @p_21)) :rule forall_inst :args ((:= veriT_vr2 a$) (:= veriT_vr3 b$))) (step t20 (cl @p_29 @p_21) :rule or :premises (t19)) (step t21 (cl) :rule resolution :premises (t20 t8 t18)) -2b0e7825d38340699ae4fceb3006d5eb0b5a0628 333 0 +8616c6debd3ebae49adf8409b8c1ecb6665bc881 654 0 unsat -(assume axiom0 (not x0$)) -(assume axiom1 (not x30$)) -(assume axiom2 (not x29$)) -(assume axiom3 (not x59$)) -(assume axiom4 (! (or x1$ (or x31$ x0$)) :named @p_57)) -(assume axiom6 (! (or x3$ (or x33$ x2$)) :named @p_60)) -(assume axiom7 (! (or x4$ (or x34$ x3$)) :named @p_63)) -(assume axiom8 (or x35$ x4$)) -(assume axiom9 (! (or x5$ (or x36$ x30$)) :named @p_66)) -(assume axiom11 (! (or x7$ (or x38$ (or x6$ x32$))) :named @p_69)) -(assume axiom13 (! (or x9$ (or x40$ (or x8$ x34$))) :named @p_72)) -(assume axiom16 (! (or x11$ (or x43$ (or x10$ x37$))) :named @p_75)) -(assume axiom18 (! (or x13$ (or x45$ (or x12$ x39$))) :named @p_78)) -(assume axiom20 (! (or x47$ (or x14$ x41$)) :named @p_81)) -(assume axiom21 (! (or x15$ (or x48$ x42$)) :named @p_84)) -(assume axiom23 (! (or x17$ (or x50$ (or x16$ x44$))) :named @p_87)) -(assume axiom25 (! (or x19$ (or x52$ (or x18$ x46$))) :named @p_90)) -(assume axiom28 (! (or x21$ (or x55$ (or x20$ x49$))) :named @p_93)) -(assume axiom30 (! (or x23$ (or x57$ (or x22$ x51$))) :named @p_96)) -(assume axiom32 (! (or x59$ (or x24$ x53$)) :named @p_99)) -(assume axiom33 (or x25$ x54$)) -(assume axiom35 (! (or x27$ (or x26$ x56$)) :named @p_102)) -(assume axiom37 (! (or x29$ (or x28$ x58$)) :named @p_105)) -(assume axiom41 (or (! (not x2$) :named @p_1) (! (not x32$) :named @p_2))) -(assume axiom42 (or @p_1 (! (not x1$) :named @p_3))) -(assume axiom43 (or @p_2 @p_3)) -(assume axiom47 (or (! (not x4$) :named @p_4) (! (not x34$) :named @p_5))) -(assume axiom48 (or @p_4 (! (not x3$) :named @p_6))) -(assume axiom49 (or @p_5 @p_6)) -(assume axiom54 (or (! (not x6$) :named @p_7) (! (not x37$) :named @p_8))) -(assume axiom55 (or @p_7 (! (not x5$) :named @p_9))) -(assume axiom56 (or @p_7 (! (not x31$) :named @p_10))) -(assume axiom57 (or @p_8 @p_9)) -(assume axiom58 (or @p_8 @p_10)) -(assume axiom59 (or @p_9 @p_10)) -(assume axiom63 (or (! (not x38$) :named @p_11) @p_7)) -(assume axiom64 (or @p_11 @p_2)) -(assume axiom66 (or (! (not x8$) :named @p_12) (! (not x39$) :named @p_13))) -(assume axiom67 (or @p_12 (! (not x7$) :named @p_14))) -(assume axiom68 (or @p_12 (! (not x33$) :named @p_15))) -(assume axiom69 (or @p_13 @p_14)) -(assume axiom70 (or @p_13 @p_15)) -(assume axiom71 (or @p_14 @p_15)) -(assume axiom78 (or (! (not x41$) :named @p_16) (! (not x9$) :named @p_17))) -(assume axiom79 (or @p_16 (! (not x35$) :named @p_18))) -(assume axiom80 (or @p_17 @p_18)) -(assume axiom81 (or (! (not x10$) :named @p_19) (! (not x42$) :named @p_20))) -(assume axiom82 (or @p_19 (! (not x36$) :named @p_21))) -(assume axiom83 (or @p_20 @p_21)) -(assume axiom90 (or (! (not x12$) :named @p_22) (! (not x44$) :named @p_23))) -(assume axiom91 (or @p_22 (! (not x11$) :named @p_24))) -(assume axiom92 (or @p_22 @p_11)) -(assume axiom93 (or @p_23 @p_24)) -(assume axiom94 (or @p_23 @p_11)) -(assume axiom95 (or @p_24 @p_11)) -(assume axiom99 (or (! (not x45$) :named @p_25) @p_22)) -(assume axiom100 (or @p_25 @p_13)) -(assume axiom102 (or (! (not x14$) :named @p_26) (! (not x46$) :named @p_27))) -(assume axiom103 (or @p_26 (! (not x13$) :named @p_28))) -(assume axiom104 (or @p_26 (! (not x40$) :named @p_29))) -(assume axiom105 (or @p_27 @p_28)) -(assume axiom106 (or @p_27 @p_29)) -(assume axiom107 (or @p_28 @p_29)) -(assume axiom113 (or (! (not x48$) :named @p_41) @p_20)) -(assume axiom114 (or (! (not x16$) :named @p_30) (! (not x49$) :named @p_31))) -(assume axiom115 (or @p_30 (! (not x15$) :named @p_32))) -(assume axiom116 (or @p_30 (! (not x43$) :named @p_33))) -(assume axiom117 (or @p_31 @p_32)) -(assume axiom118 (or @p_31 @p_33)) -(assume axiom119 (or @p_32 @p_33)) -(assume axiom126 (or (! (not x18$) :named @p_34) (! (not x51$) :named @p_35))) -(assume axiom127 (or @p_34 (! (not x17$) :named @p_36))) -(assume axiom128 (or @p_34 @p_25)) -(assume axiom129 (or @p_35 @p_36)) -(assume axiom130 (or @p_35 @p_25)) -(assume axiom131 (or @p_36 @p_25)) -(assume axiom134 (or (! (not x19$) :named @p_37) @p_27)) -(assume axiom138 (or (! (not x53$) :named @p_38) @p_37)) -(assume axiom139 (or @p_38 (! (not x47$) :named @p_39))) -(assume axiom140 (or @p_37 @p_39)) -(assume axiom141 (or (! (not x20$) :named @p_40) (! (not x54$) :named @p_42))) -(assume axiom142 (or @p_40 @p_41)) -(assume axiom143 (or @p_42 @p_41)) -(assume axiom150 (or (! (not x22$) :named @p_43) (! (not x56$) :named @p_44))) -(assume axiom151 (or @p_43 (! (not x21$) :named @p_45))) -(assume axiom152 (or @p_43 (! (not x50$) :named @p_46))) -(assume axiom153 (or @p_44 @p_45)) -(assume axiom154 (or @p_44 @p_46)) -(assume axiom155 (or @p_45 @p_46)) -(assume axiom162 (or (! (not x24$) :named @p_47) (! (not x58$) :named @p_48))) -(assume axiom163 (or @p_47 (! (not x23$) :named @p_49))) -(assume axiom164 (or @p_47 (! (not x52$) :named @p_50))) -(assume axiom165 (or @p_48 @p_49)) -(assume axiom166 (or @p_48 @p_50)) -(assume axiom167 (or @p_49 @p_50)) -(assume axiom172 (or (! (not x26$) :named @p_51) (! (not x25$) :named @p_52))) -(assume axiom173 (or @p_51 (! (not x55$) :named @p_53))) -(assume axiom174 (or @p_52 @p_53)) -(assume axiom178 (or (! (not x28$) :named @p_54) (! (not x27$) :named @p_55))) -(assume axiom179 (or @p_54 (! (not x57$) :named @p_56))) -(assume axiom180 (or @p_55 @p_56)) +(assume a0 (! (forall ((?v0 Int)) (! (= (! (fun_app$ uua$ ?v0) :named @p_13) (! (line_integral_exists$ f$ (! (insert$ j$ bot$) :named @p_7)) :named @p_12)) :named @p_15)) :named @p_11)) +(assume a1 (! (forall ((?v0 Int)) (! (= (! (fun_app$ uu$ ?v0) :named @p_25) (! (line_integral_exists$ f$ (! (insert$ i$ bot$) :named @p_5)) :named @p_24)) :named @p_27)) :named @p_23)) +(assume a2 (! (forall ((?v0 Int_real_real_real_prod_fun_bool_fun_fun$) (?v1 Int_real_real_real_prod_fun_prod$)) (! (= (! (case_prod$ ?v0 ?v1) :named @p_36) (! (fun_app$a (! (fun_app$ ?v0 (! (fst$ ?v1) :named @p_40)) :named @p_42) (! (snd$ ?v1) :named @p_44)) :named @p_46)) :named @p_48)) :named @p_35)) +(assume a3 (! (forall ((?v0 Real_real_prod$) (?v1 Real_real_prod$)) (! (=> (! (= (! (insert$ ?v0 bot$) :named @p_3) (! (insert$ ?v1 bot$) :named @p_64)) :named @p_66) (! (= ?v0 ?v1) :named @p_70)) :named @p_72)) :named @p_62)) +(assume a4 (! (forall ((?v0 Int) (?v1 Real_real_real_prod_fun$)) (! (= ?v1 (! (snd$ (! (pair$ ?v0 ?v1) :named @p_87)) :named @p_89)) :named @p_91)) :named @p_85)) +(assume a5 (! (forall ((?v0 Real) (?v1 Real)) (! (= ?v1 (! (snd$a (! (fun_app$b (! (pair$a ?v0) :named @p_102) ?v1) :named @p_105)) :named @p_107)) :named @p_109)) :named @p_101)) +(assume a6 (! (member$ (! (pair$ k$ g$) :named @p_403) one_chain_typeI$) :named @p_402)) +(assume a7 (! (forall ((?v0 Real_real_prod_set$) (?v1 Real_real_prod$) (?v2 Real_real_prod_set$)) (! (= (! (= bot$ (! (inf$ ?v0 (! (insert$ ?v1 ?v2) :named @p_1)) :named @p_122)) :named @p_124) (! (and (! (not (! (member$a ?v1 ?v0) :named @p_128)) :named @p_130) (! (= bot$ (! (inf$ ?v0 ?v2) :named @p_133)) :named @p_135)) :named @p_137)) :named @p_139)) :named @p_120)) +(assume a8 (! (finite$ bot$) :named @p_414)) +(assume a9 (! (forall ((?v0 Real_real_prod_set$) (?v1 Real_real_prod$)) (! (=> (! (finite$ ?v0) :named @p_4) (! (finite$ (! (insert$ ?v1 ?v0) :named @p_160)) :named @p_162)) :named @p_164)) :named @p_157)) +(assume a10 (! (= i$ (! (fun_app$b (pair$a 1.0) 0.0) :named @p_417)) :named @p_499)) +(assume a11 (! (forall ((?v0 Real_real_prod$) (?v1 Real_real_prod_set$)) (! (=> (! (member$a ?v0 ?v1) :named @p_176) (! (= ?v1 (! (insert$ ?v0 ?v1) :named @p_2)) :named @p_181)) :named @p_183)) :named @p_175)) +(assume a12 (! (= j$ (! (fun_app$b (pair$a 0.0) 1.0) :named @p_419)) :named @p_500)) +(assume a13 (! (forall ((?v0 Real_real_prod_set$)) (! (= bot$ (! (inf$ ?v0 bot$) :named @p_196)) :named @p_198)) :named @p_195)) +(assume a14 (! (forall ((?v0 Real_real_prod$) (?v1 Real_real_prod$) (?v2 Real_real_prod_set$)) (! (= (! (insert$ ?v0 @p_1) :named @p_208) (! (insert$ ?v1 (! (insert$ ?v0 ?v2) :named @p_213)) :named @p_215)) :named @p_217)) :named @p_206)) +(assume a15 (! (forall ((?v0 Real_real_prod$) (?v1 Real_real_prod_set$)) (! (= @p_2 (! (sup$ @p_3 ?v1) :named @p_236)) :named @p_238)) :named @p_231)) +(assume a16 (! (forall ((?v0 Real_real_prod_set$) (?v1 Real_real_prod_real_real_prod_fun$) (?v2 Real_real_prod_set$) (?v3 Real_real_real_prod_fun$) (?v4 Real_real_prod_set$)) (! (=> (! (and @p_4 (! (and (! (fun_app$a (! (line_integral_exists$ ?v1 ?v2) :named @p_252) ?v3) :named @p_254) (! (and (! (fun_app$a (! (line_integral_exists$ ?v1 ?v4) :named @p_257) ?v3) :named @p_260) (! (and (! (= ?v0 (! (sup$ ?v2 ?v4) :named @p_265)) :named @p_267) (! (= bot$ (! (inf$ ?v2 ?v4) :named @p_269)) :named @p_271)) :named @p_273)) :named @p_275)) :named @p_277)) :named @p_279) (! (= (! (line_integral$ ?v1 ?v0 ?v3) :named @p_281) (! (+ (! (line_integral$ ?v1 ?v2 ?v3) :named @p_283) (! (line_integral$ ?v1 ?v4 ?v3) :named @p_285)) :named @p_287)) :named @p_289)) :named @p_291)) :named @p_250)) +(assume a17 (! (and (! (= (one_chain_line_integral$ f$ @p_5 one_chain_typeI$) (one_chain_line_integral$ f$ @p_5 one_chain_typeII$)) :named @p_337) (! (and (! (forall ((?v0 Int_real_real_real_prod_fun_prod$)) (! (=> (! (member$ ?v0 one_chain_typeI$) :named @p_9) (! (case_prod$ uu$ ?v0) :named @p_6)) :named @p_326)) :named @p_322) (! (forall ((?v0 Int_real_real_real_prod_fun_prod$)) (! (=> (! (member$ ?v0 one_chain_typeII$) :named @p_8) @p_6) :named @p_331)) :named @p_328)) :named @p_333)) :named @p_336)) +(assume a18 (! (and (! (= (one_chain_line_integral$ f$ @p_7 one_chain_typeII$) (one_chain_line_integral$ f$ @p_7 one_chain_typeI$)) :named @p_377) (! (and (! (forall ((?v0 Int_real_real_real_prod_fun_prod$)) (! (=> @p_8 (! (case_prod$ uua$ ?v0) :named @p_10)) :named @p_366)) :named @p_362) (! (forall ((?v0 Int_real_real_real_prod_fun_prod$)) (! (=> @p_9 @p_10) :named @p_371)) :named @p_368)) :named @p_373)) :named @p_376)) +(assume a19 (not (! (= (! (line_integral$ f$ (! (insert$ i$ @p_7) :named @p_407) g$) :named @p_462) (! (+ (! (line_integral$ f$ @p_5 g$) :named @p_404) (! (line_integral$ f$ @p_7 g$) :named @p_405)) :named @p_463)) :named @p_410))) +(anchor :step t21 :args ((:= (?v0 Int) veriT_vr0))) +(step t21.t1 (cl (= ?v0 veriT_vr0)) :rule refl) +(step t21.t2 (cl (= @p_13 (! (fun_app$ uua$ veriT_vr0) :named @p_14))) :rule cong :premises (t21.t1)) +(step t21.t3 (cl (= @p_15 (! (= @p_12 @p_14) :named @p_16))) :rule cong :premises (t21.t2)) +(step t21 (cl (! (= @p_11 (! (forall ((veriT_vr0 Int)) @p_16) :named @p_18)) :named @p_17)) :rule bind) +(step t22 (cl (not @p_17) (not @p_11) @p_18) :rule equiv_pos2) +(step t23 (cl @p_18) :rule th_resolution :premises (a0 t21 t22)) +(anchor :step t24 :args ((:= (veriT_vr0 Int) veriT_vr1))) +(step t24.t1 (cl (= veriT_vr0 veriT_vr1)) :rule refl) +(step t24.t2 (cl (= @p_14 (! (fun_app$ uua$ veriT_vr1) :named @p_19))) :rule cong :premises (t24.t1)) +(step t24.t3 (cl (= @p_16 (! (= @p_12 @p_19) :named @p_20))) :rule cong :premises (t24.t2)) +(step t24 (cl (! (= @p_18 (! (forall ((veriT_vr1 Int)) @p_20) :named @p_22)) :named @p_21)) :rule bind) +(step t25 (cl (not @p_21) (not @p_18) @p_22) :rule equiv_pos2) +(step t26 (cl @p_22) :rule th_resolution :premises (t23 t24 t25)) +(anchor :step t27 :args ((:= (?v0 Int) veriT_vr2))) +(step t27.t1 (cl (= ?v0 veriT_vr2)) :rule refl) +(step t27.t2 (cl (= @p_25 (! (fun_app$ uu$ veriT_vr2) :named @p_26))) :rule cong :premises (t27.t1)) +(step t27.t3 (cl (= @p_27 (! (= @p_24 @p_26) :named @p_28))) :rule cong :premises (t27.t2)) +(step t27 (cl (! (= @p_23 (! (forall ((veriT_vr2 Int)) @p_28) :named @p_30)) :named @p_29)) :rule bind) +(step t28 (cl (not @p_29) (not @p_23) @p_30) :rule equiv_pos2) +(step t29 (cl @p_30) :rule th_resolution :premises (a1 t27 t28)) +(anchor :step t30 :args ((:= (veriT_vr2 Int) veriT_vr3))) +(step t30.t1 (cl (= veriT_vr2 veriT_vr3)) :rule refl) +(step t30.t2 (cl (= @p_26 (! (fun_app$ uu$ veriT_vr3) :named @p_31))) :rule cong :premises (t30.t1)) +(step t30.t3 (cl (= @p_28 (! (= @p_24 @p_31) :named @p_32))) :rule cong :premises (t30.t2)) +(step t30 (cl (! (= @p_30 (! (forall ((veriT_vr3 Int)) @p_32) :named @p_34)) :named @p_33)) :rule bind) +(step t31 (cl (not @p_33) (not @p_30) @p_34) :rule equiv_pos2) +(step t32 (cl @p_34) :rule th_resolution :premises (t29 t30 t31)) +(anchor :step t33 :args ((:= (?v0 Int_real_real_real_prod_fun_bool_fun_fun$) veriT_vr4) (:= (?v1 Int_real_real_real_prod_fun_prod$) veriT_vr5))) +(step t33.t1 (cl (! (= ?v0 veriT_vr4) :named @p_38)) :rule refl) +(step t33.t2 (cl (! (= ?v1 veriT_vr5) :named @p_39)) :rule refl) +(step t33.t3 (cl (= @p_36 (! (case_prod$ veriT_vr4 veriT_vr5) :named @p_37))) :rule cong :premises (t33.t1 t33.t2)) +(step t33.t4 (cl @p_38) :rule refl) +(step t33.t5 (cl @p_39) :rule refl) +(step t33.t6 (cl (= @p_40 (! (fst$ veriT_vr5) :named @p_41))) :rule cong :premises (t33.t5)) +(step t33.t7 (cl (= @p_42 (! (fun_app$ veriT_vr4 @p_41) :named @p_43))) :rule cong :premises (t33.t4 t33.t6)) +(step t33.t8 (cl @p_39) :rule refl) +(step t33.t9 (cl (= @p_44 (! (snd$ veriT_vr5) :named @p_45))) :rule cong :premises (t33.t8)) +(step t33.t10 (cl (= @p_46 (! (fun_app$a @p_43 @p_45) :named @p_47))) :rule cong :premises (t33.t7 t33.t9)) +(step t33.t11 (cl (= @p_48 (! (= @p_37 @p_47) :named @p_49))) :rule cong :premises (t33.t3 t33.t10)) +(step t33 (cl (! (= @p_35 (! (forall ((veriT_vr4 Int_real_real_real_prod_fun_bool_fun_fun$) (veriT_vr5 Int_real_real_real_prod_fun_prod$)) @p_49) :named @p_51)) :named @p_50)) :rule bind) +(step t34 (cl (not @p_50) (not @p_35) @p_51) :rule equiv_pos2) +(step t35 (cl @p_51) :rule th_resolution :premises (a2 t33 t34)) +(anchor :step t36 :args ((:= (veriT_vr4 Int_real_real_real_prod_fun_bool_fun_fun$) veriT_vr6) (:= (veriT_vr5 Int_real_real_real_prod_fun_prod$) veriT_vr7))) +(step t36.t1 (cl (! (= veriT_vr4 veriT_vr6) :named @p_53)) :rule refl) +(step t36.t2 (cl (! (= veriT_vr5 veriT_vr7) :named @p_54)) :rule refl) +(step t36.t3 (cl (= @p_37 (! (case_prod$ veriT_vr6 veriT_vr7) :named @p_52))) :rule cong :premises (t36.t1 t36.t2)) +(step t36.t4 (cl @p_53) :rule refl) +(step t36.t5 (cl @p_54) :rule refl) +(step t36.t6 (cl (= @p_41 (! (fst$ veriT_vr7) :named @p_55))) :rule cong :premises (t36.t5)) +(step t36.t7 (cl (= @p_43 (! (fun_app$ veriT_vr6 @p_55) :named @p_56))) :rule cong :premises (t36.t4 t36.t6)) +(step t36.t8 (cl @p_54) :rule refl) +(step t36.t9 (cl (= @p_45 (! (snd$ veriT_vr7) :named @p_57))) :rule cong :premises (t36.t8)) +(step t36.t10 (cl (= @p_47 (! (fun_app$a @p_56 @p_57) :named @p_58))) :rule cong :premises (t36.t7 t36.t9)) +(step t36.t11 (cl (= @p_49 (! (= @p_52 @p_58) :named @p_59))) :rule cong :premises (t36.t3 t36.t10)) +(step t36 (cl (! (= @p_51 (! (forall ((veriT_vr6 Int_real_real_real_prod_fun_bool_fun_fun$) (veriT_vr7 Int_real_real_real_prod_fun_prod$)) @p_59) :named @p_61)) :named @p_60)) :rule bind) +(step t37 (cl (not @p_60) (not @p_51) @p_61) :rule equiv_pos2) +(step t38 (cl @p_61) :rule th_resolution :premises (t35 t36 t37)) +(anchor :step t39 :args ((:= (?v0 Real_real_prod$) veriT_vr8) (:= (?v1 Real_real_prod$) veriT_vr9))) +(step t39.t1 (cl (! (= ?v0 veriT_vr8) :named @p_68)) :rule refl) +(step t39.t2 (cl (= @p_3 (! (insert$ veriT_vr8 bot$) :named @p_63))) :rule cong :premises (t39.t1)) +(step t39.t3 (cl (! (= ?v1 veriT_vr9) :named @p_69)) :rule refl) +(step t39.t4 (cl (= @p_64 (! (insert$ veriT_vr9 bot$) :named @p_65))) :rule cong :premises (t39.t3)) +(step t39.t5 (cl (= @p_66 (! (= @p_63 @p_65) :named @p_67))) :rule cong :premises (t39.t2 t39.t4)) +(step t39.t6 (cl @p_68) :rule refl) +(step t39.t7 (cl @p_69) :rule refl) +(step t39.t8 (cl (= @p_70 (! (= veriT_vr8 veriT_vr9) :named @p_71))) :rule cong :premises (t39.t6 t39.t7)) +(step t39.t9 (cl (= @p_72 (! (=> @p_67 @p_71) :named @p_73))) :rule cong :premises (t39.t5 t39.t8)) +(step t39 (cl (! (= @p_62 (! (forall ((veriT_vr8 Real_real_prod$) (veriT_vr9 Real_real_prod$)) @p_73) :named @p_75)) :named @p_74)) :rule bind) +(step t40 (cl (not @p_74) (not @p_62) @p_75) :rule equiv_pos2) +(step t41 (cl @p_75) :rule th_resolution :premises (a3 t39 t40)) +(anchor :step t42 :args ((:= (veriT_vr8 Real_real_prod$) veriT_vr10) (:= (veriT_vr9 Real_real_prod$) veriT_vr11))) +(step t42.t1 (cl (! (= veriT_vr8 veriT_vr10) :named @p_79)) :rule refl) +(step t42.t2 (cl (= @p_63 (! (insert$ veriT_vr10 bot$) :named @p_76))) :rule cong :premises (t42.t1)) +(step t42.t3 (cl (! (= veriT_vr9 veriT_vr11) :named @p_80)) :rule refl) +(step t42.t4 (cl (= @p_65 (! (insert$ veriT_vr11 bot$) :named @p_77))) :rule cong :premises (t42.t3)) +(step t42.t5 (cl (= @p_67 (! (= @p_76 @p_77) :named @p_78))) :rule cong :premises (t42.t2 t42.t4)) +(step t42.t6 (cl @p_79) :rule refl) +(step t42.t7 (cl @p_80) :rule refl) +(step t42.t8 (cl (= @p_71 (! (= veriT_vr10 veriT_vr11) :named @p_81))) :rule cong :premises (t42.t6 t42.t7)) +(step t42.t9 (cl (= @p_73 (! (=> @p_78 @p_81) :named @p_82))) :rule cong :premises (t42.t5 t42.t8)) +(step t42 (cl (! (= @p_75 (! (forall ((veriT_vr10 Real_real_prod$) (veriT_vr11 Real_real_prod$)) @p_82) :named @p_84)) :named @p_83)) :rule bind) +(step t43 (cl (not @p_83) (not @p_75) @p_84) :rule equiv_pos2) +(step t44 (cl @p_84) :rule th_resolution :premises (t41 t42 t43)) +(anchor :step t45 :args ((:= (?v0 Int) veriT_vr12) (:= (?v1 Real_real_real_prod_fun$) veriT_vr13))) +(step t45.t1 (cl (! (= ?v1 veriT_vr13) :named @p_86)) :rule refl) +(step t45.t2 (cl (= ?v0 veriT_vr12)) :rule refl) +(step t45.t3 (cl @p_86) :rule refl) +(step t45.t4 (cl (= @p_87 (! (pair$ veriT_vr12 veriT_vr13) :named @p_88))) :rule cong :premises (t45.t2 t45.t3)) +(step t45.t5 (cl (= @p_89 (! (snd$ @p_88) :named @p_90))) :rule cong :premises (t45.t4)) +(step t45.t6 (cl (= @p_91 (! (= veriT_vr13 @p_90) :named @p_92))) :rule cong :premises (t45.t1 t45.t5)) +(step t45 (cl (! (= @p_85 (! (forall ((veriT_vr12 Int) (veriT_vr13 Real_real_real_prod_fun$)) @p_92) :named @p_94)) :named @p_93)) :rule bind) +(step t46 (cl (not @p_93) (not @p_85) @p_94) :rule equiv_pos2) +(step t47 (cl @p_94) :rule th_resolution :premises (a4 t45 t46)) +(anchor :step t48 :args ((:= (veriT_vr12 Int) veriT_vr14) (:= (veriT_vr13 Real_real_real_prod_fun$) veriT_vr15))) +(step t48.t1 (cl (! (= veriT_vr13 veriT_vr15) :named @p_95)) :rule refl) +(step t48.t2 (cl (= veriT_vr12 veriT_vr14)) :rule refl) +(step t48.t3 (cl @p_95) :rule refl) +(step t48.t4 (cl (= @p_88 (! (pair$ veriT_vr14 veriT_vr15) :named @p_96))) :rule cong :premises (t48.t2 t48.t3)) +(step t48.t5 (cl (= @p_90 (! (snd$ @p_96) :named @p_97))) :rule cong :premises (t48.t4)) +(step t48.t6 (cl (= @p_92 (! (= veriT_vr15 @p_97) :named @p_98))) :rule cong :premises (t48.t1 t48.t5)) +(step t48 (cl (! (= @p_94 (! (forall ((veriT_vr14 Int) (veriT_vr15 Real_real_real_prod_fun$)) @p_98) :named @p_100)) :named @p_99)) :rule bind) +(step t49 (cl (not @p_99) (not @p_94) @p_100) :rule equiv_pos2) +(step t50 (cl @p_100) :rule th_resolution :premises (t47 t48 t49)) +(anchor :step t51 :args ((:= (?v0 Real) veriT_vr16) (:= (?v1 Real) veriT_vr17))) +(step t51.t1 (cl (! (= ?v1 veriT_vr17) :named @p_104)) :rule refl) +(step t51.t2 (cl (= ?v0 veriT_vr16)) :rule refl) +(step t51.t3 (cl (= @p_102 (! (pair$a veriT_vr16) :named @p_103))) :rule cong :premises (t51.t2)) +(step t51.t4 (cl @p_104) :rule refl) +(step t51.t5 (cl (= @p_105 (! (fun_app$b @p_103 veriT_vr17) :named @p_106))) :rule cong :premises (t51.t3 t51.t4)) +(step t51.t6 (cl (= @p_107 (! (snd$a @p_106) :named @p_108))) :rule cong :premises (t51.t5)) +(step t51.t7 (cl (= @p_109 (! (= veriT_vr17 @p_108) :named @p_110))) :rule cong :premises (t51.t1 t51.t6)) +(step t51 (cl (! (= @p_101 (! (forall ((veriT_vr16 Real) (veriT_vr17 Real)) @p_110) :named @p_112)) :named @p_111)) :rule bind) +(step t52 (cl (not @p_111) (not @p_101) @p_112) :rule equiv_pos2) +(step t53 (cl @p_112) :rule th_resolution :premises (a5 t51 t52)) +(anchor :step t54 :args ((:= (veriT_vr16 Real) veriT_vr18) (:= (veriT_vr17 Real) veriT_vr19))) +(step t54.t1 (cl (! (= veriT_vr17 veriT_vr19) :named @p_114)) :rule refl) +(step t54.t2 (cl (= veriT_vr16 veriT_vr18)) :rule refl) +(step t54.t3 (cl (= @p_103 (! (pair$a veriT_vr18) :named @p_113))) :rule cong :premises (t54.t2)) +(step t54.t4 (cl @p_114) :rule refl) +(step t54.t5 (cl (= @p_106 (! (fun_app$b @p_113 veriT_vr19) :named @p_115))) :rule cong :premises (t54.t3 t54.t4)) +(step t54.t6 (cl (= @p_108 (! (snd$a @p_115) :named @p_116))) :rule cong :premises (t54.t5)) +(step t54.t7 (cl (= @p_110 (! (= veriT_vr19 @p_116) :named @p_117))) :rule cong :premises (t54.t1 t54.t6)) +(step t54 (cl (! (= @p_112 (! (forall ((veriT_vr18 Real) (veriT_vr19 Real)) @p_117) :named @p_119)) :named @p_118)) :rule bind) +(step t55 (cl (not @p_118) (not @p_112) @p_119) :rule equiv_pos2) +(step t56 (cl @p_119) :rule th_resolution :premises (t53 t54 t55)) +(anchor :step t57 :args ((:= (?v0 Real_real_prod_set$) veriT_vr20) (:= (?v1 Real_real_prod$) veriT_vr21) (:= (?v2 Real_real_prod_set$) veriT_vr22))) +(step t57.t1 (cl (! (= ?v0 veriT_vr20) :named @p_127)) :rule refl) +(step t57.t2 (cl (! (= ?v1 veriT_vr21) :named @p_126)) :rule refl) +(step t57.t3 (cl (! (= ?v2 veriT_vr22) :named @p_132)) :rule refl) +(step t57.t4 (cl (= @p_1 (! (insert$ veriT_vr21 veriT_vr22) :named @p_121))) :rule cong :premises (t57.t2 t57.t3)) +(step t57.t5 (cl (= @p_122 (! (inf$ veriT_vr20 @p_121) :named @p_123))) :rule cong :premises (t57.t1 t57.t4)) +(step t57.t6 (cl (= @p_124 (! (= bot$ @p_123) :named @p_125))) :rule cong :premises (t57.t5)) +(step t57.t7 (cl @p_126) :rule refl) +(step t57.t8 (cl @p_127) :rule refl) +(step t57.t9 (cl (= @p_128 (! (member$a veriT_vr21 veriT_vr20) :named @p_129))) :rule cong :premises (t57.t7 t57.t8)) +(step t57.t10 (cl (= @p_130 (! (not @p_129) :named @p_131))) :rule cong :premises (t57.t9)) +(step t57.t11 (cl @p_127) :rule refl) +(step t57.t12 (cl @p_132) :rule refl) +(step t57.t13 (cl (= @p_133 (! (inf$ veriT_vr20 veriT_vr22) :named @p_134))) :rule cong :premises (t57.t11 t57.t12)) +(step t57.t14 (cl (= @p_135 (! (= bot$ @p_134) :named @p_136))) :rule cong :premises (t57.t13)) +(step t57.t15 (cl (= @p_137 (! (and @p_131 @p_136) :named @p_138))) :rule cong :premises (t57.t10 t57.t14)) +(step t57.t16 (cl (= @p_139 (! (= @p_125 @p_138) :named @p_140))) :rule cong :premises (t57.t6 t57.t15)) +(step t57 (cl (! (= @p_120 (! (forall ((veriT_vr20 Real_real_prod_set$) (veriT_vr21 Real_real_prod$) (veriT_vr22 Real_real_prod_set$)) @p_140) :named @p_142)) :named @p_141)) :rule bind) +(step t58 (cl (not @p_141) (not @p_120) @p_142) :rule equiv_pos2) +(step t59 (cl @p_142) :rule th_resolution :premises (a7 t57 t58)) +(anchor :step t60 :args ((:= (veriT_vr20 Real_real_prod_set$) veriT_vr23) (:= (veriT_vr21 Real_real_prod$) veriT_vr24) (:= (veriT_vr22 Real_real_prod_set$) veriT_vr25))) +(step t60.t1 (cl (! (= veriT_vr20 veriT_vr23) :named @p_147)) :rule refl) +(step t60.t2 (cl (! (= veriT_vr21 veriT_vr24) :named @p_146)) :rule refl) +(step t60.t3 (cl (! (= veriT_vr22 veriT_vr25) :named @p_150)) :rule refl) +(step t60.t4 (cl (= @p_121 (! (insert$ veriT_vr24 veriT_vr25) :named @p_143))) :rule cong :premises (t60.t2 t60.t3)) +(step t60.t5 (cl (= @p_123 (! (inf$ veriT_vr23 @p_143) :named @p_144))) :rule cong :premises (t60.t1 t60.t4)) +(step t60.t6 (cl (= @p_125 (! (= bot$ @p_144) :named @p_145))) :rule cong :premises (t60.t5)) +(step t60.t7 (cl @p_146) :rule refl) +(step t60.t8 (cl @p_147) :rule refl) +(step t60.t9 (cl (= @p_129 (! (member$a veriT_vr24 veriT_vr23) :named @p_148))) :rule cong :premises (t60.t7 t60.t8)) +(step t60.t10 (cl (= @p_131 (! (not @p_148) :named @p_149))) :rule cong :premises (t60.t9)) +(step t60.t11 (cl @p_147) :rule refl) +(step t60.t12 (cl @p_150) :rule refl) +(step t60.t13 (cl (= @p_134 (! (inf$ veriT_vr23 veriT_vr25) :named @p_151))) :rule cong :premises (t60.t11 t60.t12)) +(step t60.t14 (cl (= @p_136 (! (= bot$ @p_151) :named @p_152))) :rule cong :premises (t60.t13)) +(step t60.t15 (cl (= @p_138 (! (and @p_149 @p_152) :named @p_153))) :rule cong :premises (t60.t10 t60.t14)) +(step t60.t16 (cl (= @p_140 (! (= @p_145 @p_153) :named @p_154))) :rule cong :premises (t60.t6 t60.t15)) +(step t60 (cl (! (= @p_142 (! (forall ((veriT_vr23 Real_real_prod_set$) (veriT_vr24 Real_real_prod$) (veriT_vr25 Real_real_prod_set$)) @p_154) :named @p_156)) :named @p_155)) :rule bind) +(step t61 (cl (not @p_155) (not @p_142) @p_156) :rule equiv_pos2) +(step t62 (cl @p_156) :rule th_resolution :premises (t59 t60 t61)) +(anchor :step t63 :args ((:= (?v0 Real_real_prod_set$) veriT_vr26) (:= (?v1 Real_real_prod$) veriT_vr27))) +(step t63.t1 (cl (! (= ?v0 veriT_vr26) :named @p_159)) :rule refl) +(step t63.t2 (cl (= @p_4 (! (finite$ veriT_vr26) :named @p_158))) :rule cong :premises (t63.t1)) +(step t63.t3 (cl (= ?v1 veriT_vr27)) :rule refl) +(step t63.t4 (cl @p_159) :rule refl) +(step t63.t5 (cl (= @p_160 (! (insert$ veriT_vr27 veriT_vr26) :named @p_161))) :rule cong :premises (t63.t3 t63.t4)) +(step t63.t6 (cl (= @p_162 (! (finite$ @p_161) :named @p_163))) :rule cong :premises (t63.t5)) +(step t63.t7 (cl (= @p_164 (! (=> @p_158 @p_163) :named @p_165))) :rule cong :premises (t63.t2 t63.t6)) +(step t63 (cl (! (= @p_157 (! (forall ((veriT_vr26 Real_real_prod_set$) (veriT_vr27 Real_real_prod$)) @p_165) :named @p_167)) :named @p_166)) :rule bind) +(step t64 (cl (not @p_166) (not @p_157) @p_167) :rule equiv_pos2) +(step t65 (cl @p_167) :rule th_resolution :premises (a9 t63 t64)) +(anchor :step t66 :args ((:= (veriT_vr26 Real_real_prod_set$) veriT_vr28) (:= (veriT_vr27 Real_real_prod$) veriT_vr29))) +(step t66.t1 (cl (! (= veriT_vr26 veriT_vr28) :named @p_169)) :rule refl) +(step t66.t2 (cl (= @p_158 (! (finite$ veriT_vr28) :named @p_168))) :rule cong :premises (t66.t1)) +(step t66.t3 (cl (= veriT_vr27 veriT_vr29)) :rule refl) +(step t66.t4 (cl @p_169) :rule refl) +(step t66.t5 (cl (= @p_161 (! (insert$ veriT_vr29 veriT_vr28) :named @p_170))) :rule cong :premises (t66.t3 t66.t4)) +(step t66.t6 (cl (= @p_163 (! (finite$ @p_170) :named @p_171))) :rule cong :premises (t66.t5)) +(step t66.t7 (cl (= @p_165 (! (=> @p_168 @p_171) :named @p_172))) :rule cong :premises (t66.t2 t66.t6)) +(step t66 (cl (! (= @p_167 (! (forall ((veriT_vr28 Real_real_prod_set$) (veriT_vr29 Real_real_prod$)) @p_172) :named @p_174)) :named @p_173)) :rule bind) +(step t67 (cl (not @p_173) (not @p_167) @p_174) :rule equiv_pos2) +(step t68 (cl @p_174) :rule th_resolution :premises (t65 t66 t67)) +(anchor :step t69 :args ((:= (?v0 Real_real_prod$) veriT_vr30) (:= (?v1 Real_real_prod_set$) veriT_vr31))) +(step t69.t1 (cl (! (= ?v0 veriT_vr30) :named @p_179)) :rule refl) +(step t69.t2 (cl (! (= ?v1 veriT_vr31) :named @p_178)) :rule refl) +(step t69.t3 (cl (= @p_176 (! (member$a veriT_vr30 veriT_vr31) :named @p_177))) :rule cong :premises (t69.t1 t69.t2)) +(step t69.t4 (cl @p_178) :rule refl) +(step t69.t5 (cl @p_179) :rule refl) +(step t69.t6 (cl @p_178) :rule refl) +(step t69.t7 (cl (= @p_2 (! (insert$ veriT_vr30 veriT_vr31) :named @p_180))) :rule cong :premises (t69.t5 t69.t6)) +(step t69.t8 (cl (= @p_181 (! (= veriT_vr31 @p_180) :named @p_182))) :rule cong :premises (t69.t4 t69.t7)) +(step t69.t9 (cl (= @p_183 (! (=> @p_177 @p_182) :named @p_184))) :rule cong :premises (t69.t3 t69.t8)) +(step t69 (cl (! (= @p_175 (! (forall ((veriT_vr30 Real_real_prod$) (veriT_vr31 Real_real_prod_set$)) @p_184) :named @p_186)) :named @p_185)) :rule bind) +(step t70 (cl (not @p_185) (not @p_175) @p_186) :rule equiv_pos2) +(step t71 (cl @p_186) :rule th_resolution :premises (a11 t69 t70)) +(anchor :step t72 :args ((:= (veriT_vr30 Real_real_prod$) veriT_vr32) (:= (veriT_vr31 Real_real_prod_set$) veriT_vr33))) +(step t72.t1 (cl (! (= veriT_vr30 veriT_vr32) :named @p_189)) :rule refl) +(step t72.t2 (cl (! (= veriT_vr31 veriT_vr33) :named @p_188)) :rule refl) +(step t72.t3 (cl (= @p_177 (! (member$a veriT_vr32 veriT_vr33) :named @p_187))) :rule cong :premises (t72.t1 t72.t2)) +(step t72.t4 (cl @p_188) :rule refl) +(step t72.t5 (cl @p_189) :rule refl) +(step t72.t6 (cl @p_188) :rule refl) +(step t72.t7 (cl (= @p_180 (! (insert$ veriT_vr32 veriT_vr33) :named @p_190))) :rule cong :premises (t72.t5 t72.t6)) +(step t72.t8 (cl (= @p_182 (! (= veriT_vr33 @p_190) :named @p_191))) :rule cong :premises (t72.t4 t72.t7)) +(step t72.t9 (cl (= @p_184 (! (=> @p_187 @p_191) :named @p_192))) :rule cong :premises (t72.t3 t72.t8)) +(step t72 (cl (! (= @p_186 (! (forall ((veriT_vr32 Real_real_prod$) (veriT_vr33 Real_real_prod_set$)) @p_192) :named @p_194)) :named @p_193)) :rule bind) +(step t73 (cl (not @p_193) (not @p_186) @p_194) :rule equiv_pos2) +(step t74 (cl @p_194) :rule th_resolution :premises (t71 t72 t73)) +(anchor :step t75 :args ((:= (?v0 Real_real_prod_set$) veriT_vr34))) +(step t75.t1 (cl (= ?v0 veriT_vr34)) :rule refl) +(step t75.t2 (cl (= @p_196 (! (inf$ veriT_vr34 bot$) :named @p_197))) :rule cong :premises (t75.t1)) +(step t75.t3 (cl (= @p_198 (! (= bot$ @p_197) :named @p_199))) :rule cong :premises (t75.t2)) +(step t75 (cl (! (= @p_195 (! (forall ((veriT_vr34 Real_real_prod_set$)) @p_199) :named @p_201)) :named @p_200)) :rule bind) +(step t76 (cl (not @p_200) (not @p_195) @p_201) :rule equiv_pos2) +(step t77 (cl @p_201) :rule th_resolution :premises (a13 t75 t76)) +(anchor :step t78 :args ((:= (veriT_vr34 Real_real_prod_set$) veriT_vr35))) +(step t78.t1 (cl (= veriT_vr34 veriT_vr35)) :rule refl) +(step t78.t2 (cl (= @p_197 (! (inf$ veriT_vr35 bot$) :named @p_202))) :rule cong :premises (t78.t1)) +(step t78.t3 (cl (= @p_199 (! (= bot$ @p_202) :named @p_203))) :rule cong :premises (t78.t2)) +(step t78 (cl (! (= @p_201 (! (forall ((veriT_vr35 Real_real_prod_set$)) @p_203) :named @p_205)) :named @p_204)) :rule bind) +(step t79 (cl (not @p_204) (not @p_201) @p_205) :rule equiv_pos2) +(step t80 (cl @p_205) :rule th_resolution :premises (t77 t78 t79)) +(anchor :step t81 :args ((:= (?v0 Real_real_prod$) veriT_vr36) (:= (?v1 Real_real_prod$) veriT_vr37) (:= (?v2 Real_real_prod_set$) veriT_vr38))) +(step t81.t1 (cl (! (= ?v0 veriT_vr36) :named @p_211)) :rule refl) +(step t81.t2 (cl (! (= ?v1 veriT_vr37) :named @p_210)) :rule refl) +(step t81.t3 (cl (! (= ?v2 veriT_vr38) :named @p_212)) :rule refl) +(step t81.t4 (cl (= @p_1 (! (insert$ veriT_vr37 veriT_vr38) :named @p_207))) :rule cong :premises (t81.t2 t81.t3)) +(step t81.t5 (cl (= @p_208 (! (insert$ veriT_vr36 @p_207) :named @p_209))) :rule cong :premises (t81.t1 t81.t4)) +(step t81.t6 (cl @p_210) :rule refl) +(step t81.t7 (cl @p_211) :rule refl) +(step t81.t8 (cl @p_212) :rule refl) +(step t81.t9 (cl (= @p_213 (! (insert$ veriT_vr36 veriT_vr38) :named @p_214))) :rule cong :premises (t81.t7 t81.t8)) +(step t81.t10 (cl (= @p_215 (! (insert$ veriT_vr37 @p_214) :named @p_216))) :rule cong :premises (t81.t6 t81.t9)) +(step t81.t11 (cl (= @p_217 (! (= @p_209 @p_216) :named @p_218))) :rule cong :premises (t81.t5 t81.t10)) +(step t81 (cl (! (= @p_206 (! (forall ((veriT_vr36 Real_real_prod$) (veriT_vr37 Real_real_prod$) (veriT_vr38 Real_real_prod_set$)) @p_218) :named @p_220)) :named @p_219)) :rule bind) +(step t82 (cl (not @p_219) (not @p_206) @p_220) :rule equiv_pos2) +(step t83 (cl @p_220) :rule th_resolution :premises (a14 t81 t82)) +(anchor :step t84 :args ((:= (veriT_vr36 Real_real_prod$) veriT_vr39) (:= (veriT_vr37 Real_real_prod$) veriT_vr40) (:= (veriT_vr38 Real_real_prod_set$) veriT_vr41))) +(step t84.t1 (cl (! (= veriT_vr36 veriT_vr39) :named @p_224)) :rule refl) +(step t84.t2 (cl (! (= veriT_vr37 veriT_vr40) :named @p_223)) :rule refl) +(step t84.t3 (cl (! (= veriT_vr38 veriT_vr41) :named @p_225)) :rule refl) +(step t84.t4 (cl (= @p_207 (! (insert$ veriT_vr40 veriT_vr41) :named @p_221))) :rule cong :premises (t84.t2 t84.t3)) +(step t84.t5 (cl (= @p_209 (! (insert$ veriT_vr39 @p_221) :named @p_222))) :rule cong :premises (t84.t1 t84.t4)) +(step t84.t6 (cl @p_223) :rule refl) +(step t84.t7 (cl @p_224) :rule refl) +(step t84.t8 (cl @p_225) :rule refl) +(step t84.t9 (cl (= @p_214 (! (insert$ veriT_vr39 veriT_vr41) :named @p_226))) :rule cong :premises (t84.t7 t84.t8)) +(step t84.t10 (cl (= @p_216 (! (insert$ veriT_vr40 @p_226) :named @p_227))) :rule cong :premises (t84.t6 t84.t9)) +(step t84.t11 (cl (= @p_218 (! (= @p_222 @p_227) :named @p_228))) :rule cong :premises (t84.t5 t84.t10)) +(step t84 (cl (! (= @p_220 (! (forall ((veriT_vr39 Real_real_prod$) (veriT_vr40 Real_real_prod$) (veriT_vr41 Real_real_prod_set$)) @p_228) :named @p_230)) :named @p_229)) :rule bind) +(step t85 (cl (not @p_229) (not @p_220) @p_230) :rule equiv_pos2) +(step t86 (cl @p_230) :rule th_resolution :premises (t83 t84 t85)) +(anchor :step t87 :args ((:= (?v0 Real_real_prod$) veriT_vr42) (:= (?v1 Real_real_prod_set$) veriT_vr43))) +(step t87.t1 (cl (! (= ?v0 veriT_vr42) :named @p_233)) :rule refl) +(step t87.t2 (cl (! (= ?v1 veriT_vr43) :named @p_235)) :rule refl) +(step t87.t3 (cl (= @p_2 (! (insert$ veriT_vr42 veriT_vr43) :named @p_232))) :rule cong :premises (t87.t1 t87.t2)) +(step t87.t4 (cl @p_233) :rule refl) +(step t87.t5 (cl (= @p_3 (! (insert$ veriT_vr42 bot$) :named @p_234))) :rule cong :premises (t87.t4)) +(step t87.t6 (cl @p_235) :rule refl) +(step t87.t7 (cl (= @p_236 (! (sup$ @p_234 veriT_vr43) :named @p_237))) :rule cong :premises (t87.t5 t87.t6)) +(step t87.t8 (cl (= @p_238 (! (= @p_232 @p_237) :named @p_239))) :rule cong :premises (t87.t3 t87.t7)) +(step t87 (cl (! (= @p_231 (! (forall ((veriT_vr42 Real_real_prod$) (veriT_vr43 Real_real_prod_set$)) @p_239) :named @p_241)) :named @p_240)) :rule bind) +(step t88 (cl (not @p_240) (not @p_231) @p_241) :rule equiv_pos2) +(step t89 (cl @p_241) :rule th_resolution :premises (a15 t87 t88)) +(anchor :step t90 :args ((:= (veriT_vr42 Real_real_prod$) veriT_vr44) (:= (veriT_vr43 Real_real_prod_set$) veriT_vr45))) +(step t90.t1 (cl (! (= veriT_vr42 veriT_vr44) :named @p_243)) :rule refl) +(step t90.t2 (cl (! (= veriT_vr43 veriT_vr45) :named @p_245)) :rule refl) +(step t90.t3 (cl (= @p_232 (! (insert$ veriT_vr44 veriT_vr45) :named @p_242))) :rule cong :premises (t90.t1 t90.t2)) +(step t90.t4 (cl @p_243) :rule refl) +(step t90.t5 (cl (= @p_234 (! (insert$ veriT_vr44 bot$) :named @p_244))) :rule cong :premises (t90.t4)) +(step t90.t6 (cl @p_245) :rule refl) +(step t90.t7 (cl (= @p_237 (! (sup$ @p_244 veriT_vr45) :named @p_246))) :rule cong :premises (t90.t5 t90.t6)) +(step t90.t8 (cl (= @p_239 (! (= @p_242 @p_246) :named @p_247))) :rule cong :premises (t90.t3 t90.t7)) +(step t90 (cl (! (= @p_241 (! (forall ((veriT_vr44 Real_real_prod$) (veriT_vr45 Real_real_prod_set$)) @p_247) :named @p_249)) :named @p_248)) :rule bind) +(step t91 (cl (not @p_248) (not @p_241) @p_249) :rule equiv_pos2) +(step t92 (cl @p_249) :rule th_resolution :premises (t89 t90 t91)) +(anchor :step t93 :args ((:= (?v0 Real_real_prod_set$) veriT_vr46) (:= (?v1 Real_real_prod_real_real_prod_fun$) veriT_vr47) (:= (?v2 Real_real_prod_set$) veriT_vr48) (:= (?v3 Real_real_real_prod_fun$) veriT_vr49) (:= (?v4 Real_real_prod_set$) veriT_vr50))) +(step t93.t1 (cl (! (= ?v0 veriT_vr46) :named @p_262)) :rule refl) +(step t93.t2 (cl (= @p_4 (! (finite$ veriT_vr46) :named @p_251))) :rule cong :premises (t93.t1)) +(step t93.t3 (cl (! (= ?v1 veriT_vr47) :named @p_256)) :rule refl) +(step t93.t4 (cl (! (= ?v2 veriT_vr48) :named @p_263)) :rule refl) +(step t93.t5 (cl (= @p_252 (! (line_integral_exists$ veriT_vr47 veriT_vr48) :named @p_253))) :rule cong :premises (t93.t3 t93.t4)) +(step t93.t6 (cl (! (= ?v3 veriT_vr49) :named @p_259)) :rule refl) +(step t93.t7 (cl (= @p_254 (! (fun_app$a @p_253 veriT_vr49) :named @p_255))) :rule cong :premises (t93.t5 t93.t6)) +(step t93.t8 (cl @p_256) :rule refl) +(step t93.t9 (cl (! (= ?v4 veriT_vr50) :named @p_264)) :rule refl) +(step t93.t10 (cl (= @p_257 (! (line_integral_exists$ veriT_vr47 veriT_vr50) :named @p_258))) :rule cong :premises (t93.t8 t93.t9)) +(step t93.t11 (cl @p_259) :rule refl) +(step t93.t12 (cl (= @p_260 (! (fun_app$a @p_258 veriT_vr49) :named @p_261))) :rule cong :premises (t93.t10 t93.t11)) +(step t93.t13 (cl @p_262) :rule refl) +(step t93.t14 (cl @p_263) :rule refl) +(step t93.t15 (cl @p_264) :rule refl) +(step t93.t16 (cl (= @p_265 (! (sup$ veriT_vr48 veriT_vr50) :named @p_266))) :rule cong :premises (t93.t14 t93.t15)) +(step t93.t17 (cl (= @p_267 (! (= veriT_vr46 @p_266) :named @p_268))) :rule cong :premises (t93.t13 t93.t16)) +(step t93.t18 (cl @p_263) :rule refl) +(step t93.t19 (cl @p_264) :rule refl) +(step t93.t20 (cl (= @p_269 (! (inf$ veriT_vr48 veriT_vr50) :named @p_270))) :rule cong :premises (t93.t18 t93.t19)) +(step t93.t21 (cl (= @p_271 (! (= bot$ @p_270) :named @p_272))) :rule cong :premises (t93.t20)) +(step t93.t22 (cl (= @p_273 (! (and @p_268 @p_272) :named @p_274))) :rule cong :premises (t93.t17 t93.t21)) +(step t93.t23 (cl (= @p_275 (! (and @p_261 @p_274) :named @p_276))) :rule cong :premises (t93.t12 t93.t22)) +(step t93.t24 (cl (= @p_277 (! (and @p_255 @p_276) :named @p_278))) :rule cong :premises (t93.t7 t93.t23)) +(step t93.t25 (cl (= @p_279 (! (and @p_251 @p_278) :named @p_280))) :rule cong :premises (t93.t2 t93.t24)) +(step t93.t26 (cl @p_256) :rule refl) +(step t93.t27 (cl @p_262) :rule refl) +(step t93.t28 (cl @p_259) :rule refl) +(step t93.t29 (cl (= @p_281 (! (line_integral$ veriT_vr47 veriT_vr46 veriT_vr49) :named @p_282))) :rule cong :premises (t93.t26 t93.t27 t93.t28)) +(step t93.t30 (cl @p_256) :rule refl) +(step t93.t31 (cl @p_263) :rule refl) +(step t93.t32 (cl @p_259) :rule refl) +(step t93.t33 (cl (= @p_283 (! (line_integral$ veriT_vr47 veriT_vr48 veriT_vr49) :named @p_284))) :rule cong :premises (t93.t30 t93.t31 t93.t32)) +(step t93.t34 (cl @p_256) :rule refl) +(step t93.t35 (cl @p_264) :rule refl) +(step t93.t36 (cl @p_259) :rule refl) +(step t93.t37 (cl (= @p_285 (! (line_integral$ veriT_vr47 veriT_vr50 veriT_vr49) :named @p_286))) :rule cong :premises (t93.t34 t93.t35 t93.t36)) +(step t93.t38 (cl (= @p_287 (! (+ @p_284 @p_286) :named @p_288))) :rule cong :premises (t93.t33 t93.t37)) +(step t93.t39 (cl (= @p_289 (! (= @p_282 @p_288) :named @p_290))) :rule cong :premises (t93.t29 t93.t38)) +(step t93.t40 (cl (= @p_291 (! (=> @p_280 @p_290) :named @p_292))) :rule cong :premises (t93.t25 t93.t39)) +(step t93 (cl (! (= @p_250 (! (forall ((veriT_vr46 Real_real_prod_set$) (veriT_vr47 Real_real_prod_real_real_prod_fun$) (veriT_vr48 Real_real_prod_set$) (veriT_vr49 Real_real_real_prod_fun$) (veriT_vr50 Real_real_prod_set$)) @p_292) :named @p_294)) :named @p_293)) :rule bind) +(step t94 (cl (not @p_293) (not @p_250) @p_294) :rule equiv_pos2) +(step t95 (cl @p_294) :rule th_resolution :premises (a16 t93 t94)) +(anchor :step t96 :args ((veriT_vr46 Real_real_prod_set$) (veriT_vr47 Real_real_prod_real_real_prod_fun$) (veriT_vr48 Real_real_prod_set$) (veriT_vr49 Real_real_real_prod_fun$) (veriT_vr50 Real_real_prod_set$))) +(step t96.t1 (cl (= @p_280 (! (and @p_251 @p_255 @p_261 @p_268 @p_272) :named @p_295))) :rule ac_simp) +(step t96.t2 (cl (= @p_292 (! (=> @p_295 @p_290) :named @p_296))) :rule cong :premises (t96.t1)) +(step t96 (cl (! (= @p_294 (! (forall ((veriT_vr46 Real_real_prod_set$) (veriT_vr47 Real_real_prod_real_real_prod_fun$) (veriT_vr48 Real_real_prod_set$) (veriT_vr49 Real_real_real_prod_fun$) (veriT_vr50 Real_real_prod_set$)) @p_296) :named @p_298)) :named @p_297)) :rule bind) +(step t97 (cl (not @p_297) (not @p_294) @p_298) :rule equiv_pos2) +(step t98 (cl @p_298) :rule th_resolution :premises (t95 t96 t97)) +(anchor :step t99 :args ((:= (veriT_vr46 Real_real_prod_set$) veriT_vr51) (:= (veriT_vr47 Real_real_prod_real_real_prod_fun$) veriT_vr52) (:= (veriT_vr48 Real_real_prod_set$) veriT_vr53) (:= (veriT_vr49 Real_real_real_prod_fun$) veriT_vr54) (:= (veriT_vr50 Real_real_prod_set$) veriT_vr55))) +(step t99.t1 (cl (! (= veriT_vr46 veriT_vr51) :named @p_306)) :rule refl) +(step t99.t2 (cl (= @p_251 (! (finite$ veriT_vr51) :named @p_299))) :rule cong :premises (t99.t1)) +(step t99.t3 (cl (! (= veriT_vr47 veriT_vr52) :named @p_302)) :rule refl) +(step t99.t4 (cl (! (= veriT_vr48 veriT_vr53) :named @p_307)) :rule refl) +(step t99.t5 (cl (= @p_253 (! (line_integral_exists$ veriT_vr52 veriT_vr53) :named @p_300))) :rule cong :premises (t99.t3 t99.t4)) +(step t99.t6 (cl (! (= veriT_vr49 veriT_vr54) :named @p_304)) :rule refl) +(step t99.t7 (cl (= @p_255 (! (fun_app$a @p_300 veriT_vr54) :named @p_301))) :rule cong :premises (t99.t5 t99.t6)) +(step t99.t8 (cl @p_302) :rule refl) +(step t99.t9 (cl (! (= veriT_vr50 veriT_vr55) :named @p_308)) :rule refl) +(step t99.t10 (cl (= @p_258 (! (line_integral_exists$ veriT_vr52 veriT_vr55) :named @p_303))) :rule cong :premises (t99.t8 t99.t9)) +(step t99.t11 (cl @p_304) :rule refl) +(step t99.t12 (cl (= @p_261 (! (fun_app$a @p_303 veriT_vr54) :named @p_305))) :rule cong :premises (t99.t10 t99.t11)) +(step t99.t13 (cl @p_306) :rule refl) +(step t99.t14 (cl @p_307) :rule refl) +(step t99.t15 (cl @p_308) :rule refl) +(step t99.t16 (cl (= @p_266 (! (sup$ veriT_vr53 veriT_vr55) :named @p_309))) :rule cong :premises (t99.t14 t99.t15)) +(step t99.t17 (cl (= @p_268 (! (= veriT_vr51 @p_309) :named @p_310))) :rule cong :premises (t99.t13 t99.t16)) +(step t99.t18 (cl @p_307) :rule refl) +(step t99.t19 (cl @p_308) :rule refl) +(step t99.t20 (cl (= @p_270 (! (inf$ veriT_vr53 veriT_vr55) :named @p_311))) :rule cong :premises (t99.t18 t99.t19)) +(step t99.t21 (cl (= @p_272 (! (= bot$ @p_311) :named @p_312))) :rule cong :premises (t99.t20)) +(step t99.t22 (cl (= @p_295 (! (and @p_299 @p_301 @p_305 @p_310 @p_312) :named @p_313))) :rule cong :premises (t99.t2 t99.t7 t99.t12 t99.t17 t99.t21)) +(step t99.t23 (cl @p_302) :rule refl) +(step t99.t24 (cl @p_306) :rule refl) +(step t99.t25 (cl @p_304) :rule refl) +(step t99.t26 (cl (= @p_282 (! (line_integral$ veriT_vr52 veriT_vr51 veriT_vr54) :named @p_314))) :rule cong :premises (t99.t23 t99.t24 t99.t25)) +(step t99.t27 (cl @p_302) :rule refl) +(step t99.t28 (cl @p_307) :rule refl) +(step t99.t29 (cl @p_304) :rule refl) +(step t99.t30 (cl (= @p_284 (! (line_integral$ veriT_vr52 veriT_vr53 veriT_vr54) :named @p_315))) :rule cong :premises (t99.t27 t99.t28 t99.t29)) +(step t99.t31 (cl @p_302) :rule refl) +(step t99.t32 (cl @p_308) :rule refl) +(step t99.t33 (cl @p_304) :rule refl) +(step t99.t34 (cl (= @p_286 (! (line_integral$ veriT_vr52 veriT_vr55 veriT_vr54) :named @p_316))) :rule cong :premises (t99.t31 t99.t32 t99.t33)) +(step t99.t35 (cl (= @p_288 (! (+ @p_315 @p_316) :named @p_317))) :rule cong :premises (t99.t30 t99.t34)) +(step t99.t36 (cl (= @p_290 (! (= @p_314 @p_317) :named @p_318))) :rule cong :premises (t99.t26 t99.t35)) +(step t99.t37 (cl (= @p_296 (! (=> @p_313 @p_318) :named @p_319))) :rule cong :premises (t99.t22 t99.t36)) +(step t99 (cl (! (= @p_298 (! (forall ((veriT_vr51 Real_real_prod_set$) (veriT_vr52 Real_real_prod_real_real_prod_fun$) (veriT_vr53 Real_real_prod_set$) (veriT_vr54 Real_real_real_prod_fun$) (veriT_vr55 Real_real_prod_set$)) @p_319) :named @p_321)) :named @p_320)) :rule bind) +(step t100 (cl (not @p_320) (not @p_298) @p_321) :rule equiv_pos2) +(step t101 (cl @p_321) :rule th_resolution :premises (t98 t99 t100)) +(anchor :step t102 :args ((:= (?v0 Int_real_real_real_prod_fun_prod$) veriT_vr56))) +(step t102.t1 (cl (! (= ?v0 veriT_vr56) :named @p_324)) :rule refl) +(step t102.t2 (cl (= @p_9 (! (member$ veriT_vr56 one_chain_typeI$) :named @p_323))) :rule cong :premises (t102.t1)) +(step t102.t3 (cl @p_324) :rule refl) +(step t102.t4 (cl (! (= @p_6 (! (case_prod$ uu$ veriT_vr56) :named @p_325)) :named @p_330)) :rule cong :premises (t102.t3)) +(step t102.t5 (cl (= @p_326 (! (=> @p_323 @p_325) :named @p_327))) :rule cong :premises (t102.t2 t102.t4)) +(step t102 (cl (= @p_322 (! (forall ((veriT_vr56 Int_real_real_real_prod_fun_prod$)) @p_327) :named @p_334))) :rule bind) +(anchor :step t103 :args ((:= (?v0 Int_real_real_real_prod_fun_prod$) veriT_vr56))) +(step t103.t1 (cl @p_324) :rule refl) +(step t103.t2 (cl (= @p_8 (! (member$ veriT_vr56 one_chain_typeII$) :named @p_329))) :rule cong :premises (t103.t1)) +(step t103.t3 (cl @p_324) :rule refl) +(step t103.t4 (cl @p_330) :rule cong :premises (t103.t3)) +(step t103.t5 (cl (= @p_331 (! (=> @p_329 @p_325) :named @p_332))) :rule cong :premises (t103.t2 t103.t4)) +(step t103 (cl (= @p_328 (! (forall ((veriT_vr56 Int_real_real_real_prod_fun_prod$)) @p_332) :named @p_335))) :rule bind) +(step t104 (cl (= @p_333 (! (and @p_334 @p_335) :named @p_338))) :rule cong :premises (t102 t103)) +(step t105 (cl (! (= @p_336 (! (and @p_337 @p_338) :named @p_340)) :named @p_339)) :rule cong :premises (t104)) +(step t106 (cl (not @p_339) (not @p_336) @p_340) :rule equiv_pos2) +(step t107 (cl @p_340) :rule th_resolution :premises (a17 t105 t106)) +(step t108 (cl (! (= @p_340 (! (and @p_337 @p_334 @p_335) :named @p_342)) :named @p_341)) :rule ac_simp) +(step t109 (cl (not @p_341) (not @p_340) @p_342) :rule equiv_pos2) +(step t110 (cl @p_342) :rule th_resolution :premises (t107 t108 t109)) +(anchor :step t111 :args ((:= (veriT_vr56 Int_real_real_real_prod_fun_prod$) veriT_vr57))) +(step t111.t1 (cl (! (= veriT_vr56 veriT_vr57) :named @p_344)) :rule refl) +(step t111.t2 (cl (= @p_329 (! (member$ veriT_vr57 one_chain_typeII$) :named @p_343))) :rule cong :premises (t111.t1)) +(step t111.t3 (cl @p_344) :rule refl) +(step t111.t4 (cl (= @p_325 (! (case_prod$ uu$ veriT_vr57) :named @p_345))) :rule cong :premises (t111.t3)) +(step t111.t5 (cl (= @p_332 (! (=> @p_343 @p_345) :named @p_346))) :rule cong :premises (t111.t2 t111.t4)) +(step t111 (cl (= @p_335 (! (forall ((veriT_vr57 Int_real_real_real_prod_fun_prod$)) @p_346) :named @p_347))) :rule bind) +(step t112 (cl (! (= @p_342 (! (and @p_337 @p_334 @p_347) :named @p_349)) :named @p_348)) :rule cong :premises (t111)) +(step t113 (cl (not @p_348) (not @p_342) @p_349) :rule equiv_pos2) +(step t114 (cl @p_349) :rule th_resolution :premises (t110 t112 t113)) +(anchor :step t115 :args ((:= (veriT_vr56 Int_real_real_real_prod_fun_prod$) veriT_vr58))) +(step t115.t1 (cl (! (= veriT_vr56 veriT_vr58) :named @p_351)) :rule refl) +(step t115.t2 (cl (= @p_323 (! (member$ veriT_vr58 one_chain_typeI$) :named @p_350))) :rule cong :premises (t115.t1)) +(step t115.t3 (cl @p_351) :rule refl) +(step t115.t4 (cl (= @p_325 (! (case_prod$ uu$ veriT_vr58) :named @p_352))) :rule cong :premises (t115.t3)) +(step t115.t5 (cl (= @p_327 (! (=> @p_350 @p_352) :named @p_353))) :rule cong :premises (t115.t2 t115.t4)) +(step t115 (cl (= @p_334 (! (forall ((veriT_vr58 Int_real_real_real_prod_fun_prod$)) @p_353) :named @p_358))) :rule bind) +(anchor :step t116 :args ((:= (veriT_vr57 Int_real_real_real_prod_fun_prod$) veriT_vr59))) +(step t116.t1 (cl (! (= veriT_vr57 veriT_vr59) :named @p_355)) :rule refl) +(step t116.t2 (cl (= @p_343 (! (member$ veriT_vr59 one_chain_typeII$) :named @p_354))) :rule cong :premises (t116.t1)) +(step t116.t3 (cl @p_355) :rule refl) +(step t116.t4 (cl (= @p_345 (! (case_prod$ uu$ veriT_vr59) :named @p_356))) :rule cong :premises (t116.t3)) +(step t116.t5 (cl (= @p_346 (! (=> @p_354 @p_356) :named @p_357))) :rule cong :premises (t116.t2 t116.t4)) +(step t116 (cl (= @p_347 (! (forall ((veriT_vr59 Int_real_real_real_prod_fun_prod$)) @p_357) :named @p_359))) :rule bind) +(step t117 (cl (! (= @p_349 (! (and @p_337 @p_358 @p_359) :named @p_361)) :named @p_360)) :rule cong :premises (t115 t116)) +(step t118 (cl (not @p_360) (not @p_349) @p_361) :rule equiv_pos2) +(step t119 (cl @p_361) :rule th_resolution :premises (t114 t117 t118)) +(anchor :step t120 :args ((:= (?v0 Int_real_real_real_prod_fun_prod$) veriT_vr60))) +(step t120.t1 (cl (! (= ?v0 veriT_vr60) :named @p_364)) :rule refl) +(step t120.t2 (cl (= @p_8 (! (member$ veriT_vr60 one_chain_typeII$) :named @p_363))) :rule cong :premises (t120.t1)) +(step t120.t3 (cl @p_364) :rule refl) +(step t120.t4 (cl (! (= @p_10 (! (case_prod$ uua$ veriT_vr60) :named @p_365)) :named @p_370)) :rule cong :premises (t120.t3)) +(step t120.t5 (cl (= @p_366 (! (=> @p_363 @p_365) :named @p_367))) :rule cong :premises (t120.t2 t120.t4)) +(step t120 (cl (= @p_362 (! (forall ((veriT_vr60 Int_real_real_real_prod_fun_prod$)) @p_367) :named @p_374))) :rule bind) +(anchor :step t121 :args ((:= (?v0 Int_real_real_real_prod_fun_prod$) veriT_vr60))) +(step t121.t1 (cl @p_364) :rule refl) +(step t121.t2 (cl (= @p_9 (! (member$ veriT_vr60 one_chain_typeI$) :named @p_369))) :rule cong :premises (t121.t1)) +(step t121.t3 (cl @p_364) :rule refl) +(step t121.t4 (cl @p_370) :rule cong :premises (t121.t3)) +(step t121.t5 (cl (= @p_371 (! (=> @p_369 @p_365) :named @p_372))) :rule cong :premises (t121.t2 t121.t4)) +(step t121 (cl (= @p_368 (! (forall ((veriT_vr60 Int_real_real_real_prod_fun_prod$)) @p_372) :named @p_375))) :rule bind) +(step t122 (cl (= @p_373 (! (and @p_374 @p_375) :named @p_378))) :rule cong :premises (t120 t121)) +(step t123 (cl (! (= @p_376 (! (and @p_377 @p_378) :named @p_380)) :named @p_379)) :rule cong :premises (t122)) +(step t124 (cl (not @p_379) (not @p_376) @p_380) :rule equiv_pos2) +(step t125 (cl @p_380) :rule th_resolution :premises (a18 t123 t124)) +(step t126 (cl (! (= @p_380 (! (and @p_377 @p_374 @p_375) :named @p_382)) :named @p_381)) :rule ac_simp) +(step t127 (cl (not @p_381) (not @p_380) @p_382) :rule equiv_pos2) +(step t128 (cl @p_382) :rule th_resolution :premises (t125 t126 t127)) +(anchor :step t129 :args ((:= (veriT_vr60 Int_real_real_real_prod_fun_prod$) veriT_vr61))) +(step t129.t1 (cl (! (= veriT_vr60 veriT_vr61) :named @p_384)) :rule refl) +(step t129.t2 (cl (= @p_369 (! (member$ veriT_vr61 one_chain_typeI$) :named @p_383))) :rule cong :premises (t129.t1)) +(step t129.t3 (cl @p_384) :rule refl) +(step t129.t4 (cl (= @p_365 (! (case_prod$ uua$ veriT_vr61) :named @p_385))) :rule cong :premises (t129.t3)) +(step t129.t5 (cl (= @p_372 (! (=> @p_383 @p_385) :named @p_386))) :rule cong :premises (t129.t2 t129.t4)) +(step t129 (cl (= @p_375 (! (forall ((veriT_vr61 Int_real_real_real_prod_fun_prod$)) @p_386) :named @p_387))) :rule bind) +(step t130 (cl (! (= @p_382 (! (and @p_377 @p_374 @p_387) :named @p_389)) :named @p_388)) :rule cong :premises (t129)) +(step t131 (cl (not @p_388) (not @p_382) @p_389) :rule equiv_pos2) +(step t132 (cl @p_389) :rule th_resolution :premises (t128 t130 t131)) +(anchor :step t133 :args ((:= (veriT_vr60 Int_real_real_real_prod_fun_prod$) veriT_vr62))) +(step t133.t1 (cl (! (= veriT_vr60 veriT_vr62) :named @p_391)) :rule refl) +(step t133.t2 (cl (= @p_363 (! (member$ veriT_vr62 one_chain_typeII$) :named @p_390))) :rule cong :premises (t133.t1)) +(step t133.t3 (cl @p_391) :rule refl) +(step t133.t4 (cl (= @p_365 (! (case_prod$ uua$ veriT_vr62) :named @p_392))) :rule cong :premises (t133.t3)) +(step t133.t5 (cl (= @p_367 (! (=> @p_390 @p_392) :named @p_393))) :rule cong :premises (t133.t2 t133.t4)) +(step t133 (cl (= @p_374 (! (forall ((veriT_vr62 Int_real_real_real_prod_fun_prod$)) @p_393) :named @p_398))) :rule bind) +(anchor :step t134 :args ((:= (veriT_vr61 Int_real_real_real_prod_fun_prod$) veriT_vr63))) +(step t134.t1 (cl (! (= veriT_vr61 veriT_vr63) :named @p_395)) :rule refl) +(step t134.t2 (cl (= @p_383 (! (member$ veriT_vr63 one_chain_typeI$) :named @p_394))) :rule cong :premises (t134.t1)) +(step t134.t3 (cl @p_395) :rule refl) +(step t134.t4 (cl (= @p_385 (! (case_prod$ uua$ veriT_vr63) :named @p_396))) :rule cong :premises (t134.t3)) +(step t134.t5 (cl (= @p_386 (! (=> @p_394 @p_396) :named @p_397))) :rule cong :premises (t134.t2 t134.t4)) +(step t134 (cl (= @p_387 (! (forall ((veriT_vr63 Int_real_real_real_prod_fun_prod$)) @p_397) :named @p_399))) :rule bind) +(step t135 (cl (! (= @p_389 (! (and @p_377 @p_398 @p_399) :named @p_401)) :named @p_400)) :rule cong :premises (t133 t134)) +(step t136 (cl (not @p_400) (not @p_389) @p_401) :rule equiv_pos2) +(step t137 (cl @p_401) :rule th_resolution :premises (t132 t135 t136)) +(step t138 (cl @p_358) :rule and :premises (t119)) +(step t139 (cl @p_399) :rule and :premises (t137)) +(step t140 (cl (or (! (not @p_399) :named @p_422) (! (=> @p_402 (! (case_prod$ uua$ @p_403) :named @p_421)) :named @p_420))) :rule forall_inst :args ((:= veriT_vr63 @p_403))) +(step t141 (cl (or (! (not @p_358) :named @p_427) (! (=> @p_402 (! (case_prod$ uu$ @p_403) :named @p_426)) :named @p_424))) :rule forall_inst :args ((:= veriT_vr58 @p_403))) +(step t142 (cl (or (! (not @p_321) :named @p_406) (! (=> (! (and (! (finite$ @p_5) :named @p_415) (! (fun_app$a @p_12 g$) :named @p_409) (! (fun_app$a @p_24 g$) :named @p_408) (! (= @p_5 (! (sup$ @p_7 @p_5) :named @p_466)) :named @p_430) (! (= bot$ (inf$ @p_7 @p_5)) :named @p_431)) :named @p_429) (! (= @p_404 (! (+ @p_405 @p_404) :named @p_528)) :named @p_433)) :named @p_432))) :rule forall_inst :args ((:= veriT_vr51 @p_5) (:= veriT_vr52 f$) (:= veriT_vr53 @p_7) (:= veriT_vr54 g$) (:= veriT_vr55 @p_5))) +(step t143 (cl (or @p_406 (! (=> (! (and (! (finite$ @p_407) :named @p_412) @p_408 @p_409 (! (= @p_407 (sup$ @p_5 @p_7)) :named @p_411) (! (= bot$ (inf$ @p_5 @p_7)) :named @p_437)) :named @p_434) @p_410) :named @p_438))) :rule forall_inst :args ((:= veriT_vr51 @p_407) (:= veriT_vr52 f$) (:= veriT_vr53 @p_5) (:= veriT_vr54 g$) (:= veriT_vr55 @p_7))) +(step t144 (cl (or (! (not @p_249) :named @p_441) @p_411)) :rule forall_inst :args ((:= veriT_vr44 i$) (:= veriT_vr45 @p_7))) +(step t145 (cl (or (! (not @p_230) :named @p_442) (! (= @p_407 (! (insert$ j$ @p_5) :named @p_467)) :named @p_443))) :rule forall_inst :args ((:= veriT_vr39 j$) (:= veriT_vr40 i$) (:= veriT_vr41 bot$))) +(step t146 (cl (or (! (not @p_194) :named @p_447) (! (=> (! (member$a i$ @p_7) :named @p_445) (! (= @p_7 @p_407) :named @p_446)) :named @p_444))) :rule forall_inst :args ((:= veriT_vr32 i$) (:= veriT_vr33 @p_7))) +(step t147 (cl (or (! (not @p_174) :named @p_413) (! (=> (! (finite$ @p_7) :named @p_416) @p_412) :named @p_448))) :rule forall_inst :args ((:= veriT_vr28 @p_7) (:= veriT_vr29 i$))) +(step t148 (cl (or @p_413 (! (=> @p_414 @p_415) :named @p_449))) :rule forall_inst :args ((:= veriT_vr28 bot$) (:= veriT_vr29 i$))) +(step t149 (cl (or @p_413 (! (=> @p_414 @p_416) :named @p_451))) :rule forall_inst :args ((:= veriT_vr28 bot$) (:= veriT_vr29 j$))) +(step t150 (cl (or (! (not @p_119) :named @p_418) (! (= 0.0 (! (snd$a @p_417) :named @p_495)) :named @p_454))) :rule forall_inst :args ((:= veriT_vr18 1.0) (:= veriT_vr19 0.0))) +(step t151 (cl (or @p_418 (! (= 1.0 (! (snd$a @p_419) :named @p_496)) :named @p_455))) :rule forall_inst :args ((:= veriT_vr18 0.0) (:= veriT_vr19 1.0))) +(step t152 (cl (or (! (not @p_100) :named @p_456) (! (= g$ (! (snd$ @p_403) :named @p_471)) :named @p_457))) :rule forall_inst :args ((:= veriT_vr14 k$) (:= veriT_vr15 g$))) +(step t153 (cl (or (! (not @p_84) :named @p_461) (! (=> (! (= @p_7 @p_5) :named @p_459) (! (= j$ i$) :named @p_460)) :named @p_458))) :rule forall_inst :args ((:= veriT_vr10 i$) (:= veriT_vr11 j$))) +(step t154 (cl (! (not @p_420) :named @p_423) (! (not @p_402) :named @p_425) @p_421) :rule implies_pos) +(step t155 (cl @p_422 @p_420) :rule or :premises (t140)) +(step t156 (cl @p_423 @p_421) :rule resolution :premises (t154 a6)) +(step t157 (cl @p_420) :rule resolution :premises (t155 t139)) +(step t158 (cl @p_421) :rule resolution :premises (t156 t157)) +(step t159 (cl (! (not @p_424) :named @p_428) @p_425 @p_426) :rule implies_pos) +(step t160 (cl @p_427 @p_424) :rule or :premises (t141)) +(step t161 (cl @p_428 @p_426) :rule resolution :premises (t159 a6)) +(step t162 (cl @p_424) :rule resolution :premises (t160 t138)) +(step t163 (cl @p_426) :rule resolution :premises (t161 t162)) +(step t164 (cl @p_429 (not @p_415) (! (not @p_409) :named @p_436) (! (not @p_408) :named @p_435) (not @p_430) (not @p_431)) :rule and_neg) +(step t165 (cl (not @p_432) (not @p_429) @p_433) :rule implies_pos) +(step t166 (cl @p_406 @p_432) :rule or :premises (t142)) +(step t167 (cl @p_432) :rule resolution :premises (t166 t101)) +(step t168 (cl @p_434 (not @p_412) @p_435 @p_436 (not @p_411) (! (not @p_437) :named @p_515)) :rule and_neg) +(step t169 (cl (! (not @p_438) :named @p_439) (! (not @p_434) :named @p_440) @p_410) :rule implies_pos) +(step t170 (cl @p_406 @p_438) :rule or :premises (t143)) +(step t171 (cl @p_439 @p_440) :rule resolution :premises (t169 a19)) +(step t172 (cl @p_438) :rule resolution :premises (t170 t101)) +(step t173 (cl @p_440) :rule resolution :premises (t171 t172)) +(step t174 (cl @p_441 @p_411) :rule or :premises (t144)) +(step t175 (cl @p_411) :rule resolution :premises (t174 t92)) +(step t176 (cl @p_442 @p_443) :rule or :premises (t145)) +(step t177 (cl @p_443) :rule resolution :premises (t176 t86)) +(step t178 (cl (not @p_444) (! (not @p_445) :named @p_470) @p_446) :rule implies_pos) +(step t179 (cl @p_447 @p_444) :rule or :premises (t146)) +(step t180 (cl @p_444) :rule resolution :premises (t179 t74)) +(step t181 (cl (not @p_448) (not @p_416) @p_412) :rule implies_pos) +(step t182 (cl @p_413 @p_448) :rule or :premises (t147)) +(step t183 (cl @p_448) :rule resolution :premises (t182 t68)) +(step t184 (cl (! (not @p_449) :named @p_450) (! (not @p_414) :named @p_452) @p_415) :rule implies_pos) +(step t185 (cl @p_413 @p_449) :rule or :premises (t148)) +(step t186 (cl @p_450 @p_415) :rule resolution :premises (t184 a8)) +(step t187 (cl @p_449) :rule resolution :premises (t185 t68)) +(step t188 (cl @p_415) :rule resolution :premises (t186 t187)) +(step t189 (cl (! (not @p_451) :named @p_453) @p_452 @p_416) :rule implies_pos) +(step t190 (cl @p_413 @p_451) :rule or :premises (t149)) +(step t191 (cl @p_453 @p_416) :rule resolution :premises (t189 a8)) +(step t192 (cl @p_451) :rule resolution :premises (t190 t68)) +(step t193 (cl @p_416) :rule resolution :premises (t191 t192)) +(step t194 (cl @p_412) :rule resolution :premises (t181 t193 t183)) +(step t195 (cl @p_418 @p_454) :rule or :premises (t150)) +(step t196 (cl @p_454) :rule resolution :premises (t195 t56)) +(step t197 (cl @p_418 @p_455) :rule or :premises (t151)) +(step t198 (cl @p_455) :rule resolution :premises (t197 t56)) +(step t199 (cl @p_456 @p_457) :rule or :premises (t152)) +(step t200 (cl @p_457) :rule resolution :premises (t199 t50)) +(step t201 (cl (not @p_458) (! (not @p_459) :named @p_507) @p_460) :rule implies_pos) +(step t202 (cl @p_461 @p_458) :rule or :premises (t153)) +(step t203 (cl @p_458) :rule resolution :premises (t202 t44)) +(step t204 (cl (or @p_410 (! (not (! (<= @p_462 @p_463) :named @p_534)) :named @p_464) (! (not (! (<= @p_463 @p_462) :named @p_535)) :named @p_465))) :rule la_disequality) +(step t205 (cl @p_410 @p_464 @p_465) :rule or :premises (t204)) +(step t206 (cl @p_464 @p_465) :rule resolution :premises (t205 a19)) +(step t207 (cl (or @p_441 (! (= @p_466 @p_467) :named @p_474))) :rule forall_inst :args ((:= veriT_vr44 j$) (:= veriT_vr45 @p_5))) +(step t208 (cl (or @p_447 (! (=> (! (member$a j$ @p_5) :named @p_468) (! (= @p_5 @p_467) :named @p_477)) :named @p_475))) :rule forall_inst :args ((:= veriT_vr32 j$) (:= veriT_vr33 @p_5))) +(step t209 (cl (or (! (not @p_156) :named @p_469) (! (= @p_437 (! (and (! (not @p_468) :named @p_476) (! (= bot$ (inf$ @p_5 bot$)) :named @p_479)) :named @p_478)) :named @p_482))) :rule forall_inst :args ((:= veriT_vr23 @p_5) (:= veriT_vr24 j$) (:= veriT_vr25 bot$))) +(step t210 (cl (or @p_469 (! (= @p_431 (! (and @p_470 (! (= bot$ (inf$ @p_7 bot$)) :named @p_485)) :named @p_483)) :named @p_487))) :rule forall_inst :args ((:= veriT_vr23 @p_7) (:= veriT_vr24 i$) (:= veriT_vr25 bot$))) +(step t211 (cl (or (! (not @p_61) :named @p_472) (! (= @p_426 (! (fun_app$a (! (fun_app$ uu$ (! (fst$ @p_403) :named @p_473)) :named @p_508) @p_471) :named @p_489)) :named @p_488))) :rule forall_inst :args ((:= veriT_vr6 uu$) (:= veriT_vr7 @p_403))) +(step t212 (cl (or @p_472 (! (= @p_421 (! (fun_app$a (! (fun_app$ uua$ @p_473) :named @p_509) @p_471) :named @p_492)) :named @p_491))) :rule forall_inst :args ((:= veriT_vr6 uua$) (:= veriT_vr7 @p_403))) +(step t213 (cl @p_441 @p_474) :rule or :premises (t207)) +(step t214 (cl @p_474) :rule resolution :premises (t213 t92)) +(step t215 (cl (not @p_475) @p_476 @p_477) :rule implies_pos) +(step t216 (cl @p_447 @p_475) :rule or :premises (t208)) +(step t217 (cl @p_475) :rule resolution :premises (t216 t74)) +(step t218 (cl (not (! (not @p_470) :named @p_484)) @p_445) :rule not_not) +(step t219 (cl @p_478 (! (not @p_476) :named @p_480) (! (not @p_479) :named @p_481)) :rule and_neg) +(step t220 (cl (not @p_480) @p_468) :rule not_not) +(step t221 (cl @p_478 @p_468 @p_481) :rule th_resolution :premises (t220 t219)) +(step t222 (cl (not @p_482) @p_437 (! (not @p_478) :named @p_516)) :rule equiv_pos1) +(step t223 (cl @p_469 @p_482) :rule or :premises (t209)) +(step t224 (cl @p_482) :rule resolution :premises (t223 t62)) +(step t225 (cl @p_483 @p_484 (! (not @p_485) :named @p_486)) :rule and_neg) +(step t226 (cl @p_483 @p_445 @p_486) :rule th_resolution :premises (t218 t225)) +(step t227 (cl (not @p_487) @p_431 (not @p_483)) :rule equiv_pos1) +(step t228 (cl @p_469 @p_487) :rule or :premises (t210)) +(step t229 (cl @p_487) :rule resolution :premises (t228 t62)) +(step t230 (cl (! (not @p_488) :named @p_490) (not @p_426) @p_489) :rule equiv_pos2) +(step t231 (cl @p_472 @p_488) :rule or :premises (t211)) +(step t232 (cl @p_490 @p_489) :rule resolution :premises (t230 t163)) +(step t233 (cl @p_488) :rule resolution :premises (t231 t38)) +(step t234 (cl @p_489) :rule resolution :premises (t232 t233)) +(step t235 (cl (! (not @p_491) :named @p_493) (not @p_421) @p_492) :rule equiv_pos2) +(step t236 (cl @p_472 @p_491) :rule or :premises (t212)) +(step t237 (cl @p_493 @p_492) :rule resolution :premises (t235 t158)) +(step t238 (cl @p_491) :rule resolution :premises (t236 t38)) +(step t239 (cl @p_492) :rule resolution :premises (t237 t238)) +(step t240 (cl (or (! (not @p_205) :named @p_494) @p_479)) :rule forall_inst :args ((:= veriT_vr35 @p_5))) +(step t241 (cl (or @p_494 @p_485)) :rule forall_inst :args ((:= veriT_vr35 @p_7))) +(step t242 (cl @p_494 @p_479) :rule or :premises (t240)) +(step t243 (cl @p_479) :rule resolution :premises (t242 t80)) +(step t244 (cl @p_494 @p_485) :rule or :premises (t241)) +(step t245 (cl @p_485) :rule resolution :premises (t244 t80)) +(step t246 (cl (! (= @p_7 @p_7) :named @p_520)) :rule eq_reflexive) +(step t247 (cl (not (! (= 1.0 0.0) :named @p_497))) :rule la_generic :args ((- 1))) +(step t248 (cl (! (not @p_455) :named @p_505) (not (! (= @p_495 @p_496) :named @p_498)) (! (not @p_454) :named @p_506) @p_497) :rule eq_transitive) +(step t249 (cl (not (! (= @p_417 @p_419) :named @p_501)) @p_498) :rule eq_congruent) +(step t250 (cl (! (not @p_499) :named @p_502) (! (not @p_460) :named @p_503) (! (not @p_500) :named @p_504) @p_501) :rule eq_transitive) +(step t251 (cl @p_498 @p_502 @p_503 @p_504) :rule th_resolution :premises (t249 t250)) +(step t252 (cl @p_505 @p_506 @p_497 @p_502 @p_503 @p_504) :rule th_resolution :premises (t248 t251)) +(step t253 (cl @p_505 @p_506 @p_502 @p_503 @p_504) :rule th_resolution :premises (t247 t252)) +(step t254 (cl @p_503) :rule resolution :premises (t253 a10 a12 t196 t198)) +(step t255 (cl @p_507) :rule resolution :premises (t201 t254 t203)) +(step t256 (cl (! (= f$ f$) :named @p_523)) :rule eq_reflexive) +(step t257 (cl (! (= g$ g$) :named @p_524)) :rule eq_reflexive) +(step t258 (cl (! (= @p_405 @p_405) :named @p_527)) :rule eq_reflexive) +(step t259 (cl (or (! (not @p_34) :named @p_510) (! (= @p_24 @p_508) :named @p_511))) :rule forall_inst :args ((:= veriT_vr3 @p_473))) +(step t260 (cl (or (! (not @p_22) :named @p_512) (! (= @p_12 @p_509) :named @p_513))) :rule forall_inst :args ((:= veriT_vr1 @p_473))) +(step t261 (cl @p_510 @p_511) :rule or :premises (t259)) +(step t262 (cl @p_511) :rule resolution :premises (t261 t32)) +(step t263 (cl @p_512 @p_513) :rule or :premises (t260)) +(step t264 (cl @p_513) :rule resolution :premises (t263 t26)) +(step t265 (cl (not @p_511) (! (not @p_457) :named @p_514) @p_408 (not @p_489)) :rule eq_congruent_pred) +(step t266 (cl @p_408) :rule resolution :premises (t265 t200 t234 t262)) +(step t267 (cl (not @p_513) @p_514 @p_409 (not @p_492)) :rule eq_congruent_pred) +(step t268 (cl @p_409) :rule resolution :premises (t267 t200 t239 t264)) +(step t269 (cl @p_515) :rule resolution :premises (t168 t268 t194 t173 t175 t266)) +(step t270 (cl @p_516) :rule resolution :premises (t222 t269 t224)) +(step t271 (cl @p_468) :rule resolution :premises (t221 t270 t243)) +(step t272 (cl @p_477) :rule resolution :premises (t215 t271 t217)) +(step t273 (cl (! (not @p_477) :named @p_517) (not @p_474) @p_430) :rule eq_transitive) +(step t274 (cl @p_430) :rule resolution :premises (t273 t214 t272)) +(step t275 (cl @p_517 (! (not @p_443) :named @p_518) (! (= @p_5 @p_407) :named @p_519)) :rule eq_transitive) +(step t276 (cl @p_518 @p_517 @p_519) :rule eq_transitive) +(step t277 (cl (not @p_520) (! (not @p_446) :named @p_521) (! (not @p_519) :named @p_522) @p_459) :rule eq_transitive) +(step t278 (cl @p_521 @p_522 @p_459) :rule th_resolution :premises (t277 t246)) +(step t279 (cl @p_521 @p_459 @p_518 @p_517) :rule th_resolution :premises (t278 t276)) +(step t280 (cl @p_521) :rule resolution :premises (t279 t177 t255 t272)) +(step t281 (cl (not @p_523) @p_522 (! (not @p_524) :named @p_525) (! (= @p_462 @p_404) :named @p_526)) :rule eq_congruent) +(step t282 (cl @p_522 @p_525 @p_526) :rule th_resolution :premises (t281 t256)) +(step t283 (cl @p_522 @p_526) :rule th_resolution :premises (t282 t257)) +(step t284 (cl @p_526 @p_517 @p_518) :rule th_resolution :premises (t283 t275)) +(step t285 (cl @p_470) :rule resolution :premises (t178 t280 t180)) +(step t286 (cl @p_483) :rule resolution :premises (t226 t285 t245)) +(step t287 (cl @p_431) :rule resolution :premises (t227 t286 t229)) +(step t288 (cl @p_429) :rule resolution :premises (t164 t287 t188 t266 t268 t274)) +(step t289 (cl @p_433) :rule resolution :premises (t165 t288 t167)) +(step t290 (cl (not @p_527) (! (not @p_526) :named @p_529) (! (= (! (+ @p_405 @p_462) :named @p_531) @p_528) :named @p_530)) :rule eq_congruent) +(step t291 (cl @p_529 @p_530) :rule th_resolution :premises (t290 t258)) +(step t292 (cl @p_530 @p_517 @p_518) :rule th_resolution :premises (t291 t284)) +(step t293 (cl (! (not @p_433) :named @p_532) (not @p_530) (! (= @p_404 @p_531) :named @p_533)) :rule eq_transitive) +(step t294 (cl @p_532 @p_533 @p_517 @p_518) :rule th_resolution :premises (t293 t292)) +(step t295 (cl @p_534 @p_529 (! (not @p_533) :named @p_536)) :rule la_generic :args (1.0 (- 2) (- 1))) +(step t296 (cl @p_534 @p_517 @p_518 @p_532) :rule th_resolution :premises (t295 t284 t294)) +(step t297 (cl @p_534) :rule resolution :premises (t296 t289 t177 t272)) +(step t298 (cl @p_465) :rule resolution :premises (t206 t297)) +(step t299 (cl @p_535 @p_529 @p_536) :rule la_generic :args (1.0 2 1)) +(step t300 (cl @p_535 @p_517 @p_518 @p_532) :rule th_resolution :premises (t299 t284 t294)) +(step t301 (cl) :rule resolution :premises (t300 t289 t177 t298 t272)) +a5b152c08be1e0a4da353f094af8f11f36a16f52 333 0 +unsat +(assume a0 (not x0$)) +(assume a1 (not x30$)) +(assume a2 (not x29$)) +(assume a3 (not x59$)) +(assume a4 (! (or x1$ (or x31$ x0$)) :named @p_57)) +(assume a6 (! (or x3$ (or x33$ x2$)) :named @p_60)) +(assume a7 (! (or x4$ (or x34$ x3$)) :named @p_63)) +(assume a8 (or x35$ x4$)) +(assume a9 (! (or x5$ (or x36$ x30$)) :named @p_66)) +(assume a11 (! (or x7$ (or x38$ (or x6$ x32$))) :named @p_69)) +(assume a13 (! (or x9$ (or x40$ (or x8$ x34$))) :named @p_72)) +(assume a16 (! (or x11$ (or x43$ (or x10$ x37$))) :named @p_75)) +(assume a18 (! (or x13$ (or x45$ (or x12$ x39$))) :named @p_78)) +(assume a20 (! (or x47$ (or x14$ x41$)) :named @p_81)) +(assume a21 (! (or x15$ (or x48$ x42$)) :named @p_84)) +(assume a23 (! (or x17$ (or x50$ (or x16$ x44$))) :named @p_87)) +(assume a25 (! (or x19$ (or x52$ (or x18$ x46$))) :named @p_90)) +(assume a28 (! (or x21$ (or x55$ (or x20$ x49$))) :named @p_93)) +(assume a30 (! (or x23$ (or x57$ (or x22$ x51$))) :named @p_96)) +(assume a32 (! (or x59$ (or x24$ x53$)) :named @p_99)) +(assume a33 (or x25$ x54$)) +(assume a35 (! (or x27$ (or x26$ x56$)) :named @p_102)) +(assume a37 (! (or x29$ (or x28$ x58$)) :named @p_105)) +(assume a41 (or (! (not x2$) :named @p_1) (! (not x32$) :named @p_2))) +(assume a42 (or @p_1 (! (not x1$) :named @p_3))) +(assume a43 (or @p_2 @p_3)) +(assume a47 (or (! (not x4$) :named @p_4) (! (not x34$) :named @p_5))) +(assume a48 (or @p_4 (! (not x3$) :named @p_6))) +(assume a49 (or @p_5 @p_6)) +(assume a54 (or (! (not x6$) :named @p_7) (! (not x37$) :named @p_8))) +(assume a55 (or @p_7 (! (not x5$) :named @p_9))) +(assume a56 (or @p_7 (! (not x31$) :named @p_10))) +(assume a57 (or @p_8 @p_9)) +(assume a58 (or @p_8 @p_10)) +(assume a59 (or @p_9 @p_10)) +(assume a63 (or (! (not x38$) :named @p_11) @p_7)) +(assume a64 (or @p_11 @p_2)) +(assume a66 (or (! (not x8$) :named @p_12) (! (not x39$) :named @p_13))) +(assume a67 (or @p_12 (! (not x7$) :named @p_14))) +(assume a68 (or @p_12 (! (not x33$) :named @p_15))) +(assume a69 (or @p_13 @p_14)) +(assume a70 (or @p_13 @p_15)) +(assume a71 (or @p_14 @p_15)) +(assume a78 (or (! (not x41$) :named @p_16) (! (not x9$) :named @p_17))) +(assume a79 (or @p_16 (! (not x35$) :named @p_18))) +(assume a80 (or @p_17 @p_18)) +(assume a81 (or (! (not x10$) :named @p_19) (! (not x42$) :named @p_20))) +(assume a82 (or @p_19 (! (not x36$) :named @p_21))) +(assume a83 (or @p_20 @p_21)) +(assume a90 (or (! (not x12$) :named @p_22) (! (not x44$) :named @p_23))) +(assume a91 (or @p_22 (! (not x11$) :named @p_24))) +(assume a92 (or @p_22 @p_11)) +(assume a93 (or @p_23 @p_24)) +(assume a94 (or @p_23 @p_11)) +(assume a95 (or @p_24 @p_11)) +(assume a99 (or (! (not x45$) :named @p_25) @p_22)) +(assume a100 (or @p_25 @p_13)) +(assume a102 (or (! (not x14$) :named @p_26) (! (not x46$) :named @p_27))) +(assume a103 (or @p_26 (! (not x13$) :named @p_28))) +(assume a104 (or @p_26 (! (not x40$) :named @p_29))) +(assume a105 (or @p_27 @p_28)) +(assume a106 (or @p_27 @p_29)) +(assume a107 (or @p_28 @p_29)) +(assume a113 (or (! (not x48$) :named @p_41) @p_20)) +(assume a114 (or (! (not x16$) :named @p_30) (! (not x49$) :named @p_31))) +(assume a115 (or @p_30 (! (not x15$) :named @p_32))) +(assume a116 (or @p_30 (! (not x43$) :named @p_33))) +(assume a117 (or @p_31 @p_32)) +(assume a118 (or @p_31 @p_33)) +(assume a119 (or @p_32 @p_33)) +(assume a126 (or (! (not x18$) :named @p_34) (! (not x51$) :named @p_35))) +(assume a127 (or @p_34 (! (not x17$) :named @p_36))) +(assume a128 (or @p_34 @p_25)) +(assume a129 (or @p_35 @p_36)) +(assume a130 (or @p_35 @p_25)) +(assume a131 (or @p_36 @p_25)) +(assume a134 (or (! (not x19$) :named @p_37) @p_27)) +(assume a138 (or (! (not x53$) :named @p_38) @p_37)) +(assume a139 (or @p_38 (! (not x47$) :named @p_39))) +(assume a140 (or @p_37 @p_39)) +(assume a141 (or (! (not x20$) :named @p_40) (! (not x54$) :named @p_42))) +(assume a142 (or @p_40 @p_41)) +(assume a143 (or @p_42 @p_41)) +(assume a150 (or (! (not x22$) :named @p_43) (! (not x56$) :named @p_44))) +(assume a151 (or @p_43 (! (not x21$) :named @p_45))) +(assume a152 (or @p_43 (! (not x50$) :named @p_46))) +(assume a153 (or @p_44 @p_45)) +(assume a154 (or @p_44 @p_46)) +(assume a155 (or @p_45 @p_46)) +(assume a162 (or (! (not x24$) :named @p_47) (! (not x58$) :named @p_48))) +(assume a163 (or @p_47 (! (not x23$) :named @p_49))) +(assume a164 (or @p_47 (! (not x52$) :named @p_50))) +(assume a165 (or @p_48 @p_49)) +(assume a166 (or @p_48 @p_50)) +(assume a167 (or @p_49 @p_50)) +(assume a172 (or (! (not x26$) :named @p_51) (! (not x25$) :named @p_52))) +(assume a173 (or @p_51 (! (not x55$) :named @p_53))) +(assume a174 (or @p_52 @p_53)) +(assume a178 (or (! (not x28$) :named @p_54) (! (not x27$) :named @p_55))) +(assume a179 (or @p_54 (! (not x57$) :named @p_56))) +(assume a180 (or @p_55 @p_56)) (step t102 (cl (! (= @p_57 (! (or x1$ x31$ x0$) :named @p_59)) :named @p_58)) :rule ac_simp) (step t103 (cl (not @p_58) (not @p_57) @p_59) :rule equiv_pos2) -(step t104 (cl @p_59) :rule th_resolution :premises (axiom4 t102 t103)) +(step t104 (cl @p_59) :rule th_resolution :premises (a4 t102 t103)) (step t105 (cl (! (= @p_60 (! (or x3$ x33$ x2$) :named @p_62)) :named @p_61)) :rule ac_simp) (step t106 (cl (not @p_61) (not @p_60) @p_62) :rule equiv_pos2) -(step t107 (cl @p_62) :rule th_resolution :premises (axiom6 t105 t106)) +(step t107 (cl @p_62) :rule th_resolution :premises (a6 t105 t106)) (step t108 (cl (! (= @p_63 (! (or x4$ x34$ x3$) :named @p_65)) :named @p_64)) :rule ac_simp) (step t109 (cl (not @p_64) (not @p_63) @p_65) :rule equiv_pos2) -(step t110 (cl @p_65) :rule th_resolution :premises (axiom7 t108 t109)) +(step t110 (cl @p_65) :rule th_resolution :premises (a7 t108 t109)) (step t111 (cl (! (= @p_66 (! (or x5$ x36$ x30$) :named @p_68)) :named @p_67)) :rule ac_simp) (step t112 (cl (not @p_67) (not @p_66) @p_68) :rule equiv_pos2) -(step t113 (cl @p_68) :rule th_resolution :premises (axiom9 t111 t112)) +(step t113 (cl @p_68) :rule th_resolution :premises (a9 t111 t112)) (step t114 (cl (! (= @p_69 (! (or x7$ x38$ x6$ x32$) :named @p_71)) :named @p_70)) :rule ac_simp) (step t115 (cl (not @p_70) (not @p_69) @p_71) :rule equiv_pos2) -(step t116 (cl @p_71) :rule th_resolution :premises (axiom11 t114 t115)) +(step t116 (cl @p_71) :rule th_resolution :premises (a11 t114 t115)) (step t117 (cl (! (= @p_72 (! (or x9$ x40$ x8$ x34$) :named @p_74)) :named @p_73)) :rule ac_simp) (step t118 (cl (not @p_73) (not @p_72) @p_74) :rule equiv_pos2) -(step t119 (cl @p_74) :rule th_resolution :premises (axiom13 t117 t118)) +(step t119 (cl @p_74) :rule th_resolution :premises (a13 t117 t118)) (step t120 (cl (! (= @p_75 (! (or x11$ x43$ x10$ x37$) :named @p_77)) :named @p_76)) :rule ac_simp) (step t121 (cl (not @p_76) (not @p_75) @p_77) :rule equiv_pos2) -(step t122 (cl @p_77) :rule th_resolution :premises (axiom16 t120 t121)) +(step t122 (cl @p_77) :rule th_resolution :premises (a16 t120 t121)) (step t123 (cl (! (= @p_78 (! (or x13$ x45$ x12$ x39$) :named @p_80)) :named @p_79)) :rule ac_simp) (step t124 (cl (not @p_79) (not @p_78) @p_80) :rule equiv_pos2) -(step t125 (cl @p_80) :rule th_resolution :premises (axiom18 t123 t124)) +(step t125 (cl @p_80) :rule th_resolution :premises (a18 t123 t124)) (step t126 (cl (! (= @p_81 (! (or x47$ x14$ x41$) :named @p_83)) :named @p_82)) :rule ac_simp) (step t127 (cl (not @p_82) (not @p_81) @p_83) :rule equiv_pos2) -(step t128 (cl @p_83) :rule th_resolution :premises (axiom20 t126 t127)) +(step t128 (cl @p_83) :rule th_resolution :premises (a20 t126 t127)) (step t129 (cl (! (= @p_84 (! (or x15$ x48$ x42$) :named @p_86)) :named @p_85)) :rule ac_simp) (step t130 (cl (not @p_85) (not @p_84) @p_86) :rule equiv_pos2) -(step t131 (cl @p_86) :rule th_resolution :premises (axiom21 t129 t130)) +(step t131 (cl @p_86) :rule th_resolution :premises (a21 t129 t130)) (step t132 (cl (! (= @p_87 (! (or x17$ x50$ x16$ x44$) :named @p_89)) :named @p_88)) :rule ac_simp) (step t133 (cl (not @p_88) (not @p_87) @p_89) :rule equiv_pos2) -(step t134 (cl @p_89) :rule th_resolution :premises (axiom23 t132 t133)) +(step t134 (cl @p_89) :rule th_resolution :premises (a23 t132 t133)) (step t135 (cl (! (= @p_90 (! (or x19$ x52$ x18$ x46$) :named @p_92)) :named @p_91)) :rule ac_simp) (step t136 (cl (not @p_91) (not @p_90) @p_92) :rule equiv_pos2) -(step t137 (cl @p_92) :rule th_resolution :premises (axiom25 t135 t136)) +(step t137 (cl @p_92) :rule th_resolution :premises (a25 t135 t136)) (step t138 (cl (! (= @p_93 (! (or x21$ x55$ x20$ x49$) :named @p_95)) :named @p_94)) :rule ac_simp) (step t139 (cl (not @p_94) (not @p_93) @p_95) :rule equiv_pos2) -(step t140 (cl @p_95) :rule th_resolution :premises (axiom28 t138 t139)) +(step t140 (cl @p_95) :rule th_resolution :premises (a28 t138 t139)) (step t141 (cl (! (= @p_96 (! (or x23$ x57$ x22$ x51$) :named @p_98)) :named @p_97)) :rule ac_simp) (step t142 (cl (not @p_97) (not @p_96) @p_98) :rule equiv_pos2) -(step t143 (cl @p_98) :rule th_resolution :premises (axiom30 t141 t142)) +(step t143 (cl @p_98) :rule th_resolution :premises (a30 t141 t142)) (step t144 (cl (! (= @p_99 (! (or x59$ x24$ x53$) :named @p_101)) :named @p_100)) :rule ac_simp) (step t145 (cl (not @p_100) (not @p_99) @p_101) :rule equiv_pos2) -(step t146 (cl @p_101) :rule th_resolution :premises (axiom32 t144 t145)) +(step t146 (cl @p_101) :rule th_resolution :premises (a32 t144 t145)) (step t147 (cl (! (= @p_102 (! (or x27$ x26$ x56$) :named @p_104)) :named @p_103)) :rule ac_simp) (step t148 (cl (not @p_103) (not @p_102) @p_104) :rule equiv_pos2) -(step t149 (cl @p_104) :rule th_resolution :premises (axiom35 t147 t148)) +(step t149 (cl @p_104) :rule th_resolution :premises (a35 t147 t148)) (step t150 (cl (! (= @p_105 (! (or x29$ x28$ x58$) :named @p_107)) :named @p_106)) :rule ac_simp) (step t151 (cl (not @p_106) (not @p_105) @p_107) :rule equiv_pos2) -(step t152 (cl @p_107) :rule th_resolution :premises (axiom37 t150 t151)) +(step t152 (cl @p_107) :rule th_resolution :premises (a37 t150 t151)) (step t153 (cl x1$ x31$ x0$) :rule or :premises (t104)) -(step t154 (cl x1$ x31$) :rule resolution :premises (t153 axiom0)) +(step t154 (cl x1$ x31$) :rule resolution :premises (t153 a0)) (step t155 (cl x3$ x33$ x2$) :rule or :premises (t107)) (step t156 (cl x4$ x34$ x3$) :rule or :premises (t110)) -(step t157 (cl x35$ x4$) :rule or :premises (axiom8)) +(step t157 (cl x35$ x4$) :rule or :premises (a8)) (step t158 (cl x5$ x36$ x30$) :rule or :premises (t113)) -(step t159 (cl x5$ x36$) :rule resolution :premises (t158 axiom1)) +(step t159 (cl x5$ x36$) :rule resolution :premises (t158 a1)) (step t160 (cl x7$ x38$ x6$ x32$) :rule or :premises (t116)) (step t161 (cl x9$ x40$ x8$ x34$) :rule or :premises (t119)) (step t162 (cl x11$ x43$ x10$ x37$) :rule or :premises (t122)) (step t163 (cl x13$ x45$ x12$ x39$) :rule or :premises (t125)) (step t164 (cl x47$ x14$ x41$) :rule or :premises (t128)) (step t165 (cl x15$ x48$ x42$) :rule or :premises (t131)) (step t166 (cl x17$ x50$ x16$ x44$) :rule or :premises (t134)) (step t167 (cl x19$ x52$ x18$ x46$) :rule or :premises (t137)) (step t168 (cl x21$ x55$ x20$ x49$) :rule or :premises (t140)) (step t169 (cl x23$ x57$ x22$ x51$) :rule or :premises (t143)) (step t170 (cl x59$ x24$ x53$) :rule or :premises (t146)) -(step t171 (cl x24$ x53$) :rule resolution :premises (t170 axiom3)) -(step t172 (cl x25$ x54$) :rule or :premises (axiom33)) +(step t171 (cl x24$ x53$) :rule resolution :premises (t170 a3)) +(step t172 (cl x25$ x54$) :rule or :premises (a33)) (step t173 (cl x27$ x26$ x56$) :rule or :premises (t149)) (step t174 (cl x29$ x28$ x58$) :rule or :premises (t152)) -(step t175 (cl x28$ x58$) :rule resolution :premises (t174 axiom2)) -(step t176 (cl @p_1 @p_2) :rule or :premises (axiom41)) -(step t177 (cl @p_1 @p_3) :rule or :premises (axiom42)) -(step t178 (cl @p_2 @p_3) :rule or :premises (axiom43)) -(step t179 (cl @p_4 @p_5) :rule or :premises (axiom47)) -(step t180 (cl @p_4 @p_6) :rule or :premises (axiom48)) -(step t181 (cl @p_5 @p_6) :rule or :premises (axiom49)) -(step t182 (cl @p_7 @p_8) :rule or :premises (axiom54)) -(step t183 (cl @p_7 @p_9) :rule or :premises (axiom55)) -(step t184 (cl @p_7 @p_10) :rule or :premises (axiom56)) -(step t185 (cl @p_8 @p_9) :rule or :premises (axiom57)) -(step t186 (cl @p_8 @p_10) :rule or :premises (axiom58)) -(step t187 (cl @p_9 @p_10) :rule or :premises (axiom59)) -(step t188 (cl @p_11 @p_7) :rule or :premises (axiom63)) -(step t189 (cl @p_11 @p_2) :rule or :premises (axiom64)) -(step t190 (cl @p_12 @p_13) :rule or :premises (axiom66)) -(step t191 (cl @p_12 @p_14) :rule or :premises (axiom67)) -(step t192 (cl @p_12 @p_15) :rule or :premises (axiom68)) -(step t193 (cl @p_13 @p_14) :rule or :premises (axiom69)) -(step t194 (cl @p_13 @p_15) :rule or :premises (axiom70)) -(step t195 (cl @p_14 @p_15) :rule or :premises (axiom71)) -(step t196 (cl @p_16 @p_17) :rule or :premises (axiom78)) -(step t197 (cl @p_16 @p_18) :rule or :premises (axiom79)) -(step t198 (cl @p_17 @p_18) :rule or :premises (axiom80)) -(step t199 (cl @p_19 @p_20) :rule or :premises (axiom81)) -(step t200 (cl @p_19 @p_21) :rule or :premises (axiom82)) -(step t201 (cl @p_20 @p_21) :rule or :premises (axiom83)) -(step t202 (cl @p_22 @p_23) :rule or :premises (axiom90)) -(step t203 (cl @p_22 @p_24) :rule or :premises (axiom91)) -(step t204 (cl @p_22 @p_11) :rule or :premises (axiom92)) -(step t205 (cl @p_23 @p_24) :rule or :premises (axiom93)) -(step t206 (cl @p_23 @p_11) :rule or :premises (axiom94)) -(step t207 (cl @p_24 @p_11) :rule or :premises (axiom95)) -(step t208 (cl @p_25 @p_22) :rule or :premises (axiom99)) -(step t209 (cl @p_25 @p_13) :rule or :premises (axiom100)) -(step t210 (cl @p_26 @p_27) :rule or :premises (axiom102)) -(step t211 (cl @p_26 @p_28) :rule or :premises (axiom103)) -(step t212 (cl @p_26 @p_29) :rule or :premises (axiom104)) -(step t213 (cl @p_27 @p_28) :rule or :premises (axiom105)) -(step t214 (cl @p_27 @p_29) :rule or :premises (axiom106)) -(step t215 (cl @p_28 @p_29) :rule or :premises (axiom107)) -(step t216 (cl @p_41 @p_20) :rule or :premises (axiom113)) -(step t217 (cl @p_30 @p_31) :rule or :premises (axiom114)) -(step t218 (cl @p_30 @p_32) :rule or :premises (axiom115)) -(step t219 (cl @p_30 @p_33) :rule or :premises (axiom116)) -(step t220 (cl @p_31 @p_32) :rule or :premises (axiom117)) -(step t221 (cl @p_31 @p_33) :rule or :premises (axiom118)) -(step t222 (cl @p_32 @p_33) :rule or :premises (axiom119)) -(step t223 (cl @p_34 @p_35) :rule or :premises (axiom126)) -(step t224 (cl @p_34 @p_36) :rule or :premises (axiom127)) -(step t225 (cl @p_34 @p_25) :rule or :premises (axiom128)) -(step t226 (cl @p_35 @p_36) :rule or :premises (axiom129)) -(step t227 (cl @p_35 @p_25) :rule or :premises (axiom130)) -(step t228 (cl @p_36 @p_25) :rule or :premises (axiom131)) -(step t229 (cl @p_37 @p_27) :rule or :premises (axiom134)) -(step t230 (cl @p_38 @p_37) :rule or :premises (axiom138)) -(step t231 (cl @p_38 @p_39) :rule or :premises (axiom139)) -(step t232 (cl @p_37 @p_39) :rule or :premises (axiom140)) -(step t233 (cl @p_40 @p_42) :rule or :premises (axiom141)) -(step t234 (cl @p_40 @p_41) :rule or :premises (axiom142)) -(step t235 (cl @p_42 @p_41) :rule or :premises (axiom143)) -(step t236 (cl @p_43 @p_44) :rule or :premises (axiom150)) -(step t237 (cl @p_43 @p_45) :rule or :premises (axiom151)) -(step t238 (cl @p_43 @p_46) :rule or :premises (axiom152)) -(step t239 (cl @p_44 @p_45) :rule or :premises (axiom153)) -(step t240 (cl @p_44 @p_46) :rule or :premises (axiom154)) -(step t241 (cl @p_45 @p_46) :rule or :premises (axiom155)) -(step t242 (cl @p_47 @p_48) :rule or :premises (axiom162)) -(step t243 (cl @p_47 @p_49) :rule or :premises (axiom163)) -(step t244 (cl @p_47 @p_50) :rule or :premises (axiom164)) -(step t245 (cl @p_48 @p_49) :rule or :premises (axiom165)) -(step t246 (cl @p_48 @p_50) :rule or :premises (axiom166)) -(step t247 (cl @p_49 @p_50) :rule or :premises (axiom167)) -(step t248 (cl @p_51 @p_52) :rule or :premises (axiom172)) -(step t249 (cl @p_51 @p_53) :rule or :premises (axiom173)) -(step t250 (cl @p_52 @p_53) :rule or :premises (axiom174)) -(step t251 (cl @p_54 @p_55) :rule or :premises (axiom178)) -(step t252 (cl @p_54 @p_56) :rule or :premises (axiom179)) -(step t253 (cl @p_55 @p_56) :rule or :premises (axiom180)) +(step t175 (cl x28$ x58$) :rule resolution :premises (t174 a2)) +(step t176 (cl @p_1 @p_2) :rule or :premises (a41)) +(step t177 (cl @p_1 @p_3) :rule or :premises (a42)) +(step t178 (cl @p_2 @p_3) :rule or :premises (a43)) +(step t179 (cl @p_4 @p_5) :rule or :premises (a47)) +(step t180 (cl @p_4 @p_6) :rule or :premises (a48)) +(step t181 (cl @p_5 @p_6) :rule or :premises (a49)) +(step t182 (cl @p_7 @p_8) :rule or :premises (a54)) +(step t183 (cl @p_7 @p_9) :rule or :premises (a55)) +(step t184 (cl @p_7 @p_10) :rule or :premises (a56)) +(step t185 (cl @p_8 @p_9) :rule or :premises (a57)) +(step t186 (cl @p_8 @p_10) :rule or :premises (a58)) +(step t187 (cl @p_9 @p_10) :rule or :premises (a59)) +(step t188 (cl @p_11 @p_7) :rule or :premises (a63)) +(step t189 (cl @p_11 @p_2) :rule or :premises (a64)) +(step t190 (cl @p_12 @p_13) :rule or :premises (a66)) +(step t191 (cl @p_12 @p_14) :rule or :premises (a67)) +(step t192 (cl @p_12 @p_15) :rule or :premises (a68)) +(step t193 (cl @p_13 @p_14) :rule or :premises (a69)) +(step t194 (cl @p_13 @p_15) :rule or :premises (a70)) +(step t195 (cl @p_14 @p_15) :rule or :premises (a71)) +(step t196 (cl @p_16 @p_17) :rule or :premises (a78)) +(step t197 (cl @p_16 @p_18) :rule or :premises (a79)) +(step t198 (cl @p_17 @p_18) :rule or :premises (a80)) +(step t199 (cl @p_19 @p_20) :rule or :premises (a81)) +(step t200 (cl @p_19 @p_21) :rule or :premises (a82)) +(step t201 (cl @p_20 @p_21) :rule or :premises (a83)) +(step t202 (cl @p_22 @p_23) :rule or :premises (a90)) +(step t203 (cl @p_22 @p_24) :rule or :premises (a91)) +(step t204 (cl @p_22 @p_11) :rule or :premises (a92)) +(step t205 (cl @p_23 @p_24) :rule or :premises (a93)) +(step t206 (cl @p_23 @p_11) :rule or :premises (a94)) +(step t207 (cl @p_24 @p_11) :rule or :premises (a95)) +(step t208 (cl @p_25 @p_22) :rule or :premises (a99)) +(step t209 (cl @p_25 @p_13) :rule or :premises (a100)) +(step t210 (cl @p_26 @p_27) :rule or :premises (a102)) +(step t211 (cl @p_26 @p_28) :rule or :premises (a103)) +(step t212 (cl @p_26 @p_29) :rule or :premises (a104)) +(step t213 (cl @p_27 @p_28) :rule or :premises (a105)) +(step t214 (cl @p_27 @p_29) :rule or :premises (a106)) +(step t215 (cl @p_28 @p_29) :rule or :premises (a107)) +(step t216 (cl @p_41 @p_20) :rule or :premises (a113)) +(step t217 (cl @p_30 @p_31) :rule or :premises (a114)) +(step t218 (cl @p_30 @p_32) :rule or :premises (a115)) +(step t219 (cl @p_30 @p_33) :rule or :premises (a116)) +(step t220 (cl @p_31 @p_32) :rule or :premises (a117)) +(step t221 (cl @p_31 @p_33) :rule or :premises (a118)) +(step t222 (cl @p_32 @p_33) :rule or :premises (a119)) +(step t223 (cl @p_34 @p_35) :rule or :premises (a126)) +(step t224 (cl @p_34 @p_36) :rule or :premises (a127)) +(step t225 (cl @p_34 @p_25) :rule or :premises (a128)) +(step t226 (cl @p_35 @p_36) :rule or :premises (a129)) +(step t227 (cl @p_35 @p_25) :rule or :premises (a130)) +(step t228 (cl @p_36 @p_25) :rule or :premises (a131)) +(step t229 (cl @p_37 @p_27) :rule or :premises (a134)) +(step t230 (cl @p_38 @p_37) :rule or :premises (a138)) +(step t231 (cl @p_38 @p_39) :rule or :premises (a139)) +(step t232 (cl @p_37 @p_39) :rule or :premises (a140)) +(step t233 (cl @p_40 @p_42) :rule or :premises (a141)) +(step t234 (cl @p_40 @p_41) :rule or :premises (a142)) +(step t235 (cl @p_42 @p_41) :rule or :premises (a143)) +(step t236 (cl @p_43 @p_44) :rule or :premises (a150)) +(step t237 (cl @p_43 @p_45) :rule or :premises (a151)) +(step t238 (cl @p_43 @p_46) :rule or :premises (a152)) +(step t239 (cl @p_44 @p_45) :rule or :premises (a153)) +(step t240 (cl @p_44 @p_46) :rule or :premises (a154)) +(step t241 (cl @p_45 @p_46) :rule or :premises (a155)) +(step t242 (cl @p_47 @p_48) :rule or :premises (a162)) +(step t243 (cl @p_47 @p_49) :rule or :premises (a163)) +(step t244 (cl @p_47 @p_50) :rule or :premises (a164)) +(step t245 (cl @p_48 @p_49) :rule or :premises (a165)) +(step t246 (cl @p_48 @p_50) :rule or :premises (a166)) +(step t247 (cl @p_49 @p_50) :rule or :premises (a167)) +(step t248 (cl @p_51 @p_52) :rule or :premises (a172)) +(step t249 (cl @p_51 @p_53) :rule or :premises (a173)) +(step t250 (cl @p_52 @p_53) :rule or :premises (a174)) +(step t251 (cl @p_54 @p_55) :rule or :premises (a178)) +(step t252 (cl @p_54 @p_56) :rule or :premises (a179)) +(step t253 (cl @p_55 @p_56) :rule or :premises (a180)) (step t254 (cl x48$ x47$ @p_27) :rule resolution :premises (t222 t165 t162 t201 t200 t207 t159 t160 t187 t186 t184 t154 t177 t176 t155 t192 t191 t161 t180 t179 t157 t197 t196 t164 t214 t210)) (step t255 (cl x47$ x45$ x12$ x38$ @p_9) :rule resolution :premises (t196 t161 t164 t181 t215 t211 t155 t163 t195 t193 t191 t160 t178 t177 t154 t187 t183)) (step t256 (cl x47$ x45$ x17$ x50$ @p_32) :rule resolution :premises (t196 t161 t164 t181 t215 t211 t155 t163 t195 t193 t191 t160 t178 t177 t154 t186 t182 t162 t200 t159 t255 t206 t205 t202 t166 t222 t218)) (step t257 (cl x6$ x32$ x45$ x2$ x47$ @p_17) :rule resolution :premises (t204 t160 t163 t195 t194 t155 t180 t211 t157 t164 t198 t196)) (step t258 (cl x10$ x37$ x17$ x50$ @p_11) :rule resolution :premises (t219 t162 t166 t207 t206)) (step t259 (cl x50$ x47$ x48$ x19$ x52$) :rule resolution :premises (t219 t162 t166 t203 t202 t255 t258 t185 t159 t201 t199 t165 t256 t225 t224 t167 t254)) (step t260 (cl x47$ x38$ @p_9) :rule resolution :premises (t212 t161 t164 t198 t197 t157 t181 t180 t155 t195 t191 t160 t178 t177 t154 t187 t183)) (step t261 (cl x50$ x16$ x9$ x19$ x52$ x47$ @p_6) :rule resolution :premises (t202 t163 t166 t190 t225 t224 t161 t167 t212 t211 t210 t164 t197 t157 t181 t180)) (step t262 (cl x38$ x3$ x43$ x10$ x50$ x16$ x19$ x52$ @p_26) :rule resolution :premises (t176 t160 t155 t182 t194 t193 t162 t163 t205 t202 t166 t225 t224 t167 t211 t210)) (step t263 (cl x45$ x12$ x9$ x34$ @p_15) :rule resolution :premises (t215 t163 t161 t194 t192)) (step t264 (cl x45$ x12$ x9$ x34$ x38$ x3$) :rule resolution :premises (t215 t163 t161 t193 t191 t160 t184 t154 t177 t176 t155 t263)) (step t265 (cl x38$ x9$ x34$ x19$ x52$ x43$ x10$ x50$ x16$ @p_22) :rule resolution :premises (t191 t160 t161 t178 t214 t154 t167 t186 t182 t224 t162 t166 t203 t202)) (step t266 (cl x38$ x43$ x10$ x9$ x50$ x16$ x19$ x52$ x47$) :rule resolution :premises (t176 t155 t160 t182 t192 t191 t162 t161 t205 t214 t166 t167 t228 t225 t264 t265 t179 t157 t197 t164 t262 t261)) (step t267 (cl x38$ x43$ x50$ x16$ x19$ x52$ x47$) :rule resolution :premises (t180 t262 t157 t164 t198 t196 t266 t200 t159 t260)) (step t268 (cl x47$ x19$ x52$ @p_44) :rule resolution :premises (t179 t161 t157 t190 t197 t196 t163 t164 t214 t213 t210 t167 t228 t224 t166 t206 t204 t267 t221 t217 t168 t250 t172 t235 t234 t259 t240 t239)) (step t269 (cl x56$ x23$ x11$ @p_11 x12$ x19$ x52$ x47$ @p_5) :rule resolution :premises (t248 t172 t173 t235 t253 t165 t169 t222 t238 t162 t258 t201 t200 t159 t187 t186 t154 t177 t155 t194 t163 t225 t224 t223 t167 t211 t210 t164 t197 t157 t181 t179)) (step t270 (cl x9$ x34$ x45$ x12$ @p_26) :rule resolution :premises (t190 t161 t163 t212 t211)) (step t271 (cl x44$ x23$ x56$ x11$ @p_10) :rule resolution :premises (t226 t166 t169 t241 t237 t253 t168 t173 t250 t248 t172 t235 t234 t165 t222 t221 t219 t162 t201 t200 t159 t187 t186)) (step t272 (cl x47$ x2$ x9$ x34$ x45$ x12$) :rule resolution :premises (t157 t197 t180 t164 t155 t270 t263)) (step t273 (cl x2$ x9$ x34$ x47$ x19$ x52$ x12$) :rule resolution :premises (t180 t155 t157 t192 t197 t161 t164 t214 t210 t167 t225 t272)) (step t274 (cl x19$ x52$ x47$ x23$ x56$ @p_11) :rule resolution :premises (t167 t210 t225 t164 t257 t196 t273 t177 t154 t271 t269 t207 t206 t204 t189 t188)) (step t275 (cl x38$ x12$ x19$ x52$ x47$ @p_17) :rule resolution :premises (t184 t154 t160 t177 t176 t155 t194 t193 t163 t225 t167 t180 t211 t210 t157 t164 t198 t196)) (step t276 (cl x38$ x45$ x12$ x9$ @p_26) :rule resolution :premises (t184 t154 t160 t177 t176 t155 t194 t193 t181 t163 t270 t211)) (step t277 (cl x45$ x12$ x9$ x38$ x47$) :rule resolution :premises (t264 t180 t179 t157 t197 t164 t276)) (step t278 (cl x38$ x47$ x19$ x52$ x12$) :rule resolution :premises (t184 t154 t160 t191 t177 t176 t161 t273 t179 t157 t197 t164 t214 t210 t167 t225 t277 t275)) (step t279 (cl x42$ x44$ x11$ x10$ x19$ x52$ x38$ x32$ x9$ x2$ @p_4) :rule resolution :premises (t250 t172 t168 t235 t234 t241 t165 t166 t222 t221 t219 t224 t162 t167 t182 t214 t160 t161 t195 t192 t155 t180 t179)) (step t280 (cl x42$ x9$ x19$ x52$ x47$ x11$ x10$ x38$ x32$ x40$ x34$ x4$) :rule resolution :premises (t250 t172 t168 t235 t234 t241 t165 t261 t222 t221 t219 t162 t182 t160 t191 t161 t156)) (step t281 (cl x42$ x44$ x11$ x10$ x38$ x32$ x2$ x9$ x19$ x52$ x47$) :rule resolution :premises (t250 t172 t168 t235 t234 t241 t165 t166 t222 t221 t219 t162 t182 t160 t195 t155 t181 t280 t224 t167 t212 t210 t164 t197 t157 t279)) (step t282 (cl @p_48) :rule resolution :premises (t250 t172 t168 t235 t234 t241 t165 t166 t224 t222 t221 t219 t167 t162 t210 t182 t164 t257 t196 t281 t178 t177 t154 t271 t208 t203 t202 t278 t201 t200 t159 t260 t274 t268 t231 t230 t171 t246 t245 t242)) (step t283 (cl x28$) :rule resolution :premises (t175 t282)) (step t284 (cl @p_55) :rule resolution :premises (t251 t283)) (step t285 (cl @p_56) :rule resolution :premises (t252 t283)) (step t286 (cl x42$ x47$ x19$ x52$) :rule resolution :premises (t168 t220 t241 t165 t259 t235 t233 t172 t249 t248 t173 t268 t284)) (step t287 (cl x42$ @p_33) :rule resolution :premises (t239 t168 t173 t250 t248 t172 t235 t234 t165 t222 t221 t284)) (step t288 (cl x47$ @p_17 x43$ x10$ @p_22) :rule resolution :premises (t257 t178 t177 t154 t186 t182 t162 t208 t203)) (step t289 (cl x38$ x3$ @p_13) :rule resolution :premises (t184 t154 t160 t177 t176 t155 t194 t193)) (step t290 (cl x17$ x44$ @p_43) :rule resolution :premises (t233 t168 t172 t217 t249 t248 t166 t173 t238 t237 t236 t284)) (step t291 (cl x18$ x46$ @p_49) :rule resolution :premises (t230 t167 t171 t247 t243)) (step t292 (cl x39$ x47$ @p_17 x38$ x41$) :rule resolution :premises (t220 t165 t168 t235 t233 t172 t249 t248 t173 t237 t236 t169 t291 t227 t225 t163 t288 t287 t201 t200 t159 t211 t210 t260 t164 t284 t285)) (step t293 (cl x23$ @p_25) :rule resolution :premises (t185 t159 t162 t201 t199 t165 t221 t220 t168 t235 t233 t172 t249 t248 t205 t173 t290 t237 t236 t169 t228 t227 t284 t285)) (step t294 (cl x23$ @p_34) :rule resolution :premises (t185 t159 t162 t201 t199 t165 t221 t220 t168 t235 t233 t172 t249 t248 t205 t173 t290 t237 t236 t169 t224 t223 t284 t285)) (step t295 (cl x38$ x3$ @p_8) :rule resolution :premises (t195 t160 t155 t178 t177 t154 t186 t182)) (step t296 (cl x38$ x3$ @p_9) :rule resolution :premises (t195 t160 t155 t178 t177 t154 t187 t183)) (step t297 (cl x38$ x3$ @p_17 x41$) :rule resolution :premises (t287 t162 t201 t200 t159 t296 t295 t203 t163 t213 t167 t294 t293 t244 t243 t171 t232 t231 t292 t289)) (step t298 (cl x12$ x39$ @p_39) :rule resolution :premises (t213 t167 t163 t294 t293 t244 t243 t171 t232 t231)) (step t299 (cl x6$ x32$ @p_17 x12$ x3$ @p_20) :rule resolution :premises (t291 t293 t225 t257 t254 t298 t194 t155 t177 t154 t187 t159 t216 t201)) (step t300 (cl x46$ @p_25) :rule resolution :premises (t291 t293 t225)) (step t301 (cl x11$ x43$ @p_10) :rule resolution :premises (t200 t159 t162 t187 t186)) (step t302 (cl @p_17) :rule resolution :premises (t300 t210 t257 t164 t298 t194 t155 t177 t154 t301 t287 t299 t207 t204 t189 t188 t297 t180 t157 t198 t196)) (step t303 (cl @p_25) :rule resolution :premises (t216 t286 t254 t229 t247 t298 t300 t293 t209 t208)) (step t304 (cl x12$ x47$ x2$) :rule resolution :premises (t211 t163 t164 t194 t197 t155 t157 t181 t179 t272 t303 t302)) (step t305 (cl x12$ x47$) :rule resolution :premises (t201 t287 t159 t301 t187 t154 t177 t304 t207 t277 t302 t303)) (step t306 (cl x47$) :rule resolution :premises (t212 t164 t161 t197 t191 t157 t160 t181 t180 t178 t295 t182 t154 t162 t301 t287 t201 t200 t159 t260 t204 t203 t305 t302)) (step t307 (cl @p_38) :rule resolution :premises (t231 t306)) (step t308 (cl @p_37) :rule resolution :premises (t232 t306)) (step t309 (cl x24$) :rule resolution :premises (t171 t307)) (step t310 (cl @p_49) :rule resolution :premises (t243 t309)) (step t311 (cl @p_50) :rule resolution :premises (t244 t309)) (step t312 (cl @p_34) :rule resolution :premises (t294 t310)) (step t313 (cl x46$) :rule resolution :premises (t167 t312 t308 t311)) (step t314 (cl @p_29) :rule resolution :premises (t214 t313)) (step t315 (cl x11$ x43$ @p_7) :rule resolution :premises (t200 t159 t162 t183 t182)) (step t316 (cl x38$ x11$ x43$) :rule resolution :premises (t181 t155 t161 t195 t191 t160 t315 t178 t177 t154 t301 t302 t314)) (step t317 (cl @p_22) :rule resolution :premises (t191 t160 t161 t178 t181 t154 t296 t187 t183 t159 t201 t287 t316 t204 t203 t302 t314)) (step t318 (cl x39$) :rule resolution :premises (t298 t317 t306)) (step t319 (cl @p_12) :rule resolution :premises (t190 t318)) (step t320 (cl @p_15) :rule resolution :premises (t194 t318)) (step t321 (cl x34$) :rule resolution :premises (t161 t319 t302 t314)) (step t322 (cl @p_6) :rule resolution :premises (t181 t321)) (step t323 (cl x2$) :rule resolution :premises (t155 t322 t320)) (step t324 (cl x38$) :rule resolution :premises (t289 t322 t318)) (step t325 (cl @p_3) :rule resolution :premises (t177 t323)) (step t326 (cl @p_24) :rule resolution :premises (t207 t324)) (step t327 (cl x31$) :rule resolution :premises (t154 t325)) (step t328 (cl @p_9) :rule resolution :premises (t187 t327)) (step t329 (cl x43$) :rule resolution :premises (t301 t327 t326)) (step t330 (cl x36$) :rule resolution :premises (t159 t328)) (step t331 (cl x42$) :rule resolution :premises (t287 t329)) (step t332 (cl) :rule resolution :premises (t201 t330 t331)) -5895c6070af96c275f3f46cd6f9c0ddc1803c656 64 0 +a73b15b00e6e103b31fc48e963d878be9038a417 64 0 unsat (define-fun veriT_sk0 () Int (! (choice ((veriT_vr2 Int)) (not (! (=> (! (p$ veriT_vr2) :named @p_20) (! (forall ((veriT_vr3 Int)) (! (or @p_20 (! (p$ veriT_vr3) :named @p_24)) :named @p_25)) :named @p_21)) :named @p_26))) :named @p_33)) (define-fun veriT_sk1 () Int (! (choice ((veriT_vr3 Int)) (not (or (p$ @p_33) @p_24))) :named @p_37)) -(assume axiom0 (! (not (! (forall ((?v0 Int)) (! (=> (! (p$ ?v0) :named @p_1) (! (forall ((?v1 Int)) (! (or @p_1 (! (p$ ?v1) :named @p_8)) :named @p_10)) :named @p_4)) :named @p_12)) :named @p_2)) :named @p_14)) +(assume a0 (! (not (! (forall ((?v0 Int)) (! (=> (! (p$ ?v0) :named @p_1) (! (forall ((?v1 Int)) (! (or @p_1 (! (p$ ?v1) :named @p_8)) :named @p_10)) :named @p_4)) :named @p_12)) :named @p_2)) :named @p_14)) (anchor :step t2 :args ((:= (?v0 Int) veriT_vr0))) (step t2.t1 (cl (! (= ?v0 veriT_vr0) :named @p_6)) :rule refl) (step t2.t2 (cl (! (= @p_1 (! (p$ veriT_vr0) :named @p_3)) :named @p_7)) :rule cong :premises (t2.t1)) (anchor :step t2.t3 :args ((:= (?v1 Int) veriT_vr1))) (step t2.t3.t1 (cl @p_6) :rule refl) (step t2.t3.t2 (cl @p_7) :rule cong :premises (t2.t3.t1)) (step t2.t3.t3 (cl (= ?v1 veriT_vr1)) :rule refl) (step t2.t3.t4 (cl (= @p_8 (! (p$ veriT_vr1) :named @p_9))) :rule cong :premises (t2.t3.t3)) (step t2.t3.t5 (cl (= @p_10 (! (or @p_3 @p_9) :named @p_11))) :rule cong :premises (t2.t3.t2 t2.t3.t4)) (step t2.t3 (cl (= @p_4 (! (forall ((veriT_vr1 Int)) @p_11) :named @p_5))) :rule bind) (step t2.t4 (cl (= @p_12 (! (=> @p_3 @p_5) :named @p_13))) :rule cong :premises (t2.t2 t2.t3)) (step t2 (cl (= @p_2 (! (forall ((veriT_vr0 Int)) @p_13) :named @p_15))) :rule bind) (step t3 (cl (! (= @p_14 (! (not @p_15) :named @p_17)) :named @p_16)) :rule cong :premises (t2)) (step t4 (cl (! (not @p_16) :named @p_19) (! (not @p_14) :named @p_18) @p_17) :rule equiv_pos2) (step t5 (cl (not @p_18) @p_2) :rule not_not) (step t6 (cl @p_19 @p_2 @p_17) :rule th_resolution :premises (t5 t4)) -(step t7 (cl @p_17) :rule th_resolution :premises (axiom0 t3 t6)) +(step t7 (cl @p_17) :rule th_resolution :premises (a0 t3 t6)) (anchor :step t8 :args ((:= (veriT_vr0 Int) veriT_vr2))) (step t8.t1 (cl (! (= veriT_vr0 veriT_vr2) :named @p_22)) :rule refl) (step t8.t2 (cl (! (= @p_3 @p_20) :named @p_23)) :rule cong :premises (t8.t1)) (anchor :step t8.t3 :args ((:= (veriT_vr1 Int) veriT_vr3))) (step t8.t3.t1 (cl @p_22) :rule refl) (step t8.t3.t2 (cl @p_23) :rule cong :premises (t8.t3.t1)) (step t8.t3.t3 (cl (= veriT_vr1 veriT_vr3)) :rule refl) (step t8.t3.t4 (cl (= @p_9 @p_24)) :rule cong :premises (t8.t3.t3)) (step t8.t3.t5 (cl (= @p_11 @p_25)) :rule cong :premises (t8.t3.t2 t8.t3.t4)) (step t8.t3 (cl (= @p_5 @p_21)) :rule bind) (step t8.t4 (cl (= @p_13 @p_26)) :rule cong :premises (t8.t2 t8.t3)) (step t8 (cl (= @p_15 (! (forall ((veriT_vr2 Int)) @p_26) :named @p_27))) :rule bind) (step t9 (cl (! (= @p_17 (! (not @p_27) :named @p_29)) :named @p_28)) :rule cong :premises (t8)) (step t10 (cl (! (not @p_28) :named @p_31) (! (not @p_17) :named @p_30) @p_29) :rule equiv_pos2) (step t11 (cl (not @p_30) @p_15) :rule not_not) (step t12 (cl @p_31 @p_15 @p_29) :rule th_resolution :premises (t11 t10)) (step t13 (cl @p_29) :rule th_resolution :premises (t7 t9 t12)) (anchor :step t14 :args ((:= (veriT_vr2 Int) veriT_sk0))) (step t14.t1 (cl (! (= veriT_vr2 veriT_sk0) :named @p_35)) :rule refl) (step t14.t2 (cl (! (= @p_20 (! (p$ veriT_sk0) :named @p_32)) :named @p_36)) :rule cong :premises (t14.t1)) (anchor :step t14.t3 :args ((:= (veriT_vr3 Int) veriT_sk1))) (step t14.t3.t1 (cl @p_35) :rule refl) (step t14.t3.t2 (cl @p_36) :rule cong :premises (t14.t3.t1)) (step t14.t3.t3 (cl (= veriT_vr3 veriT_sk1)) :rule refl) (step t14.t3.t4 (cl (= @p_24 (! (p$ veriT_sk1) :named @p_38))) :rule cong :premises (t14.t3.t3)) (step t14.t3.t5 (cl (= @p_25 (! (or @p_32 @p_38) :named @p_34))) :rule cong :premises (t14.t3.t2 t14.t3.t4)) (step t14.t3 (cl (= @p_21 @p_34)) :rule sko_forall) (step t14.t4 (cl (= @p_26 (! (=> @p_32 @p_34) :named @p_39))) :rule cong :premises (t14.t2 t14.t3)) (step t14 (cl (= @p_27 @p_39)) :rule sko_forall) (step t15 (cl (! (= @p_29 (! (not @p_39) :named @p_41)) :named @p_40)) :rule cong :premises (t14)) (step t16 (cl (! (not @p_40) :named @p_43) (! (not @p_29) :named @p_42) @p_41) :rule equiv_pos2) (step t17 (cl (not @p_42) @p_27) :rule not_not) (step t18 (cl @p_43 @p_27 @p_41) :rule th_resolution :premises (t17 t16)) (step t19 (cl @p_41) :rule th_resolution :premises (t13 t15 t18)) (step t20 (cl (! (= @p_41 (! (and @p_32 (! (not @p_34) :named @p_48)) :named @p_45)) :named @p_44)) :rule bool_simplify) (step t21 (cl (! (not @p_44) :named @p_47) (! (not @p_41) :named @p_46) @p_45) :rule equiv_pos2) (step t22 (cl (not @p_46) @p_39) :rule not_not) (step t23 (cl @p_47 @p_39 @p_45) :rule th_resolution :premises (t22 t21)) (step t24 (cl @p_45) :rule th_resolution :premises (t19 t20 t23)) (step t25 (cl @p_32) :rule and :premises (t24)) (step t26 (cl @p_48) :rule and :premises (t24)) (step t27 (cl (not @p_32)) :rule not_or :premises (t26)) (step t28 (cl) :rule resolution :premises (t27 t25)) -92a1094a80c0dcb33184d755df79398cf322af19 155 0 +9024ca3fa3536be727200e6a5ffc1df778e7e505 155 0 unsat (define-fun veriT_sk0 () A$ (! (choice ((veriT_vr3 A$)) (! (ite x$ (! (p$ true veriT_vr3) :named @p_48) (! (p$ false veriT_vr3) :named @p_50)) :named @p_51)) :named @p_62)) -(assume axiom0 (forall ((?v0 Bool) (?v1 A$)) (= (p$ ?v0 ?v1) ?v0))) -(assume axiom1 (not (= (exists ((?v0 A$)) (p$ x$ ?v0)) (p$ x$ c$)))) -(step t3 (cl (! (forall ((?v1 A$)) (! (and (! (= (! (p$ false ?v1) :named @p_2) false) :named @p_4) (! (= (! (p$ true ?v1) :named @p_7) true) :named @p_9)) :named @p_11)) :named @p_1)) :rule bfun_elim :premises (axiom0)) -(step t4 (cl (! (not (! (= (! (exists ((?v0 A$)) (! (ite x$ (! (p$ true ?v0) :named @p_27) (! (p$ false ?v0) :named @p_30)) :named @p_32)) :named @p_26) (! (ite x$ (! (p$ true c$) :named @p_91) (! (p$ false c$) :named @p_93)) :named @p_36)) :named @p_34)) :named @p_37)) :rule bfun_elim :premises (axiom1)) +(assume a0 (forall ((?v0 Bool) (?v1 A$)) (= (p$ ?v0 ?v1) ?v0))) +(assume a1 (not (= (exists ((?v0 A$)) (p$ x$ ?v0)) (p$ x$ c$)))) +(step t3 (cl (! (forall ((?v1 A$)) (! (and (! (= (! (p$ false ?v1) :named @p_2) false) :named @p_4) (! (= (! (p$ true ?v1) :named @p_7) true) :named @p_9)) :named @p_11)) :named @p_1)) :rule bfun_elim :premises (a0)) +(step t4 (cl (! (not (! (= (! (exists ((?v0 A$)) (! (ite x$ (! (p$ true ?v0) :named @p_27) (! (p$ false ?v0) :named @p_30)) :named @p_32)) :named @p_26) (! (ite x$ (! (p$ true c$) :named @p_91) (! (p$ false c$) :named @p_93)) :named @p_36)) :named @p_34)) :named @p_37)) :rule bfun_elim :premises (a1)) (anchor :step t5 :args ((:= (?v1 A$) veriT_vr0))) (step t5.t1 (cl (! (= ?v1 veriT_vr0) :named @p_6)) :rule refl) (step t5.t2 (cl (= @p_2 (! (p$ false veriT_vr0) :named @p_3))) :rule cong :premises (t5.t1)) (step t5.t3 (cl (= @p_4 (! (= @p_3 false) :named @p_5))) :rule cong :premises (t5.t2)) (step t5.t4 (cl @p_6) :rule refl) (step t5.t5 (cl (= @p_7 (! (p$ true veriT_vr0) :named @p_8))) :rule cong :premises (t5.t4)) (step t5.t6 (cl (= @p_9 (! (= @p_8 true) :named @p_10))) :rule cong :premises (t5.t5)) (step t5.t7 (cl (= @p_11 (! (and @p_5 @p_10) :named @p_12))) :rule cong :premises (t5.t3 t5.t6)) (step t5 (cl (! (= @p_1 (! (forall ((veriT_vr0 A$)) @p_12) :named @p_14)) :named @p_13)) :rule bind) (step t6 (cl (not @p_13) (not @p_1) @p_14) :rule equiv_pos2) (step t7 (cl @p_14) :rule th_resolution :premises (t3 t5 t6)) (anchor :step t8 :args ((veriT_vr0 A$))) (step t8.t1 (cl (= @p_5 (! (not @p_3) :named @p_15))) :rule equiv_simplify) (step t8.t2 (cl (= @p_10 @p_8)) :rule equiv_simplify) (step t8.t3 (cl (= @p_12 (! (and @p_15 @p_8) :named @p_16))) :rule cong :premises (t8.t1 t8.t2)) (step t8 (cl (! (= @p_14 (! (forall ((veriT_vr0 A$)) @p_16) :named @p_18)) :named @p_17)) :rule bind) (step t9 (cl (not @p_17) (not @p_14) @p_18) :rule equiv_pos2) (step t10 (cl @p_18) :rule th_resolution :premises (t7 t8 t9)) (anchor :step t11 :args ((:= (veriT_vr0 A$) veriT_vr1))) (step t11.t1 (cl (! (= veriT_vr0 veriT_vr1) :named @p_21)) :rule refl) (step t11.t2 (cl (= @p_3 (! (p$ false veriT_vr1) :named @p_19))) :rule cong :premises (t11.t1)) (step t11.t3 (cl (= @p_15 (! (not @p_19) :named @p_20))) :rule cong :premises (t11.t2)) (step t11.t4 (cl @p_21) :rule refl) (step t11.t5 (cl (= @p_8 (! (p$ true veriT_vr1) :named @p_22))) :rule cong :premises (t11.t4)) (step t11.t6 (cl (= @p_16 (! (and @p_20 @p_22) :named @p_23))) :rule cong :premises (t11.t3 t11.t5)) (step t11 (cl (! (= @p_18 (! (forall ((veriT_vr1 A$)) @p_23) :named @p_25)) :named @p_24)) :rule bind) (step t12 (cl (not @p_24) (not @p_18) @p_25) :rule equiv_pos2) (step t13 (cl @p_25) :rule th_resolution :premises (t10 t11 t12)) (anchor :step t14 :args ((:= (?v0 A$) veriT_vr2))) (step t14.t1 (cl (! (= ?v0 veriT_vr2) :named @p_29)) :rule refl) (step t14.t2 (cl (= @p_27 (! (p$ true veriT_vr2) :named @p_28))) :rule cong :premises (t14.t1)) (step t14.t3 (cl @p_29) :rule refl) (step t14.t4 (cl (= @p_30 (! (p$ false veriT_vr2) :named @p_31))) :rule cong :premises (t14.t3)) (step t14.t5 (cl (= @p_32 (! (ite x$ @p_28 @p_31) :named @p_33))) :rule cong :premises (t14.t2 t14.t4)) (step t14 (cl (= @p_26 (! (exists ((veriT_vr2 A$)) @p_33) :named @p_35))) :rule bind) (step t15 (cl (= @p_34 (! (= @p_35 @p_36) :named @p_38))) :rule cong :premises (t14)) (step t16 (cl (! (= @p_37 (! (not @p_38) :named @p_40)) :named @p_39)) :rule cong :premises (t15)) (step t17 (cl (! (not @p_39) :named @p_42) (! (not @p_37) :named @p_41) @p_40) :rule equiv_pos2) (step t18 (cl (not @p_41) @p_34) :rule not_not) (step t19 (cl @p_42 @p_34 @p_40) :rule th_resolution :premises (t18 t17)) (step t20 (cl @p_40) :rule th_resolution :premises (t4 t16 t19)) (step t21 (cl (= @p_38 (! (and (! (=> @p_35 @p_36) :named @p_52) (! (=> @p_36 @p_35) :named @p_54)) :named @p_43))) :rule connective_def) (step t22 (cl (! (= @p_40 (! (not @p_43) :named @p_45)) :named @p_44)) :rule cong :premises (t21)) (step t23 (cl (! (not @p_44) :named @p_47) (! (not @p_40) :named @p_46) @p_45) :rule equiv_pos2) (step t24 (cl (not @p_46) @p_38) :rule not_not) (step t25 (cl @p_47 @p_38 @p_45) :rule th_resolution :premises (t24 t23)) (step t26 (cl @p_45) :rule th_resolution :premises (t20 t22 t25)) (anchor :step t27 :args ((:= (veriT_vr2 A$) veriT_vr3))) (step t27.t1 (cl (! (= veriT_vr2 veriT_vr3) :named @p_49)) :rule refl) (step t27.t2 (cl (= @p_28 @p_48)) :rule cong :premises (t27.t1)) (step t27.t3 (cl @p_49) :rule refl) (step t27.t4 (cl (= @p_31 @p_50)) :rule cong :premises (t27.t3)) (step t27.t5 (cl (= @p_33 @p_51)) :rule cong :premises (t27.t2 t27.t4)) (step t27 (cl (= @p_35 (! (exists ((veriT_vr3 A$)) @p_51) :named @p_53))) :rule bind) (step t28 (cl (= @p_52 (! (=> @p_53 @p_36) :named @p_55))) :rule cong :premises (t27)) (step t29 (cl (= @p_54 (! (=> @p_36 @p_53) :named @p_56))) :rule cong :premises (t27)) (step t30 (cl (= @p_43 (! (and @p_55 @p_56) :named @p_57))) :rule cong :premises (t28 t29)) (step t31 (cl (! (= @p_45 (! (not @p_57) :named @p_59)) :named @p_58)) :rule cong :premises (t30)) (step t32 (cl (! (not @p_58) :named @p_61) (! (not @p_45) :named @p_60) @p_59) :rule equiv_pos2) (step t33 (cl (not @p_60) @p_43) :rule not_not) (step t34 (cl @p_61 @p_43 @p_59) :rule th_resolution :premises (t33 t32)) (step t35 (cl @p_59) :rule th_resolution :premises (t26 t31 t34)) (anchor :step t36 :args ((:= (veriT_vr3 A$) veriT_sk0))) (step t36.t1 (cl (! (= veriT_vr3 veriT_sk0) :named @p_64)) :rule refl) (step t36.t2 (cl (= @p_48 (! (p$ true veriT_sk0) :named @p_63))) :rule cong :premises (t36.t1)) (step t36.t3 (cl @p_64) :rule refl) (step t36.t4 (cl (= @p_50 (! (p$ false veriT_sk0) :named @p_65))) :rule cong :premises (t36.t3)) (step t36.t5 (cl (= @p_51 (! (ite x$ @p_63 @p_65) :named @p_66))) :rule cong :premises (t36.t2 t36.t4)) (step t36 (cl (= @p_53 @p_66)) :rule sko_ex) (step t37 (cl (= @p_55 (! (=> @p_66 @p_36) :named @p_67))) :rule cong :premises (t36)) (step t38 (cl (= @p_57 (! (and @p_67 @p_56) :named @p_68))) :rule cong :premises (t37)) (step t39 (cl (! (= @p_59 (! (not @p_68) :named @p_70)) :named @p_69)) :rule cong :premises (t38)) (step t40 (cl (! (not @p_69) :named @p_72) (! (not @p_59) :named @p_71) @p_70) :rule equiv_pos2) (step t41 (cl (not @p_71) @p_57) :rule not_not) (step t42 (cl @p_72 @p_57 @p_70) :rule th_resolution :premises (t41 t40)) (step t43 (cl @p_70) :rule th_resolution :premises (t35 t39 t42)) (anchor :step t44 :args ((:= (veriT_vr3 A$) veriT_vr4))) (step t44.t1 (cl (! (= veriT_vr3 veriT_vr4) :named @p_74)) :rule refl) (step t44.t2 (cl (= @p_48 (! (p$ true veriT_vr4) :named @p_73))) :rule cong :premises (t44.t1)) (step t44.t3 (cl @p_74) :rule refl) (step t44.t4 (cl (= @p_50 (! (p$ false veriT_vr4) :named @p_75))) :rule cong :premises (t44.t3)) (step t44.t5 (cl (= @p_51 (! (ite x$ @p_73 @p_75) :named @p_76))) :rule cong :premises (t44.t2 t44.t4)) (step t44 (cl (= @p_53 (! (exists ((veriT_vr4 A$)) @p_76) :named @p_77))) :rule bind) (step t45 (cl (= @p_56 (! (=> @p_36 @p_77) :named @p_78))) :rule cong :premises (t44)) (step t46 (cl (= @p_68 (! (and @p_67 @p_78) :named @p_79))) :rule cong :premises (t45)) (step t47 (cl (! (= @p_70 (! (not @p_79) :named @p_81)) :named @p_80)) :rule cong :premises (t46)) (step t48 (cl (! (not @p_80) :named @p_83) (! (not @p_70) :named @p_82) @p_81) :rule equiv_pos2) (step t49 (cl (not @p_82) @p_68) :rule not_not) (step t50 (cl @p_83 @p_68 @p_81) :rule th_resolution :premises (t49 t48)) (step t51 (cl @p_81) :rule th_resolution :premises (t43 t47 t50)) (step t52 (cl (= @p_77 (! (not (! (forall ((veriT_vr4 A$)) (not @p_76)) :named @p_95)) :named @p_84))) :rule connective_def) (step t53 (cl (= @p_78 (! (=> @p_36 @p_84) :named @p_85))) :rule cong :premises (t52)) (step t54 (cl (= @p_79 (! (and @p_67 @p_85) :named @p_86))) :rule cong :premises (t53)) (step t55 (cl (! (= @p_81 (! (not @p_86) :named @p_88)) :named @p_87)) :rule cong :premises (t54)) (step t56 (cl (! (not @p_87) :named @p_90) (! (not @p_81) :named @p_89) @p_88) :rule equiv_pos2) (step t57 (cl (not @p_89) @p_79) :rule not_not) (step t58 (cl @p_90 @p_79 @p_88) :rule th_resolution :premises (t57 t56)) (step t59 (cl @p_88) :rule th_resolution :premises (t51 t55 t58)) (step t60 (cl (not @p_66) x$ @p_65) :rule ite_pos1) (step t61 (cl @p_67 @p_66) :rule implies_neg1) (step t62 (cl @p_36 (not x$) (! (not @p_91) :named @p_109)) :rule ite_neg2) (step t63 (cl @p_67 (! (not @p_36) :named @p_92)) :rule implies_neg2) (step t64 (cl @p_92 x$ @p_93) :rule ite_pos1) (step t65 (cl @p_85 @p_36) :rule implies_neg1) (step t66 (cl @p_85 (! (not @p_84) :named @p_94)) :rule implies_neg2) (step t67 (cl (not @p_94) @p_95) :rule not_not) (step t68 (cl @p_85 @p_95) :rule th_resolution :premises (t67 t66)) (step t69 (cl (not @p_67) (! (not @p_85) :named @p_110)) :rule not_and :premises (t59)) (step t70 (cl (or (! (not @p_25) :named @p_96) (! (forall ((veriT_vr1 A$)) @p_20) :named @p_97))) :rule qnt_cnf) (step t71 (cl (or @p_96 (! (forall ((veriT_vr1 A$)) @p_22) :named @p_106))) :rule qnt_cnf) (step t72 (cl @p_96 @p_97) :rule or :premises (t70)) (step t73 (cl (or (! (not @p_97) :named @p_98) (! (not @p_65) :named @p_99))) :rule forall_inst :args ((:= veriT_vr1 veriT_sk0))) (step t74 (cl @p_98 @p_99) :rule or :premises (t73)) (step t75 (cl (! (or @p_96 @p_99) :named @p_101) (! (not @p_96) :named @p_100)) :rule or_neg) (step t76 (cl (not @p_100) @p_25) :rule not_not) (step t77 (cl @p_101 @p_25) :rule th_resolution :premises (t76 t75)) (step t78 (cl @p_101 (! (not @p_99) :named @p_102)) :rule or_neg) (step t79 (cl (not @p_102) @p_65) :rule not_not) (step t80 (cl @p_101 @p_65) :rule th_resolution :premises (t79 t78)) (step t81 (cl @p_101) :rule th_resolution :premises (t72 t74 t77 t80)) (step t82 (cl @p_96 @p_99) :rule or :premises (t81)) (step t83 (cl @p_99) :rule resolution :premises (t82 t13)) (step t84 (cl (or @p_98 (! (not @p_93) :named @p_103))) :rule forall_inst :args ((:= veriT_vr1 c$))) (step t85 (cl @p_98 @p_103) :rule or :premises (t84)) (step t86 (cl (! (or @p_96 @p_103) :named @p_104) @p_100) :rule or_neg) (step t87 (cl @p_104 @p_25) :rule th_resolution :premises (t76 t86)) (step t88 (cl @p_104 (! (not @p_103) :named @p_105)) :rule or_neg) (step t89 (cl (not @p_105) @p_93) :rule not_not) (step t90 (cl @p_104 @p_93) :rule th_resolution :premises (t89 t88)) (step t91 (cl @p_104) :rule th_resolution :premises (t72 t85 t87 t90)) (step t92 (cl @p_96 @p_103) :rule or :premises (t91)) (step t93 (cl @p_103) :rule resolution :premises (t92 t13)) (step t94 (cl x$) :rule resolution :premises (t69 t65 t61 t64 t60 t93 t83)) (step t95 (cl @p_96 @p_106) :rule or :premises (t71)) (step t96 (cl (or (! (not @p_106) :named @p_107) @p_91)) :rule forall_inst :args ((:= veriT_vr1 c$))) (step t97 (cl @p_107 @p_91) :rule or :premises (t96)) (step t98 (cl (! (or @p_96 @p_91) :named @p_108) @p_100) :rule or_neg) (step t99 (cl @p_108 @p_25) :rule th_resolution :premises (t76 t98)) (step t100 (cl @p_108 @p_109) :rule or_neg) (step t101 (cl @p_108) :rule th_resolution :premises (t95 t97 t99 t100)) (step t102 (cl @p_96 @p_91) :rule or :premises (t101)) (step t103 (cl @p_91) :rule resolution :premises (t102 t13)) (step t104 (cl @p_36) :rule resolution :premises (t62 t103 t94)) (step t105 (cl @p_67) :rule resolution :premises (t63 t104)) (step t106 (cl @p_110) :rule resolution :premises (t69 t105)) (step t107 (cl @p_95) :rule resolution :premises (t68 t106)) (step t108 (cl (or @p_84 @p_92)) :rule forall_inst :args ((:= veriT_vr4 c$))) (step t109 (cl @p_84 @p_92) :rule or :premises (t108)) (step t110 (cl) :rule resolution :premises (t109 t104 t107)) -811ced85456c84c67b4bd2d5cedbf22b20ed06ce 143 0 +6388f32213a8f0cba4b8bfe24dbcf79d47d5c156 143 0 unsat (define-fun veriT_sk2 () A$ (! (choice ((veriT_vr9 A$)) (! (ite x$ (! (p$ true veriT_vr9) :named @p_48) (! (p$ false veriT_vr9) :named @p_50)) :named @p_51)) :named @p_62)) -(assume axiom0 (forall ((?v0 Bool) (?v1 A$)) (= (p$ ?v0 ?v1) ?v0))) -(assume axiom2 (not (= (exists ((?v0 A$)) (p$ x$ ?v0)) (p$ x$ c$)))) -(step t3 (cl (! (forall ((?v1 A$)) (! (and (! (= (! (p$ false ?v1) :named @p_2) false) :named @p_4) (! (= (! (p$ true ?v1) :named @p_7) true) :named @p_9)) :named @p_11)) :named @p_1)) :rule bfun_elim :premises (axiom0)) -(step t4 (cl (! (not (! (= (! (exists ((?v0 A$)) (! (ite x$ (! (p$ true ?v0) :named @p_27) (! (p$ false ?v0) :named @p_30)) :named @p_32)) :named @p_26) (! (ite x$ (! (p$ true c$) :named @p_91) (p$ false c$)) :named @p_36)) :named @p_34)) :named @p_37)) :rule bfun_elim :premises (axiom2)) +(assume a0 (forall ((?v0 Bool) (?v1 A$)) (= (p$ ?v0 ?v1) ?v0))) +(assume a2 (not (= (exists ((?v0 A$)) (p$ x$ ?v0)) (p$ x$ c$)))) +(step t3 (cl (! (forall ((?v1 A$)) (! (and (! (= (! (p$ false ?v1) :named @p_2) false) :named @p_4) (! (= (! (p$ true ?v1) :named @p_7) true) :named @p_9)) :named @p_11)) :named @p_1)) :rule bfun_elim :premises (a0)) +(step t4 (cl (! (not (! (= (! (exists ((?v0 A$)) (! (ite x$ (! (p$ true ?v0) :named @p_27) (! (p$ false ?v0) :named @p_30)) :named @p_32)) :named @p_26) (! (ite x$ (! (p$ true c$) :named @p_91) (p$ false c$)) :named @p_36)) :named @p_34)) :named @p_37)) :rule bfun_elim :premises (a2)) (anchor :step t5 :args ((:= (?v1 A$) veriT_vr0))) (step t5.t1 (cl (! (= ?v1 veriT_vr0) :named @p_6)) :rule refl) (step t5.t2 (cl (= @p_2 (! (p$ false veriT_vr0) :named @p_3))) :rule cong :premises (t5.t1)) (step t5.t3 (cl (= @p_4 (! (= @p_3 false) :named @p_5))) :rule cong :premises (t5.t2)) (step t5.t4 (cl @p_6) :rule refl) (step t5.t5 (cl (= @p_7 (! (p$ true veriT_vr0) :named @p_8))) :rule cong :premises (t5.t4)) (step t5.t6 (cl (= @p_9 (! (= @p_8 true) :named @p_10))) :rule cong :premises (t5.t5)) (step t5.t7 (cl (= @p_11 (! (and @p_5 @p_10) :named @p_12))) :rule cong :premises (t5.t3 t5.t6)) (step t5 (cl (! (= @p_1 (! (forall ((veriT_vr0 A$)) @p_12) :named @p_14)) :named @p_13)) :rule bind) (step t6 (cl (not @p_13) (not @p_1) @p_14) :rule equiv_pos2) (step t7 (cl @p_14) :rule th_resolution :premises (t3 t5 t6)) (anchor :step t8 :args ((veriT_vr0 A$))) (step t8.t1 (cl (= @p_5 (! (not @p_3) :named @p_15))) :rule equiv_simplify) (step t8.t2 (cl (= @p_10 @p_8)) :rule equiv_simplify) (step t8.t3 (cl (= @p_12 (! (and @p_15 @p_8) :named @p_16))) :rule cong :premises (t8.t1 t8.t2)) (step t8 (cl (! (= @p_14 (! (forall ((veriT_vr0 A$)) @p_16) :named @p_18)) :named @p_17)) :rule bind) (step t9 (cl (not @p_17) (not @p_14) @p_18) :rule equiv_pos2) (step t10 (cl @p_18) :rule th_resolution :premises (t7 t8 t9)) (anchor :step t11 :args ((:= (veriT_vr0 A$) veriT_vr1))) (step t11.t1 (cl (! (= veriT_vr0 veriT_vr1) :named @p_21)) :rule refl) (step t11.t2 (cl (= @p_3 (! (p$ false veriT_vr1) :named @p_19))) :rule cong :premises (t11.t1)) (step t11.t3 (cl (= @p_15 (! (not @p_19) :named @p_20))) :rule cong :premises (t11.t2)) (step t11.t4 (cl @p_21) :rule refl) (step t11.t5 (cl (= @p_8 (! (p$ true veriT_vr1) :named @p_22))) :rule cong :premises (t11.t4)) (step t11.t6 (cl (= @p_16 (! (and @p_20 @p_22) :named @p_23))) :rule cong :premises (t11.t3 t11.t5)) (step t11 (cl (! (= @p_18 (! (forall ((veriT_vr1 A$)) @p_23) :named @p_25)) :named @p_24)) :rule bind) (step t12 (cl (not @p_24) (not @p_18) @p_25) :rule equiv_pos2) (step t13 (cl @p_25) :rule th_resolution :premises (t10 t11 t12)) (anchor :step t14 :args ((:= (?v0 A$) veriT_vr8))) (step t14.t1 (cl (! (= ?v0 veriT_vr8) :named @p_29)) :rule refl) (step t14.t2 (cl (= @p_27 (! (p$ true veriT_vr8) :named @p_28))) :rule cong :premises (t14.t1)) (step t14.t3 (cl @p_29) :rule refl) (step t14.t4 (cl (= @p_30 (! (p$ false veriT_vr8) :named @p_31))) :rule cong :premises (t14.t3)) (step t14.t5 (cl (= @p_32 (! (ite x$ @p_28 @p_31) :named @p_33))) :rule cong :premises (t14.t2 t14.t4)) (step t14 (cl (= @p_26 (! (exists ((veriT_vr8 A$)) @p_33) :named @p_35))) :rule bind) (step t15 (cl (= @p_34 (! (= @p_35 @p_36) :named @p_38))) :rule cong :premises (t14)) (step t16 (cl (! (= @p_37 (! (not @p_38) :named @p_40)) :named @p_39)) :rule cong :premises (t15)) (step t17 (cl (! (not @p_39) :named @p_42) (! (not @p_37) :named @p_41) @p_40) :rule equiv_pos2) (step t18 (cl (not @p_41) @p_34) :rule not_not) (step t19 (cl @p_42 @p_34 @p_40) :rule th_resolution :premises (t18 t17)) (step t20 (cl @p_40) :rule th_resolution :premises (t4 t16 t19)) (step t21 (cl (= @p_38 (! (and (! (=> @p_35 @p_36) :named @p_52) (! (=> @p_36 @p_35) :named @p_54)) :named @p_43))) :rule connective_def) (step t22 (cl (! (= @p_40 (! (not @p_43) :named @p_45)) :named @p_44)) :rule cong :premises (t21)) (step t23 (cl (! (not @p_44) :named @p_47) (! (not @p_40) :named @p_46) @p_45) :rule equiv_pos2) (step t24 (cl (not @p_46) @p_38) :rule not_not) (step t25 (cl @p_47 @p_38 @p_45) :rule th_resolution :premises (t24 t23)) (step t26 (cl @p_45) :rule th_resolution :premises (t20 t22 t25)) (anchor :step t27 :args ((:= (veriT_vr8 A$) veriT_vr9))) (step t27.t1 (cl (! (= veriT_vr8 veriT_vr9) :named @p_49)) :rule refl) (step t27.t2 (cl (= @p_28 @p_48)) :rule cong :premises (t27.t1)) (step t27.t3 (cl @p_49) :rule refl) (step t27.t4 (cl (= @p_31 @p_50)) :rule cong :premises (t27.t3)) (step t27.t5 (cl (= @p_33 @p_51)) :rule cong :premises (t27.t2 t27.t4)) (step t27 (cl (= @p_35 (! (exists ((veriT_vr9 A$)) @p_51) :named @p_53))) :rule bind) (step t28 (cl (= @p_52 (! (=> @p_53 @p_36) :named @p_55))) :rule cong :premises (t27)) (step t29 (cl (= @p_54 (! (=> @p_36 @p_53) :named @p_56))) :rule cong :premises (t27)) (step t30 (cl (= @p_43 (! (and @p_55 @p_56) :named @p_57))) :rule cong :premises (t28 t29)) (step t31 (cl (! (= @p_45 (! (not @p_57) :named @p_59)) :named @p_58)) :rule cong :premises (t30)) (step t32 (cl (! (not @p_58) :named @p_61) (! (not @p_45) :named @p_60) @p_59) :rule equiv_pos2) (step t33 (cl (not @p_60) @p_43) :rule not_not) (step t34 (cl @p_61 @p_43 @p_59) :rule th_resolution :premises (t33 t32)) (step t35 (cl @p_59) :rule th_resolution :premises (t26 t31 t34)) (anchor :step t36 :args ((:= (veriT_vr9 A$) veriT_sk2))) (step t36.t1 (cl (! (= veriT_vr9 veriT_sk2) :named @p_64)) :rule refl) (step t36.t2 (cl (= @p_48 (! (p$ true veriT_sk2) :named @p_63))) :rule cong :premises (t36.t1)) (step t36.t3 (cl @p_64) :rule refl) (step t36.t4 (cl (= @p_50 (! (p$ false veriT_sk2) :named @p_65))) :rule cong :premises (t36.t3)) (step t36.t5 (cl (= @p_51 (! (ite x$ @p_63 @p_65) :named @p_66))) :rule cong :premises (t36.t2 t36.t4)) (step t36 (cl (= @p_53 @p_66)) :rule sko_ex) (step t37 (cl (= @p_55 (! (=> @p_66 @p_36) :named @p_67))) :rule cong :premises (t36)) (step t38 (cl (= @p_57 (! (and @p_67 @p_56) :named @p_68))) :rule cong :premises (t37)) (step t39 (cl (! (= @p_59 (! (not @p_68) :named @p_70)) :named @p_69)) :rule cong :premises (t38)) (step t40 (cl (! (not @p_69) :named @p_72) (! (not @p_59) :named @p_71) @p_70) :rule equiv_pos2) (step t41 (cl (not @p_71) @p_57) :rule not_not) (step t42 (cl @p_72 @p_57 @p_70) :rule th_resolution :premises (t41 t40)) (step t43 (cl @p_70) :rule th_resolution :premises (t35 t39 t42)) (anchor :step t44 :args ((:= (veriT_vr9 A$) veriT_vr10))) (step t44.t1 (cl (! (= veriT_vr9 veriT_vr10) :named @p_74)) :rule refl) (step t44.t2 (cl (= @p_48 (! (p$ true veriT_vr10) :named @p_73))) :rule cong :premises (t44.t1)) (step t44.t3 (cl @p_74) :rule refl) (step t44.t4 (cl (= @p_50 (! (p$ false veriT_vr10) :named @p_75))) :rule cong :premises (t44.t3)) (step t44.t5 (cl (= @p_51 (! (ite x$ @p_73 @p_75) :named @p_76))) :rule cong :premises (t44.t2 t44.t4)) (step t44 (cl (= @p_53 (! (exists ((veriT_vr10 A$)) @p_76) :named @p_77))) :rule bind) (step t45 (cl (= @p_56 (! (=> @p_36 @p_77) :named @p_78))) :rule cong :premises (t44)) (step t46 (cl (= @p_68 (! (and @p_67 @p_78) :named @p_79))) :rule cong :premises (t45)) (step t47 (cl (! (= @p_70 (! (not @p_79) :named @p_81)) :named @p_80)) :rule cong :premises (t46)) (step t48 (cl (! (not @p_80) :named @p_83) (! (not @p_70) :named @p_82) @p_81) :rule equiv_pos2) (step t49 (cl (not @p_82) @p_68) :rule not_not) (step t50 (cl @p_83 @p_68 @p_81) :rule th_resolution :premises (t49 t48)) (step t51 (cl @p_81) :rule th_resolution :premises (t43 t47 t50)) (step t52 (cl (= @p_77 (! (not (! (forall ((veriT_vr10 A$)) (not @p_76)) :named @p_93)) :named @p_84))) :rule connective_def) (step t53 (cl (= @p_78 (! (=> @p_36 @p_84) :named @p_85))) :rule cong :premises (t52)) (step t54 (cl (= @p_79 (! (and @p_67 @p_85) :named @p_86))) :rule cong :premises (t53)) (step t55 (cl (! (= @p_81 (! (not @p_86) :named @p_88)) :named @p_87)) :rule cong :premises (t54)) (step t56 (cl (! (not @p_87) :named @p_90) (! (not @p_81) :named @p_89) @p_88) :rule equiv_pos2) (step t57 (cl (not @p_89) @p_79) :rule not_not) (step t58 (cl @p_90 @p_79 @p_88) :rule th_resolution :premises (t57 t56)) (step t59 (cl @p_88) :rule th_resolution :premises (t51 t55 t58)) (step t60 (cl (not @p_66) x$ @p_65) :rule ite_pos1) (step t61 (cl @p_67 @p_66) :rule implies_neg1) (step t62 (cl @p_36 (not x$) (! (not @p_91) :named @p_104)) :rule ite_neg2) (step t63 (cl @p_67 (! (not @p_36) :named @p_106)) :rule implies_neg2) (step t64 (cl @p_85 @p_36) :rule implies_neg1) (step t65 (cl @p_85 (! (not @p_84) :named @p_92)) :rule implies_neg2) (step t66 (cl (not @p_92) @p_93) :rule not_not) (step t67 (cl @p_85 @p_93) :rule th_resolution :premises (t66 t65)) (step t68 (cl (not @p_67) (! (not @p_85) :named @p_105)) :rule not_and :premises (t59)) (step t69 (cl (or (! (not @p_25) :named @p_94) (! (forall ((veriT_vr1 A$)) @p_20) :named @p_95))) :rule qnt_cnf) (step t70 (cl (or @p_94 (! (forall ((veriT_vr1 A$)) @p_22) :named @p_101))) :rule qnt_cnf) (step t71 (cl @p_94 @p_95) :rule or :premises (t69)) (step t72 (cl (or (! (not @p_95) :named @p_96) (! (not @p_65) :named @p_97))) :rule forall_inst :args ((:= veriT_vr1 veriT_sk2))) (step t73 (cl @p_96 @p_97) :rule or :premises (t72)) (step t74 (cl (! (or @p_94 @p_97) :named @p_99) (! (not @p_94) :named @p_98)) :rule or_neg) (step t75 (cl (not @p_98) @p_25) :rule not_not) (step t76 (cl @p_99 @p_25) :rule th_resolution :premises (t75 t74)) (step t77 (cl @p_99 (! (not @p_97) :named @p_100)) :rule or_neg) (step t78 (cl (not @p_100) @p_65) :rule not_not) (step t79 (cl @p_99 @p_65) :rule th_resolution :premises (t78 t77)) (step t80 (cl @p_99) :rule th_resolution :premises (t71 t73 t76 t79)) (step t81 (cl @p_94 @p_97) :rule or :premises (t80)) (step t82 (cl @p_97) :rule resolution :premises (t81 t13)) (step t83 (cl @p_94 @p_101) :rule or :premises (t70)) (step t84 (cl (or (! (not @p_101) :named @p_102) @p_91)) :rule forall_inst :args ((:= veriT_vr1 c$))) (step t85 (cl @p_102 @p_91) :rule or :premises (t84)) (step t86 (cl (! (or @p_94 @p_91) :named @p_103) @p_98) :rule or_neg) (step t87 (cl @p_103 @p_25) :rule th_resolution :premises (t75 t86)) (step t88 (cl @p_103 @p_104) :rule or_neg) (step t89 (cl @p_103) :rule th_resolution :premises (t83 t85 t87 t88)) (step t90 (cl @p_94 @p_91) :rule or :premises (t89)) (step t91 (cl @p_91) :rule resolution :premises (t90 t13)) (step t92 (cl @p_67) :rule resolution :premises (t62 t60 t63 t61 t91 t82)) (step t93 (cl @p_105) :rule resolution :premises (t68 t92)) (step t94 (cl @p_36) :rule resolution :premises (t64 t93)) (step t95 (cl @p_93) :rule resolution :premises (t67 t93)) (step t96 (cl (or @p_84 @p_106)) :rule forall_inst :args ((:= veriT_vr10 c$))) (step t97 (cl @p_84 @p_106) :rule or :premises (t96)) (step t98 (cl) :rule resolution :premises (t97 t94 t95)) -fa33723879319b6b43d6be3aebc3d4bf112ced6c 57 0 +8a6f5819f9bec363751118815580748c0df0e998 57 0 unsat -(assume axiom0 (! (ite (! (p$ x$) :named @p_2) (! (not (! (exists ((?v0 A$)) (! (p$ ?v0) :named @p_1)) :named @p_3)) :named @p_5) (! (forall ((?v0 A$)) (! (not @p_1) :named @p_10)) :named @p_7)) :named @p_12)) -(assume axiom1 (! (not (! (=> @p_2 (! (p$ y$) :named @p_35)) :named @p_39)) :named @p_34)) +(assume a0 (! (ite (! (p$ x$) :named @p_2) (! (not (! (exists ((?v0 A$)) (! (p$ ?v0) :named @p_1)) :named @p_3)) :named @p_5) (! (forall ((?v0 A$)) (! (not @p_1) :named @p_10)) :named @p_7)) :named @p_12)) +(assume a1 (! (not (! (=> @p_2 (! (p$ y$) :named @p_35)) :named @p_39)) :named @p_34)) (anchor :step t3 :args ((:= (?v0 A$) veriT_vr0))) (step t3.t1 (cl (! (= ?v0 veriT_vr0) :named @p_8)) :rule refl) (step t3.t2 (cl (! (= @p_1 (! (p$ veriT_vr0) :named @p_4)) :named @p_9)) :rule cong :premises (t3.t1)) (step t3 (cl (= @p_3 (! (exists ((veriT_vr0 A$)) @p_4) :named @p_6))) :rule bind) (step t4 (cl (= @p_5 (! (not @p_6) :named @p_13))) :rule cong :premises (t3)) (anchor :step t5 :args ((:= (?v0 A$) veriT_vr0))) (step t5.t1 (cl @p_8) :rule refl) (step t5.t2 (cl @p_9) :rule cong :premises (t5.t1)) (step t5.t3 (cl (= @p_10 (! (not @p_4) :named @p_11))) :rule cong :premises (t5.t2)) (step t5 (cl (= @p_7 (! (forall ((veriT_vr0 A$)) @p_11) :named @p_14))) :rule bind) (step t6 (cl (! (= @p_12 (! (ite @p_2 @p_13 @p_14) :named @p_16)) :named @p_15)) :rule cong :premises (t4 t5)) (step t7 (cl (not @p_15) (not @p_12) @p_16) :rule equiv_pos2) -(step t8 (cl @p_16) :rule th_resolution :premises (axiom0 t6 t7)) +(step t8 (cl @p_16) :rule th_resolution :premises (a0 t6 t7)) (anchor :step t9 :args ((:= (veriT_vr0 A$) veriT_vr1))) (step t9.t1 (cl (= veriT_vr0 veriT_vr1)) :rule refl) (step t9.t2 (cl (= @p_4 (! (p$ veriT_vr1) :named @p_17))) :rule cong :premises (t9.t1)) (step t9.t3 (cl (= @p_11 (! (not @p_17) :named @p_18))) :rule cong :premises (t9.t2)) (step t9 (cl (= @p_14 (! (forall ((veriT_vr1 A$)) @p_18) :named @p_19))) :rule bind) (step t10 (cl (! (= @p_16 (! (ite @p_2 @p_13 @p_19) :named @p_21)) :named @p_20)) :rule cong :premises (t9)) (step t11 (cl (not @p_20) (not @p_16) @p_21) :rule equiv_pos2) (step t12 (cl @p_21) :rule th_resolution :premises (t8 t10 t11)) (anchor :step t13 :args ((:= (veriT_vr0 A$) veriT_vr2))) (step t13.t1 (cl (= veriT_vr0 veriT_vr2)) :rule refl) (step t13.t2 (cl (= @p_4 (! (p$ veriT_vr2) :named @p_22))) :rule cong :premises (t13.t1)) (step t13 (cl (= @p_6 (! (exists ((veriT_vr2 A$)) @p_22) :named @p_23))) :rule bind) (step t14 (cl (= @p_13 (! (not @p_23) :named @p_26))) :rule cong :premises (t13)) (anchor :step t15 :args ((:= (veriT_vr1 A$) veriT_vr3))) (step t15.t1 (cl (= veriT_vr1 veriT_vr3)) :rule refl) (step t15.t2 (cl (= @p_17 (! (p$ veriT_vr3) :named @p_24))) :rule cong :premises (t15.t1)) (step t15.t3 (cl (= @p_18 (! (not @p_24) :named @p_25))) :rule cong :premises (t15.t2)) (step t15 (cl (= @p_19 (! (forall ((veriT_vr3 A$)) @p_25) :named @p_27))) :rule bind) (step t16 (cl (! (= @p_21 (! (ite @p_2 @p_26 @p_27) :named @p_29)) :named @p_28)) :rule cong :premises (t14 t15)) (step t17 (cl (not @p_28) (not @p_21) @p_29) :rule equiv_pos2) (step t18 (cl @p_29) :rule th_resolution :premises (t12 t16 t17)) (step t19 (cl (= @p_23 (! (not (! (forall ((veriT_vr2 A$)) (not @p_22)) :named @p_41)) :named @p_30))) :rule connective_def) (step t20 (cl (= @p_26 (! (not @p_30) :named @p_31))) :rule cong :premises (t19)) (step t21 (cl (! (= @p_29 (! (ite @p_2 @p_31 @p_27) :named @p_33)) :named @p_32)) :rule cong :premises (t20)) (step t22 (cl (not @p_32) (not @p_29) @p_33) :rule equiv_pos2) (step t23 (cl @p_33) :rule th_resolution :premises (t18 t21 t22)) (step t24 (cl (! (= @p_34 (! (and @p_2 (not @p_35)) :named @p_37)) :named @p_36)) :rule bool_simplify) (step t25 (cl (! (not @p_36) :named @p_40) (! (not @p_34) :named @p_38) @p_37) :rule equiv_pos2) (step t26 (cl (not @p_38) @p_39) :rule not_not) (step t27 (cl @p_40 @p_39 @p_37) :rule th_resolution :premises (t26 t25)) -(step t28 (cl @p_37) :rule th_resolution :premises (axiom1 t24 t27)) +(step t28 (cl @p_37) :rule th_resolution :premises (a1 t24 t27)) (step t29 (cl (= @p_31 @p_41)) :rule not_simplify) (step t30 (cl (! (= @p_33 (! (ite @p_2 @p_41 @p_27) :named @p_43)) :named @p_42)) :rule cong :premises (t29)) (step t31 (cl (not @p_42) (not @p_33) @p_43) :rule equiv_pos2) (step t32 (cl @p_43) :rule th_resolution :premises (t23 t30 t31)) (step t33 (cl (! (not @p_2) :named @p_44) @p_41) :rule ite2 :premises (t32)) (step t34 (cl @p_2) :rule and :premises (t28)) (step t35 (cl @p_41) :rule resolution :premises (t33 t34)) (step t36 (cl (or @p_30 @p_44)) :rule forall_inst :args ((:= veriT_vr2 x$))) (step t37 (cl @p_30 @p_44) :rule or :premises (t36)) (step t38 (cl) :rule resolution :premises (t37 t34 t35)) -3a011b0429bfc23b05e60ee65e41832adbfa1a5a 12 0 +ccb9d5509f5273cf85143c83133df9d0fe59cf61 12 0 unsat -(assume axiom0 (! (not (! (= 3 3) :named @p_1)) :named @p_2)) +(assume a0 (! (not (! (= 3 3) :named @p_1)) :named @p_2)) (step t2 (cl (= @p_1 true)) :rule eq_simplify) (step t3 (cl (= @p_2 (! (not true) :named @p_3))) :rule cong :premises (t2)) (step t4 (cl (= @p_3 false)) :rule not_simplify) (step t5 (cl (! (= @p_2 false) :named @p_4)) :rule trans :premises (t3 t4)) (step t6 (cl (! (not @p_4) :named @p_6) (! (not @p_2) :named @p_5) false) :rule equiv_pos2) (step t7 (cl (not @p_5) @p_1) :rule not_not) (step t8 (cl @p_6 @p_1 false) :rule th_resolution :premises (t7 t6)) -(step t9 (cl false) :rule th_resolution :premises (axiom0 t5 t8)) +(step t9 (cl false) :rule th_resolution :premises (a0 t5 t8)) (step t10 (cl (not false)) :rule false) (step t11 (cl) :rule resolution :premises (t9 t10)) -ed9c8e3326f1e52cfa128cd451ceb8afc62fa2fc 12 0 +fa126f313953bee2fb2b0380ecf176cbb28700f5 12 0 unsat -(assume axiom0 (! (not (! (= 3.0 3.0) :named @p_1)) :named @p_2)) +(assume a0 (! (not (! (= 3.0 3.0) :named @p_1)) :named @p_2)) (step t2 (cl (= @p_1 true)) :rule eq_simplify) (step t3 (cl (= @p_2 (! (not true) :named @p_3))) :rule cong :premises (t2)) (step t4 (cl (= @p_3 false)) :rule not_simplify) (step t5 (cl (! (= @p_2 false) :named @p_4)) :rule trans :premises (t3 t4)) (step t6 (cl (! (not @p_4) :named @p_6) (! (not @p_2) :named @p_5) false) :rule equiv_pos2) (step t7 (cl (not @p_5) @p_1) :rule not_not) (step t8 (cl @p_6 @p_1 false) :rule th_resolution :premises (t7 t6)) -(step t9 (cl false) :rule th_resolution :premises (axiom0 t5 t8)) +(step t9 (cl false) :rule th_resolution :premises (a0 t5 t8)) (step t10 (cl (not false)) :rule false) (step t11 (cl) :rule resolution :premises (t9 t10)) -1702d82a39b3f9713bf57e315ab761c4a81dbe59 9 0 +2b1aff746608c673784b02123c7a44746cecbe40 15 0 unsat -(assume axiom0 (not (! (= (! (+ x$ (+ y$ z$)) :named @p_2) (! (+ y$ (+ z$ x$)) :named @p_3)) :named @p_1))) -(step t2 (cl (or @p_1 (! (not (! (<= @p_2 @p_3) :named @p_6)) :named @p_4) (! (not (! (<= @p_3 @p_2) :named @p_7)) :named @p_5))) :rule la_disequality) -(step t3 (cl @p_1 @p_4 @p_5) :rule or :premises (t2)) -(step t4 (cl @p_4 @p_5) :rule resolution :premises (t3 axiom0)) -(step t5 (cl @p_6) :rule la_generic :args (1)) -(step t6 (cl @p_5) :rule resolution :premises (t4 t5)) -(step t7 (cl @p_7) :rule la_generic :args (1)) -(step t8 (cl) :rule resolution :premises (t7 t6)) -ffb6c06c5ee6006629798f020d7438a4445f818d 15 0 -unsat -(assume axiom0 (! (not (! (= (+ 3 1) 4) :named @p_1)) :named @p_3)) +(assume a0 (! (not (! (= (+ 3 1) 4) :named @p_1)) :named @p_3)) (step t2 (cl @p_1) :rule sum_simplify) (step t3 (cl (= @p_1 (! (= 4 4) :named @p_2))) :rule cong :premises (t2)) (step t4 (cl (= @p_2 true)) :rule eq_simplify) (step t5 (cl (= @p_1 true)) :rule trans :premises (t3 t4)) (step t6 (cl (= @p_3 (! (not true) :named @p_4))) :rule cong :premises (t5)) (step t7 (cl (= @p_4 false)) :rule not_simplify) (step t8 (cl (! (= @p_3 false) :named @p_5)) :rule trans :premises (t6 t7)) (step t9 (cl (! (not @p_5) :named @p_7) (! (not @p_3) :named @p_6) false) :rule equiv_pos2) (step t10 (cl (not @p_6) @p_1) :rule not_not) (step t11 (cl @p_7 @p_1 false) :rule th_resolution :premises (t10 t9)) -(step t12 (cl false) :rule th_resolution :premises (axiom0 t8 t11)) +(step t12 (cl false) :rule th_resolution :premises (a0 t8 t11)) (step t13 (cl (not false)) :rule false) (step t14 (cl) :rule resolution :premises (t12 t13)) -dc0e836fbcd3ce41657a40fc20a29630682bbe52 18 0 +c6b09353a7be5ebe2570119db169d6f24068d0d9 9 0 unsat -(assume axiom0 (! (not (! (< 5 (! (ite (! (<= 3 8) :named @p_1) 8 3) :named @p_2)) :named @p_4)) :named @p_6)) +(assume a0 (not (! (= (! (+ x$ (+ y$ z$)) :named @p_2) (! (+ y$ (+ z$ x$)) :named @p_3)) :named @p_1))) +(step t2 (cl (or @p_1 (! (not (! (<= @p_2 @p_3) :named @p_6)) :named @p_4) (! (not (! (<= @p_3 @p_2) :named @p_7)) :named @p_5))) :rule la_disequality) +(step t3 (cl @p_1 @p_4 @p_5) :rule or :premises (t2)) +(step t4 (cl @p_4 @p_5) :rule resolution :premises (t3 a0)) +(step t5 (cl @p_6) :rule la_generic :args (1)) +(step t6 (cl @p_5) :rule resolution :premises (t4 t5)) +(step t7 (cl @p_7) :rule la_generic :args (1)) +(step t8 (cl) :rule resolution :premises (t7 t6)) +91dfb7793d7cbf20aa8e7b00578ee445d34e2640 18 0 +unsat +(assume a0 (! (not (! (< 5 (! (ite (! (<= 3 8) :named @p_1) 8 3) :named @p_2)) :named @p_4)) :named @p_6)) (step t2 (cl (= @p_1 true)) :rule comp_simplify) (step t3 (cl (= @p_2 (! (ite true 8 3) :named @p_3))) :rule cong :premises (t2)) (step t4 (cl (= 8 @p_3)) :rule ite_simplify) (step t5 (cl (= 8 @p_2)) :rule trans :premises (t3 t4)) (step t6 (cl (= @p_4 (! (< 5 8) :named @p_5))) :rule cong :premises (t5)) (step t7 (cl (= @p_5 true)) :rule comp_simplify) (step t8 (cl (= @p_4 true)) :rule trans :premises (t6 t7)) (step t9 (cl (= @p_6 (! (not true) :named @p_7))) :rule cong :premises (t8)) (step t10 (cl (= @p_7 false)) :rule not_simplify) (step t11 (cl (! (= @p_6 false) :named @p_8)) :rule trans :premises (t9 t10)) (step t12 (cl (! (not @p_8) :named @p_10) (! (not @p_6) :named @p_9) false) :rule equiv_pos2) (step t13 (cl (not @p_9) @p_4) :rule not_not) (step t14 (cl @p_10 @p_4 false) :rule th_resolution :premises (t13 t12)) -(step t15 (cl false) :rule th_resolution :premises (axiom0 t11 t14)) +(step t15 (cl false) :rule th_resolution :premises (a0 t11 t14)) (step t16 (cl (not false)) :rule false) (step t17 (cl) :rule resolution :premises (t15 t16)) -00e71b7773518acdf4ff42fd31ed0e8e2cc40c59 52 0 +97cec8dc2da703d81d93c4024dc370fb1ecba1f5 52 0 unsat -(assume axiom0 (! (not (! (<= (! (ite (! (< (! (+ x$ y$) :named @p_1) 0.0) :named @p_6) (! (- @p_1) :named @p_7) @p_1) :named @p_3) (+ (! (ite (! (< x$ 0.0) :named @p_8) (! (- x$) :named @p_9) x$) :named @p_4) (! (ite (! (< y$ 0.0) :named @p_10) (! (- y$) :named @p_11) y$) :named @p_5))) :named @p_15)) :named @p_2)) +(assume a0 (! (not (! (<= (! (ite (! (< (! (+ x$ y$) :named @p_1) 0.0) :named @p_6) (! (- @p_1) :named @p_7) @p_1) :named @p_3) (+ (! (ite (! (< x$ 0.0) :named @p_8) (! (- x$) :named @p_9) x$) :named @p_4) (! (ite (! (< y$ 0.0) :named @p_10) (! (- y$) :named @p_11) y$) :named @p_5))) :named @p_15)) :named @p_2)) (step t2 (cl (! (= @p_2 (! (and (! (not (! (<= @p_3 (+ @p_4 @p_5)) :named @p_28)) :named @p_17) (! (ite @p_6 (! (= @p_7 @p_3) :named @p_20) (! (= @p_1 @p_3) :named @p_19)) :named @p_18) (! (ite @p_8 (! (= @p_9 @p_4) :named @p_23) (! (= x$ @p_4) :named @p_22)) :named @p_21) (! (ite @p_10 (! (= @p_11 @p_5) :named @p_26) (! (= y$ @p_5) :named @p_25)) :named @p_24)) :named @p_13)) :named @p_12)) :rule ite_intro) (step t3 (cl (! (not @p_12) :named @p_16) (! (not @p_2) :named @p_14) @p_13) :rule equiv_pos2) (step t4 (cl (not @p_14) @p_15) :rule not_not) (step t5 (cl @p_16 @p_15 @p_13) :rule th_resolution :premises (t4 t3)) -(step t6 (cl @p_13) :rule th_resolution :premises (axiom0 t2 t5)) +(step t6 (cl @p_13) :rule th_resolution :premises (a0 t2 t5)) (step t7 (cl @p_17) :rule and :premises (t6)) (step t8 (cl @p_18) :rule and :premises (t6)) (step t9 (cl @p_6 @p_19) :rule ite1 :premises (t8)) (step t10 (cl (! (not @p_6) :named @p_32) @p_20) :rule ite2 :premises (t8)) (step t11 (cl @p_21) :rule and :premises (t6)) (step t12 (cl @p_8 @p_22) :rule ite1 :premises (t11)) (step t13 (cl (! (not @p_8) :named @p_36) @p_23) :rule ite2 :premises (t11)) (step t14 (cl @p_24) :rule and :premises (t6)) (step t15 (cl @p_10 @p_25) :rule ite1 :premises (t14)) (step t16 (cl (! (not @p_10) :named @p_41) @p_26) :rule ite2 :premises (t14)) (step t17 (cl (! (<= @p_11 @p_5) :named @p_27) (! (<= @p_5 @p_11) :named @p_39)) :rule la_generic :args (1.0 1.0)) (step t18 (cl @p_27 @p_10 (! (not @p_25) :named @p_29)) :rule la_generic :args (1.0 2.0 (- 1))) (step t19 (cl (! (= @p_11 @p_11) :named @p_37)) :rule eq_reflexive) (step t20 (cl @p_28 @p_29 (! (not @p_22) :named @p_30) (! (not @p_19) :named @p_31)) :rule la_generic :args (1.0 (- 1) (- 1) 1)) (step t21 (cl @p_29 @p_30 @p_31) :rule resolution :premises (t20 t7)) (step t22 (cl @p_8 @p_32 @p_10) :rule la_generic :args (1.0 1.0 1.0)) (step t23 (cl @p_8 @p_10 @p_29) :rule resolution :premises (t22 t9 t21 t12)) (step t24 (cl @p_28 (! (not @p_27) :named @p_33) (! (not @p_23) :named @p_34) (! (not @p_20) :named @p_35)) :rule la_generic :args (1.0 1.0 (- 1) 1)) (step t25 (cl @p_33 @p_34 @p_35) :rule resolution :premises (t24 t7)) (step t26 (cl @p_36 @p_6 (not (! (<= y$ @p_11) :named @p_38))) :rule la_generic :args (2.0 2.0 1.0)) (step t27 (cl @p_29 (not @p_37) @p_38 (! (not @p_39) :named @p_40)) :rule eq_congruent_pred) (step t28 (cl @p_29 @p_38 @p_40) :rule th_resolution :premises (t27 t19)) (step t29 (cl @p_33 @p_10 @p_40) :rule resolution :premises (t26 t10 t25 t13 t23 t28 t15)) (step t30 (cl @p_41 @p_6 @p_36) :rule la_generic :args (1.0 1.0 1.0)) (step t31 (cl @p_41 @p_36 @p_33) :rule resolution :premises (t30 t10 t25 t13)) (step t32 (cl @p_28 @p_41 @p_33 @p_30 @p_31) :rule la_generic :args (1.0 2.0 1.0 (- 1) 1)) (step t33 (cl @p_41 @p_33 @p_30 @p_31) :rule resolution :premises (t32 t7)) (step t34 (cl @p_28 @p_33 @p_8 @p_30 @p_35) :rule la_generic :args (1.0 1.0 2.0 (- 1) 1)) (step t35 (cl @p_33 @p_8 @p_30 @p_35) :rule resolution :premises (t34 t7)) (step t36 (cl (! (not @p_26) :named @p_42) @p_42 @p_27 @p_40) :rule eq_congruent_pred) (step t37 (cl @p_42 @p_27 @p_40) :rule contraction :premises (t36)) (step t38 (cl @p_40 @p_42) :rule resolution :premises (t35 t10 t9 t33 t12 t31 t29 t37)) (step t39 (cl @p_42 @p_42 @p_33 @p_39) :rule eq_congruent_pred) (step t40 (cl @p_42 @p_33 @p_39) :rule contraction :premises (t39)) (step t41 (cl @p_42) :rule resolution :premises (t40 t17 t38)) (step t42 (cl @p_41) :rule resolution :premises (t16 t41)) (step t43 (cl @p_25) :rule resolution :premises (t15 t42)) (step t44 (cl @p_27) :rule resolution :premises (t18 t42 t43)) (step t45 (cl @p_8) :rule resolution :premises (t23 t42 t43)) (step t46 (cl @p_23) :rule resolution :premises (t13 t45)) (step t47 (cl @p_35) :rule resolution :premises (t25 t46 t44)) (step t48 (cl @p_32) :rule resolution :premises (t10 t47)) (step t49 (cl @p_19) :rule resolution :premises (t9 t48)) (step t50 (cl @p_28 @p_36 @p_31 @p_29 @p_34) :rule la_generic :args (1.0 2.0 1 (- 1) (- 1))) (step t51 (cl) :rule resolution :premises (t50 t7 t49 t45 t46 t43)) -402dc6e98a3b5a465e12e6bcdd5fca0ae68d74d8 19 0 +7769e70c7b5fc90175ef68eb5528034a2de273a9 19 0 unsat -(assume axiom0 (not (= (p$ (! (< 2 3) :named @p_2)) (! (p$ true) :named @p_1)))) -(step t2 (cl (! (not (! (= @p_1 (! (ite @p_2 @p_1 (! (p$ false) :named @p_4)) :named @p_3)) :named @p_6)) :named @p_8)) :rule bfun_elim :premises (axiom0)) +(assume a0 (not (= (p$ (! (< 2 3) :named @p_2)) (! (p$ true) :named @p_1)))) +(step t2 (cl (! (not (! (= @p_1 (! (ite @p_2 @p_1 (! (p$ false) :named @p_4)) :named @p_3)) :named @p_6)) :named @p_8)) :rule bfun_elim :premises (a0)) (step t3 (cl (= @p_2 true)) :rule comp_simplify) (step t4 (cl (= @p_3 (! (ite true @p_1 @p_4) :named @p_5))) :rule cong :premises (t3)) (step t5 (cl (= @p_1 @p_5)) :rule ite_simplify) (step t6 (cl @p_6) :rule trans :premises (t4 t5)) (step t7 (cl (= @p_6 (! (= @p_1 @p_1) :named @p_7))) :rule cong :premises (t6)) (step t8 (cl (= @p_7 true)) :rule eq_simplify) (step t9 (cl (= @p_6 true)) :rule trans :premises (t7 t8)) (step t10 (cl (= @p_8 (! (not true) :named @p_9))) :rule cong :premises (t9)) (step t11 (cl (= @p_9 false)) :rule not_simplify) (step t12 (cl (! (= @p_8 false) :named @p_10)) :rule trans :premises (t10 t11)) (step t13 (cl (! (not @p_10) :named @p_12) (! (not @p_8) :named @p_11) false) :rule equiv_pos2) (step t14 (cl (not @p_11) @p_6) :rule not_not) (step t15 (cl @p_12 @p_6 false) :rule th_resolution :premises (t14 t13)) (step t16 (cl false) :rule th_resolution :premises (t2 t12 t15)) (step t17 (cl (not false)) :rule false) (step t18 (cl) :rule resolution :premises (t16 t17)) -ed3db2a47b567944ed8f84b91963c7783c1f6052 14 0 +8efe160efd738ec7872179ed94f190d410e1ef4b 14 0 unsat -(assume axiom0 (! (not (! (or (! (<= 4 (! (+ x$ 3) :named @p_1)) :named @p_2) (! (< x$ 1) :named @p_6)) :named @p_4)) :named @p_7)) +(assume a0 (! (not (! (or (! (<= 4 (! (+ x$ 3) :named @p_1)) :named @p_2) (! (< x$ 1) :named @p_6)) :named @p_4)) :named @p_7)) (step t2 (cl (= @p_1 (! (+ 3 x$) :named @p_3))) :rule sum_simplify) (step t3 (cl (= @p_2 (! (<= 4 @p_3) :named @p_5))) :rule cong :premises (t2)) (step t4 (cl (= @p_4 (! (or @p_5 @p_6) :named @p_8))) :rule cong :premises (t3)) (step t5 (cl (! (= @p_7 (! (not @p_8) :named @p_10)) :named @p_9)) :rule cong :premises (t4)) (step t6 (cl (! (not @p_9) :named @p_12) (! (not @p_7) :named @p_11) @p_10) :rule equiv_pos2) (step t7 (cl (not @p_11) @p_4) :rule not_not) (step t8 (cl @p_12 @p_4 @p_10) :rule th_resolution :premises (t7 t6)) -(step t9 (cl @p_10) :rule th_resolution :premises (axiom0 t5 t8)) +(step t9 (cl @p_10) :rule th_resolution :premises (a0 t5 t8)) (step t10 (cl (not @p_5)) :rule not_or :premises (t9)) (step t11 (cl (not @p_6)) :rule not_or :premises (t9)) (step t12 (cl @p_6 @p_5) :rule la_generic :args (1 1)) (step t13 (cl) :rule resolution :premises (t12 t10 t11)) -d2678f4fb6d818fd1c6e93a61560f2dfba8a9409 9 0 +2644c68299be3dd9fabbbba4920be4f3ffe3485b 9 0 unsat -(assume axiom1 (! (= y$ (! (+ x$ 4) :named @p_1)) :named @p_2)) -(assume axiom2 (not (! (< 0 (- y$ x$)) :named @p_6))) +(assume a1 (! (= y$ (! (+ x$ 4) :named @p_1)) :named @p_2)) +(assume a2 (not (! (< 0 (- y$ x$)) :named @p_6))) (step t3 (cl (= @p_1 (! (+ 4 x$) :named @p_3))) :rule sum_simplify) (step t4 (cl (! (= @p_2 (! (= y$ @p_3) :named @p_5)) :named @p_4)) :rule cong :premises (t3)) (step t5 (cl (not @p_4) (not @p_2) @p_5) :rule equiv_pos2) -(step t6 (cl @p_5) :rule th_resolution :premises (axiom1 t4 t5)) +(step t6 (cl @p_5) :rule th_resolution :premises (a1 t4 t5)) (step t7 (cl @p_6 (not @p_5)) :rule la_generic :args (1 1)) -(step t8 (cl) :rule resolution :premises (t7 t6 axiom2)) -4e88c3cf4e2da31d65e91a3805e3cea4a5a2813d 20 0 +(step t8 (cl) :rule resolution :premises (t7 t6 a2)) +478778f1172d1db195bd4eb0883b9dd6613297c3 20 0 unsat -(assume axiom0 (! (not (! (not (! (= (! (+ 2 2) :named @p_3) 5) :named @p_2)) :named @p_5)) :named @p_1)) +(assume a0 (! (not (! (not (! (= (! (+ 2 2) :named @p_3) 5) :named @p_2)) :named @p_5)) :named @p_1)) (step t2 (cl (! (not @p_1) :named @p_9) @p_2) :rule not_not) -(step t3 (cl @p_2) :rule th_resolution :premises (t2 axiom0)) +(step t3 (cl @p_2) :rule th_resolution :premises (t2 a0)) (step t4 (cl (= @p_3 4)) :rule sum_simplify) (step t5 (cl (= @p_2 (! (= 5 4) :named @p_4))) :rule cong :premises (t4)) (step t6 (cl (= @p_4 false)) :rule eq_simplify) (step t7 (cl (= @p_2 false)) :rule trans :premises (t5 t6)) (step t8 (cl (= @p_5 (! (not false) :named @p_6))) :rule cong :premises (t7)) (step t9 (cl (= @p_6 true)) :rule not_simplify) (step t10 (cl (= @p_5 true)) :rule trans :premises (t8 t9)) (step t11 (cl (= @p_1 (! (not true) :named @p_7))) :rule cong :premises (t10)) (step t12 (cl (= @p_7 false)) :rule not_simplify) (step t13 (cl (! (= @p_1 false) :named @p_8)) :rule trans :premises (t11 t12)) (step t14 (cl (! (not @p_8) :named @p_10) @p_9 false) :rule equiv_pos2) (step t15 (cl (not @p_9) @p_5) :rule not_not) (step t16 (cl @p_10 @p_5 false) :rule th_resolution :premises (t15 t14)) (step t17 (cl false) :rule th_resolution :premises (t3 t13 t16)) (step t18 (cl @p_6) :rule false) (step t19 (cl) :rule resolution :premises (t17 t18)) -3bbfe9f2086fe18bc1f9eeb965fef30f8b2c9daa 6 0 +04820c02101d5d6a8a322ddf869652416ac9ae19 6 0 unsat -(assume axiom0 (! (< (+ (* 3 x$) (* 7 a$)) 4) :named @p_3)) -(assume axiom1 (! (< 3 (* 2 x$)) :named @p_1)) -(assume axiom2 (not (! (< a$ 0) :named @p_2))) +(assume a0 (! (< (+ (* 3 x$) (* 7 a$)) 4) :named @p_3)) +(assume a1 (! (< 3 (* 2 x$)) :named @p_1)) +(assume a2 (not (! (< a$ 0) :named @p_2))) (step t4 (cl (not @p_1) @p_2 (not @p_3)) :rule la_generic :args ((div 3 2) 7 1)) -(step t5 (cl) :rule resolution :premises (t4 axiom0 axiom1 axiom2)) -dbde8d1b71dac8b258507f86acdbe195bf64b2b7 29 0 +(step t5 (cl) :rule resolution :premises (t4 a0 a1 a2)) +699e547ad956b6867c5f571d9e08d46038579011 29 0 unsat -(assume axiom0 (! (not (! (= (! (or (! (<= 0 (! (+ y$ (! (* (! (- 1) :named @p_14) x$) :named @p_15)) :named @p_16)) :named @p_3) (or (! (not (! (<= 0 x$) :named @p_1)) :named @p_4) @p_1)) :named @p_2) (! (not false) :named @p_7)) :named @p_5)) :named @p_8)) +(assume a0 (! (not (! (= (! (or (! (<= 0 (! (+ y$ (! (* (! (- 1) :named @p_14) x$) :named @p_15)) :named @p_16)) :named @p_3) (or (! (not (! (<= 0 x$) :named @p_1)) :named @p_4) @p_1)) :named @p_2) (! (not false) :named @p_7)) :named @p_5)) :named @p_8)) (step t2 (cl (= @p_2 (! (or @p_3 @p_4 @p_1) :named @p_6))) :rule ac_simp) (step t3 (cl (= @p_5 (! (= @p_6 @p_7) :named @p_9))) :rule cong :premises (t2)) (step t4 (cl (! (= @p_8 (! (not @p_9) :named @p_11)) :named @p_10)) :rule cong :premises (t3)) (step t5 (cl (! (not @p_10) :named @p_13) (! (not @p_8) :named @p_12) @p_11) :rule equiv_pos2) (step t6 (cl (not @p_12) @p_5) :rule not_not) (step t7 (cl @p_13 @p_5 @p_11) :rule th_resolution :premises (t6 t5)) -(step t8 (cl @p_11) :rule th_resolution :premises (axiom0 t4 t7)) +(step t8 (cl @p_11) :rule th_resolution :premises (a0 t4 t7)) (step t9 (cl (= @p_14 (- 1))) :rule minus_simplify) (step t10 (cl (= @p_15 (! (* (- 1) x$) :named @p_17))) :rule cong :premises (t9)) (step t11 (cl (= @p_16 (! (+ y$ @p_17) :named @p_18))) :rule cong :premises (t10)) (step t12 (cl (= @p_3 (! (<= 0 @p_18) :named @p_19))) :rule cong :premises (t11)) (step t13 (cl (= @p_6 (! (or @p_19 @p_4 @p_1) :named @p_20))) :rule cong :premises (t12)) (step t14 (cl (= @p_20 true)) :rule or_simplify) (step t15 (cl (= @p_6 true)) :rule trans :premises (t13 t14)) (step t16 (cl (= @p_7 true)) :rule not_simplify) (step t17 (cl (= @p_9 (! (= true true) :named @p_21))) :rule cong :premises (t15 t16)) (step t18 (cl (= @p_21 true)) :rule equiv_simplify) (step t19 (cl (= @p_9 true)) :rule trans :premises (t17 t18)) (step t20 (cl (= @p_11 (! (not true) :named @p_22))) :rule cong :premises (t19)) (step t21 (cl (= @p_22 false)) :rule not_simplify) (step t22 (cl (! (= @p_11 false) :named @p_23)) :rule trans :premises (t20 t21)) (step t23 (cl (! (not @p_23) :named @p_25) (! (not @p_11) :named @p_24) false) :rule equiv_pos2) (step t24 (cl (not @p_24) @p_9) :rule not_not) (step t25 (cl @p_25 @p_9 false) :rule th_resolution :premises (t24 t23)) (step t26 (cl false) :rule th_resolution :premises (t8 t22 t25)) (step t27 (cl @p_7) :rule false) (step t28 (cl) :rule resolution :premises (t26 t27)) -d6ba634ec42000181b77274dd94c91d844cf476e 21 0 +bf46578ff4814695a5afd6f19836b2d606a6b97c 62 0 unsat -(assume axiom0 (! (not (! (or (! (< (! (+ x$ x$) :named @p_11) (! (+ (! (* 2.0 x$) :named @p_10) 1.0) :named @p_9)) :named @p_1) (or false @p_1)) :named @p_2)) :named @p_3)) -(step t2 (cl (= @p_2 (! (or @p_1 false) :named @p_4))) :rule ac_simp) -(step t3 (cl (! (= @p_3 (! (not @p_4) :named @p_6)) :named @p_5)) :rule cong :premises (t2)) -(step t4 (cl (! (not @p_5) :named @p_8) (! (not @p_3) :named @p_7) @p_6) :rule equiv_pos2) -(step t5 (cl (not @p_7) @p_2) :rule not_not) -(step t6 (cl @p_8 @p_2 @p_6) :rule th_resolution :premises (t5 t4)) -(step t7 (cl @p_6) :rule th_resolution :premises (axiom0 t3 t6)) -(step t8 (cl (= @p_9 (! (+ 1.0 @p_10) :named @p_12))) :rule sum_simplify) -(step t9 (cl (= @p_1 (! (< @p_11 @p_12) :named @p_13))) :rule cong :premises (t8)) -(step t10 (cl (= @p_4 (! (or @p_13 false) :named @p_14))) :rule cong :premises (t9)) -(step t11 (cl (= @p_14 (! (or @p_13) :named @p_15))) :rule or_simplify) -(step t12 (cl (= @p_15 @p_13)) :rule or_simplify) -(step t13 (cl (= @p_4 @p_13)) :rule trans :premises (t10 t11 t12)) -(step t14 (cl (! (= @p_6 (! (not @p_13) :named @p_17)) :named @p_16)) :rule cong :premises (t13)) -(step t15 (cl (! (not @p_16) :named @p_19) (! (not @p_6) :named @p_18) @p_17) :rule equiv_pos2) -(step t16 (cl (not @p_18) @p_4) :rule not_not) -(step t17 (cl @p_19 @p_4 @p_17) :rule th_resolution :premises (t16 t15)) -(step t18 (cl @p_17) :rule th_resolution :premises (t7 t14 t17)) -(step t19 (cl @p_13) :rule la_tautology) -(step t20 (cl) :rule resolution :premises (t19 t18)) -95657842b84a23b6c0020065f8c8597823332a77 62 0 -unsat -(assume axiom0 (! (not (! (or (! (and (! (< n$ m$) :named @p_1) (! (< m$ n$a) :named @p_3)) :named @p_11) (or (! (and @p_1 (! (= m$ n$a) :named @p_6)) :named @p_12) (or (! (and (! (< n$ n$a) :named @p_8) (! (< n$a m$) :named @p_2)) :named @p_13) (or (! (and (! (= n$ n$a) :named @p_5) @p_2) :named @p_14) (or (! (and (! (= n$ m$) :named @p_4) @p_3) :named @p_15) (or (! (and @p_2 (! (< m$ n$) :named @p_7)) :named @p_16) (or (! (and @p_2 @p_4) :named @p_17) (or (! (and (! (< n$a n$) :named @p_9) @p_1) :named @p_18) (or (! (and @p_5 @p_1) :named @p_19) (or (! (and @p_6 @p_7) :named @p_20) (or (! (and @p_7 @p_8) :named @p_21) (or (! (and @p_7 @p_5) :named @p_22) (or (! (and @p_3 @p_9) :named @p_23) (or (! (and @p_4 @p_8) :named @p_24) (or (! (and @p_6 @p_9) :named @p_25) (! (and @p_6 @p_4) :named @p_26)))))))))))))))) :named @p_10)) :named @p_27)) +(assume a0 (! (not (! (or (! (and (! (< n$ m$) :named @p_1) (! (< m$ n$a) :named @p_3)) :named @p_11) (or (! (and @p_1 (! (= m$ n$a) :named @p_6)) :named @p_12) (or (! (and (! (< n$ n$a) :named @p_8) (! (< n$a m$) :named @p_2)) :named @p_13) (or (! (and (! (= n$ n$a) :named @p_5) @p_2) :named @p_14) (or (! (and (! (= n$ m$) :named @p_4) @p_3) :named @p_15) (or (! (and @p_2 (! (< m$ n$) :named @p_7)) :named @p_16) (or (! (and @p_2 @p_4) :named @p_17) (or (! (and (! (< n$a n$) :named @p_9) @p_1) :named @p_18) (or (! (and @p_5 @p_1) :named @p_19) (or (! (and @p_6 @p_7) :named @p_20) (or (! (and @p_7 @p_8) :named @p_21) (or (! (and @p_7 @p_5) :named @p_22) (or (! (and @p_3 @p_9) :named @p_23) (or (! (and @p_4 @p_8) :named @p_24) (or (! (and @p_6 @p_9) :named @p_25) (! (and @p_6 @p_4) :named @p_26)))))))))))))))) :named @p_10)) :named @p_27)) (step t2 (cl (= @p_10 (! (or @p_11 @p_12 @p_13 @p_14 @p_15 @p_16 @p_17 @p_18 @p_19 @p_20 @p_21 @p_22 @p_23 @p_24 @p_25 @p_26) :named @p_28))) :rule ac_simp) (step t3 (cl (! (= @p_27 (! (not @p_28) :named @p_30)) :named @p_29)) :rule cong :premises (t2)) (step t4 (cl (! (not @p_29) :named @p_32) (! (not @p_27) :named @p_31) @p_30) :rule equiv_pos2) (step t5 (cl (not @p_31) @p_10) :rule not_not) (step t6 (cl @p_32 @p_10 @p_30) :rule th_resolution :premises (t5 t4)) -(step t7 (cl @p_30) :rule th_resolution :premises (axiom0 t3 t6)) +(step t7 (cl @p_30) :rule th_resolution :premises (a0 t3 t6)) (step t8 (cl (not @p_11)) :rule not_or :premises (t7)) (step t9 (cl (! (not @p_1) :named @p_33) (! (not @p_3) :named @p_38)) :rule not_and :premises (t8)) (step t10 (cl (not @p_12)) :rule not_or :premises (t7)) (step t11 (cl @p_33 (! (not @p_6) :named @p_41)) :rule not_and :premises (t10)) (step t12 (cl (not @p_13)) :rule not_or :premises (t7)) (step t13 (cl (! (not @p_8) :named @p_36) (! (not @p_2) :named @p_34)) :rule not_and :premises (t12)) (step t14 (cl (not @p_16)) :rule not_or :premises (t7)) (step t15 (cl @p_34 (! (not @p_7) :named @p_35)) :rule not_and :premises (t14)) (step t16 (cl (not @p_17)) :rule not_or :premises (t7)) (step t17 (cl @p_34 (! (not @p_4) :named @p_40)) :rule not_and :premises (t16)) (step t18 (cl (not @p_18)) :rule not_or :premises (t7)) (step t19 (cl (! (not @p_9) :named @p_39) @p_33) :rule not_and :premises (t18)) (step t20 (cl (not @p_19)) :rule not_or :premises (t7)) (step t21 (cl (! (not @p_5) :named @p_37) @p_33) :rule not_and :premises (t20)) (step t22 (cl (not @p_21)) :rule not_or :premises (t7)) (step t23 (cl @p_35 @p_36) :rule not_and :premises (t22)) (step t24 (cl (not @p_22)) :rule not_or :premises (t7)) (step t25 (cl @p_35 @p_37) :rule not_and :premises (t24)) (step t26 (cl (not @p_23)) :rule not_or :premises (t7)) (step t27 (cl @p_38 @p_39) :rule not_and :premises (t26)) (step t28 (cl (not @p_24)) :rule not_or :premises (t7)) (step t29 (cl @p_40 @p_36) :rule not_and :premises (t28)) (step t30 (cl (not @p_25)) :rule not_or :premises (t7)) (step t31 (cl @p_41 @p_39) :rule not_and :premises (t30)) (step t32 (cl (not @p_26)) :rule not_or :premises (t7)) (step t33 (cl @p_41 @p_40) :rule not_and :premises (t32)) (step t34 (cl (or @p_4 (! (not (! (<= n$ m$) :named @p_50)) :named @p_42) (! (not (! (<= m$ n$) :named @p_46)) :named @p_43))) :rule la_disequality) (step t35 (cl @p_4 @p_42 @p_43) :rule or :premises (t34)) (step t36 (cl (or @p_5 (! (not (! (<= n$ n$a) :named @p_52)) :named @p_44) (! (not (! (<= n$a n$) :named @p_51)) :named @p_45))) :rule la_disequality) (step t37 (cl @p_5 @p_44 @p_45) :rule or :premises (t36)) (step t38 (cl @p_1 @p_46) :rule la_generic :args (1 1)) (step t39 (cl (or @p_6 (! (not (! (<= m$ n$a) :named @p_53)) :named @p_47) (! (not (! (<= n$a m$) :named @p_49)) :named @p_48))) :rule la_disequality) (step t40 (cl @p_6 @p_47 @p_48) :rule or :premises (t39)) (step t41 (cl @p_3 @p_49) :rule la_generic :args (1 1)) (step t42 (cl @p_7 @p_50) :rule la_generic :args (1 1)) (step t43 (cl @p_51 @p_8) :rule la_generic :args (1 1)) (step t44 (cl @p_52 @p_9) :rule la_generic :args (1 1)) (step t45 (cl @p_44 @p_35) :rule resolution :premises (t37 t43 t25 t23)) (step t46 (cl @p_40 @p_37 @p_6) :rule eq_transitive) (step t47 (cl @p_37 @p_42) :rule resolution :premises (t46 t33 t35 t38 t21)) (step t48 (cl @p_53 @p_2) :rule la_generic :args (1 1)) (step t49 (cl @p_44) :rule resolution :premises (t48 t40 t41 t11 t9 t38 t35 t29 t13 t43 t37 t47 t42 t45)) (step t50 (cl @p_9) :rule resolution :premises (t44 t49)) (step t51 (cl @p_33) :rule resolution :premises (t19 t50)) (step t52 (cl @p_38) :rule resolution :premises (t27 t50)) (step t53 (cl @p_41) :rule resolution :premises (t31 t50)) (step t54 (cl @p_46) :rule resolution :premises (t38 t51)) (step t55 (cl @p_49) :rule resolution :premises (t41 t52)) (step t56 (cl @p_47) :rule resolution :premises (t40 t53 t55)) (step t57 (cl @p_2) :rule resolution :premises (t48 t56)) (step t58 (cl @p_35) :rule resolution :premises (t15 t57)) (step t59 (cl @p_40) :rule resolution :premises (t17 t57)) (step t60 (cl @p_50) :rule resolution :premises (t42 t58)) (step t61 (cl) :rule resolution :premises (t35 t59 t54 t60)) -ce9ae392bbb004278cf4005c9cdc4ec6dc2c6c3e 16 0 -unsat -(assume axiom0 (! (not (! (not (! (exists ((?v0 Real)) false) :named @p_2)) :named @p_3)) :named @p_1)) -(step t2 (cl (! (not @p_1) :named @p_6) @p_2) :rule not_not) -(step t3 (cl @p_2) :rule th_resolution :premises (t2 axiom0)) -(step t4 (cl (= @p_2 false)) :rule qnt_rm_unused) -(step t5 (cl (= @p_3 (! (not false) :named @p_4))) :rule cong :premises (t4)) -(step t6 (cl (! (= @p_1 (! (not @p_4) :named @p_7)) :named @p_5)) :rule cong :premises (t5)) -(step t7 (cl (! (not @p_5) :named @p_8) @p_6 @p_7) :rule equiv_pos2) -(step t8 (cl (not @p_6) @p_3) :rule not_not) -(step t9 (cl @p_8 @p_3 @p_7) :rule th_resolution :premises (t8 t7)) -(step t10 (cl (not @p_7) false) :rule not_not) -(step t11 (cl @p_8 @p_3 false) :rule th_resolution :premises (t10 t9)) -(step t12 (cl @p_7) :rule th_resolution :premises (t3 t6 t11)) -(step t13 (cl false) :rule th_resolution :premises (t10 t12)) -(step t14 (cl @p_4) :rule false) -(step t15 (cl) :rule resolution :premises (t13 t14)) -be1ac1d3f1b32c69d4c86a7bb2fc544d58daa87d 16 0 -unsat -(assume axiom0 (! (not (! (not (! (exists ((?v0 Int)) false) :named @p_2)) :named @p_3)) :named @p_1)) -(step t2 (cl (! (not @p_1) :named @p_6) @p_2) :rule not_not) -(step t3 (cl @p_2) :rule th_resolution :premises (t2 axiom0)) -(step t4 (cl (= @p_2 false)) :rule qnt_rm_unused) -(step t5 (cl (= @p_3 (! (not false) :named @p_4))) :rule cong :premises (t4)) -(step t6 (cl (! (= @p_1 (! (not @p_4) :named @p_7)) :named @p_5)) :rule cong :premises (t5)) -(step t7 (cl (! (not @p_5) :named @p_8) @p_6 @p_7) :rule equiv_pos2) -(step t8 (cl (not @p_6) @p_3) :rule not_not) -(step t9 (cl @p_8 @p_3 @p_7) :rule th_resolution :premises (t8 t7)) -(step t10 (cl (not @p_7) false) :rule not_not) -(step t11 (cl @p_8 @p_3 false) :rule th_resolution :premises (t10 t9)) -(step t12 (cl @p_7) :rule th_resolution :premises (t3 t6 t11)) -(step t13 (cl false) :rule th_resolution :premises (t10 t12)) -(step t14 (cl @p_4) :rule false) -(step t15 (cl) :rule resolution :premises (t13 t14)) -7c2862b95580cb7e81a355724e88267dce92987c 44 0 -unsat -(assume axiom0 (! (not (! (forall ((?v0 Int) (?v1 Int)) (! (=> (! (and (! (= 0 ?v0) :named @p_2) (! (= 1 ?v1) :named @p_4)) :named @p_6) (! (not (! (= ?v0 ?v1) :named @p_8)) :named @p_10)) :named @p_12)) :named @p_1)) :named @p_14)) -(anchor :step t2 :args ((:= (?v0 Int) 0) (:= (?v1 Int) 1))) -(step t2.t1 (cl @p_2) :rule refl) -(step t2.t2 (cl (= @p_2 (! (= 0 0) :named @p_3))) :rule cong :premises (t2.t1)) -(step t2.t3 (cl @p_4) :rule refl) -(step t2.t4 (cl (= @p_4 (! (= 1 1) :named @p_5))) :rule cong :premises (t2.t3)) -(step t2.t5 (cl (= @p_6 (! (and @p_3 @p_5) :named @p_7))) :rule cong :premises (t2.t2 t2.t4)) -(step t2.t6 (cl @p_2) :rule refl) -(step t2.t7 (cl @p_4) :rule refl) -(step t2.t8 (cl (= @p_8 (! (= 0 1) :named @p_9))) :rule cong :premises (t2.t6 t2.t7)) -(step t2.t9 (cl (= @p_10 (! (not @p_9) :named @p_11))) :rule cong :premises (t2.t8)) -(step t2.t10 (cl (= @p_12 (! (=> @p_7 @p_11) :named @p_13))) :rule cong :premises (t2.t5 t2.t9)) -(step t2 (cl (= @p_1 @p_13)) :rule onepoint) -(step t3 (cl (! (= @p_14 (! (not @p_13) :named @p_16)) :named @p_15)) :rule cong :premises (t2)) -(step t4 (cl (! (not @p_15) :named @p_18) (! (not @p_14) :named @p_17) @p_16) :rule equiv_pos2) -(step t5 (cl (not @p_17) @p_1) :rule not_not) -(step t6 (cl @p_18 @p_1 @p_16) :rule th_resolution :premises (t5 t4)) -(step t7 (cl @p_16) :rule th_resolution :premises (axiom0 t3 t6)) -(step t8 (cl (! (= @p_16 (! (and @p_7 (! (not @p_11) :named @p_23)) :named @p_20)) :named @p_19)) :rule bool_simplify) -(step t9 (cl (! (not @p_19) :named @p_22) (! (not @p_16) :named @p_21) @p_20) :rule equiv_pos2) -(step t10 (cl (not @p_21) @p_13) :rule not_not) -(step t11 (cl @p_22 @p_13 @p_20) :rule th_resolution :premises (t10 t9)) -(step t12 (cl @p_20) :rule th_resolution :premises (t7 t8 t11)) -(step t13 (cl (! (= @p_20 (! (and @p_3 @p_5 @p_23) :named @p_25)) :named @p_24)) :rule ac_simp) -(step t14 (cl (not @p_24) (not @p_20) @p_25) :rule equiv_pos2) -(step t15 (cl @p_25) :rule th_resolution :premises (t12 t13 t14)) -(step t16 (cl (= @p_3 true)) :rule eq_simplify) -(step t17 (cl (= @p_5 true)) :rule eq_simplify) -(step t18 (cl (= @p_9 false)) :rule eq_simplify) -(step t19 (cl (= @p_11 (! (not false) :named @p_26))) :rule cong :premises (t18)) -(step t20 (cl (= @p_26 true)) :rule not_simplify) -(step t21 (cl (= @p_11 true)) :rule trans :premises (t19 t20)) -(step t22 (cl (= @p_23 (! (not true) :named @p_27))) :rule cong :premises (t21)) -(step t23 (cl (= @p_27 false)) :rule not_simplify) -(step t24 (cl (= @p_23 false)) :rule trans :premises (t22 t23)) -(step t25 (cl (= @p_25 (! (and true true false) :named @p_28))) :rule cong :premises (t16 t17 t24)) -(step t26 (cl (= @p_28 (! (and false) :named @p_29))) :rule and_simplify) -(step t27 (cl (= @p_29 false)) :rule and_simplify) -(step t28 (cl (! (= @p_25 false) :named @p_30)) :rule trans :premises (t25 t26 t27)) -(step t29 (cl (not @p_30) (not @p_25) false) :rule equiv_pos2) -(step t30 (cl false) :rule th_resolution :premises (t15 t28 t29)) -(step t31 (cl @p_26) :rule false) -(step t32 (cl) :rule resolution :premises (t30 t31)) -632d72943748607b3a6a192dc119caef23e9e71d 74 0 +8bfcf7a37e6d407d5cd3eb931a35cdc0c65c7e57 21 0 unsat -(define-fun veriT_sk0 () Int (! (choice ((veriT_vr2 Int)) (not (forall ((veriT_vr3 Int)) (! (=> (! (< veriT_vr2 veriT_vr3) :named @p_30) (! (< (! (+ 1 (! (* 2 veriT_vr2) :named @p_32)) :named @p_33) (! (* 2 veriT_vr3) :named @p_35)) :named @p_36)) :named @p_37)))) :named @p_43)) -(define-fun veriT_sk1 () Int (! (choice ((veriT_vr3 Int)) (not (=> (< @p_43 veriT_vr3) (< (+ 1 (* 2 @p_43)) @p_35)))) :named @p_44)) -(assume axiom0 (! (not (! (forall ((?v0 Int) (?v1 Int)) (! (=> (! (< ?v0 ?v1) :named @p_2) (! (< (! (+ (! (* 2 ?v0) :named @p_5) 1) :named @p_7) (! (* 2 ?v1) :named @p_10)) :named @p_12)) :named @p_14)) :named @p_1)) :named @p_16)) -(anchor :step t2 :args ((:= (?v0 Int) veriT_vr0) (:= (?v1 Int) veriT_vr1))) -(step t2.t1 (cl (! (= ?v0 veriT_vr0) :named @p_4)) :rule refl) -(step t2.t2 (cl (! (= ?v1 veriT_vr1) :named @p_9)) :rule refl) -(step t2.t3 (cl (= @p_2 (! (< veriT_vr0 veriT_vr1) :named @p_3))) :rule cong :premises (t2.t1 t2.t2)) -(step t2.t4 (cl @p_4) :rule refl) -(step t2.t5 (cl (= @p_5 (! (* 2 veriT_vr0) :named @p_6))) :rule cong :premises (t2.t4)) -(step t2.t6 (cl (= @p_7 (! (+ @p_6 1) :named @p_8))) :rule cong :premises (t2.t5)) -(step t2.t7 (cl @p_9) :rule refl) -(step t2.t8 (cl (= @p_10 (! (* 2 veriT_vr1) :named @p_11))) :rule cong :premises (t2.t7)) -(step t2.t9 (cl (= @p_12 (! (< @p_8 @p_11) :named @p_13))) :rule cong :premises (t2.t6 t2.t8)) -(step t2.t10 (cl (= @p_14 (! (=> @p_3 @p_13) :named @p_15))) :rule cong :premises (t2.t3 t2.t9)) -(step t2 (cl (= @p_1 (! (forall ((veriT_vr0 Int) (veriT_vr1 Int)) @p_15) :named @p_17))) :rule bind) -(step t3 (cl (! (= @p_16 (! (not @p_17) :named @p_19)) :named @p_18)) :rule cong :premises (t2)) -(step t4 (cl (! (not @p_18) :named @p_21) (! (not @p_16) :named @p_20) @p_19) :rule equiv_pos2) -(step t5 (cl (not @p_20) @p_1) :rule not_not) -(step t6 (cl @p_21 @p_1 @p_19) :rule th_resolution :premises (t5 t4)) -(step t7 (cl @p_19) :rule th_resolution :premises (axiom0 t3 t6)) -(anchor :step t8 :args ((veriT_vr0 Int) (veriT_vr1 Int))) -(step t8.t1 (cl (= @p_8 (! (+ 1 @p_6) :named @p_22))) :rule sum_simplify) -(step t8.t2 (cl (= @p_13 (! (< @p_22 @p_11) :named @p_23))) :rule cong :premises (t8.t1)) -(step t8.t3 (cl (= @p_15 (! (=> @p_3 @p_23) :named @p_24))) :rule cong :premises (t8.t2)) -(step t8 (cl (= @p_17 (! (forall ((veriT_vr0 Int) (veriT_vr1 Int)) @p_24) :named @p_25))) :rule bind) -(step t9 (cl (! (= @p_19 (! (not @p_25) :named @p_27)) :named @p_26)) :rule cong :premises (t8)) -(step t10 (cl (! (not @p_26) :named @p_29) (! (not @p_19) :named @p_28) @p_27) :rule equiv_pos2) -(step t11 (cl (not @p_28) @p_17) :rule not_not) -(step t12 (cl @p_29 @p_17 @p_27) :rule th_resolution :premises (t11 t10)) -(step t13 (cl @p_27) :rule th_resolution :premises (t7 t9 t12)) -(anchor :step t14 :args ((:= (veriT_vr0 Int) veriT_vr2) (:= (veriT_vr1 Int) veriT_vr3))) -(step t14.t1 (cl (! (= veriT_vr0 veriT_vr2) :named @p_31)) :rule refl) -(step t14.t2 (cl (! (= veriT_vr1 veriT_vr3) :named @p_34)) :rule refl) -(step t14.t3 (cl (= @p_3 @p_30)) :rule cong :premises (t14.t1 t14.t2)) -(step t14.t4 (cl @p_31) :rule refl) -(step t14.t5 (cl (= @p_6 @p_32)) :rule cong :premises (t14.t4)) -(step t14.t6 (cl (= @p_22 @p_33)) :rule cong :premises (t14.t5)) -(step t14.t7 (cl @p_34) :rule refl) -(step t14.t8 (cl (= @p_11 @p_35)) :rule cong :premises (t14.t7)) -(step t14.t9 (cl (= @p_23 @p_36)) :rule cong :premises (t14.t6 t14.t8)) -(step t14.t10 (cl (= @p_24 @p_37)) :rule cong :premises (t14.t3 t14.t9)) -(step t14 (cl (= @p_25 (! (forall ((veriT_vr2 Int) (veriT_vr3 Int)) @p_37) :named @p_38))) :rule bind) -(step t15 (cl (! (= @p_27 (! (not @p_38) :named @p_40)) :named @p_39)) :rule cong :premises (t14)) -(step t16 (cl (! (not @p_39) :named @p_42) (! (not @p_27) :named @p_41) @p_40) :rule equiv_pos2) -(step t17 (cl (not @p_41) @p_25) :rule not_not) -(step t18 (cl @p_42 @p_25 @p_40) :rule th_resolution :premises (t17 t16)) -(step t19 (cl @p_40) :rule th_resolution :premises (t13 t15 t18)) -(anchor :step t20 :args ((:= (veriT_vr2 Int) veriT_sk0) (:= (veriT_vr3 Int) veriT_sk1))) -(step t20.t1 (cl (! (= veriT_vr2 veriT_sk0) :named @p_46)) :rule refl) -(step t20.t2 (cl (! (= veriT_vr3 veriT_sk1) :named @p_49)) :rule refl) -(step t20.t3 (cl (= @p_30 (! (< veriT_sk0 veriT_sk1) :named @p_45))) :rule cong :premises (t20.t1 t20.t2)) -(step t20.t4 (cl @p_46) :rule refl) -(step t20.t5 (cl (= @p_32 (! (* 2 veriT_sk0) :named @p_47))) :rule cong :premises (t20.t4)) -(step t20.t6 (cl (= @p_33 (! (+ 1 @p_47) :named @p_48))) :rule cong :premises (t20.t5)) -(step t20.t7 (cl @p_49) :rule refl) -(step t20.t8 (cl (= @p_35 (! (* 2 veriT_sk1) :named @p_50))) :rule cong :premises (t20.t7)) -(step t20.t9 (cl (= @p_36 (! (< @p_48 @p_50) :named @p_51))) :rule cong :premises (t20.t6 t20.t8)) -(step t20.t10 (cl (= @p_37 (! (=> @p_45 @p_51) :named @p_52))) :rule cong :premises (t20.t3 t20.t9)) -(step t20 (cl (= @p_38 @p_52)) :rule sko_forall) -(step t21 (cl (! (= @p_40 (! (not @p_52) :named @p_54)) :named @p_53)) :rule cong :premises (t20)) -(step t22 (cl (! (not @p_53) :named @p_56) (! (not @p_40) :named @p_55) @p_54) :rule equiv_pos2) -(step t23 (cl (not @p_55) @p_38) :rule not_not) -(step t24 (cl @p_56 @p_38 @p_54) :rule th_resolution :premises (t23 t22)) -(step t25 (cl @p_54) :rule th_resolution :premises (t19 t21 t24)) -(step t26 (cl (! (= @p_54 (! (and @p_45 (! (not @p_51) :named @p_61)) :named @p_58)) :named @p_57)) :rule bool_simplify) -(step t27 (cl (! (not @p_57) :named @p_60) (! (not @p_54) :named @p_59) @p_58) :rule equiv_pos2) -(step t28 (cl (not @p_59) @p_52) :rule not_not) -(step t29 (cl @p_60 @p_52 @p_58) :rule th_resolution :premises (t28 t27)) -(step t30 (cl @p_58) :rule th_resolution :premises (t25 t26 t29)) -(step t31 (cl @p_45) :rule and :premises (t30)) -(step t32 (cl @p_61) :rule and :premises (t30)) -(step t33 (cl @p_51 (not @p_45)) :rule la_generic :args ((div 1 2) 1)) -(step t34 (cl) :rule resolution :premises (t33 t31 t32)) -b3000c2a2d0d57028ec3d5228440616f9e6398d4 84 0 +(assume a0 (! (not (! (or (! (< (! (+ x$ x$) :named @p_11) (! (+ (! (* 2.0 x$) :named @p_10) 1.0) :named @p_9)) :named @p_1) (or false @p_1)) :named @p_2)) :named @p_3)) +(step t2 (cl (= @p_2 (! (or @p_1 false) :named @p_4))) :rule ac_simp) +(step t3 (cl (! (= @p_3 (! (not @p_4) :named @p_6)) :named @p_5)) :rule cong :premises (t2)) +(step t4 (cl (! (not @p_5) :named @p_8) (! (not @p_3) :named @p_7) @p_6) :rule equiv_pos2) +(step t5 (cl (not @p_7) @p_2) :rule not_not) +(step t6 (cl @p_8 @p_2 @p_6) :rule th_resolution :premises (t5 t4)) +(step t7 (cl @p_6) :rule th_resolution :premises (a0 t3 t6)) +(step t8 (cl (= @p_9 (! (+ 1.0 @p_10) :named @p_12))) :rule sum_simplify) +(step t9 (cl (= @p_1 (! (< @p_11 @p_12) :named @p_13))) :rule cong :premises (t8)) +(step t10 (cl (= @p_4 (! (or @p_13 false) :named @p_14))) :rule cong :premises (t9)) +(step t11 (cl (= @p_14 (! (or @p_13) :named @p_15))) :rule or_simplify) +(step t12 (cl (= @p_15 @p_13)) :rule or_simplify) +(step t13 (cl (= @p_4 @p_13)) :rule trans :premises (t10 t11 t12)) +(step t14 (cl (! (= @p_6 (! (not @p_13) :named @p_17)) :named @p_16)) :rule cong :premises (t13)) +(step t15 (cl (! (not @p_16) :named @p_19) (! (not @p_6) :named @p_18) @p_17) :rule equiv_pos2) +(step t16 (cl (not @p_18) @p_4) :rule not_not) +(step t17 (cl @p_19 @p_4 @p_17) :rule th_resolution :premises (t16 t15)) +(step t18 (cl @p_17) :rule th_resolution :premises (t7 t14 t17)) +(step t19 (cl @p_13) :rule la_tautology) +(step t20 (cl) :rule resolution :premises (t19 t18)) +4aba1ea4675669f505d0a9484fd751da13811782 371 0 unsat -(define-fun veriT_sk0 () Int (! (choice ((veriT_vr2 Int)) (not (forall ((veriT_vr3 Int)) (! (or (! (< 2 (! (+ veriT_vr2 veriT_vr3) :named @p_29)) :named @p_30) (! (= 2 @p_29) :named @p_34) (! (< @p_29 2) :named @p_35)) :named @p_36)))) :named @p_42)) -(define-fun veriT_sk1 () Int (! (choice ((veriT_vr3 Int)) (not (or (< 2 (! (+ @p_42 veriT_vr3) :named @p_43)) (= 2 @p_43) (< @p_43 2)))) :named @p_45)) -(assume axiom0 (! (not (! (forall ((?v0 Int) (?v1 Int)) (! (or (! (< 2 (! (+ ?v0 ?v1) :named @p_1)) :named @p_4) (! (or (! (= 2 @p_1) :named @p_9) (! (< @p_1 2) :named @p_11)) :named @p_13)) :named @p_15)) :named @p_2)) :named @p_17)) -(anchor :step t2 :args ((:= (?v0 Int) veriT_vr0) (:= (?v1 Int) veriT_vr1))) -(step t2.t1 (cl (! (= ?v0 veriT_vr0) :named @p_6)) :rule refl) -(step t2.t2 (cl (! (= ?v1 veriT_vr1) :named @p_7)) :rule refl) -(step t2.t3 (cl (! (= @p_1 (! (+ veriT_vr0 veriT_vr1) :named @p_3)) :named @p_8)) :rule cong :premises (t2.t1 t2.t2)) -(step t2.t4 (cl (= @p_4 (! (< 2 @p_3) :named @p_5))) :rule cong :premises (t2.t3)) -(step t2.t5 (cl @p_6) :rule refl) -(step t2.t6 (cl @p_7) :rule refl) -(step t2.t7 (cl @p_8) :rule cong :premises (t2.t5 t2.t6)) -(step t2.t8 (cl (= @p_9 (! (= 2 @p_3) :named @p_10))) :rule cong :premises (t2.t7)) -(step t2.t9 (cl @p_6) :rule refl) -(step t2.t10 (cl @p_7) :rule refl) -(step t2.t11 (cl @p_8) :rule cong :premises (t2.t9 t2.t10)) -(step t2.t12 (cl (= @p_11 (! (< @p_3 2) :named @p_12))) :rule cong :premises (t2.t11)) -(step t2.t13 (cl (= @p_13 (! (or @p_10 @p_12) :named @p_14))) :rule cong :premises (t2.t8 t2.t12)) -(step t2.t14 (cl (= @p_15 (! (or @p_5 @p_14) :named @p_16))) :rule cong :premises (t2.t4 t2.t13)) -(step t2 (cl (= @p_2 (! (forall ((veriT_vr0 Int) (veriT_vr1 Int)) @p_16) :named @p_18))) :rule bind) -(step t3 (cl (! (= @p_17 (! (not @p_18) :named @p_20)) :named @p_19)) :rule cong :premises (t2)) -(step t4 (cl (! (not @p_19) :named @p_22) (! (not @p_17) :named @p_21) @p_20) :rule equiv_pos2) -(step t5 (cl (not @p_21) @p_2) :rule not_not) -(step t6 (cl @p_22 @p_2 @p_20) :rule th_resolution :premises (t5 t4)) -(step t7 (cl @p_20) :rule th_resolution :premises (axiom0 t3 t6)) -(anchor :step t8 :args ((veriT_vr0 Int) (veriT_vr1 Int))) -(step t8.t1 (cl (= @p_16 (! (or @p_5 @p_10 @p_12) :named @p_23))) :rule ac_simp) -(step t8 (cl (= @p_18 (! (forall ((veriT_vr0 Int) (veriT_vr1 Int)) @p_23) :named @p_24))) :rule bind) -(step t9 (cl (! (= @p_20 (! (not @p_24) :named @p_26)) :named @p_25)) :rule cong :premises (t8)) -(step t10 (cl (! (not @p_25) :named @p_28) (! (not @p_20) :named @p_27) @p_26) :rule equiv_pos2) -(step t11 (cl (not @p_27) @p_18) :rule not_not) -(step t12 (cl @p_28 @p_18 @p_26) :rule th_resolution :premises (t11 t10)) -(step t13 (cl @p_26) :rule th_resolution :premises (t7 t9 t12)) -(anchor :step t14 :args ((:= (veriT_vr0 Int) veriT_vr2) (:= (veriT_vr1 Int) veriT_vr3))) -(step t14.t1 (cl (! (= veriT_vr0 veriT_vr2) :named @p_31)) :rule refl) -(step t14.t2 (cl (! (= veriT_vr1 veriT_vr3) :named @p_32)) :rule refl) -(step t14.t3 (cl (! (= @p_3 @p_29) :named @p_33)) :rule cong :premises (t14.t1 t14.t2)) -(step t14.t4 (cl (= @p_5 @p_30)) :rule cong :premises (t14.t3)) -(step t14.t5 (cl @p_31) :rule refl) -(step t14.t6 (cl @p_32) :rule refl) -(step t14.t7 (cl @p_33) :rule cong :premises (t14.t5 t14.t6)) -(step t14.t8 (cl (= @p_10 @p_34)) :rule cong :premises (t14.t7)) -(step t14.t9 (cl @p_31) :rule refl) -(step t14.t10 (cl @p_32) :rule refl) -(step t14.t11 (cl @p_33) :rule cong :premises (t14.t9 t14.t10)) -(step t14.t12 (cl (= @p_12 @p_35)) :rule cong :premises (t14.t11)) -(step t14.t13 (cl (= @p_23 @p_36)) :rule cong :premises (t14.t4 t14.t8 t14.t12)) -(step t14 (cl (= @p_24 (! (forall ((veriT_vr2 Int) (veriT_vr3 Int)) @p_36) :named @p_37))) :rule bind) -(step t15 (cl (! (= @p_26 (! (not @p_37) :named @p_39)) :named @p_38)) :rule cong :premises (t14)) -(step t16 (cl (! (not @p_38) :named @p_41) (! (not @p_26) :named @p_40) @p_39) :rule equiv_pos2) -(step t17 (cl (not @p_40) @p_24) :rule not_not) -(step t18 (cl @p_41 @p_24 @p_39) :rule th_resolution :premises (t17 t16)) -(step t19 (cl @p_39) :rule th_resolution :premises (t13 t15 t18)) -(anchor :step t20 :args ((:= (veriT_vr2 Int) veriT_sk0) (:= (veriT_vr3 Int) veriT_sk1))) -(step t20.t1 (cl (! (= veriT_vr2 veriT_sk0) :named @p_47)) :rule refl) -(step t20.t2 (cl (! (= veriT_vr3 veriT_sk1) :named @p_48)) :rule refl) -(step t20.t3 (cl (! (= @p_29 (! (+ veriT_sk0 veriT_sk1) :named @p_44)) :named @p_49)) :rule cong :premises (t20.t1 t20.t2)) -(step t20.t4 (cl (= @p_30 (! (< 2 @p_44) :named @p_46))) :rule cong :premises (t20.t3)) -(step t20.t5 (cl @p_47) :rule refl) -(step t20.t6 (cl @p_48) :rule refl) -(step t20.t7 (cl @p_49) :rule cong :premises (t20.t5 t20.t6)) -(step t20.t8 (cl (= @p_34 (! (= 2 @p_44) :named @p_50))) :rule cong :premises (t20.t7)) -(step t20.t9 (cl @p_47) :rule refl) -(step t20.t10 (cl @p_48) :rule refl) -(step t20.t11 (cl @p_49) :rule cong :premises (t20.t9 t20.t10)) -(step t20.t12 (cl (= @p_35 (! (< @p_44 2) :named @p_51))) :rule cong :premises (t20.t11)) -(step t20.t13 (cl (= @p_36 (! (or @p_46 @p_50 @p_51) :named @p_52))) :rule cong :premises (t20.t4 t20.t8 t20.t12)) -(step t20 (cl (= @p_37 @p_52)) :rule sko_forall) -(step t21 (cl (! (= @p_39 (! (not @p_52) :named @p_54)) :named @p_53)) :rule cong :premises (t20)) -(step t22 (cl (! (not @p_53) :named @p_56) (! (not @p_39) :named @p_55) @p_54) :rule equiv_pos2) -(step t23 (cl (not @p_55) @p_37) :rule not_not) -(step t24 (cl @p_56 @p_37 @p_54) :rule th_resolution :premises (t23 t22)) -(step t25 (cl @p_54) :rule th_resolution :premises (t19 t21 t24)) -(step t26 (cl (not @p_46)) :rule not_or :premises (t25)) -(step t27 (cl (not @p_50)) :rule not_or :premises (t25)) -(step t28 (cl (not @p_51)) :rule not_or :premises (t25)) -(step t29 (cl (or @p_50 (! (not (! (<= 2 @p_44) :named @p_59)) :named @p_57) (! (not (! (<= @p_44 2) :named @p_60)) :named @p_58))) :rule la_disequality) -(step t30 (cl @p_50 @p_57 @p_58) :rule or :premises (t29)) -(step t31 (cl @p_57 @p_58) :rule resolution :premises (t30 t27)) -(step t32 (cl @p_59 @p_51) :rule la_generic :args (1 1)) -(step t33 (cl @p_59) :rule resolution :premises (t32 t28)) -(step t34 (cl @p_58) :rule resolution :premises (t31 t33)) -(step t35 (cl @p_60 @p_46) :rule la_generic :args (1 1)) -(step t36 (cl) :rule resolution :premises (t35 t26 t34)) -ea93df392983d8a481a89ee529b9a9f976280447 371 0 -unsat -(assume axiom0 (! (not (! (=> (! (and (! (= x3$ (- (! (ite (! (< x2$ 0) :named @p_30) (! (- x2$) :named @p_31) x2$) :named @p_21) x1$)) :named @p_9) (and (! (= x4$ (- (! (ite (! (< x3$ 0) :named @p_32) (! (- x3$) :named @p_33) x3$) :named @p_22) x2$)) :named @p_10) (and (! (= x5$ (- (! (ite (! (< x4$ 0) :named @p_34) (! (- x4$) :named @p_35) x4$) :named @p_23) x3$)) :named @p_11) (and (! (= x6$ (- (! (ite (! (< x5$ 0) :named @p_36) (! (- x5$) :named @p_37) x5$) :named @p_24) x4$)) :named @p_12) (and (! (= x7$ (- (! (ite (! (< x6$ 0) :named @p_38) (! (- x6$) :named @p_39) x6$) :named @p_25) x5$)) :named @p_13) (and (! (= x8$ (- (! (ite (! (< x7$ 0) :named @p_40) (! (- x7$) :named @p_41) x7$) :named @p_26) x6$)) :named @p_14) (and (! (= x9$ (- (! (ite (! (< x8$ 0) :named @p_42) (! (- x8$) :named @p_43) x8$) :named @p_27) x7$)) :named @p_15) (and (! (= x10$ (- (! (ite (! (< x9$ 0) :named @p_44) (! (- x9$) :named @p_45) x9$) :named @p_28) x8$)) :named @p_16) (! (= x11$ (- (! (ite (! (< x10$ 0) :named @p_46) (! (- x10$) :named @p_47) x10$) :named @p_29) x9$)) :named @p_17))))))))) :named @p_2) (! (and (! (= x1$ x10$) :named @p_70) (! (= x2$ x11$) :named @p_71)) :named @p_3)) :named @p_7)) :named @p_1)) +(assume a0 (! (not (! (=> (! (and (! (= x3$ (- (! (ite (! (< x2$ 0) :named @p_30) (! (- x2$) :named @p_31) x2$) :named @p_21) x1$)) :named @p_9) (and (! (= x4$ (- (! (ite (! (< x3$ 0) :named @p_32) (! (- x3$) :named @p_33) x3$) :named @p_22) x2$)) :named @p_10) (and (! (= x5$ (- (! (ite (! (< x4$ 0) :named @p_34) (! (- x4$) :named @p_35) x4$) :named @p_23) x3$)) :named @p_11) (and (! (= x6$ (- (! (ite (! (< x5$ 0) :named @p_36) (! (- x5$) :named @p_37) x5$) :named @p_24) x4$)) :named @p_12) (and (! (= x7$ (- (! (ite (! (< x6$ 0) :named @p_38) (! (- x6$) :named @p_39) x6$) :named @p_25) x5$)) :named @p_13) (and (! (= x8$ (- (! (ite (! (< x7$ 0) :named @p_40) (! (- x7$) :named @p_41) x7$) :named @p_26) x6$)) :named @p_14) (and (! (= x9$ (- (! (ite (! (< x8$ 0) :named @p_42) (! (- x8$) :named @p_43) x8$) :named @p_27) x7$)) :named @p_15) (and (! (= x10$ (- (! (ite (! (< x9$ 0) :named @p_44) (! (- x9$) :named @p_45) x9$) :named @p_28) x8$)) :named @p_16) (! (= x11$ (- (! (ite (! (< x10$ 0) :named @p_46) (! (- x10$) :named @p_47) x10$) :named @p_29) x9$)) :named @p_17))))))))) :named @p_2) (! (and (! (= x1$ x10$) :named @p_70) (! (= x2$ x11$) :named @p_71)) :named @p_3)) :named @p_7)) :named @p_1)) (step t2 (cl (! (= @p_1 (! (and @p_2 (! (not @p_3) :named @p_18)) :named @p_5)) :named @p_4)) :rule bool_simplify) (step t3 (cl (! (not @p_4) :named @p_8) (! (not @p_1) :named @p_6) @p_5) :rule equiv_pos2) (step t4 (cl (not @p_6) @p_7) :rule not_not) (step t5 (cl @p_8 @p_7 @p_5) :rule th_resolution :premises (t4 t3)) -(step t6 (cl @p_5) :rule th_resolution :premises (axiom0 t2 t5)) +(step t6 (cl @p_5) :rule th_resolution :premises (a0 t2 t5)) (step t7 (cl (! (= @p_5 (! (and @p_9 @p_10 @p_11 @p_12 @p_13 @p_14 @p_15 @p_16 @p_17 @p_18) :named @p_20)) :named @p_19)) :rule ac_simp) (step t8 (cl (not @p_19) (not @p_5) @p_20) :rule equiv_pos2) (step t9 (cl @p_20) :rule th_resolution :premises (t6 t7 t8)) (step t10 (cl (! (= @p_20 (! (and (and (! (= x3$ (- @p_21 x1$)) :named @p_50) (! (= x4$ (- @p_22 x2$)) :named @p_51) (! (= x5$ (- @p_23 x3$)) :named @p_52) (! (= x6$ (- @p_24 x4$)) :named @p_53) (! (= x7$ (- @p_25 x5$)) :named @p_54) (! (= x8$ (- @p_26 x6$)) :named @p_55) (! (= x9$ (- @p_27 x7$)) :named @p_56) (! (= x10$ (- @p_28 x8$)) :named @p_57) (! (= x11$ (! (- @p_29 x9$) :named @p_107)) :named @p_58) @p_18) (! (ite @p_30 (! (= @p_31 @p_21) :named @p_73) (! (= x2$ @p_21) :named @p_72)) :named @p_59) (! (ite @p_32 (! (= @p_33 @p_22) :named @p_75) (! (= x3$ @p_22) :named @p_74)) :named @p_60) (! (ite @p_34 (! (= @p_35 @p_23) :named @p_77) (! (= x4$ @p_23) :named @p_76)) :named @p_61) (! (ite @p_36 (! (= @p_37 @p_24) :named @p_79) (! (= x5$ @p_24) :named @p_78)) :named @p_62) (! (ite @p_38 (! (= @p_39 @p_25) :named @p_81) (! (= x6$ @p_25) :named @p_80)) :named @p_63) (! (ite @p_40 (! (= @p_41 @p_26) :named @p_83) (! (= x7$ @p_26) :named @p_82)) :named @p_64) (! (ite @p_42 (! (= @p_43 @p_27) :named @p_85) (! (= x8$ @p_27) :named @p_84)) :named @p_65) (! (ite @p_44 (! (= @p_45 @p_28) :named @p_87) (! (= x9$ @p_28) :named @p_86)) :named @p_66) (! (ite @p_46 (! (= @p_47 @p_29) :named @p_89) (! (= x10$ @p_29) :named @p_88)) :named @p_67)) :named @p_49)) :named @p_48)) :rule ite_intro) (step t11 (cl (not @p_48) (not @p_20) @p_49) :rule equiv_pos2) (step t12 (cl @p_49) :rule th_resolution :premises (t9 t10 t11)) (step t13 (cl (! (= @p_49 (! (and @p_50 @p_51 @p_52 @p_53 @p_54 @p_55 @p_56 @p_57 @p_58 @p_18 @p_59 @p_60 @p_61 @p_62 @p_63 @p_64 @p_65 @p_66 @p_67) :named @p_69)) :named @p_68)) :rule ac_simp) (step t14 (cl (not @p_68) (not @p_49) @p_69) :rule equiv_pos2) (step t15 (cl @p_69) :rule th_resolution :premises (t12 t13 t14)) (step t16 (cl @p_50) :rule and :premises (t15)) (step t17 (cl @p_51) :rule and :premises (t15)) (step t18 (cl @p_52) :rule and :premises (t15)) (step t19 (cl @p_53) :rule and :premises (t15)) (step t20 (cl @p_54) :rule and :premises (t15)) (step t21 (cl @p_55) :rule and :premises (t15)) (step t22 (cl @p_56) :rule and :premises (t15)) (step t23 (cl @p_57) :rule and :premises (t15)) (step t24 (cl @p_58) :rule and :premises (t15)) (step t25 (cl @p_18) :rule and :premises (t15)) (step t26 (cl (! (not @p_70) :named @p_165) (not @p_71)) :rule not_and :premises (t25)) (step t27 (cl @p_59) :rule and :premises (t15)) (step t28 (cl @p_30 @p_72) :rule ite1 :premises (t27)) (step t29 (cl (! (not @p_30) :named @p_140) @p_73) :rule ite2 :premises (t27)) (step t30 (cl @p_60) :rule and :premises (t15)) (step t31 (cl @p_32 @p_74) :rule ite1 :premises (t30)) (step t32 (cl (! (not @p_32) :named @p_137) @p_75) :rule ite2 :premises (t30)) (step t33 (cl @p_61) :rule and :premises (t15)) (step t34 (cl @p_34 @p_76) :rule ite1 :premises (t33)) (step t35 (cl (! (not @p_34) :named @p_144) @p_77) :rule ite2 :premises (t33)) (step t36 (cl @p_62) :rule and :premises (t15)) (step t37 (cl @p_36 @p_78) :rule ite1 :premises (t36)) (step t38 (cl (! (not @p_36) :named @p_125) @p_79) :rule ite2 :premises (t36)) (step t39 (cl @p_63) :rule and :premises (t15)) (step t40 (cl @p_38 @p_80) :rule ite1 :premises (t39)) (step t41 (cl (! (not @p_38) :named @p_128) @p_81) :rule ite2 :premises (t39)) (step t42 (cl @p_64) :rule and :premises (t15)) (step t43 (cl @p_40 @p_82) :rule ite1 :premises (t42)) (step t44 (cl (! (not @p_40) :named @p_136) @p_83) :rule ite2 :premises (t42)) (step t45 (cl @p_65) :rule and :premises (t15)) (step t46 (cl @p_42 @p_84) :rule ite1 :premises (t45)) (step t47 (cl (! (not @p_42) :named @p_101) @p_85) :rule ite2 :premises (t45)) (step t48 (cl @p_66) :rule and :premises (t15)) (step t49 (cl @p_44 @p_86) :rule ite1 :premises (t48)) (step t50 (cl (! (not @p_44) :named @p_169) @p_87) :rule ite2 :premises (t48)) (step t51 (cl @p_67) :rule and :premises (t15)) (step t52 (cl @p_46 @p_88) :rule ite1 :premises (t51)) (step t53 (cl (! (not @p_46) :named @p_112) @p_89) :rule ite2 :premises (t51)) (step t54 (cl (or @p_70 (! (not (! (<= x1$ x10$) :named @p_160)) :named @p_90) (! (not (! (<= x10$ x1$) :named @p_156)) :named @p_91))) :rule la_disequality) (step t55 (cl @p_70 @p_90 @p_91) :rule or :premises (t54)) (step t56 (cl (or @p_87 (! (not (! (<= @p_45 @p_28) :named @p_94)) :named @p_92) (! (not (! (<= @p_28 @p_45) :named @p_95)) :named @p_93))) :rule la_disequality) (step t57 (cl @p_87 @p_92 @p_93) :rule or :premises (t56)) (step t58 (cl @p_94 @p_95) :rule la_generic :args (1 1)) (step t59 (cl @p_94 @p_44 (! (not @p_86) :named @p_96)) :rule la_generic :args (1 2 (- 1))) (step t60 (cl (! (not @p_87) :named @p_97) (not (! (= x9$ @p_45) :named @p_98)) @p_93 (! (<= @p_45 x9$) :named @p_99)) :rule eq_congruent_pred) (step t61 (cl @p_96 @p_97 @p_98) :rule eq_transitive) (step t62 (cl @p_97 @p_93 @p_99 @p_96 @p_97) :rule th_resolution :premises (t60 t61)) (step t63 (cl @p_97 @p_93 @p_99 @p_96) :rule contraction :premises (t62)) (step t64 (cl (! (not (! (= @p_45 @p_45) :named @p_100)) :named @p_174) @p_96 @p_92 @p_99) :rule eq_congruent_pred) (step t65 (cl @p_100) :rule eq_reflexive) (step t66 (cl @p_96 @p_92 @p_99) :rule th_resolution :premises (t64 t65)) (step t67 (cl @p_99 @p_96) :rule resolution :premises (t63 t50 t59 t58 t66)) (step t68 (cl @p_101 (! (not (! (= x8$ @p_43) :named @p_102)) :named @p_167)) :rule la_generic :args (2 1)) (step t69 (cl (! (not @p_84) :named @p_103) (! (not @p_85) :named @p_104) @p_102) :rule eq_transitive) (step t70 (cl @p_101 @p_103 @p_104) :rule th_resolution :premises (t68 t69)) (step t71 (cl (or @p_102 (! (not (! (<= x8$ @p_43) :named @p_111)) :named @p_105) (! (not (! (<= @p_43 x8$) :named @p_147)) :named @p_106))) :rule la_disequality) (step t72 (cl @p_102 @p_105 @p_106) :rule or :premises (t71)) (step t73 (cl (or (! (= x2$ @p_107) :named @p_108) (! (not (! (<= x2$ @p_107) :named @p_158)) :named @p_109) (! (not (! (<= @p_107 x2$) :named @p_151)) :named @p_110))) :rule la_disequality) (step t74 (cl @p_108 @p_109 @p_110) :rule or :premises (t73)) (step t75 (cl @p_111 @p_101) :rule la_generic :args (1 2)) (step t76 (cl @p_112 (not (! (= x10$ @p_47) :named @p_113))) :rule la_generic :args (2 1)) (step t77 (cl (! (not @p_88) :named @p_114) (! (not @p_89) :named @p_115) @p_113) :rule eq_transitive) (step t78 (cl @p_112 @p_114 @p_115) :rule th_resolution :premises (t76 t77)) (step t79 (cl (or @p_77 (! (not (! (<= @p_35 @p_23) :named @p_122)) :named @p_116) (! (not (! (<= @p_23 @p_35) :named @p_146)) :named @p_117))) :rule la_disequality) (step t80 (cl @p_77 @p_116 @p_117) :rule or :premises (t79)) (step t81 (cl (! (<= @p_21 @p_31) :named @p_120) (! (<= @p_31 @p_21) :named @p_118)) :rule la_generic :args (1 1)) (step t82 (cl @p_30 @p_118 (! (not @p_72) :named @p_171)) :rule la_generic :args (2 1 (- 1))) (step t83 (cl @p_30 @p_118) :rule resolution :premises (t82 t28)) (step t84 (cl (! (not @p_73) :named @p_119) @p_119 (! (not @p_120) :named @p_121) @p_118) :rule eq_congruent_pred) (step t85 (cl @p_119 @p_121 @p_118) :rule contraction :premises (t84)) (step t86 (cl @p_118) :rule resolution :premises (t85 t29 t83 t81)) (step t87 (cl @p_122 @p_34 (! (not @p_76) :named @p_142)) :rule la_generic :args (1 2 (- 1))) (step t88 (cl (! (= x10$ x10$) :named @p_162)) :rule eq_reflexive) (step t89 (cl @p_114 @p_114 (! (not (! (<= x10$ @p_29) :named @p_163)) :named @p_123) (! (<= @p_29 x10$) :named @p_124)) :rule eq_congruent_pred) (step t90 (cl @p_114 @p_123 @p_124) :rule contraction :premises (t89)) (step t91 (cl (! (<= @p_39 @p_25) :named @p_129) (! (<= @p_25 @p_39) :named @p_183)) :rule la_generic :args (2 2)) (step t92 (cl @p_101 @p_125 (! (not @p_54) :named @p_130) (! (not @p_55) :named @p_131) (! (not @p_82) :named @p_126) (! (not @p_80) :named @p_127)) :rule la_generic :args (1 1 1 1 (- 1) (- 1))) (step t93 (cl @p_101 @p_125 @p_126 @p_127) :rule resolution :premises (t92 t20 t21)) (step t94 (cl @p_125 @p_128 (! (not @p_99) :named @p_132) (! (not @p_129) :named @p_133) @p_130 @p_131 (! (not @p_56) :named @p_134) @p_104 @p_126) :rule la_generic :args (4 6 1 4 4 2 (- 2) 2 (- 2))) (step t95 (cl @p_125 @p_128 @p_132 @p_133 @p_104 @p_126) :rule resolution :premises (t94 t20 t21 t22)) (step t96 (cl @p_101 (! (not (! (<= x9$ @p_45) :named @p_173)) :named @p_135) @p_128 @p_131 @p_134 @p_104 @p_126) :rule la_generic :args (4 1 2 2 2 (- 2) (- 2))) (step t97 (cl @p_101 @p_135 @p_128 @p_104 @p_126) :rule resolution :premises (t96 t21 t22)) (step t98 (cl @p_136 @p_42 @p_135 @p_134 @p_103) :rule la_generic :args (2 2 1 2 (- 2))) (step t99 (cl @p_136 @p_42 @p_135 @p_103) :rule resolution :premises (t98 t22)) (step t100 (cl @p_137 @p_38 @p_116 (! (not @p_52) :named @p_141) (! (not @p_53) :named @p_148) (! (not @p_79) :named @p_138)) :rule la_generic :args (1 1 1 1 (- 1) 1)) (step t101 (cl @p_137 @p_38 @p_116 @p_138) :rule resolution :premises (t100 t18 t19)) (step t102 (cl (! (not @p_77) :named @p_139) @p_139 @p_117 @p_122) :rule eq_congruent_pred) (step t103 (cl @p_139 @p_117 @p_122) :rule contraction :premises (t102)) (step t104 (cl @p_140 @p_125 (! (not @p_51) :named @p_145) @p_141 @p_142 (! (not @p_74) :named @p_143)) :rule la_generic :args (1 1 1 1 (- 1) (- 1))) (step t105 (cl @p_140 @p_125 @p_142 @p_143) :rule resolution :premises (t104 t17 t18)) (step t106 (cl @p_140 @p_144 @p_32 @p_145 @p_143) :rule la_generic :args (1 1 1 1 (- 1))) (step t107 (cl @p_140 @p_144 @p_32 @p_143) :rule resolution :premises (t106 t17)) (step t108 (cl @p_140 @p_32 @p_117 @p_145 @p_142 @p_143) :rule la_generic :args (2 2 1 2 (- 1) (- 2))) (step t109 (cl @p_140 @p_32 @p_117 @p_142 @p_143) :rule resolution :premises (t108 t17)) (step t110 (cl @p_139 @p_139 @p_116 @p_146) :rule eq_congruent_pred) (step t111 (cl @p_139 @p_116 @p_146) :rule contraction :premises (t110)) (step t112 (cl (! (not @p_78) :named @p_149) @p_138 (! (= x5$ @p_37) :named @p_170)) :rule eq_transitive) (step t113 (cl @p_140 @p_32 @p_147 @p_145 @p_141 @p_148 @p_130 @p_131 @p_149 @p_142 @p_127 @p_143 (! (not @p_83) :named @p_150)) :rule la_generic :args (2 4 1 2 (- 2) (- 4) (- 2) 2 4 2 2 (- 2) (- 2))) (step t114 (cl @p_140 @p_32 @p_147 @p_149 @p_142 @p_127 @p_143 @p_150) :rule resolution :premises (t113 t17 t18 t19 t20 t21)) (step t115 (cl @p_32 (! (not @p_124) :named @p_152) @p_151 @p_145 @p_141 @p_148 @p_130 @p_131 (! (not @p_57) :named @p_157) @p_96 @p_149 @p_142 @p_127 @p_143 @p_150) :rule la_generic :args (2 1 1 1 (- 1) (- 2) (- 1) 1 (- 1) 1 2 1 1 (- 1) (- 1))) (step t116 (cl @p_32 @p_152 @p_151 @p_96 @p_149 @p_142 @p_127 @p_143 @p_150) :rule resolution :premises (t115 t17 t18 t19 t20 t21 t23)) (step t117 (cl (! (<= @p_26 @p_41) :named @p_153) (! (<= @p_41 @p_26) :named @p_154)) :rule la_generic :args (1 1)) (step t118 (cl @p_150 @p_150 (! (not @p_153) :named @p_155) @p_154) :rule eq_congruent_pred) (step t119 (cl @p_150 @p_155 @p_154) :rule contraction :premises (t118)) (step t120 (cl @p_154 @p_150) :rule resolution :premises (t117 t119)) (step t121 (cl @p_156 (! (not @p_118) :named @p_168) @p_38 (! (not @p_50) :named @p_159) @p_145 @p_141 @p_148 @p_130 @p_134 @p_157 @p_96 @p_149 @p_142 @p_103 @p_127 @p_143) :rule la_generic :args (1 1 2 1 (- 1) (- 2) (- 1) 1 (- 1) (- 1) 1 1 2 1 (- 1) 1)) (step t122 (cl @p_156 @p_38 @p_96 @p_149 @p_142 @p_103 @p_127 @p_143) :rule resolution :premises (t121 t16 t17 t18 t19 t20 t22 t23 t86)) (step t123 (cl @p_91 @p_121 @p_123 @p_158 @p_159 @p_141 @p_148 @p_131 @p_134 @p_157 @p_96 @p_149 @p_142 @p_103 @p_150) :rule la_generic :args (1 1 1 1 (- 1) 1 1 (- 1) 1 2 (- 2) (- 1) (- 1) (- 1) 1)) (step t124 (cl @p_91 @p_121 @p_123 @p_158 @p_96 @p_149 @p_142 @p_103 @p_150) :rule resolution :premises (t123 t16 t18 t19 t21 t22 t23)) (step t125 (cl @p_160 @p_121 @p_32 @p_159 @p_145 @p_148 @p_130 @p_134 @p_157 @p_96 @p_149 @p_103 @p_127 @p_143) :rule la_generic :args (1 1 2 (- 1) 1 (- 1) (- 1) 1 1 (- 1) 1 (- 1) 1 (- 1))) (step t126 (cl @p_160 @p_121 @p_32 @p_96 @p_149 @p_103 @p_127 @p_143) :rule resolution :premises (t125 t16 t17 t19 t20 t22 t23)) (step t127 (cl (! (not @p_108) :named @p_161) (not @p_58) @p_71) :rule eq_transitive) (step t128 (cl @p_161 @p_71) :rule resolution :premises (t127 t24)) (step t129 (cl (not @p_162) (! (not (! (= x1$ @p_29) :named @p_166)) :named @p_164) @p_91 @p_163) :rule eq_congruent_pred) (step t130 (cl @p_164 @p_91 @p_163) :rule th_resolution :premises (t129 t88)) (step t131 (cl @p_165 @p_114 @p_166) :rule eq_transitive) (step t132 (cl @p_91 @p_163 @p_165 @p_114) :rule th_resolution :premises (t130 t131)) (step t133 (cl @p_140 @p_32 @p_112 @p_145 @p_148 @p_130 @p_134 @p_157 @p_96 @p_149 @p_103 @p_127 @p_143) :rule la_generic :args (1 1 1 1 (- 1) (- 1) 1 1 (- 1) 1 (- 1) 1 (- 1))) (step t134 (cl @p_140 @p_32 @p_112 @p_96 @p_149 @p_103 @p_127 @p_143) :rule resolution :premises (t133 t17 t19 t20 t22 t23)) (step t135 (cl @p_167 @p_104 @p_84) :rule eq_transitive) (step t136 (cl @p_140 @p_32 @p_40 @p_145 @p_148 @p_130 @p_149 @p_127 @p_143) :rule la_generic :args (1 1 1 1 (- 1) (- 1) 1 1 (- 1))) (step t137 (cl @p_140 @p_32 @p_40 @p_149 @p_127 @p_143) :rule resolution :premises (t136 t17 t19 t20)) (step t138 (cl @p_119 @p_119 @p_120 @p_168) :rule eq_congruent_pred) (step t139 (cl @p_119 @p_120 @p_168) :rule contraction :premises (t138)) (step t140 (cl @p_119 @p_120) :rule resolution :premises (t139 t86)) (step t141 (cl @p_30 @p_136 @p_38 @p_145 @p_141 @p_130 @p_142 @p_127 @p_143) :rule la_generic :args (1 1 1 (- 1) (- 1) 1 1 (- 1) 1)) (step t142 (cl @p_30 @p_136 @p_38 @p_142 @p_127 @p_143) :rule resolution :premises (t141 t17 t18 t20)) (step t143 (cl @p_40 @p_112 @p_90 @p_168 @p_36 @p_159 @p_145 @p_141 @p_148 @p_130 @p_149 @p_142 @p_127 @p_143) :rule la_generic :args (1 1 1 1 2 1 (- 1) (- 2) (- 1) (- 1) 1 2 1 1)) (step t144 (cl @p_40 @p_112 @p_90 @p_36 @p_149 @p_142 @p_127 @p_143) :rule resolution :premises (t143 t16 t17 t18 t19 t20 t86)) (step t145 (cl @p_36 @p_42 @p_169 @p_32 @p_141 @p_148 @p_130 @p_134 @p_149 @p_142 @p_103 @p_127) :rule la_generic :args (1 1 1 1 (- 1) (- 1) (- 1) 1 1 1 (- 1) 1)) (step t146 (cl @p_36 @p_42 @p_169 @p_32 @p_149 @p_142 @p_103 @p_127) :rule resolution :premises (t145 t18 t19 t20 t22)) (step t147 (cl @p_125 (not @p_170)) :rule la_generic :args (2 1)) (step t148 (cl @p_125 @p_149 @p_138) :rule th_resolution :premises (t147 t112)) (step t149 (cl @p_125 @p_149) :rule resolution :premises (t148 t38)) (step t150 (cl @p_120 @p_36 @p_145 @p_141 @p_171 @p_142 @p_143) :rule la_generic :args (1 2 (- 2) (- 2) 1 2 2)) (step t151 (cl @p_120 @p_36 @p_171 @p_142 @p_143) :rule resolution :premises (t150 t17 t18)) (step t152 (cl (! (= @p_41 @p_41) :named @p_176)) :rule eq_reflexive) (step t153 (cl @p_144 @p_132 @p_36 @p_148 @p_131 @p_134 @p_149 @p_126 @p_103) :rule la_generic :args (2 1 2 2 (- 2) (- 2) (- 2) 2 2)) (step t154 (cl @p_144 @p_132 @p_36 @p_149 @p_126 @p_103) :rule resolution :premises (t153 t19 t21 t22)) (step t155 (cl @p_144 (! (<= @p_41 x7$) :named @p_172) @p_148 @p_130 @p_149 @p_127) :rule la_generic :args (2 1 2 2 (- 2) (- 2))) (step t156 (cl @p_144 @p_172 @p_149 @p_127) :rule resolution :premises (t155 t19 t20)) (step t157 (cl @p_173 @p_99) :rule la_generic :args ((- 2) 2)) (step t158 (cl @p_42 @p_151 @p_152 @p_91 @p_159 @p_141 @p_148 @p_130 @p_131 @p_134 @p_171 @p_149 @p_126 @p_103 @p_127 @p_139) :rule la_generic :args (2 1 1 1 (- 1) 1 (- 1) (- 2) (- 1) 1 1 1 1 (- 1) 2 (- 1))) (step t159 (cl @p_42 @p_151 @p_152 @p_91 @p_171 @p_149 @p_126 @p_103 @p_127 @p_139) :rule resolution :premises (t158 t16 t18 t19 t20 t21 t22)) (step t160 (cl @p_90 @p_158 @p_123 @p_36 @p_159 @p_141 @p_148 @p_131 @p_134 @p_171 @p_149 @p_126 @p_103 @p_139) :rule la_generic :args (1 1 1 2 1 (- 1) 1 (- 1) (- 1) (- 1) (- 1) 1 1 1)) (step t161 (cl @p_90 @p_158 @p_123 @p_36 @p_171 @p_149 @p_126 @p_103 @p_139) :rule resolution :premises (t160 t16 t18 t19 t21 t22)) (step t162 (cl @p_156 @p_42 @p_159 @p_145 @p_148 @p_130 @p_134 @p_157 @p_171 @p_149 @p_97 @p_103 @p_127 @p_143) :rule la_generic :args (1 2 1 1 (- 1) (- 1) 1 (- 1) (- 1) 1 1 (- 1) 1 (- 1))) (step t163 (cl @p_156 @p_42 @p_171 @p_149 @p_97 @p_103 @p_127 @p_143) :rule resolution :premises (t162 t16 t17 t19 t20 t22 t23)) (step t164 (cl @p_144 @p_90 @p_112 @p_159 @p_145 @p_171 @p_143) :rule la_generic :args (1 1 1 1 1 (- 1) (- 1))) (step t165 (cl @p_144 @p_90 @p_112 @p_171 @p_143) :rule resolution :premises (t164 t16 t17)) (step t166 (cl @p_160 @p_36 @p_159 @p_145 @p_148 @p_130 @p_131 @p_134 @p_157 @p_171 @p_149 @p_97 @p_126 @p_103 @p_127 @p_143) :rule la_generic :args (1 2 (- 1) (- 1) 1 (- 1) (- 2) (- 1) 1 1 (- 1) (- 1) 2 1 1 1)) (step t167 (cl @p_160 @p_36 @p_171 @p_149 @p_97 @p_126 @p_103 @p_127 @p_143) :rule resolution :premises (t166 t16 t17 t19 t20 t21 t22 t23)) (step t168 (cl @p_160 @p_159 @p_145 @p_148 @p_130 @p_134 @p_157 @p_171 @p_149 @p_104 @p_127 @p_143 @p_97) :rule la_generic :args (1 (- 1) (- 1) 1 1 (- 1) 1 1 (- 1) 1 (- 1) 1 (- 1))) (step t169 (cl @p_160 @p_171 @p_149 @p_104 @p_127 @p_143 @p_97) :rule resolution :premises (t168 t16 t17 t19 t20 t22 t23)) (step t170 (cl @p_160 @p_95 @p_159 @p_145 @p_148 @p_130 @p_134 @p_157 @p_171 @p_149 @p_104 @p_127 @p_143) :rule la_generic :args (1 1 (- 1) (- 1) 1 1 (- 1) 1 1 (- 1) 1 (- 1) 1)) (step t171 (cl @p_160 @p_95 @p_171 @p_149 @p_104 @p_127 @p_143) :rule resolution :premises (t170 t16 t17 t19 t20 t22 t23)) (step t172 (cl @p_91 @p_151 @p_159 @p_141 @p_148 @p_130 @p_131 @p_134 @p_114 @p_171 @p_149 @p_104 @p_126 @p_127 @p_139) :rule la_generic :args (1 1 (- 1) 1 (- 1) (- 2) (- 1) 1 1 1 1 (- 1) 1 2 (- 1))) (step t173 (cl @p_91 @p_151 @p_114 @p_171 @p_149 @p_104 @p_126 @p_127 @p_139) :rule resolution :premises (t172 t16 t18 t19 t20 t21 t22)) (step t174 (cl @p_90 @p_158 @p_159 @p_141 @p_148 @p_130 @p_131 @p_134 @p_114 @p_171 @p_149 @p_104 @p_126 @p_127 @p_139) :rule la_generic :args (1 1 1 (- 1) 1 2 1 (- 1) (- 1) (- 1) (- 1) 1 (- 1) (- 2) 1)) (step t175 (cl @p_90 @p_158 @p_114 @p_171 @p_149 @p_104 @p_126 @p_127 @p_139) :rule resolution :premises (t174 t16 t18 t19 t20 t21 t22)) (step t176 (cl @p_156 @p_32 @p_159 @p_145 @p_141 @p_148 @p_130 @p_131 @p_134 @p_157 @p_96 @p_171 @p_149 @p_104 @p_126 @p_127 @p_139 @p_143) :rule la_generic :args (1 2 1 1 (- 2) 1 3 2 (- 1) (- 1) 1 (- 1) (- 1) 1 (- 2) (- 3) 2 (- 1))) (step t177 (cl @p_156 @p_32 @p_96 @p_171 @p_149 @p_104 @p_126 @p_127 @p_139 @p_143) :rule resolution :premises (t176 t16 t17 t18 t19 t20 t21 t22 t23)) (step t178 (cl @p_156 @p_159 @p_145 @p_148 @p_130 @p_134 @p_157 @p_171 @p_149 @p_104 @p_127 @p_143 @p_97) :rule la_generic :args (1 1 1 (- 1) (- 1) 1 (- 1) (- 1) 1 (- 1) 1 (- 1) 1)) (step t179 (cl @p_156 @p_171 @p_149 @p_104 @p_127 @p_143 @p_97) :rule resolution :premises (t178 t16 t17 t19 t20 t22 t23)) (step t180 (cl @p_144 @p_125 @p_136 @p_148 @p_130 @p_127 @p_138) :rule la_generic :args (1 2 1 1 1 (- 1) (- 1))) (step t181 (cl @p_144 @p_125 @p_136 @p_127 @p_138) :rule resolution :premises (t180 t19 t20)) (step t182 (cl @p_144 @p_125 @p_132 @p_148 @p_131 @p_134 @p_126 @p_103 @p_138) :rule la_generic :args (2 2 1 2 (- 2) (- 2) 2 2 (- 2))) (step t183 (cl @p_144 @p_125 @p_132 @p_126 @p_103 @p_138) :rule resolution :premises (t182 t19 t21 t22)) (step t184 (cl @p_91 @p_151 @p_159 @p_141 @p_148 @p_131 @p_134 @p_114 @p_171 @p_126 @p_103 @p_138 @p_139) :rule la_generic :args (1 1 (- 1) 1 (- 1) 1 1 1 1 (- 1) (- 1) 1 (- 1))) (step t185 (cl @p_91 @p_151 @p_114 @p_171 @p_126 @p_103 @p_138 @p_139) :rule resolution :premises (t184 t16 t18 t19 t21 t22)) (step t186 (cl @p_90 @p_158 @p_159 @p_141 @p_148 @p_131 @p_134 @p_114 @p_171 @p_126 @p_103 @p_138 @p_139) :rule la_generic :args (1 1 1 (- 1) 1 (- 1) (- 1) (- 1) (- 1) 1 1 (- 1) 1)) (step t187 (cl @p_90 @p_158 @p_114 @p_171 @p_126 @p_103 @p_138 @p_139) :rule resolution :premises (t186 t16 t18 t19 t21 t22)) (step t188 (cl @p_109 @p_91 @p_114 @p_171 @p_126 @p_103 @p_138 @p_139 @p_90) :rule resolution :premises (t128 t74 t26 t185 t55)) (step t189 (cl @p_156 @p_159 @p_145 @p_148 @p_130 @p_131 @p_134 @p_157 @p_171 @p_126 @p_103 @p_127 @p_138 @p_143 @p_97) :rule la_generic :args (1 1 1 (- 1) 1 2 1 (- 1) (- 1) (- 2) (- 1) (- 1) 1 (- 1) 1)) (step t190 (cl @p_156 @p_171 @p_126 @p_103 @p_127 @p_138 @p_143 @p_97) :rule resolution :premises (t189 t16 t17 t19 t20 t21 t22 t23)) (step t191 (cl @p_160 @p_159 @p_145 @p_148 @p_130 @p_131 @p_134 @p_157 @p_171 @p_126 @p_103 @p_127 @p_138 @p_143 @p_97) :rule la_generic :args (1 (- 1) (- 1) 1 (- 1) (- 2) (- 1) 1 1 2 1 1 (- 1) 1 (- 1))) (step t192 (cl @p_160 @p_171 @p_126 @p_103 @p_127 @p_138 @p_143 @p_97) :rule resolution :premises (t191 t16 t17 t19 t20 t21 t22 t23)) (step t193 (cl @p_160 @p_95 @p_159 @p_145 @p_148 @p_130 @p_131 @p_134 @p_157 @p_171 @p_126 @p_103 @p_127 @p_138 @p_143) :rule la_generic :args (1 1 (- 1) (- 1) 1 (- 1) (- 2) (- 1) 1 1 2 1 1 (- 1) 1)) (step t194 (cl @p_160 @p_95 @p_171 @p_126 @p_103 @p_127 @p_138 @p_143) :rule resolution :premises (t193 t16 t17 t19 t20 t21 t22 t23)) (step t195 (cl @p_125 @p_117 @p_132 @p_148 @p_131 @p_134 @p_142 @p_126 @p_103 @p_138) :rule la_generic :args (2 1 1 2 (- 2) (- 2) (- 1) 2 2 (- 2))) (step t196 (cl @p_125 @p_117 @p_132 @p_142 @p_126 @p_103 @p_138) :rule resolution :premises (t195 t19 t21 t22)) (step t197 (cl @p_90 @p_117 @p_112 @p_159 @p_145 @p_171 @p_142 @p_143) :rule la_generic :args (2 1 2 2 2 (- 2) (- 1) (- 2))) (step t198 (cl @p_90 @p_117 @p_112 @p_171 @p_142 @p_143) :rule resolution :premises (t197 t16 t17)) (step t199 (cl @p_90 @p_151 @p_159 @p_145 @p_141 @p_148 @p_131 @p_134 @p_171 @p_142 @p_126 @p_103 @p_115 @p_138 @p_143) :rule la_generic :args (1 1 1 2 1 (- 1) 1 1 (- 1) (- 1) (- 1) (- 1) 1 1 (- 2))) (step t200 (cl @p_90 @p_151 @p_171 @p_142 @p_126 @p_103 @p_115 @p_138 @p_143) :rule resolution :premises (t199 t16 t17 t18 t19 t21 t22)) (step t201 (cl @p_91 @p_158 @p_159 @p_145 @p_141 @p_148 @p_131 @p_134 @p_171 @p_142 @p_126 @p_103 @p_115 @p_138 @p_143) :rule la_generic :args (1 1 (- 1) (- 2) (- 1) 1 (- 1) (- 1) 1 1 1 1 (- 1) (- 1) 2)) (step t202 (cl @p_91 @p_158 @p_171 @p_142 @p_126 @p_103 @p_115 @p_138 @p_143) :rule resolution :premises (t201 t16 t17 t18 t19 t21 t22)) (step t203 (cl @p_46 @p_91 @p_146 @p_159 @p_145 @p_171 @p_142 @p_143) :rule la_generic :args (2 2 1 (- 2) (- 2) 2 1 2)) (step t204 (cl @p_46 @p_91 @p_146 @p_171 @p_142 @p_143) :rule resolution :premises (t203 t16 t17)) (step t205 (cl @p_173 @p_38 @p_131 @p_134 @p_126 @p_103) :rule la_generic :args (1 2 (- 2) (- 2) 2 2)) (step t206 (cl @p_173 @p_38 @p_126 @p_103) :rule resolution :premises (t205 t21 t22)) (step t207 (cl @p_96 @p_174 @p_135 @p_95) :rule eq_congruent_pred) (step t208 (cl @p_96 @p_135 @p_95) :rule th_resolution :premises (t207 t65)) (step t209 (cl @p_142 @p_77 @p_117) :rule resolution :premises (t87 t80 t35)) (step t210 (cl @p_137 @p_116 @p_42 @p_141 @p_130 @p_131 @p_142 @p_126 @p_127) :rule la_generic :args (2 1 2 2 (- 2) (- 2) (- 1) 2 2)) (step t211 (cl @p_137 @p_116 @p_42 @p_142 @p_126 @p_127) :rule resolution :premises (t210 t18 t20 t21)) (step t212 (cl @p_101 @p_103) :rule resolution :premises (t70 t47)) (step t213 (cl @p_146 @p_122) :rule la_generic :args (2 2)) (step t214 (cl @p_142 @p_137 @p_42 @p_126 @p_127) :rule resolution :premises (t213 t103 t35 t87 t211)) (step t215 (cl @p_137 @p_42 @p_144 @p_141 @p_130 @p_131 @p_126 @p_127 @p_139) :rule la_generic :args (1 1 1 1 (- 1) (- 1) 1 1 (- 1))) (step t216 (cl @p_137 @p_42 @p_144 @p_126 @p_127 @p_139) :rule resolution :premises (t215 t18 t20 t21)) (step t217 (cl @p_137 @p_144 @p_128 @p_141 @p_148 @p_149 @p_139) :rule la_generic :args (1 2 1 1 1 (- 1) (- 1))) (step t218 (cl @p_137 @p_144 @p_128 @p_149 @p_139) :rule resolution :premises (t217 t18 t19)) (step t219 (cl @p_137 @p_169 @p_141 @p_148 @p_130 @p_131 @p_134 @p_149 @p_104 @p_126 @p_127 @p_139) :rule la_generic :args (1 1 1 (- 1) (- 2) (- 1) 1 1 (- 1) 1 2 (- 1))) (step t220 (cl @p_137 @p_169 @p_149 @p_104 @p_126 @p_127 @p_139) :rule resolution :premises (t219 t18 t19 t20 t21 t22)) (step t221 (cl @p_156 @p_159 @p_145 @p_141 @p_148 @p_130 @p_131 @p_134 @p_157 @p_96 @p_171 @p_149 @p_104 @p_126 @p_127 @p_139 (! (not @p_75) :named @p_175)) :rule la_generic :args (1 1 1 (- 2) 1 3 2 (- 1) (- 1) 1 (- 1) (- 1) 1 (- 2) (- 3) 2 (- 1))) (step t222 (cl @p_156 @p_96 @p_171 @p_149 @p_104 @p_126 @p_127 @p_139 @p_175) :rule resolution :premises (t221 t16 t17 t18 t19 t20 t21 t22 t23)) (step t223 (cl @p_108 @p_91 @p_114 @p_171 @p_149 @p_104 @p_126 @p_127 @p_139 @p_90) :rule resolution :premises (t74 t173 t175)) (step t224 (cl @p_91 @p_114 @p_171 @p_149 @p_104 @p_126 @p_127 @p_139 @p_90) :rule resolution :premises (t128 t26 t223 t55)) (step t225 (cl @p_160 @p_159 @p_145 @p_141 @p_148 @p_130 @p_131 @p_134 @p_157 @p_96 @p_171 @p_149 @p_104 @p_126 @p_127 @p_139 @p_175) :rule la_generic :args (1 (- 1) (- 1) 2 (- 1) (- 3) (- 2) 1 1 (- 1) 1 1 (- 1) 2 3 (- 2) 1)) (step t226 (cl @p_160 @p_96 @p_171 @p_149 @p_104 @p_126 @p_127 @p_139 @p_175) :rule resolution :premises (t225 t16 t17 t18 t19 t20 t21 t22 t23)) (step t227 (cl @p_96 @p_171 @p_149 @p_104 @p_126 @p_127 @p_139 @p_175 @p_114) :rule resolution :premises (t226 t224 t222)) (step t228 (cl @p_140 @p_137 @p_40 @p_145 @p_148 @p_130 @p_149 @p_127 @p_175) :rule la_generic :args (1 1 1 1 (- 1) (- 1) 1 1 (- 1))) (step t229 (cl @p_140 @p_137 @p_40 @p_149 @p_127 @p_175) :rule resolution :premises (t228 t17 t19 t20)) (step t230 (cl (not @p_176) @p_126 @p_172 (! (not @p_154) :named @p_177)) :rule eq_congruent_pred) (step t231 (cl @p_126 @p_172 @p_177) :rule th_resolution :premises (t230 t152)) (step t232 (cl (not @p_172) @p_136) :rule la_generic :args (1 2)) (step t233 (cl @p_136 @p_126) :rule resolution :premises (t232 t231 t120 t44)) (step t234 (cl (! (<= x4$ @p_35) :named @p_178) @p_40 @p_148 @p_130 @p_149 @p_127) :rule la_generic :args (1 2 (- 2) (- 2) 2 2)) (step t235 (cl @p_178 @p_40 @p_149 @p_127) :rule resolution :premises (t234 t19 t20)) (step t236 (cl @p_142 (not (! (= @p_35 @p_35) :named @p_179)) (! (not @p_178) :named @p_180) @p_146) :rule eq_congruent_pred) (step t237 (cl @p_179) :rule eq_reflexive) (step t238 (cl @p_142 @p_180 @p_146) :rule th_resolution :premises (t236 t237)) (step t239 (cl @p_180 @p_77) :rule resolution :premises (t238 t209 t34 t35)) (step t240 (cl @p_137 @p_112 @p_180 @p_90 @p_159 @p_145 @p_171 @p_175) :rule la_generic :args (4 2 1 2 2 2 (- 2) (- 2))) (step t241 (cl @p_137 @p_112 @p_180 @p_90 @p_171 @p_175) :rule resolution :premises (t240 t16 t17)) (step t242 (cl @p_36 @p_128 @p_30 @p_145 @p_141 @p_148 @p_149 @p_139 @p_143) :rule la_generic :args (3 2 1 (- 1) (- 1) 2 (- 2) 1 1)) (step t243 (cl @p_36 @p_128 @p_30 @p_149 @p_139 @p_143) :rule resolution :premises (t242 t17 t18 t19)) (step t244 (cl @p_171 @p_126 @p_103 @p_127 @p_138 @p_143 @p_139 @p_90 @p_117 @p_142 @p_125) :rule resolution :premises (t190 t188 t50 t187 t49 t52 t67 t198 t196)) (step t245 (cl @p_146 @p_139) :rule resolution :premises (t213 t111)) (step t246 (cl @p_171 @p_126 @p_103 @p_127 @p_138 @p_143 @p_139 @p_90 @p_125 @p_117) :rule resolution :premises (t190 t188 t50 t187 t49 t52 t67 t165 t183 t34 t244)) (step t247 (cl @p_171 @p_126 @p_103 @p_127 @p_138 @p_143 @p_139 @p_125 @p_117) :rule resolution :premises (t59 t49 t57 t50 t194 t192 t246)) (step t248 (cl @p_128 (not (! (= x6$ @p_39) :named @p_181))) :rule la_generic :args (2 1)) (step t249 (cl @p_127 (! (not @p_81) :named @p_182) @p_181) :rule eq_transitive) (step t250 (cl @p_128 @p_127 @p_182) :rule th_resolution :premises (t248 t249)) (step t251 (cl @p_128 @p_127) :rule resolution :premises (t250 t41)) (step t252 (cl @p_87 @p_135) :rule resolution :premises (t57 t208 t59 t49 t50)) (step t253 (cl @p_171 @p_149 @p_104 @p_126 @p_127 @p_139 @p_143 @p_114 @p_90) :rule resolution :premises (t32 t177 t227 t49 t50 t179 t224)) (step t254 (cl @p_90 @p_171 @p_143 @p_40 @p_36 @p_149 @p_127 @p_104 @p_126 @p_139) :rule resolution :premises (t34 t165 t144 t52 t253)) (step t255 (cl @p_171 @p_127 @p_143 @p_40 @p_126 @p_101) :rule resolution :premises (t59 t49 t50 t57 t169 t171 t254 t239 t235 t37 t93 t47)) (step t256 (cl @p_160 @p_171 @p_97 @p_126 @p_103 @p_127 @p_143) :rule resolution :premises (t167 t37 t38 t192)) (step t257 (cl @p_42 @p_91 @p_171 @p_149 @p_126 @p_103 @p_127 @p_139 @p_108 @p_114 @p_90 @p_36 @p_165) :rule resolution :premises (t159 t74 t90 t161 t132)) (step t258 (cl @p_90 @p_171 @p_143 @p_40 @p_149 @p_127 @p_42 @p_126 @p_103 @p_139 @p_97) :rule resolution :premises (t34 t165 t144 t52 t257 t128 t26 t55 t163 t149)) (step t259 (cl @p_171 @p_126 @p_103 @p_127 @p_143 @p_139 @p_90 @p_40 @p_42 @p_97) :rule resolution :premises (t247 t38 t37 t258 t245)) (step t260 (cl @p_171 @p_126 @p_143 @p_127 @p_40 @p_38) :rule resolution :premises (t74 t128 t202 t200 t26 t53 t55 t204 t190 t38 t37 t209 t235 t34 t239 t35 t259 t256 t252 t206 t46 t255)) (step t261 (cl @p_126 @p_127 @p_137 @p_40 @p_77) :rule resolution :premises (t93 t37 t214 t235 t34 t239 t35)) (step t262 (cl @p_137 @p_42 @p_126 @p_127 @p_139) :rule resolution :premises (t34 t216 t214)) (step t263 (cl @p_171 @p_126 @p_127 @p_40 @p_38) :rule resolution :premises (t52 t241 t227 t226 t49 t220 t47 t262 t235 t37 t38 t101 t103 t245 t261 t32 t31 t260)) (step t264 (cl @p_140 @p_137 @p_40 @p_149 @p_127) :rule resolution :premises (t229 t32)) (step t265 (cl @p_140 @p_40 @p_149 @p_127) :rule resolution :premises (t137 t31 t264)) (step t266 (cl @p_140 @p_42 @p_126 @p_127 @p_139) :rule resolution :premises (t34 t109 t107 t31 t262 t245)) (step t267 (cl @p_126 @p_127 @p_38) :rule resolution :premises (t31 t105 t214 t34 t35 t266 t93 t37 t265 t28 t263 t233)) (step t268 (cl @p_140 @p_169 @p_177 @p_137 @p_145 @p_141 @p_148 @p_130 @p_131 @p_134 @p_149 @p_142 @p_103 @p_127 @p_175) :rule la_generic :args (2 1 1 1 2 (- 1) (- 3) (- 2) 1 1 3 1 (- 1) 2 (- 2))) (step t269 (cl @p_140 @p_169 @p_177 @p_137 @p_149 @p_142 @p_103 @p_127 @p_175) :rule resolution :premises (t268 t17 t18 t19 t20 t21 t22)) (step t270 (cl @p_140 @p_137 @p_90 @p_168 @p_112 @p_159) :rule la_generic :args (1 1 1 1 1 1)) (step t271 (cl @p_140 @p_137 @p_90 @p_112) :rule resolution :premises (t270 t16 t86)) (step t272 (cl @p_91 @p_121 @p_177 @p_151 @p_159 @p_145 @p_141 @p_148 @p_130 @p_131 @p_134 @p_114 @p_149 @p_142 @p_103 @p_127 @p_175) :rule la_generic :args (1 1 1 1 (- 1) 2 (- 1) (- 3) (- 2) 1 1 1 3 1 (- 1) 2 (- 2))) (step t273 (cl @p_91 @p_121 @p_177 @p_151 @p_114 @p_149 @p_142 @p_103 @p_127 @p_175) :rule resolution :premises (t272 t16 t17 t18 t19 t20 t21 t22)) (step t274 (cl @p_91 @p_121 @p_177 @p_114 @p_149 @p_142 @p_103 @p_127 @p_175 @p_96 @p_150 @p_90) :rule resolution :premises (t273 t74 t128 t124 t26 t132 t55)) (step t275 (cl @p_156 @p_168 @p_159 @p_145 @p_148 @p_130 @p_134 @p_157 @p_149 @p_103 @p_127 @p_175 @p_96) :rule la_generic :args (1 1 1 (- 1) 1 1 (- 1) (- 1) (- 1) 1 (- 1) 1 1)) (step t276 (cl @p_156 @p_149 @p_103 @p_127 @p_175 @p_96) :rule resolution :premises (t275 t16 t17 t19 t20 t22 t23 t86)) (step t277 (cl @p_91 @p_121 @p_177 @p_149 @p_142 @p_103 @p_127 @p_175 @p_96 @p_150 @p_90 @p_140 @p_137) :rule resolution :premises (t52 t274 t271)) (step t278 (cl @p_160 @p_121 @p_159 @p_145 @p_148 @p_130 @p_134 @p_157 @p_149 @p_103 @p_127 @p_175 @p_96) :rule la_generic :args (1 1 (- 1) 1 (- 1) (- 1) 1 1 1 (- 1) 1 (- 1) (- 1))) (step t279 (cl @p_160 @p_121 @p_149 @p_103 @p_127 @p_175 @p_96) :rule resolution :premises (t278 t16 t17 t19 t20 t22 t23)) (step t280 (cl @p_121 @p_149 @p_103 @p_127 @p_175 @p_177 @p_142 @p_150 @p_140 @p_137) :rule resolution :premises (t279 t277 t276 t49 t269)) (step t281 (cl @p_140 @p_177 @p_101 @p_145 @p_141 @p_148 @p_130 @p_131 @p_149 @p_142 @p_127 @p_175) :rule la_generic :args (1 1 1 1 (- 1) (- 2) (- 1) 1 2 1 1 (- 1))) (step t282 (cl @p_140 @p_177 @p_101 @p_149 @p_142 @p_127 @p_175) :rule resolution :premises (t281 t17 t18 t19 t20 t21)) (step t283 (cl @p_140 @p_177 @p_149 @p_142 @p_127 @p_175 @p_150 @p_137) :rule resolution :premises (t282 t46 t280 t140 t29)) (step t284 (cl @p_160 @p_155 @p_159 @p_145 @p_141 @p_148 @p_130 @p_131 @p_134 @p_157 @p_171 @p_149 @p_104 @p_142 @p_127 @p_175 @p_96) :rule la_generic :args (1 2 (- 1) (- 1) 2 3 1 (- 2) 1 1 1 (- 3) (- 1) (- 2) (- 1) 1 (- 1))) (step t285 (cl @p_160 @p_155 @p_171 @p_149 @p_104 @p_142 @p_127 @p_175 @p_96) :rule resolution :premises (t284 t16 t17 t18 t19 t20 t21 t22 t23)) (step t286 (cl @p_136 @p_101 @p_169 @p_134 @p_104) :rule la_generic :args (1 1 1 1 (- 1))) (step t287 (cl @p_136 @p_101 @p_169 @p_104) :rule resolution :premises (t286 t22)) (step t288 (cl @p_136 @p_101 @p_160 @p_155 @p_171 @p_149 @p_142 @p_127 @p_175) :rule resolution :premises (t287 t49 t285 t47)) (step t289 (cl @p_169 @p_173) :rule la_generic :args (2 1)) (step t290 (cl @p_42 @p_155 @p_120 @p_145 @p_141 @p_148 @p_130 @p_131 @p_171 @p_149 @p_142 @p_127 @p_175) :rule la_generic :args (2 2 1 (- 2) 2 4 2 (- 2) 1 (- 4) (- 2) (- 2) 2)) (step t291 (cl @p_42 @p_155 @p_120 @p_171 @p_149 @p_142 @p_127 @p_175) :rule resolution :premises (t290 t17 t18 t19 t20 t21)) (step t292 (cl @p_155 @p_171 @p_149 @p_142 @p_127 @p_175 @p_160 @p_136) :rule resolution :premises (t291 t279 t49 t289 t99 t46 t288)) (step t293 (cl @p_136 @p_112 @p_90 @p_30 @p_159 @p_145 @p_148 @p_130 @p_171 @p_149 @p_127 @p_175) :rule la_generic :args (1 1 1 2 1 (- 1) 1 1 (- 1) (- 1) (- 1) 1)) (step t294 (cl @p_136 @p_112 @p_90 @p_30 @p_171 @p_149 @p_127 @p_175) :rule resolution :premises (t293 t16 t17 t19 t20)) (step t295 (cl @p_177 @p_114 @p_149 @p_142 @p_103 @p_127 @p_175 @p_150 @p_90 @p_155 @p_171 @p_136) :rule resolution :premises (t274 t276 t49 t289 t291 t99 t212)) (step t296 (cl @p_177 @p_151 @p_145 @p_141 @p_148 @p_130 @p_131 @p_157 @p_114 @p_96 @p_149 @p_142 @p_127 @p_175) :rule la_generic :args (1 1 1 (- 1) (- 2) (- 1) 1 (- 1) 1 1 2 1 1 (- 1))) (step t297 (cl @p_177 @p_151 @p_114 @p_96 @p_149 @p_142 @p_127 @p_175) :rule resolution :premises (t296 t17 t18 t19 t20 t21 t23)) (step t298 (cl @p_155 @p_158 @p_145 @p_141 @p_148 @p_130 @p_131 @p_157 @p_114 @p_96 @p_149 @p_142 @p_127 @p_175) :rule la_generic :args (1 1 (- 1) 1 2 1 (- 1) 1 (- 1) (- 1) (- 2) (- 1) (- 1) 1)) (step t299 (cl @p_155 @p_158 @p_114 @p_96 @p_149 @p_142 @p_127 @p_175) :rule resolution :premises (t298 t17 t18 t19 t20 t21 t23)) (step t300 (cl @p_156 @p_177 @p_159 @p_145 @p_141 @p_148 @p_130 @p_131 @p_134 @p_157 @p_96 @p_171 @p_149 @p_142 @p_127 @p_175 @p_104) :rule la_generic :args (1 2 1 1 (- 2) (- 3) (- 1) 2 (- 1) (- 1) 1 (- 1) 3 2 1 (- 1) 1)) (step t301 (cl @p_156 @p_177 @p_96 @p_171 @p_149 @p_142 @p_127 @p_175 @p_104) :rule resolution :premises (t300 t16 t17 t18 t19 t20 t21 t22 t23)) (step t302 (cl @p_177 @p_142 @p_127 @p_155 @p_136 @p_150 @p_137 @p_38 @p_116) :rule resolution :premises (t301 t55 t26 t128 t74 t299 t297 t49 t287 t47 t46 t295 t52 t294 t292 t28 t283 t37 t38 t101 t32)) (step t303 (cl @p_106 @p_84) :rule resolution :premises (t72 t135 t75 t47 t46)) (step t304 (cl @p_127 @p_150 @p_38 @p_136 @p_177 @p_155 @p_34) :rule resolution :premises (t74 t116 t124 t90 t128 t132 t26 t52 t55 t134 t122 t126 t49 t146 t212 t303 t114 t37 t140 t105 t29 t142 t31 t302 t87 t34)) (step t305 (cl @p_150 @p_150 @p_153 @p_177) :rule eq_congruent_pred) (step t306 (cl @p_150 @p_153 @p_177) :rule contraction :premises (t305)) (step t307 (cl @p_127) :rule resolution :premises (t181 t38 t37 t156 t304 t306 t120 t232 t44 t43 t267 t251)) (step t308 (cl @p_38) :rule resolution :premises (t40 t307)) (step t309 (cl @p_81) :rule resolution :premises (t41 t308)) (step t310 (cl @p_125 @p_128 @p_136 @p_130 @p_182) :rule la_generic :args (1 1 1 1 (- 1))) (step t311 (cl @p_125 @p_136) :rule resolution :premises (t310 t20 t308 t309)) (step t312 (cl @p_125 @p_128 @p_137 @p_141 @p_148 @p_142 @p_138) :rule la_generic :args (2 1 1 1 1 (- 1) (- 1))) (step t313 (cl @p_125 @p_137 @p_142 @p_138) :rule resolution :premises (t312 t18 t19 t308)) (step t314 (cl @p_156 @p_159 @p_145 @p_148 @p_130 @p_134 @p_157 @p_171 @p_103 @p_182 @p_138 @p_143 @p_96) :rule la_generic :args (1 1 1 (- 1) 1 (- 1) (- 1) (- 1) 1 (- 1) 1 (- 1) 1)) (step t315 (cl @p_156 @p_171 @p_103 @p_138 @p_143 @p_96) :rule resolution :premises (t314 t16 t17 t19 t20 t22 t23 t309)) (step t316 (cl @p_128 @p_169 @p_131 @p_134 @p_126 @p_103) :rule la_generic :args (1 1 1 1 (- 1) (- 1))) (step t317 (cl @p_169 @p_126 @p_103) :rule resolution :premises (t316 t21 t22 t308)) (step t318 (cl @p_182 @p_182 (! (not @p_183) :named @p_184) @p_129) :rule eq_congruent_pred) (step t319 (cl @p_182 @p_184 @p_129) :rule contraction :premises (t318)) (step t320 (cl @p_184 @p_129) :rule resolution :premises (t319 t309)) (step t321 (cl @p_129) :rule resolution :premises (t320 t91)) (step t322 (cl @p_125 @p_126 @p_101) :rule resolution :premises (t157 t95 t97 t47 t308 t321)) (step t323 (cl @p_109 @p_90 @p_171 @p_142 @p_126 @p_103 @p_115 @p_138 @p_143 @p_91) :rule resolution :premises (t128 t74 t26 t200 t55)) (step t324 (cl @p_160 @p_159 @p_145 @p_148 @p_130 @p_134 @p_157 @p_171 @p_103 @p_182 @p_138 @p_143 @p_96) :rule la_generic :args (1 (- 1) (- 1) 1 (- 1) 1 1 1 (- 1) 1 (- 1) 1 (- 1))) (step t325 (cl @p_160 @p_171 @p_103 @p_138 @p_143 @p_96) :rule resolution :premises (t324 t16 t17 t19 t20 t22 t23 t309)) (step t326 (cl @p_125) :rule resolution :premises (t325 t323 t202 t53 t204 t315 t28 t105 t31 t196 t313 t34 t183 t67 t49 t317 t46 t322 t43 t311 t38)) (step t327 (cl @p_78) :rule resolution :premises (t37 t326)) (step t328 (cl @p_36 @p_160 @p_121 @p_159 @p_141 @p_148 @p_130 @p_134 @p_157 @p_96 @p_171 @p_142 @p_103 @p_182 @p_149) :rule la_generic :args (2 2 1 (- 2) 2 2 (- 2) 2 2 (- 2) 1 (- 2) (- 2) 2 (- 2))) (step t329 (cl @p_160 @p_121 @p_96 @p_171 @p_142 @p_103) :rule resolution :premises (t328 t16 t18 t19 t20 t22 t23 t326 t327 t309)) (step t330 (cl @p_137 @p_128 @p_141 @p_148 @p_142 @p_149) :rule la_generic :args (1 1 1 1 (- 1) (- 1))) (step t331 (cl @p_137 @p_142) :rule resolution :premises (t330 t18 t19 t327 t308)) (step t332 (cl @p_171 @p_142 @p_143 @p_160 @p_96 @p_103) :rule resolution :premises (t151 t329 t326)) (step t333 (cl @p_160 @p_121 @p_159 @p_145 @p_141 @p_148 @p_130 @p_134 @p_157 @p_96 @p_149 @p_142 @p_103 @p_182 @p_143) :rule la_generic :args (1 1 (- 1) 1 2 1 (- 1) 1 1 (- 1) (- 1) (- 2) (- 1) 1 (- 1))) (step t334 (cl @p_160 @p_121 @p_96 @p_142 @p_103 @p_143) :rule resolution :premises (t333 t16 t17 t18 t19 t20 t22 t23 t327 t309)) (step t335 (cl @p_160 @p_142 @p_103 @p_143 @p_126) :rule resolution :premises (t334 t140 t29 t28 t332 t49 t317)) (step t336 (cl @p_128 @p_101 @p_40 @p_131 @p_126) :rule la_generic :args (1 1 1 1 (- 1))) (step t337 (cl @p_101 @p_40 @p_126) :rule resolution :premises (t336 t21 t308)) (step t338 (cl @p_151 @p_145 @p_141 @p_130 @p_131 @p_134 @p_157 @p_96 @p_142 @p_126 @p_103 @p_182 @p_143 @p_115) :rule la_generic :args (1 1 1 (- 1) 1 2 1 (- 1) (- 1) (- 1) (- 2) 1 (- 1) 1)) (step t339 (cl @p_151 @p_96 @p_142 @p_126 @p_103 @p_143 @p_115) :rule resolution :premises (t338 t17 t18 t20 t21 t22 t23 t309)) (step t340 (cl @p_151 @p_152 @p_40 @p_145 @p_141 @p_130 @p_131 @p_157 @p_96 @p_142 @p_126 @p_182 @p_143) :rule la_generic :args (1 1 2 1 1 (- 1) 1 (- 1) 1 (- 1) (- 1) 1 (- 1))) (step t341 (cl @p_151 @p_152 @p_40 @p_96 @p_142 @p_126 @p_143) :rule resolution :premises (t340 t17 t18 t20 t21 t23 t309)) (step t342 (cl @p_151 @p_40 @p_96 @p_142 @p_126 @p_143 @p_91 @p_165 @p_103) :rule resolution :premises (t341 t90 t132 t52 t53 t339)) (step t343 (cl @p_46 @p_123 @p_158 @p_145 @p_141 @p_130 @p_131 @p_134 @p_157 @p_96 @p_142 @p_126 @p_103 @p_182 @p_143) :rule la_generic :args (2 1 1 (- 1) (- 1) 1 (- 1) (- 2) (- 1) 1 1 1 2 (- 1) 1)) (step t344 (cl @p_46 @p_123 @p_158 @p_96 @p_142 @p_126 @p_103 @p_143) :rule resolution :premises (t343 t17 t18 t20 t21 t22 t23 t309)) (step t345 (cl @p_114 @p_158 @p_96 @p_142 @p_126 @p_103 @p_143 @p_91 @p_165) :rule resolution :premises (t78 t53 t344 t132)) (step t346 (cl @p_158 @p_145 @p_141 @p_130 @p_131 @p_134 @p_157 @p_96 @p_142 @p_126 @p_103 @p_115 @p_182 @p_143) :rule la_generic :args (1 (- 1) (- 1) 1 (- 1) (- 2) (- 1) 1 1 1 2 (- 1) (- 1) 1)) (step t347 (cl @p_158 @p_96 @p_142 @p_126 @p_103 @p_115 @p_143) :rule resolution :premises (t346 t17 t18 t20 t21 t22 t23 t309)) (step t348 (cl @p_96 @p_142 @p_126 @p_103 @p_143 @p_91 @p_40 @p_90) :rule resolution :premises (t347 t53 t52 t345 t74 t342 t128 t26 t55)) (step t349 (cl @p_156 @p_168 @p_159 @p_145 @p_141 @p_148 @p_130 @p_134 @p_157 @p_96 @p_149 @p_142 @p_103 @p_182 @p_143) :rule la_generic :args (1 1 1 (- 1) (- 2) (- 1) 1 (- 1) (- 1) 1 1 2 1 (- 1) 1)) (step t350 (cl @p_156 @p_96 @p_142 @p_103 @p_143) :rule resolution :premises (t349 t16 t17 t18 t19 t20 t22 t23 t327 t309 t86)) (step t351 (cl @p_126) :rule resolution :premises (t350 t348 t335 t31 t331 t34 t154 t67 t49 t317 t46 t337 t233 t327 t326)) (step t352 (cl @p_40) :rule resolution :premises (t43 t351)) (step t353 (cl @p_83) :rule resolution :premises (t44 t352)) (step t354 (cl @p_154) :rule resolution :premises (t120 t353)) (step t355 (cl @p_136 @p_112 @p_134 @p_157 @p_96 @p_103) :rule la_generic :args (1 1 1 1 (- 1) (- 1))) (step t356 (cl @p_112 @p_96 @p_103) :rule resolution :premises (t355 t22 t23 t352)) (step t357 (cl @p_177 @p_151 @p_145 @p_141 @p_130 @p_131 @p_157 @p_114 @p_96 @p_142 @p_182 @p_143) :rule la_generic :args (1 1 1 1 (- 1) 1 (- 1) 1 1 (- 1) 1 (- 1))) (step t358 (cl @p_151 @p_114 @p_96 @p_142 @p_143) :rule resolution :premises (t357 t17 t18 t20 t21 t23 t309 t354)) (step t359 (cl @p_120 @p_142 @p_143) :rule resolution :premises (t28 t29 t151 t140 t326)) (step t360 (cl @p_121 @p_142 @p_103 @p_143) :rule resolution :premises (t74 t124 t128 t132 t26 t358 t55 t52 t334 t356 t350 t49 t289 t99 t212 t327 t353 t352)) (step t361 (cl @p_128 @p_136 @p_177 @p_101 @p_131) :rule la_generic :args (1 1 1 1 1)) (step t362 (cl @p_101) :rule resolution :premises (t361 t21 t308 t352 t354)) (step t363 (cl @p_84) :rule resolution :premises (t46 t362)) (step t364 (cl @p_142) :rule resolution :premises (t360 t359 t31 t331 t363)) (step t365 (cl @p_34) :rule resolution :premises (t34 t364)) (step t366 (cl @p_77) :rule resolution :premises (t35 t365)) (step t367 (cl @p_137) :rule resolution :premises (t218 t366 t308 t327 t365)) (step t368 (cl @p_74) :rule resolution :premises (t31 t367)) (step t369 (cl @p_140) :rule resolution :premises (t107 t367 t368 t365)) (step t370 (cl) :rule resolution :premises (t243 t368 t327 t326 t366 t308 t369)) -eddc1b21e40e4136745e32bdb4d4d38dda531d49 67 0 +3982a32a09aa6c7a103906438cf1f4eedfd441ab 16 0 +unsat +(assume a0 (! (not (! (not (! (exists ((?v0 Int)) false) :named @p_2)) :named @p_3)) :named @p_1)) +(step t2 (cl (! (not @p_1) :named @p_6) @p_2) :rule not_not) +(step t3 (cl @p_2) :rule th_resolution :premises (t2 a0)) +(step t4 (cl (= @p_2 false)) :rule qnt_rm_unused) +(step t5 (cl (= @p_3 (! (not false) :named @p_4))) :rule cong :premises (t4)) +(step t6 (cl (! (= @p_1 (! (not @p_4) :named @p_7)) :named @p_5)) :rule cong :premises (t5)) +(step t7 (cl (! (not @p_5) :named @p_8) @p_6 @p_7) :rule equiv_pos2) +(step t8 (cl (not @p_6) @p_3) :rule not_not) +(step t9 (cl @p_8 @p_3 @p_7) :rule th_resolution :premises (t8 t7)) +(step t10 (cl (not @p_7) false) :rule not_not) +(step t11 (cl @p_8 @p_3 false) :rule th_resolution :premises (t10 t9)) +(step t12 (cl @p_7) :rule th_resolution :premises (t3 t6 t11)) +(step t13 (cl false) :rule th_resolution :premises (t10 t12)) +(step t14 (cl @p_4) :rule false) +(step t15 (cl) :rule resolution :premises (t13 t14)) +74d9e4df0e27627f80a8b0c06331b33d5f261c17 16 0 +unsat +(assume a0 (! (not (! (not (! (exists ((?v0 Real)) false) :named @p_2)) :named @p_3)) :named @p_1)) +(step t2 (cl (! (not @p_1) :named @p_6) @p_2) :rule not_not) +(step t3 (cl @p_2) :rule th_resolution :premises (t2 a0)) +(step t4 (cl (= @p_2 false)) :rule qnt_rm_unused) +(step t5 (cl (= @p_3 (! (not false) :named @p_4))) :rule cong :premises (t4)) +(step t6 (cl (! (= @p_1 (! (not @p_4) :named @p_7)) :named @p_5)) :rule cong :premises (t5)) +(step t7 (cl (! (not @p_5) :named @p_8) @p_6 @p_7) :rule equiv_pos2) +(step t8 (cl (not @p_6) @p_3) :rule not_not) +(step t9 (cl @p_8 @p_3 @p_7) :rule th_resolution :premises (t8 t7)) +(step t10 (cl (not @p_7) false) :rule not_not) +(step t11 (cl @p_8 @p_3 false) :rule th_resolution :premises (t10 t9)) +(step t12 (cl @p_7) :rule th_resolution :premises (t3 t6 t11)) +(step t13 (cl false) :rule th_resolution :premises (t10 t12)) +(step t14 (cl @p_4) :rule false) +(step t15 (cl) :rule resolution :premises (t13 t14)) +17b588accea82f232f85c0c80edac2592c83c741 44 0 +unsat +(assume a0 (! (not (! (forall ((?v0 Int) (?v1 Int)) (! (=> (! (and (! (= 0 ?v0) :named @p_2) (! (= 1 ?v1) :named @p_4)) :named @p_6) (! (not (! (= ?v0 ?v1) :named @p_8)) :named @p_10)) :named @p_12)) :named @p_1)) :named @p_14)) +(anchor :step t2 :args ((:= (?v0 Int) 0) (:= (?v1 Int) 1))) +(step t2.t1 (cl @p_2) :rule refl) +(step t2.t2 (cl (= @p_2 (! (= 0 0) :named @p_3))) :rule cong :premises (t2.t1)) +(step t2.t3 (cl @p_4) :rule refl) +(step t2.t4 (cl (= @p_4 (! (= 1 1) :named @p_5))) :rule cong :premises (t2.t3)) +(step t2.t5 (cl (= @p_6 (! (and @p_3 @p_5) :named @p_7))) :rule cong :premises (t2.t2 t2.t4)) +(step t2.t6 (cl @p_2) :rule refl) +(step t2.t7 (cl @p_4) :rule refl) +(step t2.t8 (cl (= @p_8 (! (= 0 1) :named @p_9))) :rule cong :premises (t2.t6 t2.t7)) +(step t2.t9 (cl (= @p_10 (! (not @p_9) :named @p_11))) :rule cong :premises (t2.t8)) +(step t2.t10 (cl (= @p_12 (! (=> @p_7 @p_11) :named @p_13))) :rule cong :premises (t2.t5 t2.t9)) +(step t2 (cl (= @p_1 @p_13)) :rule onepoint) +(step t3 (cl (! (= @p_14 (! (not @p_13) :named @p_16)) :named @p_15)) :rule cong :premises (t2)) +(step t4 (cl (! (not @p_15) :named @p_18) (! (not @p_14) :named @p_17) @p_16) :rule equiv_pos2) +(step t5 (cl (not @p_17) @p_1) :rule not_not) +(step t6 (cl @p_18 @p_1 @p_16) :rule th_resolution :premises (t5 t4)) +(step t7 (cl @p_16) :rule th_resolution :premises (a0 t3 t6)) +(step t8 (cl (! (= @p_16 (! (and @p_7 (! (not @p_11) :named @p_23)) :named @p_20)) :named @p_19)) :rule bool_simplify) +(step t9 (cl (! (not @p_19) :named @p_22) (! (not @p_16) :named @p_21) @p_20) :rule equiv_pos2) +(step t10 (cl (not @p_21) @p_13) :rule not_not) +(step t11 (cl @p_22 @p_13 @p_20) :rule th_resolution :premises (t10 t9)) +(step t12 (cl @p_20) :rule th_resolution :premises (t7 t8 t11)) +(step t13 (cl (! (= @p_20 (! (and @p_3 @p_5 @p_23) :named @p_25)) :named @p_24)) :rule ac_simp) +(step t14 (cl (not @p_24) (not @p_20) @p_25) :rule equiv_pos2) +(step t15 (cl @p_25) :rule th_resolution :premises (t12 t13 t14)) +(step t16 (cl (= @p_3 true)) :rule eq_simplify) +(step t17 (cl (= @p_5 true)) :rule eq_simplify) +(step t18 (cl (= @p_9 false)) :rule eq_simplify) +(step t19 (cl (= @p_11 (! (not false) :named @p_26))) :rule cong :premises (t18)) +(step t20 (cl (= @p_26 true)) :rule not_simplify) +(step t21 (cl (= @p_11 true)) :rule trans :premises (t19 t20)) +(step t22 (cl (= @p_23 (! (not true) :named @p_27))) :rule cong :premises (t21)) +(step t23 (cl (= @p_27 false)) :rule not_simplify) +(step t24 (cl (= @p_23 false)) :rule trans :premises (t22 t23)) +(step t25 (cl (= @p_25 (! (and true true false) :named @p_28))) :rule cong :premises (t16 t17 t24)) +(step t26 (cl (= @p_28 (! (and false) :named @p_29))) :rule and_simplify) +(step t27 (cl (= @p_29 false)) :rule and_simplify) +(step t28 (cl (! (= @p_25 false) :named @p_30)) :rule trans :premises (t25 t26 t27)) +(step t29 (cl (not @p_30) (not @p_25) false) :rule equiv_pos2) +(step t30 (cl false) :rule th_resolution :premises (t15 t28 t29)) +(step t31 (cl @p_26) :rule false) +(step t32 (cl) :rule resolution :premises (t30 t31)) +126e26a1f138f1b616eeae4aad01c11068cd71e0 74 0 +unsat +(define-fun veriT_sk0 () Int (! (choice ((veriT_vr2 Int)) (not (forall ((veriT_vr3 Int)) (! (=> (! (< veriT_vr2 veriT_vr3) :named @p_30) (! (< (! (+ 1 (! (* 2 veriT_vr2) :named @p_32)) :named @p_33) (! (* 2 veriT_vr3) :named @p_35)) :named @p_36)) :named @p_37)))) :named @p_43)) +(define-fun veriT_sk1 () Int (! (choice ((veriT_vr3 Int)) (not (=> (< @p_43 veriT_vr3) (< (+ 1 (* 2 @p_43)) @p_35)))) :named @p_44)) +(assume a0 (! (not (! (forall ((?v0 Int) (?v1 Int)) (! (=> (! (< ?v0 ?v1) :named @p_2) (! (< (! (+ (! (* 2 ?v0) :named @p_5) 1) :named @p_7) (! (* 2 ?v1) :named @p_10)) :named @p_12)) :named @p_14)) :named @p_1)) :named @p_16)) +(anchor :step t2 :args ((:= (?v0 Int) veriT_vr0) (:= (?v1 Int) veriT_vr1))) +(step t2.t1 (cl (! (= ?v0 veriT_vr0) :named @p_4)) :rule refl) +(step t2.t2 (cl (! (= ?v1 veriT_vr1) :named @p_9)) :rule refl) +(step t2.t3 (cl (= @p_2 (! (< veriT_vr0 veriT_vr1) :named @p_3))) :rule cong :premises (t2.t1 t2.t2)) +(step t2.t4 (cl @p_4) :rule refl) +(step t2.t5 (cl (= @p_5 (! (* 2 veriT_vr0) :named @p_6))) :rule cong :premises (t2.t4)) +(step t2.t6 (cl (= @p_7 (! (+ @p_6 1) :named @p_8))) :rule cong :premises (t2.t5)) +(step t2.t7 (cl @p_9) :rule refl) +(step t2.t8 (cl (= @p_10 (! (* 2 veriT_vr1) :named @p_11))) :rule cong :premises (t2.t7)) +(step t2.t9 (cl (= @p_12 (! (< @p_8 @p_11) :named @p_13))) :rule cong :premises (t2.t6 t2.t8)) +(step t2.t10 (cl (= @p_14 (! (=> @p_3 @p_13) :named @p_15))) :rule cong :premises (t2.t3 t2.t9)) +(step t2 (cl (= @p_1 (! (forall ((veriT_vr0 Int) (veriT_vr1 Int)) @p_15) :named @p_17))) :rule bind) +(step t3 (cl (! (= @p_16 (! (not @p_17) :named @p_19)) :named @p_18)) :rule cong :premises (t2)) +(step t4 (cl (! (not @p_18) :named @p_21) (! (not @p_16) :named @p_20) @p_19) :rule equiv_pos2) +(step t5 (cl (not @p_20) @p_1) :rule not_not) +(step t6 (cl @p_21 @p_1 @p_19) :rule th_resolution :premises (t5 t4)) +(step t7 (cl @p_19) :rule th_resolution :premises (a0 t3 t6)) +(anchor :step t8 :args ((veriT_vr0 Int) (veriT_vr1 Int))) +(step t8.t1 (cl (= @p_8 (! (+ 1 @p_6) :named @p_22))) :rule sum_simplify) +(step t8.t2 (cl (= @p_13 (! (< @p_22 @p_11) :named @p_23))) :rule cong :premises (t8.t1)) +(step t8.t3 (cl (= @p_15 (! (=> @p_3 @p_23) :named @p_24))) :rule cong :premises (t8.t2)) +(step t8 (cl (= @p_17 (! (forall ((veriT_vr0 Int) (veriT_vr1 Int)) @p_24) :named @p_25))) :rule bind) +(step t9 (cl (! (= @p_19 (! (not @p_25) :named @p_27)) :named @p_26)) :rule cong :premises (t8)) +(step t10 (cl (! (not @p_26) :named @p_29) (! (not @p_19) :named @p_28) @p_27) :rule equiv_pos2) +(step t11 (cl (not @p_28) @p_17) :rule not_not) +(step t12 (cl @p_29 @p_17 @p_27) :rule th_resolution :premises (t11 t10)) +(step t13 (cl @p_27) :rule th_resolution :premises (t7 t9 t12)) +(anchor :step t14 :args ((:= (veriT_vr0 Int) veriT_vr2) (:= (veriT_vr1 Int) veriT_vr3))) +(step t14.t1 (cl (! (= veriT_vr0 veriT_vr2) :named @p_31)) :rule refl) +(step t14.t2 (cl (! (= veriT_vr1 veriT_vr3) :named @p_34)) :rule refl) +(step t14.t3 (cl (= @p_3 @p_30)) :rule cong :premises (t14.t1 t14.t2)) +(step t14.t4 (cl @p_31) :rule refl) +(step t14.t5 (cl (= @p_6 @p_32)) :rule cong :premises (t14.t4)) +(step t14.t6 (cl (= @p_22 @p_33)) :rule cong :premises (t14.t5)) +(step t14.t7 (cl @p_34) :rule refl) +(step t14.t8 (cl (= @p_11 @p_35)) :rule cong :premises (t14.t7)) +(step t14.t9 (cl (= @p_23 @p_36)) :rule cong :premises (t14.t6 t14.t8)) +(step t14.t10 (cl (= @p_24 @p_37)) :rule cong :premises (t14.t3 t14.t9)) +(step t14 (cl (= @p_25 (! (forall ((veriT_vr2 Int) (veriT_vr3 Int)) @p_37) :named @p_38))) :rule bind) +(step t15 (cl (! (= @p_27 (! (not @p_38) :named @p_40)) :named @p_39)) :rule cong :premises (t14)) +(step t16 (cl (! (not @p_39) :named @p_42) (! (not @p_27) :named @p_41) @p_40) :rule equiv_pos2) +(step t17 (cl (not @p_41) @p_25) :rule not_not) +(step t18 (cl @p_42 @p_25 @p_40) :rule th_resolution :premises (t17 t16)) +(step t19 (cl @p_40) :rule th_resolution :premises (t13 t15 t18)) +(anchor :step t20 :args ((:= (veriT_vr2 Int) veriT_sk0) (:= (veriT_vr3 Int) veriT_sk1))) +(step t20.t1 (cl (! (= veriT_vr2 veriT_sk0) :named @p_46)) :rule refl) +(step t20.t2 (cl (! (= veriT_vr3 veriT_sk1) :named @p_49)) :rule refl) +(step t20.t3 (cl (= @p_30 (! (< veriT_sk0 veriT_sk1) :named @p_45))) :rule cong :premises (t20.t1 t20.t2)) +(step t20.t4 (cl @p_46) :rule refl) +(step t20.t5 (cl (= @p_32 (! (* 2 veriT_sk0) :named @p_47))) :rule cong :premises (t20.t4)) +(step t20.t6 (cl (= @p_33 (! (+ 1 @p_47) :named @p_48))) :rule cong :premises (t20.t5)) +(step t20.t7 (cl @p_49) :rule refl) +(step t20.t8 (cl (= @p_35 (! (* 2 veriT_sk1) :named @p_50))) :rule cong :premises (t20.t7)) +(step t20.t9 (cl (= @p_36 (! (< @p_48 @p_50) :named @p_51))) :rule cong :premises (t20.t6 t20.t8)) +(step t20.t10 (cl (= @p_37 (! (=> @p_45 @p_51) :named @p_52))) :rule cong :premises (t20.t3 t20.t9)) +(step t20 (cl (= @p_38 @p_52)) :rule sko_forall) +(step t21 (cl (! (= @p_40 (! (not @p_52) :named @p_54)) :named @p_53)) :rule cong :premises (t20)) +(step t22 (cl (! (not @p_53) :named @p_56) (! (not @p_40) :named @p_55) @p_54) :rule equiv_pos2) +(step t23 (cl (not @p_55) @p_38) :rule not_not) +(step t24 (cl @p_56 @p_38 @p_54) :rule th_resolution :premises (t23 t22)) +(step t25 (cl @p_54) :rule th_resolution :premises (t19 t21 t24)) +(step t26 (cl (! (= @p_54 (! (and @p_45 (! (not @p_51) :named @p_61)) :named @p_58)) :named @p_57)) :rule bool_simplify) +(step t27 (cl (! (not @p_57) :named @p_60) (! (not @p_54) :named @p_59) @p_58) :rule equiv_pos2) +(step t28 (cl (not @p_59) @p_52) :rule not_not) +(step t29 (cl @p_60 @p_52 @p_58) :rule th_resolution :premises (t28 t27)) +(step t30 (cl @p_58) :rule th_resolution :premises (t25 t26 t29)) +(step t31 (cl @p_45) :rule and :premises (t30)) +(step t32 (cl @p_61) :rule and :premises (t30)) +(step t33 (cl @p_51 (not @p_45)) :rule la_generic :args ((div 1 2) 1)) +(step t34 (cl) :rule resolution :premises (t33 t31 t32)) +8ef63c3af9accda70a9adb945698c9dc83c299cb 84 0 +unsat +(define-fun veriT_sk0 () Int (! (choice ((veriT_vr2 Int)) (not (forall ((veriT_vr3 Int)) (! (or (! (< 2 (! (+ veriT_vr2 veriT_vr3) :named @p_29)) :named @p_30) (! (= 2 @p_29) :named @p_34) (! (< @p_29 2) :named @p_35)) :named @p_36)))) :named @p_42)) +(define-fun veriT_sk1 () Int (! (choice ((veriT_vr3 Int)) (not (or (< 2 (! (+ @p_42 veriT_vr3) :named @p_43)) (= 2 @p_43) (< @p_43 2)))) :named @p_45)) +(assume a0 (! (not (! (forall ((?v0 Int) (?v1 Int)) (! (or (! (< 2 (! (+ ?v0 ?v1) :named @p_1)) :named @p_4) (! (or (! (= 2 @p_1) :named @p_9) (! (< @p_1 2) :named @p_11)) :named @p_13)) :named @p_15)) :named @p_2)) :named @p_17)) +(anchor :step t2 :args ((:= (?v0 Int) veriT_vr0) (:= (?v1 Int) veriT_vr1))) +(step t2.t1 (cl (! (= ?v0 veriT_vr0) :named @p_6)) :rule refl) +(step t2.t2 (cl (! (= ?v1 veriT_vr1) :named @p_7)) :rule refl) +(step t2.t3 (cl (! (= @p_1 (! (+ veriT_vr0 veriT_vr1) :named @p_3)) :named @p_8)) :rule cong :premises (t2.t1 t2.t2)) +(step t2.t4 (cl (= @p_4 (! (< 2 @p_3) :named @p_5))) :rule cong :premises (t2.t3)) +(step t2.t5 (cl @p_6) :rule refl) +(step t2.t6 (cl @p_7) :rule refl) +(step t2.t7 (cl @p_8) :rule cong :premises (t2.t5 t2.t6)) +(step t2.t8 (cl (= @p_9 (! (= 2 @p_3) :named @p_10))) :rule cong :premises (t2.t7)) +(step t2.t9 (cl @p_6) :rule refl) +(step t2.t10 (cl @p_7) :rule refl) +(step t2.t11 (cl @p_8) :rule cong :premises (t2.t9 t2.t10)) +(step t2.t12 (cl (= @p_11 (! (< @p_3 2) :named @p_12))) :rule cong :premises (t2.t11)) +(step t2.t13 (cl (= @p_13 (! (or @p_10 @p_12) :named @p_14))) :rule cong :premises (t2.t8 t2.t12)) +(step t2.t14 (cl (= @p_15 (! (or @p_5 @p_14) :named @p_16))) :rule cong :premises (t2.t4 t2.t13)) +(step t2 (cl (= @p_2 (! (forall ((veriT_vr0 Int) (veriT_vr1 Int)) @p_16) :named @p_18))) :rule bind) +(step t3 (cl (! (= @p_17 (! (not @p_18) :named @p_20)) :named @p_19)) :rule cong :premises (t2)) +(step t4 (cl (! (not @p_19) :named @p_22) (! (not @p_17) :named @p_21) @p_20) :rule equiv_pos2) +(step t5 (cl (not @p_21) @p_2) :rule not_not) +(step t6 (cl @p_22 @p_2 @p_20) :rule th_resolution :premises (t5 t4)) +(step t7 (cl @p_20) :rule th_resolution :premises (a0 t3 t6)) +(anchor :step t8 :args ((veriT_vr0 Int) (veriT_vr1 Int))) +(step t8.t1 (cl (= @p_16 (! (or @p_5 @p_10 @p_12) :named @p_23))) :rule ac_simp) +(step t8 (cl (= @p_18 (! (forall ((veriT_vr0 Int) (veriT_vr1 Int)) @p_23) :named @p_24))) :rule bind) +(step t9 (cl (! (= @p_20 (! (not @p_24) :named @p_26)) :named @p_25)) :rule cong :premises (t8)) +(step t10 (cl (! (not @p_25) :named @p_28) (! (not @p_20) :named @p_27) @p_26) :rule equiv_pos2) +(step t11 (cl (not @p_27) @p_18) :rule not_not) +(step t12 (cl @p_28 @p_18 @p_26) :rule th_resolution :premises (t11 t10)) +(step t13 (cl @p_26) :rule th_resolution :premises (t7 t9 t12)) +(anchor :step t14 :args ((:= (veriT_vr0 Int) veriT_vr2) (:= (veriT_vr1 Int) veriT_vr3))) +(step t14.t1 (cl (! (= veriT_vr0 veriT_vr2) :named @p_31)) :rule refl) +(step t14.t2 (cl (! (= veriT_vr1 veriT_vr3) :named @p_32)) :rule refl) +(step t14.t3 (cl (! (= @p_3 @p_29) :named @p_33)) :rule cong :premises (t14.t1 t14.t2)) +(step t14.t4 (cl (= @p_5 @p_30)) :rule cong :premises (t14.t3)) +(step t14.t5 (cl @p_31) :rule refl) +(step t14.t6 (cl @p_32) :rule refl) +(step t14.t7 (cl @p_33) :rule cong :premises (t14.t5 t14.t6)) +(step t14.t8 (cl (= @p_10 @p_34)) :rule cong :premises (t14.t7)) +(step t14.t9 (cl @p_31) :rule refl) +(step t14.t10 (cl @p_32) :rule refl) +(step t14.t11 (cl @p_33) :rule cong :premises (t14.t9 t14.t10)) +(step t14.t12 (cl (= @p_12 @p_35)) :rule cong :premises (t14.t11)) +(step t14.t13 (cl (= @p_23 @p_36)) :rule cong :premises (t14.t4 t14.t8 t14.t12)) +(step t14 (cl (= @p_24 (! (forall ((veriT_vr2 Int) (veriT_vr3 Int)) @p_36) :named @p_37))) :rule bind) +(step t15 (cl (! (= @p_26 (! (not @p_37) :named @p_39)) :named @p_38)) :rule cong :premises (t14)) +(step t16 (cl (! (not @p_38) :named @p_41) (! (not @p_26) :named @p_40) @p_39) :rule equiv_pos2) +(step t17 (cl (not @p_40) @p_24) :rule not_not) +(step t18 (cl @p_41 @p_24 @p_39) :rule th_resolution :premises (t17 t16)) +(step t19 (cl @p_39) :rule th_resolution :premises (t13 t15 t18)) +(anchor :step t20 :args ((:= (veriT_vr2 Int) veriT_sk0) (:= (veriT_vr3 Int) veriT_sk1))) +(step t20.t1 (cl (! (= veriT_vr2 veriT_sk0) :named @p_47)) :rule refl) +(step t20.t2 (cl (! (= veriT_vr3 veriT_sk1) :named @p_48)) :rule refl) +(step t20.t3 (cl (! (= @p_29 (! (+ veriT_sk0 veriT_sk1) :named @p_44)) :named @p_49)) :rule cong :premises (t20.t1 t20.t2)) +(step t20.t4 (cl (= @p_30 (! (< 2 @p_44) :named @p_46))) :rule cong :premises (t20.t3)) +(step t20.t5 (cl @p_47) :rule refl) +(step t20.t6 (cl @p_48) :rule refl) +(step t20.t7 (cl @p_49) :rule cong :premises (t20.t5 t20.t6)) +(step t20.t8 (cl (= @p_34 (! (= 2 @p_44) :named @p_50))) :rule cong :premises (t20.t7)) +(step t20.t9 (cl @p_47) :rule refl) +(step t20.t10 (cl @p_48) :rule refl) +(step t20.t11 (cl @p_49) :rule cong :premises (t20.t9 t20.t10)) +(step t20.t12 (cl (= @p_35 (! (< @p_44 2) :named @p_51))) :rule cong :premises (t20.t11)) +(step t20.t13 (cl (= @p_36 (! (or @p_46 @p_50 @p_51) :named @p_52))) :rule cong :premises (t20.t4 t20.t8 t20.t12)) +(step t20 (cl (= @p_37 @p_52)) :rule sko_forall) +(step t21 (cl (! (= @p_39 (! (not @p_52) :named @p_54)) :named @p_53)) :rule cong :premises (t20)) +(step t22 (cl (! (not @p_53) :named @p_56) (! (not @p_39) :named @p_55) @p_54) :rule equiv_pos2) +(step t23 (cl (not @p_55) @p_37) :rule not_not) +(step t24 (cl @p_56 @p_37 @p_54) :rule th_resolution :premises (t23 t22)) +(step t25 (cl @p_54) :rule th_resolution :premises (t19 t21 t24)) +(step t26 (cl (not @p_46)) :rule not_or :premises (t25)) +(step t27 (cl (not @p_50)) :rule not_or :premises (t25)) +(step t28 (cl (not @p_51)) :rule not_or :premises (t25)) +(step t29 (cl (or @p_50 (! (not (! (<= 2 @p_44) :named @p_59)) :named @p_57) (! (not (! (<= @p_44 2) :named @p_60)) :named @p_58))) :rule la_disequality) +(step t30 (cl @p_50 @p_57 @p_58) :rule or :premises (t29)) +(step t31 (cl @p_57 @p_58) :rule resolution :premises (t30 t27)) +(step t32 (cl @p_59 @p_51) :rule la_generic :args (1 1)) +(step t33 (cl @p_59) :rule resolution :premises (t32 t28)) +(step t34 (cl @p_58) :rule resolution :premises (t31 t33)) +(step t35 (cl @p_60 @p_46) :rule la_generic :args (1 1)) +(step t36 (cl) :rule resolution :premises (t35 t26 t34)) +009068a6f752b63c0ec5b63adbd0474d11cb4745 67 0 unsat (define-fun veriT_sk0 () Int (! (choice ((veriT_vr1 Int)) (not (! (ite (! (< 0 veriT_vr1) :named @p_27) (! (< 0 (! (+ 1 veriT_vr1) :named @p_29)) :named @p_30) (! (< veriT_vr1 1) :named @p_31)) :named @p_32))) :named @p_38)) -(assume axiom0 (! (not (! (forall ((?v0 Int)) (! (ite (! (< 0 ?v0) :named @p_2) (! (< 0 (! (+ ?v0 1) :named @p_5)) :named @p_7) (! (< ?v0 1) :named @p_9)) :named @p_11)) :named @p_1)) :named @p_13)) +(assume a0 (! (not (! (forall ((?v0 Int)) (! (ite (! (< 0 ?v0) :named @p_2) (! (< 0 (! (+ ?v0 1) :named @p_5)) :named @p_7) (! (< ?v0 1) :named @p_9)) :named @p_11)) :named @p_1)) :named @p_13)) (anchor :step t2 :args ((:= (?v0 Int) veriT_vr0))) (step t2.t1 (cl (! (= ?v0 veriT_vr0) :named @p_4)) :rule refl) (step t2.t2 (cl (= @p_2 (! (< 0 veriT_vr0) :named @p_3))) :rule cong :premises (t2.t1)) (step t2.t3 (cl @p_4) :rule refl) (step t2.t4 (cl (= @p_5 (! (+ veriT_vr0 1) :named @p_6))) :rule cong :premises (t2.t3)) (step t2.t5 (cl (= @p_7 (! (< 0 @p_6) :named @p_8))) :rule cong :premises (t2.t4)) (step t2.t6 (cl @p_4) :rule refl) (step t2.t7 (cl (= @p_9 (! (< veriT_vr0 1) :named @p_10))) :rule cong :premises (t2.t6)) (step t2.t8 (cl (= @p_11 (! (ite @p_3 @p_8 @p_10) :named @p_12))) :rule cong :premises (t2.t2 t2.t5 t2.t7)) (step t2 (cl (= @p_1 (! (forall ((veriT_vr0 Int)) @p_12) :named @p_14))) :rule bind) (step t3 (cl (! (= @p_13 (! (not @p_14) :named @p_16)) :named @p_15)) :rule cong :premises (t2)) (step t4 (cl (! (not @p_15) :named @p_18) (! (not @p_13) :named @p_17) @p_16) :rule equiv_pos2) (step t5 (cl (not @p_17) @p_1) :rule not_not) (step t6 (cl @p_18 @p_1 @p_16) :rule th_resolution :premises (t5 t4)) -(step t7 (cl @p_16) :rule th_resolution :premises (axiom0 t3 t6)) +(step t7 (cl @p_16) :rule th_resolution :premises (a0 t3 t6)) (anchor :step t8 :args ((veriT_vr0 Int))) (step t8.t1 (cl (= @p_6 (! (+ 1 veriT_vr0) :named @p_19))) :rule sum_simplify) (step t8.t2 (cl (= @p_8 (! (< 0 @p_19) :named @p_20))) :rule cong :premises (t8.t1)) (step t8.t3 (cl (= @p_12 (! (ite @p_3 @p_20 @p_10) :named @p_21))) :rule cong :premises (t8.t2)) (step t8 (cl (= @p_14 (! (forall ((veriT_vr0 Int)) @p_21) :named @p_22))) :rule bind) (step t9 (cl (! (= @p_16 (! (not @p_22) :named @p_24)) :named @p_23)) :rule cong :premises (t8)) (step t10 (cl (! (not @p_23) :named @p_26) (! (not @p_16) :named @p_25) @p_24) :rule equiv_pos2) (step t11 (cl (not @p_25) @p_14) :rule not_not) (step t12 (cl @p_26 @p_14 @p_24) :rule th_resolution :premises (t11 t10)) (step t13 (cl @p_24) :rule th_resolution :premises (t7 t9 t12)) (anchor :step t14 :args ((:= (veriT_vr0 Int) veriT_vr1))) (step t14.t1 (cl (! (= veriT_vr0 veriT_vr1) :named @p_28)) :rule refl) (step t14.t2 (cl (= @p_3 @p_27)) :rule cong :premises (t14.t1)) (step t14.t3 (cl @p_28) :rule refl) (step t14.t4 (cl (= @p_19 @p_29)) :rule cong :premises (t14.t3)) (step t14.t5 (cl (= @p_20 @p_30)) :rule cong :premises (t14.t4)) (step t14.t6 (cl @p_28) :rule refl) (step t14.t7 (cl (= @p_10 @p_31)) :rule cong :premises (t14.t6)) (step t14.t8 (cl (= @p_21 @p_32)) :rule cong :premises (t14.t2 t14.t5 t14.t7)) (step t14 (cl (= @p_22 (! (forall ((veriT_vr1 Int)) @p_32) :named @p_33))) :rule bind) (step t15 (cl (! (= @p_24 (! (not @p_33) :named @p_35)) :named @p_34)) :rule cong :premises (t14)) (step t16 (cl (! (not @p_34) :named @p_37) (! (not @p_24) :named @p_36) @p_35) :rule equiv_pos2) (step t17 (cl (not @p_36) @p_22) :rule not_not) (step t18 (cl @p_37 @p_22 @p_35) :rule th_resolution :premises (t17 t16)) (step t19 (cl @p_35) :rule th_resolution :premises (t13 t15 t18)) (anchor :step t20 :args ((:= (veriT_vr1 Int) veriT_sk0))) (step t20.t1 (cl (! (= veriT_vr1 veriT_sk0) :named @p_40)) :rule refl) (step t20.t2 (cl (= @p_27 (! (< 0 veriT_sk0) :named @p_39))) :rule cong :premises (t20.t1)) (step t20.t3 (cl @p_40) :rule refl) (step t20.t4 (cl (= @p_29 (! (+ 1 veriT_sk0) :named @p_41))) :rule cong :premises (t20.t3)) (step t20.t5 (cl (= @p_30 (! (< 0 @p_41) :named @p_42))) :rule cong :premises (t20.t4)) (step t20.t6 (cl @p_40) :rule refl) (step t20.t7 (cl (= @p_31 (! (< veriT_sk0 1) :named @p_43))) :rule cong :premises (t20.t6)) (step t20.t8 (cl (= @p_32 (! (ite @p_39 @p_42 @p_43) :named @p_44))) :rule cong :premises (t20.t2 t20.t5 t20.t7)) (step t20 (cl (= @p_33 @p_44)) :rule sko_forall) (step t21 (cl (! (= @p_35 (! (not @p_44) :named @p_46)) :named @p_45)) :rule cong :premises (t20)) (step t22 (cl (! (not @p_45) :named @p_48) (! (not @p_35) :named @p_47) @p_46) :rule equiv_pos2) (step t23 (cl (not @p_47) @p_33) :rule not_not) (step t24 (cl @p_48 @p_33 @p_46) :rule th_resolution :premises (t23 t22)) (step t25 (cl @p_46) :rule th_resolution :premises (t19 t21 t24)) (step t26 (cl @p_39 (! (not @p_43) :named @p_50)) :rule not_ite1 :premises (t25)) (step t27 (cl (! (not @p_39) :named @p_49) (not @p_42)) :rule not_ite2 :premises (t25)) (step t28 (cl @p_43 @p_42) :rule la_generic :args (1 1)) (step t29 (cl @p_49 @p_42) :rule la_generic :args (1 1)) (step t30 (cl @p_42) :rule resolution :premises (t29 t26 t28)) (step t31 (cl @p_49) :rule resolution :premises (t27 t30)) (step t32 (cl @p_50) :rule resolution :premises (t26 t31)) (step t33 (cl @p_43 @p_39) :rule la_generic :args (1 1)) (step t34 (cl) :rule resolution :premises (t33 t31 t32)) -3b346287f457d2c0655eb09f3d5280a06ca3434a 107 0 +72ef753af86f7012e75f73f9bc2d3adda07e800b 107 0 unsat (define-fun veriT_sk0 () Int (! (choice ((veriT_vr1 Int)) (not (! (or (! (< veriT_vr1 0) :named @p_37) (! (< 0 veriT_vr1) :named @p_39)) :named @p_40))) :named @p_51)) -(assume axiom0 (! (not (! (< 0 (! (ite (! (forall ((?v0 Int)) (! (or (! (< ?v0 0) :named @p_2) (! (< 0 ?v0) :named @p_5)) :named @p_7)) :named @p_1) (! (- 1) :named @p_11) 3) :named @p_9)) :named @p_12)) :named @p_14)) +(assume a0 (! (not (! (< 0 (! (ite (! (forall ((?v0 Int)) (! (or (! (< ?v0 0) :named @p_2) (! (< 0 ?v0) :named @p_5)) :named @p_7)) :named @p_1) (! (- 1) :named @p_11) 3) :named @p_9)) :named @p_12)) :named @p_14)) (anchor :step t2 :args ((:= (?v0 Int) veriT_vr0))) (step t2.t1 (cl (! (= ?v0 veriT_vr0) :named @p_4)) :rule refl) (step t2.t2 (cl (= @p_2 (! (< veriT_vr0 0) :named @p_3))) :rule cong :premises (t2.t1)) (step t2.t3 (cl @p_4) :rule refl) (step t2.t4 (cl (= @p_5 (! (< 0 veriT_vr0) :named @p_6))) :rule cong :premises (t2.t3)) (step t2.t5 (cl (= @p_7 (! (or @p_3 @p_6) :named @p_8))) :rule cong :premises (t2.t2 t2.t4)) (step t2 (cl (= @p_1 (! (forall ((veriT_vr0 Int)) @p_8) :named @p_10))) :rule bind) (step t3 (cl (= @p_9 (! (ite @p_10 @p_11 3) :named @p_13))) :rule cong :premises (t2)) (step t4 (cl (= @p_12 (! (< 0 @p_13) :named @p_15))) :rule cong :premises (t3)) (step t5 (cl (! (= @p_14 (! (not @p_15) :named @p_17)) :named @p_16)) :rule cong :premises (t4)) (step t6 (cl (! (not @p_16) :named @p_19) (! (not @p_14) :named @p_18) @p_17) :rule equiv_pos2) (step t7 (cl (not @p_18) @p_12) :rule not_not) (step t8 (cl @p_19 @p_12 @p_17) :rule th_resolution :premises (t7 t6)) -(step t9 (cl @p_17) :rule th_resolution :premises (axiom0 t5 t8)) +(step t9 (cl @p_17) :rule th_resolution :premises (a0 t5 t8)) (step t10 (cl (= @p_11 (- 1))) :rule minus_simplify) (step t11 (cl (= @p_13 (! (ite @p_10 (- 1) 3) :named @p_20))) :rule cong :premises (t10)) (step t12 (cl (= @p_15 (! (< 0 @p_20) :named @p_21))) :rule cong :premises (t11)) (step t13 (cl (! (= @p_17 (! (not @p_21) :named @p_23)) :named @p_22)) :rule cong :premises (t12)) (step t14 (cl (! (not @p_22) :named @p_25) (! (not @p_17) :named @p_24) @p_23) :rule equiv_pos2) (step t15 (cl (not @p_24) @p_15) :rule not_not) (step t16 (cl @p_25 @p_15 @p_23) :rule th_resolution :premises (t15 t14)) (step t17 (cl @p_23) :rule th_resolution :premises (t9 t13 t16)) (step t18 (cl (! (= @p_23 (! (and (! (not (! (< 0 @p_20) :named @p_73)) :named @p_33) (! (ite @p_10 (! (= (- 1) @p_20) :named @p_31) (! (= 3 @p_20) :named @p_32)) :named @p_30)) :named @p_27)) :named @p_26)) :rule ite_intro) (step t19 (cl (! (not @p_26) :named @p_29) (! (not @p_23) :named @p_28) @p_27) :rule equiv_pos2) (step t20 (cl (not @p_28) @p_21) :rule not_not) (step t21 (cl @p_29 @p_21 @p_27) :rule th_resolution :premises (t20 t19)) (step t22 (cl @p_27) :rule th_resolution :premises (t17 t18 t21)) (step t23 (cl (= @p_30 (! (and (! (=> @p_10 @p_31) :named @p_41) (! (=> (! (not @p_10) :named @p_43) @p_32) :named @p_44)) :named @p_34))) :rule connective_def) (step t24 (cl (! (= @p_27 (! (and @p_33 @p_34) :named @p_36)) :named @p_35)) :rule cong :premises (t23)) (step t25 (cl (not @p_35) (not @p_27) @p_36) :rule equiv_pos2) (step t26 (cl @p_36) :rule th_resolution :premises (t22 t24 t25)) (anchor :step t27 :args ((:= (veriT_vr0 Int) veriT_vr1))) (step t27.t1 (cl (! (= veriT_vr0 veriT_vr1) :named @p_38)) :rule refl) (step t27.t2 (cl (= @p_3 @p_37)) :rule cong :premises (t27.t1)) (step t27.t3 (cl @p_38) :rule refl) (step t27.t4 (cl (= @p_6 @p_39)) :rule cong :premises (t27.t3)) (step t27.t5 (cl (= @p_8 @p_40)) :rule cong :premises (t27.t2 t27.t4)) (step t27 (cl (= @p_10 (! (forall ((veriT_vr1 Int)) @p_40) :named @p_42))) :rule bind) (step t28 (cl (= @p_41 (! (=> @p_42 @p_31) :named @p_46))) :rule cong :premises (t27)) (step t29 (cl (= @p_43 (! (not @p_42) :named @p_45))) :rule cong :premises (t27)) (step t30 (cl (= @p_44 (! (=> @p_45 @p_32) :named @p_47))) :rule cong :premises (t29)) (step t31 (cl (= @p_34 (! (and @p_46 @p_47) :named @p_48))) :rule cong :premises (t28 t30)) (step t32 (cl (! (= @p_36 (! (and @p_33 @p_48) :named @p_50)) :named @p_49)) :rule cong :premises (t31)) (step t33 (cl (not @p_49) (not @p_36) @p_50) :rule equiv_pos2) (step t34 (cl @p_50) :rule th_resolution :premises (t26 t32 t33)) (anchor :step t35 :args ((:= (veriT_vr1 Int) veriT_sk0))) (step t35.t1 (cl (! (= veriT_vr1 veriT_sk0) :named @p_53)) :rule refl) (step t35.t2 (cl (= @p_37 (! (< veriT_sk0 0) :named @p_52))) :rule cong :premises (t35.t1)) (step t35.t3 (cl @p_53) :rule refl) (step t35.t4 (cl (= @p_39 (! (< 0 veriT_sk0) :named @p_54))) :rule cong :premises (t35.t3)) (step t35.t5 (cl (= @p_40 (! (or @p_52 @p_54) :named @p_55))) :rule cong :premises (t35.t2 t35.t4)) (step t35 (cl (= @p_42 @p_55)) :rule sko_forall) (step t36 (cl (= @p_46 (! (=> @p_55 @p_31) :named @p_56))) :rule cong :premises (t35)) (step t37 (cl (= @p_48 (! (and @p_56 @p_47) :named @p_57))) :rule cong :premises (t36)) (step t38 (cl (! (= @p_50 (! (and @p_33 @p_57) :named @p_59)) :named @p_58)) :rule cong :premises (t37)) (step t39 (cl (not @p_58) (not @p_50) @p_59) :rule equiv_pos2) (step t40 (cl @p_59) :rule th_resolution :premises (t34 t38 t39)) (anchor :step t41 :args ((:= (veriT_vr1 Int) veriT_vr2))) (step t41.t1 (cl (! (= veriT_vr1 veriT_vr2) :named @p_61)) :rule refl) (step t41.t2 (cl (= @p_37 (! (< veriT_vr2 0) :named @p_60))) :rule cong :premises (t41.t1)) (step t41.t3 (cl @p_61) :rule refl) (step t41.t4 (cl (= @p_39 (! (< 0 veriT_vr2) :named @p_62))) :rule cong :premises (t41.t3)) (step t41.t5 (cl (= @p_40 (! (or @p_60 @p_62) :named @p_63))) :rule cong :premises (t41.t2 t41.t4)) (step t41 (cl (= @p_42 (! (forall ((veriT_vr2 Int)) @p_63) :named @p_64))) :rule bind) (step t42 (cl (= @p_45 (! (not @p_64) :named @p_65))) :rule cong :premises (t41)) (step t43 (cl (= @p_47 (! (=> @p_65 @p_32) :named @p_66))) :rule cong :premises (t42)) (step t44 (cl (= @p_57 (! (and @p_56 @p_66) :named @p_67))) :rule cong :premises (t43)) (step t45 (cl (! (= @p_59 (! (and @p_33 @p_67) :named @p_69)) :named @p_68)) :rule cong :premises (t44)) (step t46 (cl (not @p_68) (not @p_59) @p_69) :rule equiv_pos2) (step t47 (cl @p_69) :rule th_resolution :premises (t40 t45 t46)) (step t48 (cl (! (= @p_69 (! (and @p_33 @p_56 @p_66) :named @p_71)) :named @p_70)) :rule ac_simp) (step t49 (cl (not @p_70) (not @p_69) @p_71) :rule equiv_pos2) (step t50 (cl @p_71) :rule th_resolution :premises (t47 t48 t49)) (step t51 (cl @p_33) :rule and :premises (t50)) (step t52 (cl @p_66) :rule and :premises (t50)) (step t53 (cl (! (not @p_65) :named @p_72) @p_32) :rule implies :premises (t52)) (step t54 (cl (not @p_72) @p_64) :rule not_not) (step t55 (cl @p_64 @p_32) :rule th_resolution :premises (t54 t53)) (step t56 (cl @p_73 (! (<= @p_20 3) :named @p_74)) :rule la_generic :args (1 1)) (step t57 (cl @p_74) :rule resolution :premises (t56 t51)) (step t58 (cl @p_73 (! (not (! (<= 3 @p_20) :named @p_77)) :named @p_75)) :rule la_generic :args (1 1)) (step t59 (cl @p_75) :rule resolution :premises (t58 t51)) (step t60 (cl (! (not @p_32) :named @p_76) @p_76 (! (not @p_74) :named @p_78) @p_77) :rule eq_congruent_pred) (step t61 (cl @p_76 @p_78 @p_77) :rule contraction :premises (t60)) (step t62 (cl @p_76) :rule resolution :premises (t61 t59 t57)) (step t63 (cl @p_64) :rule resolution :premises (t55 t62)) (step t64 (cl (or @p_65 (! (or (! (< 0 0) :named @p_79) @p_79) :named @p_80))) :rule forall_inst :args ((:= veriT_vr2 0))) (anchor :step t65) (assume t65.h1 @p_80) (step t65.t2 (cl (! (= @p_80 @p_79) :named @p_81)) :rule ac_simp) (step t65.t3 (cl (not @p_81) (! (not @p_80) :named @p_82) @p_79) :rule equiv_pos2) (step t65.t4 (cl @p_79) :rule th_resolution :premises (t65.h1 t65.t2 t65.t3)) (step t65.t5 (cl (! (= @p_79 false) :named @p_83)) :rule comp_simplify) (step t65.t6 (cl (not @p_83) (not @p_79) false) :rule equiv_pos2) (step t65.t7 (cl false) :rule th_resolution :premises (t65.t4 t65.t5 t65.t6)) (step t65 (cl @p_82 false) :rule subproof :discharge (h1)) (step t66 (cl @p_65 @p_80) :rule or :premises (t64)) (step t67 (cl (! (or @p_65 false) :named @p_84) @p_72) :rule or_neg) (step t68 (cl @p_84 @p_64) :rule th_resolution :premises (t54 t67)) (step t69 (cl @p_84 (! (not false) :named @p_85)) :rule or_neg) (step t70 (cl @p_84) :rule th_resolution :premises (t66 t65 t68 t69)) (step t71 (cl @p_85) :rule false) (step t72 (cl @p_65 false) :rule or :premises (t70)) (step t73 (cl) :rule resolution :premises (t72 t63 t71)) -f2b4e98e9e25f5e157253b295acc06d5501334ba 74 0 +79c36cccfa675d72431ed7e3c2f6afc45f85907a 74 0 unsat (define-fun veriT_sk0 () Int (! (choice ((veriT_vr2 Int)) (not (forall ((veriT_vr3 Int)) (! (=> (! (and (! (< 0 veriT_vr2) :named @p_27) (! (< 0 veriT_vr3) :named @p_28)) :named @p_29) (! (< 0 (! (+ veriT_vr2 veriT_vr3) :named @p_32)) :named @p_33)) :named @p_34)))) :named @p_40)) (define-fun veriT_sk1 () Int (! (choice ((veriT_vr3 Int)) (not (=> (and (< 0 @p_40) @p_28) (< 0 (+ @p_40 veriT_vr3))))) :named @p_41)) -(assume axiom0 (! (not (! (exists ((?v0 Int)) (! (forall ((?v1 Int) (?v2 Int)) (! (=> (! (and (! (< 0 ?v1) :named @p_8) (! (< 0 ?v2) :named @p_10)) :named @p_12) (! (< 0 (! (+ ?v1 ?v2) :named @p_16)) :named @p_18)) :named @p_20)) :named @p_2)) :named @p_1)) :named @p_3)) +(assume a0 (! (not (! (exists ((?v0 Int)) (! (forall ((?v1 Int) (?v2 Int)) (! (=> (! (and (! (< 0 ?v1) :named @p_8) (! (< 0 ?v2) :named @p_10)) :named @p_12) (! (< 0 (! (+ ?v1 ?v2) :named @p_16)) :named @p_18)) :named @p_20)) :named @p_2)) :named @p_1)) :named @p_3)) (step t2 (cl (= @p_1 @p_2)) :rule qnt_rm_unused) (step t3 (cl (! (= @p_3 (! (not @p_2) :named @p_5)) :named @p_4)) :rule cong :premises (t2)) (step t4 (cl (! (not @p_4) :named @p_7) (! (not @p_3) :named @p_6) @p_5) :rule equiv_pos2) (step t5 (cl (not @p_6) @p_1) :rule not_not) (step t6 (cl @p_7 @p_1 @p_5) :rule th_resolution :premises (t5 t4)) -(step t7 (cl @p_5) :rule th_resolution :premises (axiom0 t3 t6)) +(step t7 (cl @p_5) :rule th_resolution :premises (a0 t3 t6)) (anchor :step t8 :args ((:= (?v1 Int) veriT_vr0) (:= (?v2 Int) veriT_vr1))) (step t8.t1 (cl (! (= ?v1 veriT_vr0) :named @p_14)) :rule refl) (step t8.t2 (cl (= @p_8 (! (< 0 veriT_vr0) :named @p_9))) :rule cong :premises (t8.t1)) (step t8.t3 (cl (! (= ?v2 veriT_vr1) :named @p_15)) :rule refl) (step t8.t4 (cl (= @p_10 (! (< 0 veriT_vr1) :named @p_11))) :rule cong :premises (t8.t3)) (step t8.t5 (cl (= @p_12 (! (and @p_9 @p_11) :named @p_13))) :rule cong :premises (t8.t2 t8.t4)) (step t8.t6 (cl @p_14) :rule refl) (step t8.t7 (cl @p_15) :rule refl) (step t8.t8 (cl (= @p_16 (! (+ veriT_vr0 veriT_vr1) :named @p_17))) :rule cong :premises (t8.t6 t8.t7)) (step t8.t9 (cl (= @p_18 (! (< 0 @p_17) :named @p_19))) :rule cong :premises (t8.t8)) (step t8.t10 (cl (= @p_20 (! (=> @p_13 @p_19) :named @p_21))) :rule cong :premises (t8.t5 t8.t9)) (step t8 (cl (= @p_2 (! (forall ((veriT_vr0 Int) (veriT_vr1 Int)) @p_21) :named @p_22))) :rule bind) (step t9 (cl (! (= @p_5 (! (not @p_22) :named @p_24)) :named @p_23)) :rule cong :premises (t8)) (step t10 (cl (! (not @p_23) :named @p_26) (! (not @p_5) :named @p_25) @p_24) :rule equiv_pos2) (step t11 (cl (not @p_25) @p_2) :rule not_not) (step t12 (cl @p_26 @p_2 @p_24) :rule th_resolution :premises (t11 t10)) (step t13 (cl @p_24) :rule th_resolution :premises (t7 t9 t12)) (anchor :step t14 :args ((:= (veriT_vr0 Int) veriT_vr2) (:= (veriT_vr1 Int) veriT_vr3))) (step t14.t1 (cl (! (= veriT_vr0 veriT_vr2) :named @p_30)) :rule refl) (step t14.t2 (cl (= @p_9 @p_27)) :rule cong :premises (t14.t1)) (step t14.t3 (cl (! (= veriT_vr1 veriT_vr3) :named @p_31)) :rule refl) (step t14.t4 (cl (= @p_11 @p_28)) :rule cong :premises (t14.t3)) (step t14.t5 (cl (= @p_13 @p_29)) :rule cong :premises (t14.t2 t14.t4)) (step t14.t6 (cl @p_30) :rule refl) (step t14.t7 (cl @p_31) :rule refl) (step t14.t8 (cl (= @p_17 @p_32)) :rule cong :premises (t14.t6 t14.t7)) (step t14.t9 (cl (= @p_19 @p_33)) :rule cong :premises (t14.t8)) (step t14.t10 (cl (= @p_21 @p_34)) :rule cong :premises (t14.t5 t14.t9)) (step t14 (cl (= @p_22 (! (forall ((veriT_vr2 Int) (veriT_vr3 Int)) @p_34) :named @p_35))) :rule bind) (step t15 (cl (! (= @p_24 (! (not @p_35) :named @p_37)) :named @p_36)) :rule cong :premises (t14)) (step t16 (cl (! (not @p_36) :named @p_39) (! (not @p_24) :named @p_38) @p_37) :rule equiv_pos2) (step t17 (cl (not @p_38) @p_22) :rule not_not) (step t18 (cl @p_39 @p_22 @p_37) :rule th_resolution :premises (t17 t16)) (step t19 (cl @p_37) :rule th_resolution :premises (t13 t15 t18)) (anchor :step t20 :args ((:= (veriT_vr2 Int) veriT_sk0) (:= (veriT_vr3 Int) veriT_sk1))) (step t20.t1 (cl (! (= veriT_vr2 veriT_sk0) :named @p_45)) :rule refl) (step t20.t2 (cl (= @p_27 (! (< 0 veriT_sk0) :named @p_42))) :rule cong :premises (t20.t1)) (step t20.t3 (cl (! (= veriT_vr3 veriT_sk1) :named @p_46)) :rule refl) (step t20.t4 (cl (= @p_28 (! (< 0 veriT_sk1) :named @p_43))) :rule cong :premises (t20.t3)) (step t20.t5 (cl (= @p_29 (! (and @p_42 @p_43) :named @p_44))) :rule cong :premises (t20.t2 t20.t4)) (step t20.t6 (cl @p_45) :rule refl) (step t20.t7 (cl @p_46) :rule refl) (step t20.t8 (cl (= @p_32 (! (+ veriT_sk0 veriT_sk1) :named @p_47))) :rule cong :premises (t20.t6 t20.t7)) (step t20.t9 (cl (= @p_33 (! (< 0 @p_47) :named @p_48))) :rule cong :premises (t20.t8)) (step t20.t10 (cl (= @p_34 (! (=> @p_44 @p_48) :named @p_49))) :rule cong :premises (t20.t5 t20.t9)) (step t20 (cl (= @p_35 @p_49)) :rule sko_forall) (step t21 (cl (! (= @p_37 (! (not @p_49) :named @p_51)) :named @p_50)) :rule cong :premises (t20)) (step t22 (cl (! (not @p_50) :named @p_53) (! (not @p_37) :named @p_52) @p_51) :rule equiv_pos2) (step t23 (cl (not @p_52) @p_35) :rule not_not) (step t24 (cl @p_53 @p_35 @p_51) :rule th_resolution :premises (t23 t22)) (step t25 (cl @p_51) :rule th_resolution :premises (t19 t21 t24)) (step t26 (cl (! (= @p_51 (! (and @p_44 (! (not @p_48) :named @p_58)) :named @p_55)) :named @p_54)) :rule bool_simplify) (step t27 (cl (! (not @p_54) :named @p_57) (! (not @p_51) :named @p_56) @p_55) :rule equiv_pos2) (step t28 (cl (not @p_56) @p_49) :rule not_not) (step t29 (cl @p_57 @p_49 @p_55) :rule th_resolution :premises (t28 t27)) (step t30 (cl @p_55) :rule th_resolution :premises (t25 t26 t29)) (step t31 (cl (! (= @p_55 (! (and @p_42 @p_43 @p_58) :named @p_60)) :named @p_59)) :rule ac_simp) (step t32 (cl (not @p_59) (not @p_55) @p_60) :rule equiv_pos2) (step t33 (cl @p_60) :rule th_resolution :premises (t30 t31 t32)) (step t34 (cl @p_42) :rule and :premises (t33)) (step t35 (cl @p_43) :rule and :premises (t33)) (step t36 (cl @p_58) :rule and :premises (t33)) (step t37 (cl (not @p_43) @p_48 (not @p_42)) :rule la_generic :args (1 1 1)) (step t38 (cl) :rule resolution :premises (t37 t34 t35 t36)) -373457faab0c37c0d0d8b85464bbfee7e80cb98a 77 0 +967b369bde4b5569be04c05ebef7c7c11a7dd949 77 0 unsat (define-fun veriT_sk0 () Int (! (choice ((veriT_vr2 Int)) (not (forall ((veriT_vr3 Real)) (! (=> (! (and (! (< 0 veriT_vr2) :named @p_32) (! (< 0.0 veriT_vr3) :named @p_33)) :named @p_34) (! (< (- 1) veriT_vr2) :named @p_36)) :named @p_37)))) :named @p_43)) (define-fun veriT_sk1 () Real (! (choice ((veriT_vr3 Real)) (not (=> (and (< 0 @p_43) @p_33) (< (- 1) @p_43)))) :named @p_45)) -(assume axiom0 (! (not (! (exists ((?v0 Int)) (! (forall ((?v1 Int) (?v2 Real)) (! (=> (! (and (! (< 0 ?v1) :named @p_9) (! (< 0.0 ?v2) :named @p_11)) :named @p_13) (! (< (! (- 1) :named @p_8) ?v1) :named @p_16)) :named @p_18)) :named @p_2)) :named @p_1)) :named @p_3)) +(assume a0 (! (not (! (exists ((?v0 Int)) (! (forall ((?v1 Int) (?v2 Real)) (! (=> (! (and (! (< 0 ?v1) :named @p_9) (! (< 0.0 ?v2) :named @p_11)) :named @p_13) (! (< (! (- 1) :named @p_8) ?v1) :named @p_16)) :named @p_18)) :named @p_2)) :named @p_1)) :named @p_3)) (step t2 (cl (= @p_1 @p_2)) :rule qnt_rm_unused) (step t3 (cl (! (= @p_3 (! (not @p_2) :named @p_5)) :named @p_4)) :rule cong :premises (t2)) (step t4 (cl (! (not @p_4) :named @p_7) (! (not @p_3) :named @p_6) @p_5) :rule equiv_pos2) (step t5 (cl (not @p_6) @p_1) :rule not_not) (step t6 (cl @p_7 @p_1 @p_5) :rule th_resolution :premises (t5 t4)) -(step t7 (cl @p_5) :rule th_resolution :premises (axiom0 t3 t6)) +(step t7 (cl @p_5) :rule th_resolution :premises (a0 t3 t6)) (anchor :step t8 :args ((:= (?v1 Int) veriT_vr0) (:= (?v2 Real) veriT_vr1))) (step t8.t1 (cl (! (= ?v1 veriT_vr0) :named @p_15)) :rule refl) (step t8.t2 (cl (= @p_9 (! (< 0 veriT_vr0) :named @p_10))) :rule cong :premises (t8.t1)) (step t8.t3 (cl (= ?v2 veriT_vr1)) :rule refl) (step t8.t4 (cl (= @p_11 (! (< 0.0 veriT_vr1) :named @p_12))) :rule cong :premises (t8.t3)) (step t8.t5 (cl (= @p_13 (! (and @p_10 @p_12) :named @p_14))) :rule cong :premises (t8.t2 t8.t4)) (step t8.t6 (cl @p_15) :rule refl) (step t8.t7 (cl (= @p_16 (! (< @p_8 veriT_vr0) :named @p_17))) :rule cong :premises (t8.t6)) (step t8.t8 (cl (= @p_18 (! (=> @p_14 @p_17) :named @p_19))) :rule cong :premises (t8.t5 t8.t7)) (step t8 (cl (= @p_2 (! (forall ((veriT_vr0 Int) (veriT_vr1 Real)) @p_19) :named @p_20))) :rule bind) (step t9 (cl (! (= @p_5 (! (not @p_20) :named @p_22)) :named @p_21)) :rule cong :premises (t8)) (step t10 (cl (! (not @p_21) :named @p_24) (! (not @p_5) :named @p_23) @p_22) :rule equiv_pos2) (step t11 (cl (not @p_23) @p_2) :rule not_not) (step t12 (cl @p_24 @p_2 @p_22) :rule th_resolution :premises (t11 t10)) (step t13 (cl @p_22) :rule th_resolution :premises (t7 t9 t12)) (anchor :step t14 :args ((veriT_vr0 Int) (veriT_vr1 Real))) (step t14.t1 (cl (= @p_8 (- 1))) :rule minus_simplify) (step t14.t2 (cl (= @p_17 (! (< (- 1) veriT_vr0) :named @p_25))) :rule cong :premises (t14.t1)) (step t14.t3 (cl (= @p_19 (! (=> @p_14 @p_25) :named @p_26))) :rule cong :premises (t14.t2)) (step t14 (cl (= @p_20 (! (forall ((veriT_vr0 Int) (veriT_vr1 Real)) @p_26) :named @p_27))) :rule bind) (step t15 (cl (! (= @p_22 (! (not @p_27) :named @p_29)) :named @p_28)) :rule cong :premises (t14)) (step t16 (cl (! (not @p_28) :named @p_31) (! (not @p_22) :named @p_30) @p_29) :rule equiv_pos2) (step t17 (cl (not @p_30) @p_20) :rule not_not) (step t18 (cl @p_31 @p_20 @p_29) :rule th_resolution :premises (t17 t16)) (step t19 (cl @p_29) :rule th_resolution :premises (t13 t15 t18)) (anchor :step t20 :args ((:= (veriT_vr0 Int) veriT_vr2) (:= (veriT_vr1 Real) veriT_vr3))) (step t20.t1 (cl (! (= veriT_vr0 veriT_vr2) :named @p_35)) :rule refl) (step t20.t2 (cl (= @p_10 @p_32)) :rule cong :premises (t20.t1)) (step t20.t3 (cl (= veriT_vr1 veriT_vr3)) :rule refl) (step t20.t4 (cl (= @p_12 @p_33)) :rule cong :premises (t20.t3)) (step t20.t5 (cl (= @p_14 @p_34)) :rule cong :premises (t20.t2 t20.t4)) (step t20.t6 (cl @p_35) :rule refl) (step t20.t7 (cl (= @p_25 @p_36)) :rule cong :premises (t20.t6)) (step t20.t8 (cl (= @p_26 @p_37)) :rule cong :premises (t20.t5 t20.t7)) (step t20 (cl (= @p_27 (! (forall ((veriT_vr2 Int) (veriT_vr3 Real)) @p_37) :named @p_38))) :rule bind) (step t21 (cl (! (= @p_29 (! (not @p_38) :named @p_40)) :named @p_39)) :rule cong :premises (t20)) (step t22 (cl (! (not @p_39) :named @p_42) (! (not @p_29) :named @p_41) @p_40) :rule equiv_pos2) (step t23 (cl (not @p_41) @p_27) :rule not_not) (step t24 (cl @p_42 @p_27 @p_40) :rule th_resolution :premises (t23 t22)) (step t25 (cl @p_40) :rule th_resolution :premises (t19 t21 t24)) (anchor :step t26 :args ((:= (veriT_vr2 Int) veriT_sk0) (:= (veriT_vr3 Real) veriT_sk1))) (step t26.t1 (cl (! (= veriT_vr2 veriT_sk0) :named @p_48)) :rule refl) (step t26.t2 (cl (= @p_32 (! (< 0 veriT_sk0) :named @p_44))) :rule cong :premises (t26.t1)) (step t26.t3 (cl (= veriT_vr3 veriT_sk1)) :rule refl) (step t26.t4 (cl (= @p_33 (! (< 0.0 veriT_sk1) :named @p_46))) :rule cong :premises (t26.t3)) (step t26.t5 (cl (= @p_34 (! (and @p_44 @p_46) :named @p_47))) :rule cong :premises (t26.t2 t26.t4)) (step t26.t6 (cl @p_48) :rule refl) (step t26.t7 (cl (= @p_36 (! (< (- 1) veriT_sk0) :named @p_49))) :rule cong :premises (t26.t6)) (step t26.t8 (cl (= @p_37 (! (=> @p_47 @p_49) :named @p_50))) :rule cong :premises (t26.t5 t26.t7)) (step t26 (cl (= @p_38 @p_50)) :rule sko_forall) (step t27 (cl (! (= @p_40 (! (not @p_50) :named @p_52)) :named @p_51)) :rule cong :premises (t26)) (step t28 (cl (! (not @p_51) :named @p_54) (! (not @p_40) :named @p_53) @p_52) :rule equiv_pos2) (step t29 (cl (not @p_53) @p_38) :rule not_not) (step t30 (cl @p_54 @p_38 @p_52) :rule th_resolution :premises (t29 t28)) (step t31 (cl @p_52) :rule th_resolution :premises (t25 t27 t30)) (step t32 (cl (! (= @p_52 (! (and @p_47 (! (not @p_49) :named @p_59)) :named @p_56)) :named @p_55)) :rule bool_simplify) (step t33 (cl (! (not @p_55) :named @p_58) (! (not @p_52) :named @p_57) @p_56) :rule equiv_pos2) (step t34 (cl (not @p_57) @p_50) :rule not_not) (step t35 (cl @p_58 @p_50 @p_56) :rule th_resolution :premises (t34 t33)) (step t36 (cl @p_56) :rule th_resolution :premises (t31 t32 t35)) (step t37 (cl (! (= @p_56 (! (and @p_44 @p_46 @p_59) :named @p_61)) :named @p_60)) :rule ac_simp) (step t38 (cl (not @p_60) (not @p_56) @p_61) :rule equiv_pos2) (step t39 (cl @p_61) :rule th_resolution :premises (t36 t37 t38)) (step t40 (cl @p_44) :rule and :premises (t39)) (step t41 (cl @p_59) :rule and :premises (t39)) (step t42 (cl @p_49 (not @p_44)) :rule la_generic :args (1.0 1.0)) (step t43 (cl) :rule resolution :premises (t42 t40 t41)) -3b8147fceb728295aa24bd5bef9bf1721184b75c 49 0 +ad30a685f8670d5c182050b2758f164c00fa02de 49 0 unsat (define-fun veriT_sk0 () Int (! (choice ((veriT_vr1 Int)) (not (! (or (! (< 0 veriT_vr1) :named @p_20) (! (< veriT_vr1 1) :named @p_22)) :named @p_23))) :named @p_29)) -(assume axiom0 (! (not (! (forall ((?v0 Int) (?v1 Int)) (! (or (! (< 0 ?v1) :named @p_9) (! (< ?v1 1) :named @p_12)) :named @p_2)) :named @p_1)) :named @p_3)) +(assume a0 (! (not (! (forall ((?v0 Int) (?v1 Int)) (! (or (! (< 0 ?v1) :named @p_9) (! (< ?v1 1) :named @p_12)) :named @p_2)) :named @p_1)) :named @p_3)) (step t2 (cl (= @p_1 (! (forall ((?v1 Int)) @p_2) :named @p_4))) :rule qnt_rm_unused) (step t3 (cl (! (= @p_3 (! (not @p_4) :named @p_6)) :named @p_5)) :rule cong :premises (t2)) (step t4 (cl (! (not @p_5) :named @p_8) (! (not @p_3) :named @p_7) @p_6) :rule equiv_pos2) (step t5 (cl (not @p_7) @p_1) :rule not_not) (step t6 (cl @p_8 @p_1 @p_6) :rule th_resolution :premises (t5 t4)) -(step t7 (cl @p_6) :rule th_resolution :premises (axiom0 t3 t6)) +(step t7 (cl @p_6) :rule th_resolution :premises (a0 t3 t6)) (anchor :step t8 :args ((:= (?v1 Int) veriT_vr0))) (step t8.t1 (cl (! (= ?v1 veriT_vr0) :named @p_11)) :rule refl) (step t8.t2 (cl (= @p_9 (! (< 0 veriT_vr0) :named @p_10))) :rule cong :premises (t8.t1)) (step t8.t3 (cl @p_11) :rule refl) (step t8.t4 (cl (= @p_12 (! (< veriT_vr0 1) :named @p_13))) :rule cong :premises (t8.t3)) (step t8.t5 (cl (= @p_2 (! (or @p_10 @p_13) :named @p_14))) :rule cong :premises (t8.t2 t8.t4)) (step t8 (cl (= @p_4 (! (forall ((veriT_vr0 Int)) @p_14) :named @p_15))) :rule bind) (step t9 (cl (! (= @p_6 (! (not @p_15) :named @p_17)) :named @p_16)) :rule cong :premises (t8)) (step t10 (cl (! (not @p_16) :named @p_19) (! (not @p_6) :named @p_18) @p_17) :rule equiv_pos2) (step t11 (cl (not @p_18) @p_4) :rule not_not) (step t12 (cl @p_19 @p_4 @p_17) :rule th_resolution :premises (t11 t10)) (step t13 (cl @p_17) :rule th_resolution :premises (t7 t9 t12)) (anchor :step t14 :args ((:= (veriT_vr0 Int) veriT_vr1))) (step t14.t1 (cl (! (= veriT_vr0 veriT_vr1) :named @p_21)) :rule refl) (step t14.t2 (cl (= @p_10 @p_20)) :rule cong :premises (t14.t1)) (step t14.t3 (cl @p_21) :rule refl) (step t14.t4 (cl (= @p_13 @p_22)) :rule cong :premises (t14.t3)) (step t14.t5 (cl (= @p_14 @p_23)) :rule cong :premises (t14.t2 t14.t4)) (step t14 (cl (= @p_15 (! (forall ((veriT_vr1 Int)) @p_23) :named @p_24))) :rule bind) (step t15 (cl (! (= @p_17 (! (not @p_24) :named @p_26)) :named @p_25)) :rule cong :premises (t14)) (step t16 (cl (! (not @p_25) :named @p_28) (! (not @p_17) :named @p_27) @p_26) :rule equiv_pos2) (step t17 (cl (not @p_27) @p_15) :rule not_not) (step t18 (cl @p_28 @p_15 @p_26) :rule th_resolution :premises (t17 t16)) (step t19 (cl @p_26) :rule th_resolution :premises (t13 t15 t18)) (anchor :step t20 :args ((:= (veriT_vr1 Int) veriT_sk0))) (step t20.t1 (cl (! (= veriT_vr1 veriT_sk0) :named @p_31)) :rule refl) (step t20.t2 (cl (= @p_20 (! (< 0 veriT_sk0) :named @p_30))) :rule cong :premises (t20.t1)) (step t20.t3 (cl @p_31) :rule refl) (step t20.t4 (cl (= @p_22 (! (< veriT_sk0 1) :named @p_32))) :rule cong :premises (t20.t3)) (step t20.t5 (cl (= @p_23 (! (or @p_30 @p_32) :named @p_33))) :rule cong :premises (t20.t2 t20.t4)) (step t20 (cl (= @p_24 @p_33)) :rule sko_forall) (step t21 (cl (! (= @p_26 (! (not @p_33) :named @p_35)) :named @p_34)) :rule cong :premises (t20)) (step t22 (cl (! (not @p_34) :named @p_37) (! (not @p_26) :named @p_36) @p_35) :rule equiv_pos2) (step t23 (cl (not @p_36) @p_24) :rule not_not) (step t24 (cl @p_37 @p_24 @p_35) :rule th_resolution :premises (t23 t22)) (step t25 (cl @p_35) :rule th_resolution :premises (t19 t21 t24)) (step t26 (cl (not @p_30)) :rule not_or :premises (t25)) (step t27 (cl (not @p_32)) :rule not_or :premises (t25)) (step t28 (cl @p_32 @p_30) :rule la_generic :args (1 1)) (step t29 (cl) :rule resolution :premises (t28 t26 t27)) -467ecef4941df0c9404f2c8e1d81f077fb40e73a 7 0 +c9141d00ebba589372c1920648d35b166a7ea6d0 7 0 unsat -(assume axiom0 (! (not (! (not (! (= 1 (* 2 (of_nat$ x$))) :named @p_2)) :named @p_3)) :named @p_1)) +(assume a0 (! (not (! (not (! (= 1 (* 2 (of_nat$ x$))) :named @p_2)) :named @p_3)) :named @p_1)) (step t2 (cl (not @p_1) @p_2) :rule not_not) -(step t3 (cl @p_2) :rule th_resolution :premises (t2 axiom0)) +(step t3 (cl @p_2) :rule th_resolution :premises (t2 a0)) (step t4 (cl @p_3 @p_3) :rule lia_generic) (step t5 (cl @p_3) :rule contraction :premises (t4)) (step t6 (cl) :rule resolution :premises (t5 t3)) -3549c5e5446637c428a1dc6a809dddaffe6daeca 11 0 +5c421c4131db57d719eecccd76e666bae936fa11 11 0 unsat -(assume axiom0 (! (not (! (=> (! (< (! (of_nat$ a$) :named @p_1) 3) :named @p_3) (! (< (* 2 @p_1) 7) :named @p_4)) :named @p_8)) :named @p_2)) +(assume a0 (! (not (! (=> (! (< (! (of_nat$ a$) :named @p_1) 3) :named @p_3) (! (< (* 2 @p_1) 7) :named @p_4)) :named @p_8)) :named @p_2)) (step t2 (cl (! (= @p_2 (! (and @p_3 (! (not @p_4) :named @p_10)) :named @p_6)) :named @p_5)) :rule bool_simplify) (step t3 (cl (! (not @p_5) :named @p_9) (! (not @p_2) :named @p_7) @p_6) :rule equiv_pos2) (step t4 (cl (not @p_7) @p_8) :rule not_not) (step t5 (cl @p_9 @p_8 @p_6) :rule th_resolution :premises (t4 t3)) -(step t6 (cl @p_6) :rule th_resolution :premises (axiom0 t2 t5)) +(step t6 (cl @p_6) :rule th_resolution :premises (a0 t2 t5)) (step t7 (cl @p_3) :rule and :premises (t6)) (step t8 (cl @p_10) :rule and :premises (t6)) (step t9 (cl @p_4 (not @p_3)) :rule la_generic :args ((div 1 2) 1)) (step t10 (cl) :rule resolution :premises (t9 t7 t8)) -af4e96cd41efee9e27fd5c2ad7650835fd28bdc9 21 0 +92da6e97ba29a34a876c0fa16d5e6d53b05316de 21 0 unsat -(assume axiom0 (! (not (! (< (! (* 0 (! (+ 1 (! (of_nat$ y$) :named @p_2)) :named @p_1)) :named @p_3) (! (ite (! (< @p_1 @p_2) :named @p_12) 0 (! (- @p_1 @p_2) :named @p_13)) :named @p_5)) :named @p_4)) :named @p_6)) +(assume a0 (! (not (! (< (! (* 0 (! (+ 1 (! (of_nat$ y$) :named @p_2)) :named @p_1)) :named @p_3) (! (ite (! (< @p_1 @p_2) :named @p_12) 0 (! (- @p_1 @p_2) :named @p_13)) :named @p_5)) :named @p_4)) :named @p_6)) (step t2 (cl (= 0 @p_3)) :rule prod_simplify) (step t3 (cl (= @p_4 (! (< 0 @p_5) :named @p_7))) :rule cong :premises (t2)) (step t4 (cl (! (= @p_6 (! (not @p_7) :named @p_9)) :named @p_8)) :rule cong :premises (t3)) (step t5 (cl (! (not @p_8) :named @p_11) (! (not @p_6) :named @p_10) @p_9) :rule equiv_pos2) (step t6 (cl (not @p_10) @p_4) :rule not_not) (step t7 (cl @p_11 @p_4 @p_9) :rule th_resolution :premises (t6 t5)) -(step t8 (cl @p_9) :rule th_resolution :premises (axiom0 t4 t7)) +(step t8 (cl @p_9) :rule th_resolution :premises (a0 t4 t7)) (step t9 (cl (! (= @p_9 (! (and (! (not (! (< 0 @p_5) :named @p_21)) :named @p_18) (! (ite @p_12 (= 0 @p_5) (! (= @p_13 @p_5) :named @p_20)) :named @p_19)) :named @p_15)) :named @p_14)) :rule ite_intro) (step t10 (cl (! (not @p_14) :named @p_17) (! (not @p_9) :named @p_16) @p_15) :rule equiv_pos2) (step t11 (cl (not @p_16) @p_7) :rule not_not) (step t12 (cl @p_17 @p_7 @p_15) :rule th_resolution :premises (t11 t10)) (step t13 (cl @p_15) :rule th_resolution :premises (t8 t9 t12)) (step t14 (cl @p_18) :rule and :premises (t13)) (step t15 (cl @p_19) :rule and :premises (t13)) (step t16 (cl @p_12 @p_20) :rule ite1 :premises (t15)) (step t17 (cl (not @p_12)) :rule la_tautology) (step t18 (cl @p_20) :rule resolution :premises (t16 t17)) (step t19 (cl @p_21 (not @p_20)) :rule la_generic :args (1 (- 1))) (step t20 (cl) :rule resolution :premises (t19 t14 t18)) -efbe007514b68c6b40ac16694834314f7692069b 33 0 +d2911e8674cbcffa4830ead7c6ef3c57cef2d6fa 33 0 unsat -(assume axiom0 (! (not (! (or false (or (! (= (! (ite (! (< 0 (! (+ 1 (! (of_nat$ y$) :named @p_1)) :named @p_2)) :named @p_13) true false) :named @p_3) (! (= @p_1 (! (ite (! (< @p_2 1) :named @p_27) 0 (! (- @p_2 1) :named @p_28)) :named @p_26)) :named @p_14)) :named @p_5) (! (=> (! (not @p_3) :named @p_15) false) :named @p_6))) :named @p_4)) :named @p_7)) -(assume axiom1 (! (<= 0 @p_1) :named @p_34)) +(assume a0 (! (not (! (or false (or (! (= (! (ite (! (< 0 (! (+ 1 (! (of_nat$ y$) :named @p_1)) :named @p_2)) :named @p_13) true false) :named @p_3) (! (= @p_1 (! (ite (! (< @p_2 1) :named @p_27) 0 (! (- @p_2 1) :named @p_28)) :named @p_26)) :named @p_14)) :named @p_5) (! (=> (! (not @p_3) :named @p_15) false) :named @p_6))) :named @p_4)) :named @p_7)) +(assume a1 (! (<= 0 @p_1) :named @p_34)) (step t3 (cl (= @p_4 (! (or false @p_5 @p_6) :named @p_8))) :rule ac_simp) (step t4 (cl (! (= @p_7 (! (not @p_8) :named @p_10)) :named @p_9)) :rule cong :premises (t3)) (step t5 (cl (! (not @p_9) :named @p_12) (! (not @p_7) :named @p_11) @p_10) :rule equiv_pos2) (step t6 (cl (not @p_11) @p_4) :rule not_not) (step t7 (cl @p_12 @p_4 @p_10) :rule th_resolution :premises (t6 t5)) -(step t8 (cl @p_10) :rule th_resolution :premises (axiom0 t4 t7)) +(step t8 (cl @p_10) :rule th_resolution :premises (a0 t4 t7)) (step t9 (cl (= @p_3 @p_13)) :rule ite_simplify) (step t10 (cl (= @p_5 (! (= @p_13 @p_14) :named @p_19))) :rule cong :premises (t9)) (step t11 (cl (= @p_15 (! (not @p_13) :named @p_16))) :rule cong :premises (t9)) (step t12 (cl (= @p_6 (! (=> @p_16 false) :named @p_17))) :rule cong :premises (t11)) (step t13 (cl (= @p_17 (! (not @p_16) :named @p_18))) :rule implies_simplify) (step t14 (cl (= @p_18 @p_13)) :rule not_simplify) (step t15 (cl (= @p_6 @p_13)) :rule trans :premises (t12 t13 t14)) (step t16 (cl (= @p_8 (! (or false @p_19 @p_13) :named @p_20))) :rule cong :premises (t10 t15)) (step t17 (cl (= @p_20 (! (or @p_19 @p_13) :named @p_21))) :rule or_simplify) (step t18 (cl (= @p_8 @p_21)) :rule trans :premises (t16 t17)) (step t19 (cl (! (= @p_10 (! (not @p_21) :named @p_23)) :named @p_22)) :rule cong :premises (t18)) (step t20 (cl (! (not @p_22) :named @p_25) (! (not @p_10) :named @p_24) @p_23) :rule equiv_pos2) (step t21 (cl (not @p_24) @p_8) :rule not_not) (step t22 (cl @p_25 @p_8 @p_23) :rule th_resolution :premises (t21 t20)) (step t23 (cl @p_23) :rule th_resolution :premises (t8 t19 t22)) (step t24 (cl (! (= @p_23 (! (and (! (not (or (= @p_13 (= @p_1 @p_26)) @p_13)) :named @p_33) (ite @p_27 (= 0 @p_26) (= @p_28 @p_26))) :named @p_30)) :named @p_29)) :rule ite_intro) (step t25 (cl (! (not @p_29) :named @p_32) (! (not @p_23) :named @p_31) @p_30) :rule equiv_pos2) (step t26 (cl (not @p_31) @p_21) :rule not_not) (step t27 (cl @p_32 @p_21 @p_30) :rule th_resolution :premises (t26 t25)) (step t28 (cl @p_30) :rule th_resolution :premises (t23 t24 t27)) (step t29 (cl @p_33) :rule and :premises (t28)) (step t30 (cl @p_16) :rule not_or :premises (t29)) (step t31 (cl @p_13 (not @p_34)) :rule la_generic :args (1 1)) -(step t32 (cl) :rule resolution :premises (t31 t30 axiom1)) -d3c98c27318a98e589a892ffe99adffc556ea833 76 0 +(step t32 (cl) :rule resolution :premises (t31 t30 a1)) +1b01a203f415236790472915120aeba1d69e507b 76 0 unsat -(assume axiom4 (! (forall ((?v0 Int)) (! (= (! (of_nat$ (! (nat$ ?v0) :named @p_3)) :named @p_5) (! (ite (! (<= 0 ?v0) :named @p_8) ?v0 0) :named @p_10)) :named @p_12)) :named @p_2)) -(assume axiom1 (! (not (! (= (! (ite (! (< x$ 0) :named @p_25) (! (- x$) :named @p_26) x$) :named @p_1) (of_nat$ (nat$ @p_1))) :named @p_30)) :named @p_24)) +(assume a4 (! (forall ((?v0 Int)) (! (= (! (of_nat$ (! (nat$ ?v0) :named @p_3)) :named @p_5) (! (ite (! (<= 0 ?v0) :named @p_8) ?v0 0) :named @p_10)) :named @p_12)) :named @p_2)) +(assume a1 (! (not (! (= (! (ite (! (< x$ 0) :named @p_25) (! (- x$) :named @p_26) x$) :named @p_1) (of_nat$ (nat$ @p_1))) :named @p_30)) :named @p_24)) (anchor :step t3 :args ((:= (?v0 Int) veriT_vr0))) (step t3.t1 (cl (! (= ?v0 veriT_vr0) :named @p_7)) :rule refl) (step t3.t2 (cl (= @p_3 (! (nat$ veriT_vr0) :named @p_4))) :rule cong :premises (t3.t1)) (step t3.t3 (cl (= @p_5 (! (of_nat$ @p_4) :named @p_6))) :rule cong :premises (t3.t2)) (step t3.t4 (cl @p_7) :rule refl) (step t3.t5 (cl (= @p_8 (! (<= 0 veriT_vr0) :named @p_9))) :rule cong :premises (t3.t4)) (step t3.t6 (cl @p_7) :rule refl) (step t3.t7 (cl (= @p_10 (! (ite @p_9 veriT_vr0 0) :named @p_11))) :rule cong :premises (t3.t5 t3.t6)) (step t3.t8 (cl (= @p_12 (! (= @p_6 @p_11) :named @p_13))) :rule cong :premises (t3.t3 t3.t7)) (step t3 (cl (! (= @p_2 (! (forall ((veriT_vr0 Int)) @p_13) :named @p_15)) :named @p_14)) :rule bind) (step t4 (cl (not @p_14) (not @p_2) @p_15) :rule equiv_pos2) -(step t5 (cl @p_15) :rule th_resolution :premises (axiom4 t3 t4)) +(step t5 (cl @p_15) :rule th_resolution :premises (a4 t3 t4)) (anchor :step t6 :args ((:= (veriT_vr0 Int) veriT_vr1))) (step t6.t1 (cl (! (= veriT_vr0 veriT_vr1) :named @p_18)) :rule refl) (step t6.t2 (cl (= @p_4 (! (nat$ veriT_vr1) :named @p_16))) :rule cong :premises (t6.t1)) (step t6.t3 (cl (= @p_6 (! (of_nat$ @p_16) :named @p_17))) :rule cong :premises (t6.t2)) (step t6.t4 (cl @p_18) :rule refl) (step t6.t5 (cl (= @p_9 (! (<= 0 veriT_vr1) :named @p_19))) :rule cong :premises (t6.t4)) (step t6.t6 (cl @p_18) :rule refl) (step t6.t7 (cl (= @p_11 (! (ite @p_19 veriT_vr1 0) :named @p_20))) :rule cong :premises (t6.t5 t6.t6)) (step t6.t8 (cl (= @p_13 (! (= @p_17 @p_20) :named @p_21))) :rule cong :premises (t6.t3 t6.t7)) (step t6 (cl (! (= @p_15 (! (forall ((veriT_vr1 Int)) @p_21) :named @p_23)) :named @p_22)) :rule bind) (step t7 (cl (not @p_22) (not @p_15) @p_23) :rule equiv_pos2) (step t8 (cl @p_23) :rule th_resolution :premises (t5 t6 t7)) (step t9 (cl (! (= @p_24 (! (and (! (not (! (= @p_1 (! (of_nat$ (nat$ @p_1)) :named @p_36)) :named @p_53)) :named @p_32) (! (ite @p_25 (! (= @p_26 @p_1) :named @p_35) (! (= x$ @p_1) :named @p_34)) :named @p_33)) :named @p_28)) :named @p_27)) :rule ite_intro) (step t10 (cl (! (not @p_27) :named @p_31) (! (not @p_24) :named @p_29) @p_28) :rule equiv_pos2) (step t11 (cl (not @p_29) @p_30) :rule not_not) (step t12 (cl @p_31 @p_30 @p_28) :rule th_resolution :premises (t11 t10)) -(step t13 (cl @p_28) :rule th_resolution :premises (axiom1 t9 t12)) +(step t13 (cl @p_28) :rule th_resolution :premises (a1 t9 t12)) (step t14 (cl @p_32) :rule and :premises (t13)) (step t15 (cl @p_33) :rule and :premises (t13)) (step t16 (cl @p_25 @p_34) :rule ite1 :premises (t15)) (step t17 (cl (! (not @p_25) :named @p_64) @p_35) :rule ite2 :premises (t15)) (step t18 (cl (or (! (not @p_23) :named @p_43) (! (= @p_36 (! (ite (! (<= 0 @p_1) :named @p_39) @p_1 0) :named @p_38)) :named @p_37))) :rule forall_inst :args ((:= veriT_vr1 @p_1))) (anchor :step t19) (assume t19.h1 @p_37) (step t19.t2 (cl (! (= @p_37 (! (and (! (= @p_36 @p_38) :named @p_47) (! (ite @p_39 (! (= @p_1 @p_38) :named @p_51) (! (= 0 @p_38) :named @p_49)) :named @p_48)) :named @p_40)) :named @p_41)) :rule ite_intro) (step t19.t3 (cl (not @p_41) (! (not @p_37) :named @p_42) @p_40) :rule equiv_pos2) (step t19.t4 (cl @p_40) :rule th_resolution :premises (t19.h1 t19.t2 t19.t3)) (step t19 (cl @p_42 @p_40) :rule subproof :discharge (h1)) (step t20 (cl @p_43 @p_37) :rule or :premises (t18)) (step t21 (cl (! (or @p_43 @p_40) :named @p_45) (! (not @p_43) :named @p_44)) :rule or_neg) (step t22 (cl (not @p_44) @p_23) :rule not_not) (step t23 (cl @p_45 @p_23) :rule th_resolution :premises (t22 t21)) (step t24 (cl @p_45 (! (not @p_40) :named @p_46)) :rule or_neg) (step t25 (cl @p_45) :rule th_resolution :premises (t20 t19 t23 t24)) (step t26 (cl @p_46 @p_47) :rule and_pos) (step t27 (cl (! (not @p_48) :named @p_50) @p_39 @p_49) :rule ite_pos1) (step t28 (cl @p_50 (! (not @p_39) :named @p_56) @p_51) :rule ite_pos2) (step t29 (cl @p_46 @p_48) :rule and_pos) (step t30 (cl @p_43 @p_40) :rule or :premises (t25)) (step t31 (cl @p_40) :rule resolution :premises (t30 t8)) (step t32 (cl @p_47) :rule resolution :premises (t26 t31)) (step t33 (cl @p_48) :rule resolution :premises (t29 t31)) (step t34 (cl (! (= @p_1 @p_1) :named @p_52)) :rule eq_reflexive) (step t35 (cl (! (not @p_52) :named @p_57) (! (not @p_51) :named @p_54) (! (not @p_47) :named @p_55) @p_53) :rule eq_transitive) (step t36 (cl @p_54 @p_55 @p_53) :rule th_resolution :premises (t35 t34)) (step t37 (cl @p_54) :rule resolution :premises (t36 t14 t32)) (step t38 (cl @p_56) :rule resolution :premises (t28 t37 t33)) (step t39 (cl @p_49) :rule resolution :premises (t27 t38 t33)) (step t40 (cl (! (not (! (= 0 @p_36) :named @p_60)) :named @p_58) @p_57 (! (not (! (<= @p_36 @p_1) :named @p_62)) :named @p_59) @p_39) :rule eq_congruent_pred) (step t41 (cl @p_58 @p_59 @p_39) :rule th_resolution :premises (t40 t34)) (step t42 (cl (! (not @p_49) :named @p_61) @p_55 @p_60) :rule eq_transitive) (step t43 (cl @p_59 @p_39 @p_61 @p_55) :rule th_resolution :premises (t41 t42)) (step t44 (cl @p_59) :rule resolution :premises (t43 t32 t38 t39)) (step t45 (cl @p_62 @p_25 @p_58 (! (not @p_34) :named @p_63)) :rule la_generic :args (1 1 1 (- 1))) (step t46 (cl @p_62 @p_25 @p_63 @p_61 @p_55) :rule th_resolution :premises (t45 t42)) (step t47 (cl @p_25 @p_63) :rule resolution :premises (t46 t32 t39 t44)) (step t48 (cl @p_25) :rule resolution :premises (t47 t16)) (step t49 (cl @p_35) :rule resolution :premises (t17 t48)) (step t50 (cl @p_62 @p_64 @p_58 (! (not @p_35) :named @p_65)) :rule la_generic :args (1 1 1 (- 1))) (step t51 (cl @p_62 @p_64 @p_65 @p_61 @p_55) :rule th_resolution :premises (t50 t42)) (step t52 (cl) :rule resolution :premises (t51 t48 t49 t32 t39 t44)) -d4fe162ae425370cea445760001be7c859bc0288 337 0 +59999ffb5d66c5ffe3c4bd998e52a95d515ab9b4 337 0 unsat (define-fun veriT_sk1 () Nat$ (! (choice ((veriT_vr18 Nat$)) (not (! (=> (! (dvd$ veriT_vr18 (! (nat$ (! (+ 1 (! (* 4 (! (of_nat$ m$) :named @p_3)) :named @p_117)) :named @p_119)) :named @p_120)) :named @p_206) (! (or (! (= 1 (! (of_nat$ veriT_vr18) :named @p_171)) :named @p_208) (! (= (! (of_nat$ @p_120) :named @p_158) @p_171) :named @p_210)) :named @p_211)) :named @p_205))) :named @p_172)) -(assume axiom0 (! (forall ((?v0 Nat$)) (! (= (! (prime_nat$ ?v0) :named @p_7) (! (and (! (< 1 (! (of_nat$ ?v0) :named @p_1)) :named @p_10) (! (forall ((?v1 Nat$)) (! (=> (! (dvd$ ?v1 ?v0) :named @p_14) (! (or (! (= 1 (! (of_nat$ ?v1) :named @p_2)) :named @p_17) (! (= @p_1 @p_2) :named @p_21)) :named @p_23)) :named @p_25)) :named @p_12)) :named @p_27)) :named @p_29)) :named @p_4)) -(assume axiom1 (! (not (! (=> (! (prime_nat$ (! (nat$ (! (+ @p_117 1) :named @p_116)) :named @p_118)) :named @p_109) (! (<= 1 @p_3) :named @p_110)) :named @p_114)) :named @p_108)) -(assume axiom2 (! (forall ((?v0 Nat$)) (! (<= 0 @p_1) :named @p_127)) :named @p_125)) -(assume axiom4 (! (forall ((?v0 Int)) (! (= (! (of_nat$ (! (nat$ ?v0) :named @p_136)) :named @p_138) (! (ite (! (<= 0 ?v0) :named @p_141) ?v0 0) :named @p_143)) :named @p_145)) :named @p_135)) +(assume a0 (! (forall ((?v0 Nat$)) (! (= (! (prime_nat$ ?v0) :named @p_7) (! (and (! (< 1 (! (of_nat$ ?v0) :named @p_1)) :named @p_10) (! (forall ((?v1 Nat$)) (! (=> (! (dvd$ ?v1 ?v0) :named @p_14) (! (or (! (= 1 (! (of_nat$ ?v1) :named @p_2)) :named @p_17) (! (= @p_1 @p_2) :named @p_21)) :named @p_23)) :named @p_25)) :named @p_12)) :named @p_27)) :named @p_29)) :named @p_4)) +(assume a1 (! (not (! (=> (! (prime_nat$ (! (nat$ (! (+ @p_117 1) :named @p_116)) :named @p_118)) :named @p_109) (! (<= 1 @p_3) :named @p_110)) :named @p_114)) :named @p_108)) +(assume a2 (! (forall ((?v0 Nat$)) (! (<= 0 @p_1) :named @p_127)) :named @p_125)) +(assume a4 (! (forall ((?v0 Int)) (! (= (! (of_nat$ (! (nat$ ?v0) :named @p_136)) :named @p_138) (! (ite (! (<= 0 ?v0) :named @p_141) ?v0 0) :named @p_143)) :named @p_145)) :named @p_135)) (anchor :step t5 :args ((:= (?v0 Nat$) veriT_vr0))) (step t5.t1 (cl (! (= ?v0 veriT_vr0) :named @p_9)) :rule refl) (step t5.t2 (cl (= @p_7 (! (prime_nat$ veriT_vr0) :named @p_8))) :rule cong :premises (t5.t1)) (step t5.t3 (cl @p_9) :rule refl) (step t5.t4 (cl (! (= @p_1 (! (of_nat$ veriT_vr0) :named @p_5)) :named @p_19)) :rule cong :premises (t5.t3)) (step t5.t5 (cl (= @p_10 (! (< 1 @p_5) :named @p_11))) :rule cong :premises (t5.t4)) (anchor :step t5.t6 :args ((:= (?v1 Nat$) veriT_vr1))) (step t5.t6.t1 (cl (! (= ?v1 veriT_vr1) :named @p_16)) :rule refl) (step t5.t6.t2 (cl @p_9) :rule refl) (step t5.t6.t3 (cl (= @p_14 (! (dvd$ veriT_vr1 veriT_vr0) :named @p_15))) :rule cong :premises (t5.t6.t1 t5.t6.t2)) (step t5.t6.t4 (cl @p_16) :rule refl) (step t5.t6.t5 (cl (! (= @p_2 (! (of_nat$ veriT_vr1) :named @p_6)) :named @p_20)) :rule cong :premises (t5.t6.t4)) (step t5.t6.t6 (cl (= @p_17 (! (= 1 @p_6) :named @p_18))) :rule cong :premises (t5.t6.t5)) (step t5.t6.t7 (cl @p_9) :rule refl) (step t5.t6.t8 (cl @p_19) :rule cong :premises (t5.t6.t7)) (step t5.t6.t9 (cl @p_16) :rule refl) (step t5.t6.t10 (cl @p_20) :rule cong :premises (t5.t6.t9)) (step t5.t6.t11 (cl (= @p_21 (! (= @p_5 @p_6) :named @p_22))) :rule cong :premises (t5.t6.t8 t5.t6.t10)) (step t5.t6.t12 (cl (= @p_23 (! (or @p_18 @p_22) :named @p_24))) :rule cong :premises (t5.t6.t6 t5.t6.t11)) (step t5.t6.t13 (cl (= @p_25 (! (=> @p_15 @p_24) :named @p_26))) :rule cong :premises (t5.t6.t3 t5.t6.t12)) (step t5.t6 (cl (= @p_12 (! (forall ((veriT_vr1 Nat$)) @p_26) :named @p_13))) :rule bind) (step t5.t7 (cl (= @p_27 (! (and @p_11 @p_13) :named @p_28))) :rule cong :premises (t5.t5 t5.t6)) (step t5.t8 (cl (= @p_29 (! (= @p_8 @p_28) :named @p_30))) :rule cong :premises (t5.t2 t5.t7)) (step t5 (cl (! (= @p_4 (! (forall ((veriT_vr0 Nat$)) @p_30) :named @p_32)) :named @p_31)) :rule bind) (step t6 (cl (not @p_31) (not @p_4) @p_32) :rule equiv_pos2) -(step t7 (cl @p_32) :rule th_resolution :premises (axiom0 t5 t6)) +(step t7 (cl @p_32) :rule th_resolution :premises (a0 t5 t6)) (anchor :step t8 :args ((veriT_vr0 Nat$))) (step t8.t1 (cl (= @p_30 (! (and (! (=> @p_8 @p_28) :named @p_52) (! (=> @p_28 @p_8) :named @p_65)) :named @p_33))) :rule connective_def) (step t8 (cl (! (= @p_32 (! (forall ((veriT_vr0 Nat$)) @p_33) :named @p_35)) :named @p_34)) :rule bind) (step t9 (cl (not @p_34) (not @p_32) @p_35) :rule equiv_pos2) (step t10 (cl @p_35) :rule th_resolution :premises (t7 t8 t9)) (anchor :step t11 :args ((:= (veriT_vr0 Nat$) veriT_vr2))) (step t11.t1 (cl (! (= veriT_vr0 veriT_vr2) :named @p_41)) :rule refl) (step t11.t2 (cl (! (= @p_8 (! (prime_nat$ veriT_vr2) :named @p_40)) :named @p_64)) :rule cong :premises (t11.t1)) (step t11.t3 (cl @p_41) :rule refl) (step t11.t4 (cl (! (= @p_5 (! (of_nat$ veriT_vr2) :named @p_36)) :named @p_46)) :rule cong :premises (t11.t3)) (step t11.t5 (cl (! (= @p_11 (! (< 1 @p_36) :named @p_38)) :named @p_54)) :rule cong :premises (t11.t4)) (anchor :step t11.t6 :args ((:= (veriT_vr1 Nat$) veriT_vr3))) (step t11.t6.t1 (cl (! (= veriT_vr1 veriT_vr3) :named @p_44)) :rule refl) (step t11.t6.t2 (cl @p_41) :rule refl) (step t11.t6.t3 (cl (= @p_15 (! (dvd$ veriT_vr3 veriT_vr2) :named @p_43))) :rule cong :premises (t11.t6.t1 t11.t6.t2)) (step t11.t6.t4 (cl @p_44) :rule refl) (step t11.t6.t5 (cl (! (= @p_6 (! (of_nat$ veriT_vr3) :named @p_37)) :named @p_47)) :rule cong :premises (t11.t6.t4)) (step t11.t6.t6 (cl (= @p_18 (! (= 1 @p_37) :named @p_45))) :rule cong :premises (t11.t6.t5)) (step t11.t6.t7 (cl @p_41) :rule refl) (step t11.t6.t8 (cl @p_46) :rule cong :premises (t11.t6.t7)) (step t11.t6.t9 (cl @p_44) :rule refl) (step t11.t6.t10 (cl @p_47) :rule cong :premises (t11.t6.t9)) (step t11.t6.t11 (cl (= @p_22 (! (= @p_36 @p_37) :named @p_48))) :rule cong :premises (t11.t6.t8 t11.t6.t10)) (step t11.t6.t12 (cl (= @p_24 (! (or @p_45 @p_48) :named @p_49))) :rule cong :premises (t11.t6.t6 t11.t6.t11)) (step t11.t6.t13 (cl (= @p_26 (! (=> @p_43 @p_49) :named @p_50))) :rule cong :premises (t11.t6.t3 t11.t6.t12)) (step t11.t6 (cl (= @p_13 (! (forall ((veriT_vr3 Nat$)) @p_50) :named @p_42))) :rule bind) (step t11.t7 (cl (= @p_28 (! (and @p_38 @p_42) :named @p_51))) :rule cong :premises (t11.t5 t11.t6)) (step t11.t8 (cl (= @p_52 (! (=> @p_40 @p_51) :named @p_53))) :rule cong :premises (t11.t2 t11.t7)) (step t11.t9 (cl @p_41) :rule refl) (step t11.t10 (cl @p_46) :rule cong :premises (t11.t9)) (step t11.t11 (cl @p_54) :rule cong :premises (t11.t10)) (anchor :step t11.t12 :args ((:= (veriT_vr1 Nat$) veriT_vr4))) (step t11.t12.t1 (cl (! (= veriT_vr1 veriT_vr4) :named @p_57)) :rule refl) (step t11.t12.t2 (cl @p_41) :rule refl) (step t11.t12.t3 (cl (= @p_15 (! (dvd$ veriT_vr4 veriT_vr2) :named @p_56))) :rule cong :premises (t11.t12.t1 t11.t12.t2)) (step t11.t12.t4 (cl @p_57) :rule refl) (step t11.t12.t5 (cl (! (= @p_6 (! (of_nat$ veriT_vr4) :named @p_39)) :named @p_59)) :rule cong :premises (t11.t12.t4)) (step t11.t12.t6 (cl (= @p_18 (! (= 1 @p_39) :named @p_58))) :rule cong :premises (t11.t12.t5)) (step t11.t12.t7 (cl @p_41) :rule refl) (step t11.t12.t8 (cl @p_46) :rule cong :premises (t11.t12.t7)) (step t11.t12.t9 (cl @p_57) :rule refl) (step t11.t12.t10 (cl @p_59) :rule cong :premises (t11.t12.t9)) (step t11.t12.t11 (cl (= @p_22 (! (= @p_36 @p_39) :named @p_60))) :rule cong :premises (t11.t12.t8 t11.t12.t10)) (step t11.t12.t12 (cl (= @p_24 (! (or @p_58 @p_60) :named @p_61))) :rule cong :premises (t11.t12.t6 t11.t12.t11)) (step t11.t12.t13 (cl (= @p_26 (! (=> @p_56 @p_61) :named @p_62))) :rule cong :premises (t11.t12.t3 t11.t12.t12)) (step t11.t12 (cl (= @p_13 (! (forall ((veriT_vr4 Nat$)) @p_62) :named @p_55))) :rule bind) (step t11.t13 (cl (= @p_28 (! (and @p_38 @p_55) :named @p_63))) :rule cong :premises (t11.t11 t11.t12)) (step t11.t14 (cl @p_41) :rule refl) (step t11.t15 (cl @p_64) :rule cong :premises (t11.t14)) (step t11.t16 (cl (= @p_65 (! (=> @p_63 @p_40) :named @p_66))) :rule cong :premises (t11.t13 t11.t15)) (step t11.t17 (cl (= @p_33 (! (and @p_53 @p_66) :named @p_67))) :rule cong :premises (t11.t8 t11.t16)) (step t11 (cl (! (= @p_35 (! (forall ((veriT_vr2 Nat$)) @p_67) :named @p_69)) :named @p_68)) :rule bind) (step t12 (cl (not @p_68) (not @p_35) @p_69) :rule equiv_pos2) (step t13 (cl @p_69) :rule th_resolution :premises (t10 t11 t12)) (anchor :step t14 :args ((:= (veriT_vr2 Nat$) veriT_vr5))) (step t14.t1 (cl (! (= veriT_vr2 veriT_vr5) :named @p_74)) :rule refl) (step t14.t2 (cl (! (= @p_40 (! (prime_nat$ veriT_vr5) :named @p_73)) :named @p_89)) :rule cong :premises (t14.t1)) (step t14.t3 (cl @p_74) :rule refl) (step t14.t4 (cl (! (= @p_36 (! (of_nat$ veriT_vr5) :named @p_70)) :named @p_80)) :rule cong :premises (t14.t3)) (step t14.t5 (cl (! (= @p_38 (! (< 1 @p_70) :named @p_75)) :named @p_86)) :rule cong :premises (t14.t4)) (anchor :step t14.t6 :args ((:= (veriT_vr3 Nat$) veriT_vr6))) (step t14.t6.t1 (cl (! (= veriT_vr3 veriT_vr6) :named @p_78)) :rule refl) (step t14.t6.t2 (cl @p_74) :rule refl) (step t14.t6.t3 (cl (= @p_43 (! (dvd$ veriT_vr6 veriT_vr5) :named @p_77))) :rule cong :premises (t14.t6.t1 t14.t6.t2)) (step t14.t6.t4 (cl @p_78) :rule refl) (step t14.t6.t5 (cl (! (= @p_37 (! (of_nat$ veriT_vr6) :named @p_71)) :named @p_81)) :rule cong :premises (t14.t6.t4)) (step t14.t6.t6 (cl (= @p_45 (! (= 1 @p_71) :named @p_79))) :rule cong :premises (t14.t6.t5)) (step t14.t6.t7 (cl @p_74) :rule refl) (step t14.t6.t8 (cl @p_80) :rule cong :premises (t14.t6.t7)) (step t14.t6.t9 (cl @p_78) :rule refl) (step t14.t6.t10 (cl @p_81) :rule cong :premises (t14.t6.t9)) (step t14.t6.t11 (cl (= @p_48 (! (= @p_70 @p_71) :named @p_82))) :rule cong :premises (t14.t6.t8 t14.t6.t10)) (step t14.t6.t12 (cl (= @p_49 (! (or @p_79 @p_82) :named @p_83))) :rule cong :premises (t14.t6.t6 t14.t6.t11)) (step t14.t6.t13 (cl (= @p_50 (! (=> @p_77 @p_83) :named @p_84))) :rule cong :premises (t14.t6.t3 t14.t6.t12)) (step t14.t6 (cl (= @p_42 (! (forall ((veriT_vr6 Nat$)) @p_84) :named @p_76))) :rule bind) (step t14.t7 (cl (= @p_51 (! (and @p_75 @p_76) :named @p_72))) :rule cong :premises (t14.t5 t14.t6)) (step t14.t8 (cl (= @p_53 (! (=> @p_73 @p_72) :named @p_85))) :rule cong :premises (t14.t2 t14.t7)) (step t14.t9 (cl @p_74) :rule refl) (step t14.t10 (cl @p_80) :rule cong :premises (t14.t9)) (step t14.t11 (cl @p_86) :rule cong :premises (t14.t10)) (anchor :step t14.t12 :args ((:= (veriT_vr4 Nat$) veriT_vr6))) (step t14.t12.t1 (cl (! (= veriT_vr4 veriT_vr6) :named @p_87)) :rule refl) (step t14.t12.t2 (cl @p_74) :rule refl) (step t14.t12.t3 (cl (= @p_56 @p_77)) :rule cong :premises (t14.t12.t1 t14.t12.t2)) (step t14.t12.t4 (cl @p_87) :rule refl) (step t14.t12.t5 (cl (! (= @p_39 @p_71) :named @p_88)) :rule cong :premises (t14.t12.t4)) (step t14.t12.t6 (cl (= @p_58 @p_79)) :rule cong :premises (t14.t12.t5)) (step t14.t12.t7 (cl @p_74) :rule refl) (step t14.t12.t8 (cl @p_80) :rule cong :premises (t14.t12.t7)) (step t14.t12.t9 (cl @p_87) :rule refl) (step t14.t12.t10 (cl @p_88) :rule cong :premises (t14.t12.t9)) (step t14.t12.t11 (cl (= @p_60 @p_82)) :rule cong :premises (t14.t12.t8 t14.t12.t10)) (step t14.t12.t12 (cl (= @p_61 @p_83)) :rule cong :premises (t14.t12.t6 t14.t12.t11)) (step t14.t12.t13 (cl (= @p_62 @p_84)) :rule cong :premises (t14.t12.t3 t14.t12.t12)) (step t14.t12 (cl (= @p_55 @p_76)) :rule bind) (step t14.t13 (cl (= @p_63 @p_72)) :rule cong :premises (t14.t11 t14.t12)) (step t14.t14 (cl @p_74) :rule refl) (step t14.t15 (cl @p_89) :rule cong :premises (t14.t14)) (step t14.t16 (cl (= @p_66 (! (=> @p_72 @p_73) :named @p_90))) :rule cong :premises (t14.t13 t14.t15)) (step t14.t17 (cl (= @p_67 (! (and @p_85 @p_90) :named @p_91))) :rule cong :premises (t14.t8 t14.t16)) (step t14 (cl (! (= @p_69 (! (forall ((veriT_vr5 Nat$)) @p_91) :named @p_93)) :named @p_92)) :rule bind) (step t15 (cl (not @p_92) (not @p_69) @p_93) :rule equiv_pos2) (step t16 (cl @p_93) :rule th_resolution :premises (t13 t14 t15)) (anchor :step t17 :args ((:= (veriT_vr5 Nat$) veriT_vr5))) (anchor :step t17.t1 :args ((:= (veriT_vr6 Nat$) veriT_vr7))) (step t17.t1.t1 (cl (! (= veriT_vr6 veriT_vr7) :named @p_97)) :rule refl) (step t17.t1.t2 (cl (= @p_77 (! (dvd$ veriT_vr7 veriT_vr5) :named @p_96))) :rule cong :premises (t17.t1.t1)) (step t17.t1.t3 (cl @p_97) :rule refl) (step t17.t1.t4 (cl (! (= @p_71 (! (of_nat$ veriT_vr7) :named @p_94)) :named @p_99)) :rule cong :premises (t17.t1.t3)) (step t17.t1.t5 (cl (= @p_79 (! (= 1 @p_94) :named @p_98))) :rule cong :premises (t17.t1.t4)) (step t17.t1.t6 (cl @p_97) :rule refl) (step t17.t1.t7 (cl @p_99) :rule cong :premises (t17.t1.t6)) (step t17.t1.t8 (cl (= @p_82 (! (= @p_70 @p_94) :named @p_100))) :rule cong :premises (t17.t1.t7)) (step t17.t1.t9 (cl (= @p_83 (! (or @p_98 @p_100) :named @p_101))) :rule cong :premises (t17.t1.t5 t17.t1.t8)) (step t17.t1.t10 (cl (= @p_84 (! (=> @p_96 @p_101) :named @p_102))) :rule cong :premises (t17.t1.t2 t17.t1.t9)) (step t17.t1 (cl (= @p_76 (! (forall ((veriT_vr7 Nat$)) @p_102) :named @p_95))) :rule bind) (step t17.t2 (cl (= @p_72 (! (and @p_75 @p_95) :named @p_103))) :rule cong :premises (t17.t1)) (step t17.t3 (cl (= @p_90 (! (=> @p_103 @p_73) :named @p_104))) :rule cong :premises (t17.t2)) (step t17.t4 (cl (= @p_91 (! (and @p_85 @p_104) :named @p_105))) :rule cong :premises (t17.t3)) (step t17 (cl (! (= @p_93 (! (forall ((veriT_vr5 Nat$)) @p_105) :named @p_107)) :named @p_106)) :rule bind) (step t18 (cl (not @p_106) (not @p_93) @p_107) :rule equiv_pos2) (step t19 (cl @p_107) :rule th_resolution :premises (t16 t17 t18)) (step t20 (cl (! (= @p_108 (! (and @p_109 (! (not @p_110) :named @p_122)) :named @p_112)) :named @p_111)) :rule bool_simplify) (step t21 (cl (! (not @p_111) :named @p_115) (! (not @p_108) :named @p_113) @p_112) :rule equiv_pos2) (step t22 (cl (not @p_113) @p_114) :rule not_not) (step t23 (cl @p_115 @p_114 @p_112) :rule th_resolution :premises (t22 t21)) -(step t24 (cl @p_112) :rule th_resolution :premises (axiom1 t20 t23)) +(step t24 (cl @p_112) :rule th_resolution :premises (a1 t20 t23)) (step t25 (cl (= @p_116 @p_119)) :rule sum_simplify) (step t26 (cl (= @p_118 @p_120)) :rule cong :premises (t25)) (step t27 (cl (= @p_109 (! (prime_nat$ @p_120) :named @p_121))) :rule cong :premises (t26)) (step t28 (cl (! (= @p_112 (! (and @p_121 @p_122) :named @p_124)) :named @p_123)) :rule cong :premises (t27)) (step t29 (cl (not @p_123) (not @p_112) @p_124) :rule equiv_pos2) (step t30 (cl @p_124) :rule th_resolution :premises (t24 t28 t29)) (anchor :step t31 :args ((:= (?v0 Nat$) veriT_vr8))) (step t31.t1 (cl (= ?v0 veriT_vr8)) :rule refl) (step t31.t2 (cl (= @p_1 (! (of_nat$ veriT_vr8) :named @p_126))) :rule cong :premises (t31.t1)) (step t31.t3 (cl (= @p_127 (! (<= 0 @p_126) :named @p_128))) :rule cong :premises (t31.t2)) (step t31 (cl (! (= @p_125 (! (forall ((veriT_vr8 Nat$)) @p_128) :named @p_130)) :named @p_129)) :rule bind) (step t32 (cl (not @p_129) (not @p_125) @p_130) :rule equiv_pos2) -(step t33 (cl @p_130) :rule th_resolution :premises (axiom2 t31 t32)) +(step t33 (cl @p_130) :rule th_resolution :premises (a2 t31 t32)) (anchor :step t34 :args ((:= (veriT_vr8 Nat$) veriT_vr9))) (step t34.t1 (cl (= veriT_vr8 veriT_vr9)) :rule refl) (step t34.t2 (cl (= @p_126 (! (of_nat$ veriT_vr9) :named @p_131))) :rule cong :premises (t34.t1)) (step t34.t3 (cl (= @p_128 (! (<= 0 @p_131) :named @p_132))) :rule cong :premises (t34.t2)) (step t34 (cl (! (= @p_130 (! (forall ((veriT_vr9 Nat$)) @p_132) :named @p_134)) :named @p_133)) :rule bind) (step t35 (cl (not @p_133) (not @p_130) @p_134) :rule equiv_pos2) (step t36 (cl @p_134) :rule th_resolution :premises (t33 t34 t35)) (anchor :step t37 :args ((:= (?v0 Int) veriT_vr12))) (step t37.t1 (cl (! (= ?v0 veriT_vr12) :named @p_140)) :rule refl) (step t37.t2 (cl (= @p_136 (! (nat$ veriT_vr12) :named @p_137))) :rule cong :premises (t37.t1)) (step t37.t3 (cl (= @p_138 (! (of_nat$ @p_137) :named @p_139))) :rule cong :premises (t37.t2)) (step t37.t4 (cl @p_140) :rule refl) (step t37.t5 (cl (= @p_141 (! (<= 0 veriT_vr12) :named @p_142))) :rule cong :premises (t37.t4)) (step t37.t6 (cl @p_140) :rule refl) (step t37.t7 (cl (= @p_143 (! (ite @p_142 veriT_vr12 0) :named @p_144))) :rule cong :premises (t37.t5 t37.t6)) (step t37.t8 (cl (= @p_145 (! (= @p_139 @p_144) :named @p_146))) :rule cong :premises (t37.t3 t37.t7)) (step t37 (cl (! (= @p_135 (! (forall ((veriT_vr12 Int)) @p_146) :named @p_148)) :named @p_147)) :rule bind) (step t38 (cl (not @p_147) (not @p_135) @p_148) :rule equiv_pos2) -(step t39 (cl @p_148) :rule th_resolution :premises (axiom4 t37 t38)) +(step t39 (cl @p_148) :rule th_resolution :premises (a4 t37 t38)) (anchor :step t40 :args ((:= (veriT_vr12 Int) veriT_vr13))) (step t40.t1 (cl (! (= veriT_vr12 veriT_vr13) :named @p_151)) :rule refl) (step t40.t2 (cl (= @p_137 (! (nat$ veriT_vr13) :named @p_149))) :rule cong :premises (t40.t1)) (step t40.t3 (cl (= @p_139 (! (of_nat$ @p_149) :named @p_150))) :rule cong :premises (t40.t2)) (step t40.t4 (cl @p_151) :rule refl) (step t40.t5 (cl (= @p_142 (! (<= 0 veriT_vr13) :named @p_152))) :rule cong :premises (t40.t4)) (step t40.t6 (cl @p_151) :rule refl) (step t40.t7 (cl (= @p_144 (! (ite @p_152 veriT_vr13 0) :named @p_153))) :rule cong :premises (t40.t5 t40.t6)) (step t40.t8 (cl (= @p_146 (! (= @p_150 @p_153) :named @p_154))) :rule cong :premises (t40.t3 t40.t7)) (step t40 (cl (! (= @p_148 (! (forall ((veriT_vr13 Int)) @p_154) :named @p_156)) :named @p_155)) :rule bind) (step t41 (cl (not @p_155) (not @p_148) @p_156) :rule equiv_pos2) (step t42 (cl @p_156) :rule th_resolution :premises (t39 t40 t41)) (step t43 (cl @p_121) :rule and :premises (t30)) (step t44 (cl @p_122) :rule and :premises (t30)) (step t45 (cl (or (! (not @p_156) :named @p_164) (! (= @p_158 (! (ite (! (<= 0 @p_119) :named @p_160) @p_119 0) :named @p_159)) :named @p_157))) :rule forall_inst :args ((:= veriT_vr13 @p_119))) (anchor :step t46) (assume t46.h1 @p_157) (step t46.t2 (cl (! (= @p_157 (! (and (! (= @p_158 @p_159) :named @p_244) (! (ite @p_160 (! (= @p_119 @p_159) :named @p_246) (= 0 @p_159)) :named @p_245)) :named @p_161)) :named @p_162)) :rule ite_intro) (step t46.t3 (cl (not @p_162) (! (not @p_157) :named @p_163) @p_161) :rule equiv_pos2) (step t46.t4 (cl @p_161) :rule th_resolution :premises (t46.h1 t46.t2 t46.t3)) (step t46 (cl @p_163 @p_161) :rule subproof :discharge (h1)) (step t47 (cl @p_164 @p_157) :rule or :premises (t45)) (step t48 (cl (! (or @p_164 @p_161) :named @p_166) (! (not @p_164) :named @p_165)) :rule or_neg) (step t49 (cl (not @p_165) @p_156) :rule not_not) (step t50 (cl @p_166 @p_156) :rule th_resolution :premises (t49 t48)) (step t51 (cl @p_166 (! (not @p_161) :named @p_243)) :rule or_neg) (step t52 (cl @p_166) :rule th_resolution :premises (t47 t46 t50 t51)) (step t53 (cl (or (! (not @p_134) :named @p_247) (! (<= 0 @p_3) :named @p_248))) :rule forall_inst :args ((:= veriT_vr9 m$))) (step t54 (cl (not (! (not (! (not @p_107) :named @p_167)) :named @p_241)) @p_107) :rule not_not) (step t55 (cl (or @p_167 (! (and (! (=> @p_121 (! (and (! (< 1 @p_158) :named @p_168) (! (forall ((veriT_vr6 Nat$)) (! (=> (! (dvd$ veriT_vr6 @p_120) :named @p_176) (! (or @p_79 (! (= @p_71 @p_158) :named @p_181)) :named @p_183)) :named @p_185)) :named @p_174)) :named @p_187)) :named @p_189) (! (=> (! (and @p_168 (! (forall ((veriT_vr7 Nat$)) (! (=> (! (dvd$ veriT_vr7 @p_120) :named @p_192) (! (or @p_98 (! (= @p_94 @p_158) :named @p_195)) :named @p_196)) :named @p_197)) :named @p_191)) :named @p_198) @p_121) :named @p_199)) :named @p_169))) :rule forall_inst :args ((:= veriT_vr5 @p_120))) (anchor :step t56) (assume t56.h1 @p_169) (anchor :step t56.t2 :args ((:= (veriT_vr6 Nat$) veriT_vr17))) (step t56.t2.t1 (cl (! (= veriT_vr6 veriT_vr17) :named @p_178)) :rule refl) (step t56.t2.t2 (cl (= @p_176 (! (dvd$ veriT_vr17 @p_120) :named @p_177))) :rule cong :premises (t56.t2.t1)) (step t56.t2.t3 (cl @p_178) :rule refl) (step t56.t2.t4 (cl (! (= @p_71 (! (of_nat$ veriT_vr17) :named @p_175)) :named @p_180)) :rule cong :premises (t56.t2.t3)) (step t56.t2.t5 (cl (= @p_79 (! (= 1 @p_175) :named @p_179))) :rule cong :premises (t56.t2.t4)) (step t56.t2.t6 (cl @p_178) :rule refl) (step t56.t2.t7 (cl @p_180) :rule cong :premises (t56.t2.t6)) (step t56.t2.t8 (cl (= @p_181 (! (= @p_158 @p_175) :named @p_182))) :rule cong :premises (t56.t2.t7)) (step t56.t2.t9 (cl (= @p_183 (! (or @p_179 @p_182) :named @p_184))) :rule cong :premises (t56.t2.t5 t56.t2.t8)) (step t56.t2.t10 (cl (= @p_185 (! (=> @p_177 @p_184) :named @p_186))) :rule cong :premises (t56.t2.t2 t56.t2.t9)) (step t56.t2 (cl (= @p_174 (! (forall ((veriT_vr17 Nat$)) @p_186) :named @p_188))) :rule bind) (step t56.t3 (cl (= @p_187 (! (and @p_168 @p_188) :named @p_190))) :rule cong :premises (t56.t2)) (step t56.t4 (cl (= @p_189 (! (=> @p_121 @p_190) :named @p_200))) :rule cong :premises (t56.t3)) (anchor :step t56.t5 :args ((:= (veriT_vr7 Nat$) veriT_vr17))) (step t56.t5.t1 (cl (! (= veriT_vr7 veriT_vr17) :named @p_193)) :rule refl) (step t56.t5.t2 (cl (= @p_192 @p_177)) :rule cong :premises (t56.t5.t1)) (step t56.t5.t3 (cl @p_193) :rule refl) (step t56.t5.t4 (cl (! (= @p_94 @p_175) :named @p_194)) :rule cong :premises (t56.t5.t3)) (step t56.t5.t5 (cl (= @p_98 @p_179)) :rule cong :premises (t56.t5.t4)) (step t56.t5.t6 (cl @p_193) :rule refl) (step t56.t5.t7 (cl @p_194) :rule cong :premises (t56.t5.t6)) (step t56.t5.t8 (cl (= @p_195 @p_182)) :rule cong :premises (t56.t5.t7)) (step t56.t5.t9 (cl (= @p_196 @p_184)) :rule cong :premises (t56.t5.t5 t56.t5.t8)) (step t56.t5.t10 (cl (= @p_197 @p_186)) :rule cong :premises (t56.t5.t2 t56.t5.t9)) (step t56.t5 (cl (= @p_191 @p_188)) :rule bind) (step t56.t6 (cl (= @p_198 @p_190)) :rule cong :premises (t56.t5)) (step t56.t7 (cl (= @p_199 (! (=> @p_190 @p_121) :named @p_201))) :rule cong :premises (t56.t6)) (step t56.t8 (cl (! (= @p_169 (! (and @p_200 @p_201) :named @p_204)) :named @p_202)) :rule cong :premises (t56.t4 t56.t7)) (step t56.t9 (cl (not @p_202) (! (not @p_169) :named @p_203) @p_204) :rule equiv_pos2) (step t56.t10 (cl @p_204) :rule th_resolution :premises (t56.h1 t56.t8 t56.t9)) (anchor :step t56.t11 :args ((:= (veriT_vr17 Nat$) veriT_vr18))) (step t56.t11.t1 (cl (! (= veriT_vr17 veriT_vr18) :named @p_207)) :rule refl) (step t56.t11.t2 (cl (= @p_177 @p_206)) :rule cong :premises (t56.t11.t1)) (step t56.t11.t3 (cl @p_207) :rule refl) (step t56.t11.t4 (cl (! (= @p_175 @p_171) :named @p_209)) :rule cong :premises (t56.t11.t3)) (step t56.t11.t5 (cl (= @p_179 @p_208)) :rule cong :premises (t56.t11.t4)) (step t56.t11.t6 (cl @p_207) :rule refl) (step t56.t11.t7 (cl @p_209) :rule cong :premises (t56.t11.t6)) (step t56.t11.t8 (cl (= @p_182 @p_210)) :rule cong :premises (t56.t11.t7)) (step t56.t11.t9 (cl (= @p_184 @p_211)) :rule cong :premises (t56.t11.t5 t56.t11.t8)) (step t56.t11.t10 (cl (= @p_186 @p_205)) :rule cong :premises (t56.t11.t2 t56.t11.t9)) (step t56.t11 (cl (= @p_188 (! (forall ((veriT_vr18 Nat$)) @p_205) :named @p_212))) :rule bind) (step t56.t12 (cl (= @p_190 (! (and @p_168 @p_212) :named @p_213))) :rule cong :premises (t56.t11)) (step t56.t13 (cl (= @p_200 (! (=> @p_121 @p_213) :named @p_214))) :rule cong :premises (t56.t12)) (step t56.t14 (cl (= @p_201 (! (=> @p_213 @p_121) :named @p_215))) :rule cong :premises (t56.t12)) (step t56.t15 (cl (! (= @p_204 (! (and @p_214 @p_215) :named @p_217)) :named @p_216)) :rule cong :premises (t56.t13 t56.t14)) (step t56.t16 (cl (not @p_216) (not @p_204) @p_217) :rule equiv_pos2) (step t56.t17 (cl @p_217) :rule th_resolution :premises (t56.t10 t56.t15 t56.t16)) (anchor :step t56.t18 :args ((:= (veriT_vr18 Nat$) veriT_sk1))) (step t56.t18.t1 (cl (! (= veriT_vr18 veriT_sk1) :named @p_220)) :rule refl) (step t56.t18.t2 (cl (= @p_206 (! (dvd$ veriT_sk1 @p_120) :named @p_219))) :rule cong :premises (t56.t18.t1)) (step t56.t18.t3 (cl @p_220) :rule refl) (step t56.t18.t4 (cl (! (= @p_171 (! (of_nat$ veriT_sk1) :named @p_173)) :named @p_222)) :rule cong :premises (t56.t18.t3)) (step t56.t18.t5 (cl (= @p_208 (! (= 1 @p_173) :named @p_221))) :rule cong :premises (t56.t18.t4)) (step t56.t18.t6 (cl @p_220) :rule refl) (step t56.t18.t7 (cl @p_222) :rule cong :premises (t56.t18.t6)) (step t56.t18.t8 (cl (= @p_210 (! (= @p_158 @p_173) :named @p_223))) :rule cong :premises (t56.t18.t7)) (step t56.t18.t9 (cl (= @p_211 (! (or @p_221 @p_223) :named @p_224))) :rule cong :premises (t56.t18.t5 t56.t18.t8)) (step t56.t18.t10 (cl (= @p_205 (! (=> @p_219 @p_224) :named @p_218))) :rule cong :premises (t56.t18.t2 t56.t18.t9)) (step t56.t18 (cl (= @p_212 @p_218)) :rule sko_forall) (step t56.t19 (cl (= @p_213 (! (and @p_168 @p_218) :named @p_225))) :rule cong :premises (t56.t18)) (step t56.t20 (cl (= @p_215 (! (=> @p_225 @p_121) :named @p_226))) :rule cong :premises (t56.t19)) (step t56.t21 (cl (! (= @p_217 (! (and @p_214 @p_226) :named @p_228)) :named @p_227)) :rule cong :premises (t56.t20)) (step t56.t22 (cl (not @p_227) (not @p_217) @p_228) :rule equiv_pos2) (step t56.t23 (cl @p_228) :rule th_resolution :premises (t56.t17 t56.t21 t56.t22)) (anchor :step t56.t24 :args ((:= (veriT_vr18 Nat$) veriT_vr19))) (step t56.t24.t1 (cl (! (= veriT_vr18 veriT_vr19) :named @p_231)) :rule refl) (step t56.t24.t2 (cl (= @p_206 (! (dvd$ veriT_vr19 @p_120) :named @p_230))) :rule cong :premises (t56.t24.t1)) (step t56.t24.t3 (cl @p_231) :rule refl) (step t56.t24.t4 (cl (! (= @p_171 (! (of_nat$ veriT_vr19) :named @p_170)) :named @p_233)) :rule cong :premises (t56.t24.t3)) (step t56.t24.t5 (cl (= @p_208 (! (= 1 @p_170) :named @p_232))) :rule cong :premises (t56.t24.t4)) (step t56.t24.t6 (cl @p_231) :rule refl) (step t56.t24.t7 (cl @p_233) :rule cong :premises (t56.t24.t6)) (step t56.t24.t8 (cl (= @p_210 (! (= @p_158 @p_170) :named @p_234))) :rule cong :premises (t56.t24.t7)) (step t56.t24.t9 (cl (= @p_211 (! (or @p_232 @p_234) :named @p_235))) :rule cong :premises (t56.t24.t5 t56.t24.t8)) (step t56.t24.t10 (cl (= @p_205 (! (=> @p_230 @p_235) :named @p_236))) :rule cong :premises (t56.t24.t2 t56.t24.t9)) (step t56.t24 (cl (= @p_212 (! (forall ((veriT_vr19 Nat$)) @p_236) :named @p_229))) :rule bind) (step t56.t25 (cl (= @p_213 (! (and @p_168 @p_229) :named @p_237))) :rule cong :premises (t56.t24)) (step t56.t26 (cl (= @p_214 (! (=> @p_121 @p_237) :named @p_238))) :rule cong :premises (t56.t25)) (step t56.t27 (cl (! (= @p_228 (! (and @p_238 @p_226) :named @p_239)) :named @p_240)) :rule cong :premises (t56.t26)) (step t56.t28 (cl (not @p_240) (not @p_228) @p_239) :rule equiv_pos2) (step t56.t29 (cl @p_239) :rule th_resolution :premises (t56.t23 t56.t27 t56.t28)) (step t56 (cl @p_203 @p_239) :rule subproof :discharge (h1)) (step t57 (cl @p_167 @p_169) :rule or :premises (t55)) (step t58 (cl (! (or @p_167 @p_239) :named @p_242) @p_241) :rule or_neg) (step t59 (cl @p_242 @p_107) :rule th_resolution :premises (t54 t58)) (step t60 (cl @p_242 (! (not @p_239) :named @p_249)) :rule or_neg) (step t61 (cl @p_242) :rule th_resolution :premises (t57 t56 t59 t60)) (step t62 (cl @p_243 @p_244) :rule and_pos) (step t63 (cl (not @p_245) (not @p_160) @p_246) :rule ite_pos2) (step t64 (cl @p_243 @p_245) :rule and_pos) (step t65 (cl @p_164 @p_161) :rule or :premises (t52)) (step t66 (cl @p_161) :rule resolution :premises (t65 t42)) (step t67 (cl @p_244) :rule resolution :premises (t62 t66)) (step t68 (cl @p_245) :rule resolution :premises (t64 t66)) (step t69 (cl @p_247 @p_248) :rule or :premises (t53)) (step t70 (cl @p_248) :rule resolution :premises (t69 t36)) (step t71 (cl (not @p_237) @p_168) :rule and_pos) (step t72 (cl (! (not @p_238) :named @p_250) (not @p_121) @p_237) :rule implies_pos) (step t73 (cl @p_249 @p_238) :rule and_pos) (step t74 (cl @p_167 @p_239) :rule or :premises (t61)) (step t75 (cl @p_250 @p_237) :rule resolution :premises (t72 t43)) (step t76 (cl @p_239) :rule resolution :premises (t74 t19)) (step t77 (cl @p_238) :rule resolution :premises (t73 t76)) (step t78 (cl @p_237) :rule resolution :premises (t75 t77)) (step t79 (cl @p_168) :rule resolution :premises (t71 t78)) (step t80 (cl (not @p_248) @p_160) :rule la_generic :args (4 1)) (step t81 (cl @p_160) :rule resolution :premises (t80 t70)) (step t82 (cl @p_246) :rule resolution :premises (t63 t81 t68)) (step t83 (cl (! (not @p_168) :named @p_252) @p_110 (not (! (= @p_119 @p_158) :named @p_251))) :rule la_generic :args (1 4 1)) (step t84 (cl (! (not @p_246) :named @p_253) (! (not @p_244) :named @p_254) @p_251) :rule eq_transitive) (step t85 (cl @p_252 @p_110 @p_253 @p_254) :rule th_resolution :premises (t83 t84)) (step t86 (cl) :rule resolution :premises (t85 t44 t67 t82 t79)) -8d6d329bb2354ffa218e4b6256b283b3915c3682 7 0 +195c5f4e7eb20baa5a32cf916824c8152dd91637 7 0 unsat -(assume axiom0 (! (not (! (not (! (= 1 (* 2 x$)) :named @p_2)) :named @p_3)) :named @p_1)) +(assume a0 (! (not (! (not (! (= 1 (* 2 x$)) :named @p_2)) :named @p_3)) :named @p_1)) (step t2 (cl (not @p_1) @p_2) :rule not_not) -(step t3 (cl @p_2) :rule th_resolution :premises (t2 axiom0)) +(step t3 (cl @p_2) :rule th_resolution :premises (t2 a0)) (step t4 (cl @p_3 @p_3) :rule lia_generic) (step t5 (cl @p_3) :rule contraction :premises (t4)) (step t6 (cl) :rule resolution :premises (t5 t3)) -1cf2d299f7ccd81bab0d38f30ec8595b5f133da6 35 0 +f45af256a4bceda428e7fbee4e1e3dbdf14a491e 35 0 unsat -(assume axiom0 (! (forall ((?v0 A$) (?v1 B$)) (! (= ?v0 (! (fst$ (! (pair$ ?v0 ?v1) :named @p_3)) :named @p_5)) :named @p_7)) :named @p_1)) -(assume axiom1 (! (not (! (=> (! (= (! (fst$ (pair$ x$ y$)) :named @p_26) a$) :named @p_18) (! (= x$ a$) :named @p_19)) :named @p_23)) :named @p_17)) +(assume a0 (! (forall ((?v0 A$) (?v1 B$)) (! (= ?v0 (! (fst$ (! (pair$ ?v0 ?v1) :named @p_3)) :named @p_5)) :named @p_7)) :named @p_1)) +(assume a1 (! (not (! (=> (! (= (! (fst$ (pair$ x$ y$)) :named @p_26) a$) :named @p_18) (! (= x$ a$) :named @p_19)) :named @p_23)) :named @p_17)) (anchor :step t3 :args ((:= (?v0 A$) veriT_vr0) (:= (?v1 B$) veriT_vr1))) (step t3.t1 (cl (! (= ?v0 veriT_vr0) :named @p_2)) :rule refl) (step t3.t2 (cl @p_2) :rule refl) (step t3.t3 (cl (= ?v1 veriT_vr1)) :rule refl) (step t3.t4 (cl (= @p_3 (! (pair$ veriT_vr0 veriT_vr1) :named @p_4))) :rule cong :premises (t3.t2 t3.t3)) (step t3.t5 (cl (= @p_5 (! (fst$ @p_4) :named @p_6))) :rule cong :premises (t3.t4)) (step t3.t6 (cl (= @p_7 (! (= veriT_vr0 @p_6) :named @p_8))) :rule cong :premises (t3.t1 t3.t5)) (step t3 (cl (! (= @p_1 (! (forall ((veriT_vr0 A$) (veriT_vr1 B$)) @p_8) :named @p_10)) :named @p_9)) :rule bind) (step t4 (cl (not @p_9) (not @p_1) @p_10) :rule equiv_pos2) -(step t5 (cl @p_10) :rule th_resolution :premises (axiom0 t3 t4)) +(step t5 (cl @p_10) :rule th_resolution :premises (a0 t3 t4)) (anchor :step t6 :args ((:= (veriT_vr0 A$) veriT_vr2) (:= (veriT_vr1 B$) veriT_vr3))) (step t6.t1 (cl (! (= veriT_vr0 veriT_vr2) :named @p_11)) :rule refl) (step t6.t2 (cl @p_11) :rule refl) (step t6.t3 (cl (= veriT_vr1 veriT_vr3)) :rule refl) (step t6.t4 (cl (= @p_4 (! (pair$ veriT_vr2 veriT_vr3) :named @p_12))) :rule cong :premises (t6.t2 t6.t3)) (step t6.t5 (cl (= @p_6 (! (fst$ @p_12) :named @p_13))) :rule cong :premises (t6.t4)) (step t6.t6 (cl (= @p_8 (! (= veriT_vr2 @p_13) :named @p_14))) :rule cong :premises (t6.t1 t6.t5)) (step t6 (cl (! (= @p_10 (! (forall ((veriT_vr2 A$) (veriT_vr3 B$)) @p_14) :named @p_16)) :named @p_15)) :rule bind) (step t7 (cl (not @p_15) (not @p_10) @p_16) :rule equiv_pos2) (step t8 (cl @p_16) :rule th_resolution :premises (t5 t6 t7)) (step t9 (cl (! (= @p_17 (! (and @p_18 (! (not @p_19) :named @p_25)) :named @p_21)) :named @p_20)) :rule bool_simplify) (step t10 (cl (! (not @p_20) :named @p_24) (! (not @p_17) :named @p_22) @p_21) :rule equiv_pos2) (step t11 (cl (not @p_22) @p_23) :rule not_not) (step t12 (cl @p_24 @p_23 @p_21) :rule th_resolution :premises (t11 t10)) -(step t13 (cl @p_21) :rule th_resolution :premises (axiom1 t9 t12)) +(step t13 (cl @p_21) :rule th_resolution :premises (a1 t9 t12)) (step t14 (cl @p_18) :rule and :premises (t13)) (step t15 (cl @p_25) :rule and :premises (t13)) (step t16 (cl (or (! (not @p_16) :named @p_27) (! (= x$ @p_26) :named @p_28))) :rule forall_inst :args ((:= veriT_vr2 x$) (:= veriT_vr3 y$))) (step t17 (cl @p_27 @p_28) :rule or :premises (t16)) (step t18 (cl @p_28) :rule resolution :premises (t17 t8)) (step t19 (cl (not @p_28) (not @p_18) @p_19) :rule eq_transitive) (step t20 (cl) :rule resolution :premises (t19 t14 t15 t18)) -48c92486160c88d9d50f41cf6a3fd33cb769b2b7 67 0 +22e3ad7a3ba163eb9b2786d30a493e2c63cf8f81 67 0 unsat -(assume axiom1 (! (forall ((?v0 A$) (?v1 B$)) (! (= ?v0 (! (fst$a (! (pair$a ?v0 ?v1) :named @p_3)) :named @p_5)) :named @p_7)) :named @p_1)) -(assume axiom3 (! (forall ((?v0 B$) (?v1 A$)) (! (= ?v1 (! (snd$a (! (pair$ ?v0 ?v1) :named @p_19)) :named @p_21)) :named @p_23)) :named @p_17)) -(assume axiom4 (! (not (! (=> (! (and (! (= p1$ (! (pair$a x$ y$) :named @p_47)) :named @p_41) (! (= p2$ (! (pair$ y$ x$) :named @p_46)) :named @p_42)) :named @p_34) (! (= (! (fst$a p1$) :named @p_52) (! (snd$a p2$) :named @p_54)) :named @p_35)) :named @p_39)) :named @p_33)) +(assume a1 (! (forall ((?v0 A$) (?v1 B$)) (! (= ?v0 (! (fst$a (! (pair$a ?v0 ?v1) :named @p_3)) :named @p_5)) :named @p_7)) :named @p_1)) +(assume a3 (! (forall ((?v0 B$) (?v1 A$)) (! (= ?v1 (! (snd$a (! (pair$ ?v0 ?v1) :named @p_19)) :named @p_21)) :named @p_23)) :named @p_17)) +(assume a4 (! (not (! (=> (! (and (! (= p1$ (! (pair$a x$ y$) :named @p_47)) :named @p_41) (! (= p2$ (! (pair$ y$ x$) :named @p_46)) :named @p_42)) :named @p_34) (! (= (! (fst$a p1$) :named @p_52) (! (snd$a p2$) :named @p_54)) :named @p_35)) :named @p_39)) :named @p_33)) (anchor :step t4 :args ((:= (?v0 A$) veriT_vr4) (:= (?v1 B$) veriT_vr5))) (step t4.t1 (cl (! (= ?v0 veriT_vr4) :named @p_2)) :rule refl) (step t4.t2 (cl @p_2) :rule refl) (step t4.t3 (cl (= ?v1 veriT_vr5)) :rule refl) (step t4.t4 (cl (= @p_3 (! (pair$a veriT_vr4 veriT_vr5) :named @p_4))) :rule cong :premises (t4.t2 t4.t3)) (step t4.t5 (cl (= @p_5 (! (fst$a @p_4) :named @p_6))) :rule cong :premises (t4.t4)) (step t4.t6 (cl (= @p_7 (! (= veriT_vr4 @p_6) :named @p_8))) :rule cong :premises (t4.t1 t4.t5)) (step t4 (cl (! (= @p_1 (! (forall ((veriT_vr4 A$) (veriT_vr5 B$)) @p_8) :named @p_10)) :named @p_9)) :rule bind) (step t5 (cl (not @p_9) (not @p_1) @p_10) :rule equiv_pos2) -(step t6 (cl @p_10) :rule th_resolution :premises (axiom1 t4 t5)) +(step t6 (cl @p_10) :rule th_resolution :premises (a1 t4 t5)) (anchor :step t7 :args ((:= (veriT_vr4 A$) veriT_vr6) (:= (veriT_vr5 B$) veriT_vr7))) (step t7.t1 (cl (! (= veriT_vr4 veriT_vr6) :named @p_11)) :rule refl) (step t7.t2 (cl @p_11) :rule refl) (step t7.t3 (cl (= veriT_vr5 veriT_vr7)) :rule refl) (step t7.t4 (cl (= @p_4 (! (pair$a veriT_vr6 veriT_vr7) :named @p_12))) :rule cong :premises (t7.t2 t7.t3)) (step t7.t5 (cl (= @p_6 (! (fst$a @p_12) :named @p_13))) :rule cong :premises (t7.t4)) (step t7.t6 (cl (= @p_8 (! (= veriT_vr6 @p_13) :named @p_14))) :rule cong :premises (t7.t1 t7.t5)) (step t7 (cl (! (= @p_10 (! (forall ((veriT_vr6 A$) (veriT_vr7 B$)) @p_14) :named @p_16)) :named @p_15)) :rule bind) (step t8 (cl (not @p_15) (not @p_10) @p_16) :rule equiv_pos2) (step t9 (cl @p_16) :rule th_resolution :premises (t6 t7 t8)) (anchor :step t10 :args ((:= (?v0 B$) veriT_vr12) (:= (?v1 A$) veriT_vr13))) (step t10.t1 (cl (! (= ?v1 veriT_vr13) :named @p_18)) :rule refl) (step t10.t2 (cl (= ?v0 veriT_vr12)) :rule refl) (step t10.t3 (cl @p_18) :rule refl) (step t10.t4 (cl (= @p_19 (! (pair$ veriT_vr12 veriT_vr13) :named @p_20))) :rule cong :premises (t10.t2 t10.t3)) (step t10.t5 (cl (= @p_21 (! (snd$a @p_20) :named @p_22))) :rule cong :premises (t10.t4)) (step t10.t6 (cl (= @p_23 (! (= veriT_vr13 @p_22) :named @p_24))) :rule cong :premises (t10.t1 t10.t5)) (step t10 (cl (! (= @p_17 (! (forall ((veriT_vr12 B$) (veriT_vr13 A$)) @p_24) :named @p_26)) :named @p_25)) :rule bind) (step t11 (cl (not @p_25) (not @p_17) @p_26) :rule equiv_pos2) -(step t12 (cl @p_26) :rule th_resolution :premises (axiom3 t10 t11)) +(step t12 (cl @p_26) :rule th_resolution :premises (a3 t10 t11)) (anchor :step t13 :args ((:= (veriT_vr12 B$) veriT_vr14) (:= (veriT_vr13 A$) veriT_vr15))) (step t13.t1 (cl (! (= veriT_vr13 veriT_vr15) :named @p_27)) :rule refl) (step t13.t2 (cl (= veriT_vr12 veriT_vr14)) :rule refl) (step t13.t3 (cl @p_27) :rule refl) (step t13.t4 (cl (= @p_20 (! (pair$ veriT_vr14 veriT_vr15) :named @p_28))) :rule cong :premises (t13.t2 t13.t3)) (step t13.t5 (cl (= @p_22 (! (snd$a @p_28) :named @p_29))) :rule cong :premises (t13.t4)) (step t13.t6 (cl (= @p_24 (! (= veriT_vr15 @p_29) :named @p_30))) :rule cong :premises (t13.t1 t13.t5)) (step t13 (cl (! (= @p_26 (! (forall ((veriT_vr14 B$) (veriT_vr15 A$)) @p_30) :named @p_32)) :named @p_31)) :rule bind) (step t14 (cl (not @p_31) (not @p_26) @p_32) :rule equiv_pos2) (step t15 (cl @p_32) :rule th_resolution :premises (t12 t13 t14)) (step t16 (cl (! (= @p_33 (! (and @p_34 (! (not @p_35) :named @p_43)) :named @p_37)) :named @p_36)) :rule bool_simplify) (step t17 (cl (! (not @p_36) :named @p_40) (! (not @p_33) :named @p_38) @p_37) :rule equiv_pos2) (step t18 (cl (not @p_38) @p_39) :rule not_not) (step t19 (cl @p_40 @p_39 @p_37) :rule th_resolution :premises (t18 t17)) -(step t20 (cl @p_37) :rule th_resolution :premises (axiom4 t16 t19)) +(step t20 (cl @p_37) :rule th_resolution :premises (a4 t16 t19)) (step t21 (cl (! (= @p_37 (! (and @p_41 @p_42 @p_43) :named @p_45)) :named @p_44)) :rule ac_simp) (step t22 (cl (not @p_44) (not @p_37) @p_45) :rule equiv_pos2) (step t23 (cl @p_45) :rule th_resolution :premises (t20 t21 t22)) (step t24 (cl @p_41) :rule and :premises (t23)) (step t25 (cl @p_42) :rule and :premises (t23)) (step t26 (cl @p_43) :rule and :premises (t23)) (step t27 (cl (or (! (not @p_32) :named @p_48) (! (= x$ (! (snd$a @p_46) :named @p_55)) :named @p_49))) :rule forall_inst :args ((:= veriT_vr14 y$) (:= veriT_vr15 x$))) (step t28 (cl (or (! (not @p_16) :named @p_50) (! (= x$ (! (fst$a @p_47) :named @p_53)) :named @p_51))) :rule forall_inst :args ((:= veriT_vr6 x$) (:= veriT_vr7 y$))) (step t29 (cl @p_48 @p_49) :rule or :premises (t27)) (step t30 (cl @p_49) :rule resolution :premises (t29 t15)) (step t31 (cl @p_50 @p_51) :rule or :premises (t28)) (step t32 (cl @p_51) :rule resolution :premises (t31 t9)) (step t33 (cl (! (not (! (= @p_52 @p_53) :named @p_61)) :named @p_57) (! (not @p_51) :named @p_58) (! (not @p_49) :named @p_59) (not (! (= @p_54 @p_55) :named @p_56)) @p_35) :rule eq_transitive) (step t34 (cl (! (not @p_42) :named @p_60) @p_56) :rule eq_congruent) (step t35 (cl @p_57 @p_58 @p_59 @p_35 @p_60) :rule th_resolution :premises (t33 t34)) (step t36 (cl (! (not @p_41) :named @p_62) @p_61) :rule eq_congruent) (step t37 (cl @p_58 @p_59 @p_35 @p_60 @p_62) :rule th_resolution :premises (t35 t36)) (step t38 (cl) :rule resolution :premises (t37 t24 t25 t26 t30 t32)) -d98294078e51b7d929ca2e2c002b0b435565488d 25 0 +323770b82ef8fd021b5433671b6c4077843fd9d7 97 0 unsat -(assume axiom0 (! (not (! (or (! (= (! (f$ g$ x$) :named @p_1) (! (and (! (fun_app$ g$ x$) :named @p_2) true) :named @p_13)) :named @p_4) (or (! (= @p_1 true) :named @p_5) (! (= @p_2 true) :named @p_6))) :named @p_3)) :named @p_7)) -(step t2 (cl (= @p_3 (! (or @p_4 @p_5 @p_6) :named @p_8))) :rule ac_simp) -(step t3 (cl (! (= @p_7 (! (not @p_8) :named @p_10)) :named @p_9)) :rule cong :premises (t2)) -(step t4 (cl (! (not @p_9) :named @p_12) (! (not @p_7) :named @p_11) @p_10) :rule equiv_pos2) -(step t5 (cl (not @p_11) @p_3) :rule not_not) -(step t6 (cl @p_12 @p_3 @p_10) :rule th_resolution :premises (t5 t4)) -(step t7 (cl @p_10) :rule th_resolution :premises (axiom0 t3 t6)) -(step t8 (cl (= @p_13 (! (and @p_2) :named @p_14))) :rule and_simplify) -(step t9 (cl (= @p_14 @p_2)) :rule and_simplify) -(step t10 (cl (= @p_13 @p_2)) :rule trans :premises (t8 t9)) -(step t11 (cl (= @p_4 (! (= @p_1 @p_2) :named @p_15))) :rule cong :premises (t10)) -(step t12 (cl (= @p_5 @p_1)) :rule equiv_simplify) -(step t13 (cl (= @p_6 @p_2)) :rule equiv_simplify) -(step t14 (cl (= @p_8 (! (or @p_15 @p_1 @p_2) :named @p_16))) :rule cong :premises (t11 t12 t13)) -(step t15 (cl (! (= @p_10 (! (not @p_16) :named @p_18)) :named @p_17)) :rule cong :premises (t14)) -(step t16 (cl (! (not @p_17) :named @p_20) (! (not @p_10) :named @p_19) @p_18) :rule equiv_pos2) -(step t17 (cl (not @p_19) @p_8) :rule not_not) -(step t18 (cl @p_20 @p_8 @p_18) :rule th_resolution :premises (t17 t16)) -(step t19 (cl @p_18) :rule th_resolution :premises (t7 t15 t18)) -(step t20 (cl (not @p_15)) :rule not_or :premises (t19)) -(step t21 (cl @p_1 @p_2) :rule not_equiv1 :premises (t20)) -(step t22 (cl (not @p_1)) :rule not_or :premises (t19)) -(step t23 (cl (not @p_2)) :rule not_or :premises (t19)) -(step t24 (cl) :rule resolution :premises (t21 t22 t23)) -a6d9c8f29a4df3b9eaa40764e38a8a41a8961f01 97 0 -unsat -(assume axiom1 (! (forall ((?v0 A_b_fun$) (?v1 A$) (?v2 B$) (?v3 A$)) (! (= (! (fun_app$ (! (fun_upd$ ?v0 ?v1 ?v2) :named @p_2) ?v3) :named @p_4) (! (ite (! (= ?v1 ?v3) :named @p_8) ?v2 (! (fun_app$ ?v0 ?v3) :named @p_12)) :named @p_14)) :named @p_16)) :named @p_1)) -(assume axiom2 (! (not (! (=> (! (and (! (not (! (= i$ i1$) :named @p_62)) :named @p_40) (! (not (! (= i$ i2$) :named @p_46)) :named @p_41)) :named @p_33) (! (= (! (fun_app$ (fun_upd$ (! (fun_upd$ f$ i1$ v1$) :named @p_47) i2$ v2$) i$) :named @p_45) (! (fun_app$ f$ i$) :named @p_63)) :named @p_34)) :named @p_38)) :named @p_32)) +(assume a1 (! (forall ((?v0 A_b_fun$) (?v1 A$) (?v2 B$) (?v3 A$)) (! (= (! (fun_app$ (! (fun_upd$ ?v0 ?v1 ?v2) :named @p_2) ?v3) :named @p_4) (! (ite (! (= ?v1 ?v3) :named @p_8) ?v2 (! (fun_app$ ?v0 ?v3) :named @p_12)) :named @p_14)) :named @p_16)) :named @p_1)) +(assume a2 (! (not (! (=> (! (and (! (not (! (= i$ i1$) :named @p_62)) :named @p_40) (! (not (! (= i$ i2$) :named @p_46)) :named @p_41)) :named @p_33) (! (= (! (fun_app$ (fun_upd$ (! (fun_upd$ f$ i1$ v1$) :named @p_47) i2$ v2$) i$) :named @p_45) (! (fun_app$ f$ i$) :named @p_63)) :named @p_34)) :named @p_38)) :named @p_32)) (anchor :step t3 :args ((:= (?v0 A_b_fun$) veriT_vr6) (:= (?v1 A$) veriT_vr7) (:= (?v2 B$) veriT_vr8) (:= (?v3 A$) veriT_vr9))) (step t3.t1 (cl (! (= ?v0 veriT_vr6) :named @p_11)) :rule refl) (step t3.t2 (cl (! (= ?v1 veriT_vr7) :named @p_6)) :rule refl) (step t3.t3 (cl (! (= ?v2 veriT_vr8) :named @p_10)) :rule refl) (step t3.t4 (cl (= @p_2 (! (fun_upd$ veriT_vr6 veriT_vr7 veriT_vr8) :named @p_3))) :rule cong :premises (t3.t1 t3.t2 t3.t3)) (step t3.t5 (cl (! (= ?v3 veriT_vr9) :named @p_7)) :rule refl) (step t3.t6 (cl (= @p_4 (! (fun_app$ @p_3 veriT_vr9) :named @p_5))) :rule cong :premises (t3.t4 t3.t5)) (step t3.t7 (cl @p_6) :rule refl) (step t3.t8 (cl @p_7) :rule refl) (step t3.t9 (cl (= @p_8 (! (= veriT_vr7 veriT_vr9) :named @p_9))) :rule cong :premises (t3.t7 t3.t8)) (step t3.t10 (cl @p_10) :rule refl) (step t3.t11 (cl @p_11) :rule refl) (step t3.t12 (cl @p_7) :rule refl) (step t3.t13 (cl (= @p_12 (! (fun_app$ veriT_vr6 veriT_vr9) :named @p_13))) :rule cong :premises (t3.t11 t3.t12)) (step t3.t14 (cl (= @p_14 (! (ite @p_9 veriT_vr8 @p_13) :named @p_15))) :rule cong :premises (t3.t9 t3.t10 t3.t13)) (step t3.t15 (cl (= @p_16 (! (= @p_5 @p_15) :named @p_17))) :rule cong :premises (t3.t6 t3.t14)) (step t3 (cl (! (= @p_1 (! (forall ((veriT_vr6 A_b_fun$) (veriT_vr7 A$) (veriT_vr8 B$) (veriT_vr9 A$)) @p_17) :named @p_19)) :named @p_18)) :rule bind) (step t4 (cl (not @p_18) (not @p_1) @p_19) :rule equiv_pos2) -(step t5 (cl @p_19) :rule th_resolution :premises (axiom1 t3 t4)) +(step t5 (cl @p_19) :rule th_resolution :premises (a1 t3 t4)) (anchor :step t6 :args ((:= (veriT_vr6 A_b_fun$) veriT_vr10) (:= (veriT_vr7 A$) veriT_vr11) (:= (veriT_vr8 B$) veriT_vr12) (:= (veriT_vr9 A$) veriT_vr13))) (step t6.t1 (cl (! (= veriT_vr6 veriT_vr10) :named @p_26)) :rule refl) (step t6.t2 (cl (! (= veriT_vr7 veriT_vr11) :named @p_22)) :rule refl) (step t6.t3 (cl (! (= veriT_vr8 veriT_vr12) :named @p_25)) :rule refl) (step t6.t4 (cl (= @p_3 (! (fun_upd$ veriT_vr10 veriT_vr11 veriT_vr12) :named @p_20))) :rule cong :premises (t6.t1 t6.t2 t6.t3)) (step t6.t5 (cl (! (= veriT_vr9 veriT_vr13) :named @p_23)) :rule refl) (step t6.t6 (cl (= @p_5 (! (fun_app$ @p_20 veriT_vr13) :named @p_21))) :rule cong :premises (t6.t4 t6.t5)) (step t6.t7 (cl @p_22) :rule refl) (step t6.t8 (cl @p_23) :rule refl) (step t6.t9 (cl (= @p_9 (! (= veriT_vr11 veriT_vr13) :named @p_24))) :rule cong :premises (t6.t7 t6.t8)) (step t6.t10 (cl @p_25) :rule refl) (step t6.t11 (cl @p_26) :rule refl) (step t6.t12 (cl @p_23) :rule refl) (step t6.t13 (cl (= @p_13 (! (fun_app$ veriT_vr10 veriT_vr13) :named @p_27))) :rule cong :premises (t6.t11 t6.t12)) (step t6.t14 (cl (= @p_15 (! (ite @p_24 veriT_vr12 @p_27) :named @p_28))) :rule cong :premises (t6.t9 t6.t10 t6.t13)) (step t6.t15 (cl (= @p_17 (! (= @p_21 @p_28) :named @p_29))) :rule cong :premises (t6.t6 t6.t14)) (step t6 (cl (! (= @p_19 (! (forall ((veriT_vr10 A_b_fun$) (veriT_vr11 A$) (veriT_vr12 B$) (veriT_vr13 A$)) @p_29) :named @p_31)) :named @p_30)) :rule bind) (step t7 (cl (not @p_30) (not @p_19) @p_31) :rule equiv_pos2) (step t8 (cl @p_31) :rule th_resolution :premises (t5 t6 t7)) (step t9 (cl (! (= @p_32 (! (and @p_33 (! (not @p_34) :named @p_42)) :named @p_36)) :named @p_35)) :rule bool_simplify) (step t10 (cl (! (not @p_35) :named @p_39) (! (not @p_32) :named @p_37) @p_36) :rule equiv_pos2) (step t11 (cl (not @p_37) @p_38) :rule not_not) (step t12 (cl @p_39 @p_38 @p_36) :rule th_resolution :premises (t11 t10)) -(step t13 (cl @p_36) :rule th_resolution :premises (axiom2 t9 t12)) +(step t13 (cl @p_36) :rule th_resolution :premises (a2 t9 t12)) (step t14 (cl (! (= @p_36 (! (and @p_40 @p_41 @p_42) :named @p_44)) :named @p_43)) :rule ac_simp) (step t15 (cl (not @p_43) (not @p_36) @p_44) :rule equiv_pos2) (step t16 (cl @p_44) :rule th_resolution :premises (t13 t14 t15)) (step t17 (cl @p_40) :rule and :premises (t16)) (step t18 (cl @p_41) :rule and :premises (t16)) (step t19 (cl @p_42) :rule and :premises (t16)) (step t20 (cl (or (! (not @p_31) :named @p_54) (! (= @p_45 (! (ite @p_46 v2$ (! (fun_app$ @p_47 i$) :named @p_50)) :named @p_49)) :named @p_48))) :rule forall_inst :args ((:= veriT_vr10 @p_47) (:= veriT_vr11 i2$) (:= veriT_vr12 v2$) (:= veriT_vr13 i$))) (anchor :step t21) (assume t21.h1 @p_48) (step t21.t2 (cl (! (= @p_48 (! (and (! (= @p_45 @p_49) :named @p_58) (! (ite @p_46 (= v2$ @p_49) (! (= @p_50 @p_49) :named @p_60)) :named @p_59)) :named @p_51)) :named @p_52)) :rule ite_intro) (step t21.t3 (cl (not @p_52) (! (not @p_48) :named @p_53) @p_51) :rule equiv_pos2) (step t21.t4 (cl @p_51) :rule th_resolution :premises (t21.h1 t21.t2 t21.t3)) (step t21 (cl @p_53 @p_51) :rule subproof :discharge (h1)) (step t22 (cl @p_54 @p_48) :rule or :premises (t20)) (step t23 (cl (! (or @p_54 @p_51) :named @p_56) (! (not @p_54) :named @p_55)) :rule or_neg) (step t24 (cl (not @p_55) @p_31) :rule not_not) (step t25 (cl @p_56 @p_31) :rule th_resolution :premises (t24 t23)) (step t26 (cl @p_56 (! (not @p_51) :named @p_57)) :rule or_neg) (step t27 (cl @p_56) :rule th_resolution :premises (t22 t21 t25 t26)) (step t28 (cl @p_57 @p_58) :rule and_pos) (step t29 (cl (! (not @p_59) :named @p_61) @p_46 @p_60) :rule ite_pos1) (step t30 (cl @p_57 @p_59) :rule and_pos) (step t31 (cl @p_54 @p_51) :rule or :premises (t27)) (step t32 (cl @p_61 @p_60) :rule resolution :premises (t29 t18)) (step t33 (cl @p_51) :rule resolution :premises (t31 t8)) (step t34 (cl @p_58) :rule resolution :premises (t28 t33)) (step t35 (cl @p_59) :rule resolution :premises (t30 t33)) (step t36 (cl @p_60) :rule resolution :premises (t32 t35)) (step t37 (cl (or @p_54 (! (= @p_50 (! (ite @p_62 v1$ @p_63) :named @p_65)) :named @p_64))) :rule forall_inst :args ((:= veriT_vr10 f$) (:= veriT_vr11 i1$) (:= veriT_vr12 v1$) (:= veriT_vr13 i$))) (anchor :step t38) (assume t38.h1 @p_64) (step t38.t2 (cl (! (= @p_64 (! (and (! (= @p_50 @p_65) :named @p_71) (! (ite @p_62 (= v1$ @p_65) (! (= @p_63 @p_65) :named @p_73)) :named @p_72)) :named @p_66)) :named @p_67)) :rule ite_intro) (step t38.t3 (cl (not @p_67) (! (not @p_64) :named @p_68) @p_66) :rule equiv_pos2) (step t38.t4 (cl @p_66) :rule th_resolution :premises (t38.h1 t38.t2 t38.t3)) (step t38 (cl @p_68 @p_66) :rule subproof :discharge (h1)) (step t39 (cl @p_54 @p_64) :rule or :premises (t37)) (step t40 (cl (! (or @p_54 @p_66) :named @p_69) @p_55) :rule or_neg) (step t41 (cl @p_69 @p_31) :rule th_resolution :premises (t24 t40)) (step t42 (cl @p_69 (! (not @p_66) :named @p_70)) :rule or_neg) (step t43 (cl @p_69) :rule th_resolution :premises (t39 t38 t41 t42)) (step t44 (cl @p_70 @p_71) :rule and_pos) (step t45 (cl (! (not @p_72) :named @p_74) @p_62 @p_73) :rule ite_pos1) (step t46 (cl @p_70 @p_72) :rule and_pos) (step t47 (cl @p_54 @p_66) :rule or :premises (t43)) (step t48 (cl @p_74 @p_73) :rule resolution :premises (t45 t17)) (step t49 (cl @p_66) :rule resolution :premises (t47 t8)) (step t50 (cl @p_71) :rule resolution :premises (t44 t49)) (step t51 (cl @p_72) :rule resolution :premises (t46 t49)) (step t52 (cl @p_73) :rule resolution :premises (t48 t51)) (step t53 (cl (not @p_58) (not @p_60) (not @p_71) (not @p_73) @p_34) :rule eq_transitive) (step t54 (cl) :rule resolution :premises (t53 t19 t34 t36 t50 t52)) -6c882ad63eb28539c511430af509d5d6577b2638 38 0 +5c8ad736381ed7e2bc55bcefd8a06994784b278f 25 0 unsat -(assume axiom0 (! (forall ((?v0 A$)) (! (= ?v0 (! (id$ ?v0) :named @p_4)) :named @p_6)) :named @p_2)) -(assume axiom1 (forall ((?v0 Bool)) (= (id$a ?v0) ?v0))) -(assume axiom2 (! (not (! (and (! (= x$ (id$ x$)) :named @p_23) (! (= (! (id$a true) :named @p_17) true) :named @p_1)) :named @p_22)) :named @p_24)) -(step t4 (cl (! (and (! (= (! (id$a false) :named @p_16) false) :named @p_15) @p_1) :named @p_18)) :rule bfun_elim :premises (axiom1)) +(assume a0 (! (not (! (or (! (= (! (f$ g$ x$) :named @p_1) (! (and (! (fun_app$ g$ x$) :named @p_2) true) :named @p_13)) :named @p_4) (or (! (= @p_1 true) :named @p_5) (! (= @p_2 true) :named @p_6))) :named @p_3)) :named @p_7)) +(step t2 (cl (= @p_3 (! (or @p_4 @p_5 @p_6) :named @p_8))) :rule ac_simp) +(step t3 (cl (! (= @p_7 (! (not @p_8) :named @p_10)) :named @p_9)) :rule cong :premises (t2)) +(step t4 (cl (! (not @p_9) :named @p_12) (! (not @p_7) :named @p_11) @p_10) :rule equiv_pos2) +(step t5 (cl (not @p_11) @p_3) :rule not_not) +(step t6 (cl @p_12 @p_3 @p_10) :rule th_resolution :premises (t5 t4)) +(step t7 (cl @p_10) :rule th_resolution :premises (a0 t3 t6)) +(step t8 (cl (= @p_13 (! (and @p_2) :named @p_14))) :rule and_simplify) +(step t9 (cl (= @p_14 @p_2)) :rule and_simplify) +(step t10 (cl (= @p_13 @p_2)) :rule trans :premises (t8 t9)) +(step t11 (cl (= @p_4 (! (= @p_1 @p_2) :named @p_15))) :rule cong :premises (t10)) +(step t12 (cl (= @p_5 @p_1)) :rule equiv_simplify) +(step t13 (cl (= @p_6 @p_2)) :rule equiv_simplify) +(step t14 (cl (= @p_8 (! (or @p_15 @p_1 @p_2) :named @p_16))) :rule cong :premises (t11 t12 t13)) +(step t15 (cl (! (= @p_10 (! (not @p_16) :named @p_18)) :named @p_17)) :rule cong :premises (t14)) +(step t16 (cl (! (not @p_17) :named @p_20) (! (not @p_10) :named @p_19) @p_18) :rule equiv_pos2) +(step t17 (cl (not @p_19) @p_8) :rule not_not) +(step t18 (cl @p_20 @p_8 @p_18) :rule th_resolution :premises (t17 t16)) +(step t19 (cl @p_18) :rule th_resolution :premises (t7 t15 t18)) +(step t20 (cl (not @p_15)) :rule not_or :premises (t19)) +(step t21 (cl @p_1 @p_2) :rule not_equiv1 :premises (t20)) +(step t22 (cl (not @p_1)) :rule not_or :premises (t19)) +(step t23 (cl (not @p_2)) :rule not_or :premises (t19)) +(step t24 (cl) :rule resolution :premises (t21 t22 t23)) +866c42407f20d04dcdd5beace79be280ba36c916 38 0 +unsat +(assume a0 (! (forall ((?v0 A$)) (! (= ?v0 (! (id$ ?v0) :named @p_4)) :named @p_6)) :named @p_2)) +(assume a1 (forall ((?v0 Bool)) (= (id$a ?v0) ?v0))) +(assume a2 (! (not (! (and (! (= x$ (id$ x$)) :named @p_23) (! (= (! (id$a true) :named @p_17) true) :named @p_1)) :named @p_22)) :named @p_24)) +(step t4 (cl (! (and (! (= (! (id$a false) :named @p_16) false) :named @p_15) @p_1) :named @p_18)) :rule bfun_elim :premises (a1)) (anchor :step t5 :args ((:= (?v0 A$) veriT_vr0))) (step t5.t1 (cl (! (= ?v0 veriT_vr0) :named @p_3)) :rule refl) (step t5.t2 (cl @p_3) :rule refl) (step t5.t3 (cl (= @p_4 (! (id$ veriT_vr0) :named @p_5))) :rule cong :premises (t5.t2)) (step t5.t4 (cl (= @p_6 (! (= veriT_vr0 @p_5) :named @p_7))) :rule cong :premises (t5.t1 t5.t3)) (step t5 (cl (! (= @p_2 (! (forall ((veriT_vr0 A$)) @p_7) :named @p_9)) :named @p_8)) :rule bind) (step t6 (cl (not @p_8) (not @p_2) @p_9) :rule equiv_pos2) -(step t7 (cl @p_9) :rule th_resolution :premises (axiom0 t5 t6)) +(step t7 (cl @p_9) :rule th_resolution :premises (a0 t5 t6)) (anchor :step t8 :args ((:= (veriT_vr0 A$) veriT_vr1))) (step t8.t1 (cl (! (= veriT_vr0 veriT_vr1) :named @p_10)) :rule refl) (step t8.t2 (cl @p_10) :rule refl) (step t8.t3 (cl (= @p_5 (! (id$ veriT_vr1) :named @p_11))) :rule cong :premises (t8.t2)) (step t8.t4 (cl (= @p_7 (! (= veriT_vr1 @p_11) :named @p_12))) :rule cong :premises (t8.t1 t8.t3)) (step t8 (cl (! (= @p_9 (! (forall ((veriT_vr1 A$)) @p_12) :named @p_14)) :named @p_13)) :rule bind) (step t9 (cl (not @p_13) (not @p_9) @p_14) :rule equiv_pos2) (step t10 (cl @p_14) :rule th_resolution :premises (t7 t8 t9)) (step t11 (cl (= @p_15 (! (not @p_16) :named @p_19))) :rule equiv_simplify) (step t12 (cl (= @p_1 @p_17)) :rule equiv_simplify) (step t13 (cl (! (= @p_18 (! (and @p_19 @p_17) :named @p_21)) :named @p_20)) :rule cong :premises (t11 t12)) (step t14 (cl (not @p_20) (not @p_18) @p_21) :rule equiv_pos2) (step t15 (cl @p_21) :rule th_resolution :premises (t4 t13 t14)) (step t16 (cl (= @p_22 (! (and @p_23 @p_17) :named @p_25))) :rule cong :premises (t12)) (step t17 (cl (! (= @p_24 (! (not @p_25) :named @p_27)) :named @p_26)) :rule cong :premises (t16)) (step t18 (cl (! (not @p_26) :named @p_29) (! (not @p_24) :named @p_28) @p_27) :rule equiv_pos2) (step t19 (cl (not @p_28) @p_22) :rule not_not) (step t20 (cl @p_29 @p_22 @p_27) :rule th_resolution :premises (t19 t18)) -(step t21 (cl @p_27) :rule th_resolution :premises (axiom2 t17 t20)) +(step t21 (cl @p_27) :rule th_resolution :premises (a2 t17 t20)) (step t22 (cl @p_17) :rule and :premises (t15)) (step t23 (cl (! (not @p_23) :named @p_30) (not @p_17)) :rule not_and :premises (t21)) (step t24 (cl @p_30) :rule resolution :premises (t23 t22)) (step t25 (cl (or (! (not @p_14) :named @p_31) @p_23)) :rule forall_inst :args ((:= veriT_vr1 x$))) (step t26 (cl @p_31 @p_23) :rule or :premises (t25)) (step t27 (cl) :rule resolution :premises (t26 t10 t24)) -395426c1e77b0b2b43dd37f4fdc5b1794b758773 27 0 +75683ef8683272f0e70a656b2aaeeba1b535ac8d 27 0 unsat -(assume axiom0 (not (=> (f$ (! (exists ((?v0 A$)) (! (g$ ?v0) :named @p_2)) :named @p_1)) true))) -(step t2 (cl (! (not (! (=> (! (ite @p_1 (! (f$ true) :named @p_6) (! (f$ false) :named @p_7)) :named @p_4) true) :named @p_8)) :named @p_10)) :rule bfun_elim :premises (axiom0)) +(assume a0 (not (=> (f$ (! (exists ((?v0 A$)) (! (g$ ?v0) :named @p_2)) :named @p_1)) true))) +(step t2 (cl (! (not (! (=> (! (ite @p_1 (! (f$ true) :named @p_6) (! (f$ false) :named @p_7)) :named @p_4) true) :named @p_8)) :named @p_10)) :rule bfun_elim :premises (a0)) (anchor :step t3 :args ((:= (?v0 A$) veriT_vr0))) (step t3.t1 (cl (= ?v0 veriT_vr0)) :rule refl) (step t3.t2 (cl (= @p_2 (! (g$ veriT_vr0) :named @p_3))) :rule cong :premises (t3.t1)) (step t3 (cl (= @p_1 (! (exists ((veriT_vr0 A$)) @p_3) :named @p_5))) :rule bind) (step t4 (cl (= @p_4 (! (ite @p_5 @p_6 @p_7) :named @p_9))) :rule cong :premises (t3)) (step t5 (cl (= @p_8 (! (=> @p_9 true) :named @p_11))) :rule cong :premises (t4)) (step t6 (cl (! (= @p_10 (! (not @p_11) :named @p_13)) :named @p_12)) :rule cong :premises (t5)) (step t7 (cl (! (not @p_12) :named @p_15) (! (not @p_10) :named @p_14) @p_13) :rule equiv_pos2) (step t8 (cl (not @p_14) @p_8) :rule not_not) (step t9 (cl @p_15 @p_8 @p_13) :rule th_resolution :premises (t8 t7)) (step t10 (cl @p_13) :rule th_resolution :premises (t2 t6 t9)) (step t11 (cl (! (= @p_13 (! (and @p_9 (! (not true) :named @p_20)) :named @p_17)) :named @p_16)) :rule bool_simplify) (step t12 (cl (! (not @p_16) :named @p_19) (! (not @p_13) :named @p_18) @p_17) :rule equiv_pos2) (step t13 (cl (not @p_18) @p_11) :rule not_not) (step t14 (cl @p_19 @p_11 @p_17) :rule th_resolution :premises (t13 t12)) (step t15 (cl @p_17) :rule th_resolution :premises (t10 t11 t14)) (step t16 (cl (= @p_20 false)) :rule not_simplify) (step t17 (cl (= @p_17 (! (and @p_9 false) :named @p_21))) :rule cong :premises (t16)) (step t18 (cl (= @p_21 false)) :rule and_simplify) (step t19 (cl (! (= @p_17 false) :named @p_22)) :rule trans :premises (t17 t18)) (step t20 (cl (not @p_22) (not @p_17) false) :rule equiv_pos2) (step t21 (cl false) :rule th_resolution :premises (t15 t19 t20)) (step t22 (cl (not false)) :rule false) (step t23 (cl) :rule resolution :premises (t21 t22)) -2bbe312ac0bf24de2abf59ed85b8b3b02d04d4eb 60 0 +c16c43a541a3283a006315d4b74b5196ee73be5b 27 0 unsat -(assume axiom0 (! (forall ((?v0 Int) (?v1 Int)) (! (= (! (fun_app$ (! (fun_app$a uu$ ?v0) :named @p_2) ?v1) :named @p_4) (! (<= ?v0 ?v1) :named @p_8)) :named @p_10)) :named @p_1)) -(assume axiom1 (! (not (! (=> (! (= uu$ le$) :named @p_23) (! (fun_app$ (! (fun_app$a le$ 3) :named @p_40) 42) :named @p_24)) :named @p_28)) :named @p_22)) +(assume a0 (not (=> (f$ (! (forall ((?v0 A$)) (! (g$ ?v0) :named @p_2)) :named @p_1)) true))) +(step t2 (cl (! (not (! (=> (! (ite @p_1 (! (f$ true) :named @p_6) (! (f$ false) :named @p_7)) :named @p_4) true) :named @p_8)) :named @p_10)) :rule bfun_elim :premises (a0)) +(anchor :step t3 :args ((:= (?v0 A$) veriT_vr0))) +(step t3.t1 (cl (= ?v0 veriT_vr0)) :rule refl) +(step t3.t2 (cl (= @p_2 (! (g$ veriT_vr0) :named @p_3))) :rule cong :premises (t3.t1)) +(step t3 (cl (= @p_1 (! (forall ((veriT_vr0 A$)) @p_3) :named @p_5))) :rule bind) +(step t4 (cl (= @p_4 (! (ite @p_5 @p_6 @p_7) :named @p_9))) :rule cong :premises (t3)) +(step t5 (cl (= @p_8 (! (=> @p_9 true) :named @p_11))) :rule cong :premises (t4)) +(step t6 (cl (! (= @p_10 (! (not @p_11) :named @p_13)) :named @p_12)) :rule cong :premises (t5)) +(step t7 (cl (! (not @p_12) :named @p_15) (! (not @p_10) :named @p_14) @p_13) :rule equiv_pos2) +(step t8 (cl (not @p_14) @p_8) :rule not_not) +(step t9 (cl @p_15 @p_8 @p_13) :rule th_resolution :premises (t8 t7)) +(step t10 (cl @p_13) :rule th_resolution :premises (t2 t6 t9)) +(step t11 (cl (! (= @p_13 (! (and @p_9 (! (not true) :named @p_20)) :named @p_17)) :named @p_16)) :rule bool_simplify) +(step t12 (cl (! (not @p_16) :named @p_19) (! (not @p_13) :named @p_18) @p_17) :rule equiv_pos2) +(step t13 (cl (not @p_18) @p_11) :rule not_not) +(step t14 (cl @p_19 @p_11 @p_17) :rule th_resolution :premises (t13 t12)) +(step t15 (cl @p_17) :rule th_resolution :premises (t10 t11 t14)) +(step t16 (cl (= @p_20 false)) :rule not_simplify) +(step t17 (cl (= @p_17 (! (and @p_9 false) :named @p_21))) :rule cong :premises (t16)) +(step t18 (cl (= @p_21 false)) :rule and_simplify) +(step t19 (cl (! (= @p_17 false) :named @p_22)) :rule trans :premises (t17 t18)) +(step t20 (cl (not @p_22) (not @p_17) false) :rule equiv_pos2) +(step t21 (cl false) :rule th_resolution :premises (t15 t19 t20)) +(step t22 (cl (not false)) :rule false) +(step t23 (cl) :rule resolution :premises (t21 t22)) +bfe8d775ab64ce32fa8986be49dfdcae57d75099 60 0 +unsat +(assume a0 (! (forall ((?v0 Int) (?v1 Int)) (! (= (! (fun_app$ (! (fun_app$a uu$ ?v0) :named @p_2) ?v1) :named @p_4) (! (<= ?v0 ?v1) :named @p_8)) :named @p_10)) :named @p_1)) +(assume a1 (! (not (! (=> (! (= uu$ le$) :named @p_23) (! (fun_app$ (! (fun_app$a le$ 3) :named @p_40) 42) :named @p_24)) :named @p_28)) :named @p_22)) (anchor :step t3 :args ((:= (?v0 Int) veriT_vr0) (:= (?v1 Int) veriT_vr1))) (step t3.t1 (cl (! (= ?v0 veriT_vr0) :named @p_6)) :rule refl) (step t3.t2 (cl (= @p_2 (! (fun_app$a uu$ veriT_vr0) :named @p_3))) :rule cong :premises (t3.t1)) (step t3.t3 (cl (! (= ?v1 veriT_vr1) :named @p_7)) :rule refl) (step t3.t4 (cl (= @p_4 (! (fun_app$ @p_3 veriT_vr1) :named @p_5))) :rule cong :premises (t3.t2 t3.t3)) (step t3.t5 (cl @p_6) :rule refl) (step t3.t6 (cl @p_7) :rule refl) (step t3.t7 (cl (= @p_8 (! (<= veriT_vr0 veriT_vr1) :named @p_9))) :rule cong :premises (t3.t5 t3.t6)) (step t3.t8 (cl (= @p_10 (! (= @p_5 @p_9) :named @p_11))) :rule cong :premises (t3.t4 t3.t7)) (step t3 (cl (! (= @p_1 (! (forall ((veriT_vr0 Int) (veriT_vr1 Int)) @p_11) :named @p_13)) :named @p_12)) :rule bind) (step t4 (cl (not @p_12) (not @p_1) @p_13) :rule equiv_pos2) -(step t5 (cl @p_13) :rule th_resolution :premises (axiom0 t3 t4)) +(step t5 (cl @p_13) :rule th_resolution :premises (a0 t3 t4)) (anchor :step t6 :args ((:= (veriT_vr0 Int) veriT_vr2) (:= (veriT_vr1 Int) veriT_vr3))) (step t6.t1 (cl (! (= veriT_vr0 veriT_vr2) :named @p_16)) :rule refl) (step t6.t2 (cl (= @p_3 (! (fun_app$a uu$ veriT_vr2) :named @p_14))) :rule cong :premises (t6.t1)) (step t6.t3 (cl (! (= veriT_vr1 veriT_vr3) :named @p_17)) :rule refl) (step t6.t4 (cl (= @p_5 (! (fun_app$ @p_14 veriT_vr3) :named @p_15))) :rule cong :premises (t6.t2 t6.t3)) (step t6.t5 (cl @p_16) :rule refl) (step t6.t6 (cl @p_17) :rule refl) (step t6.t7 (cl (= @p_9 (! (<= veriT_vr2 veriT_vr3) :named @p_18))) :rule cong :premises (t6.t5 t6.t6)) (step t6.t8 (cl (= @p_11 (! (= @p_15 @p_18) :named @p_19))) :rule cong :premises (t6.t4 t6.t7)) (step t6 (cl (! (= @p_13 (! (forall ((veriT_vr2 Int) (veriT_vr3 Int)) @p_19) :named @p_21)) :named @p_20)) :rule bind) (step t7 (cl (not @p_20) (not @p_13) @p_21) :rule equiv_pos2) (step t8 (cl @p_21) :rule th_resolution :premises (t5 t6 t7)) (step t9 (cl (! (= @p_22 (! (and @p_23 (! (not @p_24) :named @p_30)) :named @p_26)) :named @p_25)) :rule bool_simplify) (step t10 (cl (! (not @p_25) :named @p_29) (! (not @p_22) :named @p_27) @p_26) :rule equiv_pos2) (step t11 (cl (not @p_27) @p_28) :rule not_not) (step t12 (cl @p_29 @p_28 @p_26) :rule th_resolution :premises (t11 t10)) -(step t13 (cl @p_26) :rule th_resolution :premises (axiom1 t9 t12)) +(step t13 (cl @p_26) :rule th_resolution :premises (a1 t9 t12)) (step t14 (cl @p_23) :rule and :premises (t13)) (step t15 (cl @p_30) :rule and :premises (t13)) (step t16 (cl (or (! (not @p_21) :named @p_37) (! (= (! (fun_app$ (! (fun_app$a uu$ 3) :named @p_41) 42) :named @p_32) (! (<= 3 42) :named @p_33)) :named @p_31))) :rule forall_inst :args ((:= veriT_vr2 3) (:= veriT_vr3 42))) (anchor :step t17) (assume t17.h1 @p_31) (step t17.t2 (cl (= @p_33 true)) :rule comp_simplify) (step t17.t3 (cl (= @p_31 (! (= @p_32 true) :named @p_34))) :rule cong :premises (t17.t2)) (step t17.t4 (cl (= @p_34 @p_32)) :rule equiv_simplify) (step t17.t5 (cl (! (= @p_31 @p_32) :named @p_35)) :rule trans :premises (t17.t3 t17.t4)) (step t17.t6 (cl (not @p_35) (! (not @p_31) :named @p_36) @p_32) :rule equiv_pos2) (step t17.t7 (cl @p_32) :rule th_resolution :premises (t17.h1 t17.t5 t17.t6)) (step t17 (cl @p_36 @p_32) :rule subproof :discharge (h1)) (step t18 (cl @p_37 @p_31) :rule or :premises (t16)) (step t19 (cl (! (or @p_37 @p_32) :named @p_39) (! (not @p_37) :named @p_38)) :rule or_neg) (step t20 (cl (not @p_38) @p_21) :rule not_not) (step t21 (cl @p_39 @p_21) :rule th_resolution :premises (t20 t19)) (step t22 (cl @p_39 (! (not @p_32) :named @p_42)) :rule or_neg) (step t23 (cl @p_39) :rule th_resolution :premises (t18 t17 t21 t22)) (step t24 (cl @p_37 @p_32) :rule or :premises (t23)) (step t25 (cl @p_32) :rule resolution :premises (t24 t8)) (step t26 (cl (not (! (= @p_40 @p_41) :named @p_43)) (! (not (! (= 42 42) :named @p_47)) :named @p_46) @p_42 @p_24) :rule eq_congruent_pred) (step t27 (cl (! (not @p_23) :named @p_45) (not (! (= 3 3) :named @p_44)) @p_43) :rule eq_congruent) (step t28 (cl @p_44) :rule eq_reflexive) (step t29 (cl @p_45 @p_43) :rule th_resolution :premises (t27 t28)) (step t30 (cl @p_46 @p_42 @p_24 @p_45) :rule th_resolution :premises (t26 t29)) (step t31 (cl @p_47) :rule eq_reflexive) (step t32 (cl @p_42 @p_24 @p_45) :rule th_resolution :premises (t30 t31)) (step t33 (cl) :rule resolution :premises (t32 t14 t15 t25)) -cff62aa4cee92583faa1651c31b596d6853191d1 27 0 +2224e31ba45ff13284551d05730c64492fbe999c 125 0 unsat -(assume axiom0 (not (=> (f$ (! (forall ((?v0 A$)) (! (g$ ?v0) :named @p_2)) :named @p_1)) true))) -(step t2 (cl (! (not (! (=> (! (ite @p_1 (! (f$ true) :named @p_6) (! (f$ false) :named @p_7)) :named @p_4) true) :named @p_8)) :named @p_10)) :rule bfun_elim :premises (axiom0)) -(anchor :step t3 :args ((:= (?v0 A$) veriT_vr0))) -(step t3.t1 (cl (= ?v0 veriT_vr0)) :rule refl) -(step t3.t2 (cl (= @p_2 (! (g$ veriT_vr0) :named @p_3))) :rule cong :premises (t3.t1)) -(step t3 (cl (= @p_1 (! (forall ((veriT_vr0 A$)) @p_3) :named @p_5))) :rule bind) -(step t4 (cl (= @p_4 (! (ite @p_5 @p_6 @p_7) :named @p_9))) :rule cong :premises (t3)) -(step t5 (cl (= @p_8 (! (=> @p_9 true) :named @p_11))) :rule cong :premises (t4)) -(step t6 (cl (! (= @p_10 (! (not @p_11) :named @p_13)) :named @p_12)) :rule cong :premises (t5)) -(step t7 (cl (! (not @p_12) :named @p_15) (! (not @p_10) :named @p_14) @p_13) :rule equiv_pos2) -(step t8 (cl (not @p_14) @p_8) :rule not_not) -(step t9 (cl @p_15 @p_8 @p_13) :rule th_resolution :premises (t8 t7)) -(step t10 (cl @p_13) :rule th_resolution :premises (t2 t6 t9)) -(step t11 (cl (! (= @p_13 (! (and @p_9 (! (not true) :named @p_20)) :named @p_17)) :named @p_16)) :rule bool_simplify) -(step t12 (cl (! (not @p_16) :named @p_19) (! (not @p_13) :named @p_18) @p_17) :rule equiv_pos2) -(step t13 (cl (not @p_18) @p_11) :rule not_not) -(step t14 (cl @p_19 @p_11 @p_17) :rule th_resolution :premises (t13 t12)) -(step t15 (cl @p_17) :rule th_resolution :premises (t10 t11 t14)) -(step t16 (cl (= @p_20 false)) :rule not_simplify) -(step t17 (cl (= @p_17 (! (and @p_9 false) :named @p_21))) :rule cong :premises (t16)) -(step t18 (cl (= @p_21 false)) :rule and_simplify) -(step t19 (cl (! (= @p_17 false) :named @p_22)) :rule trans :premises (t17 t18)) -(step t20 (cl (not @p_22) (not @p_17) false) :rule equiv_pos2) -(step t21 (cl false) :rule th_resolution :premises (t15 t19 t20)) -(step t22 (cl (not false)) :rule false) -(step t23 (cl) :rule resolution :premises (t21 t22)) -b98ce8490503b759ff8b992327f85a4088d1bb79 125 0 -unsat -(assume axiom0 (! (forall ((?v0 Int)) (! (= (! (fun_app$ uu$ ?v0) :named @p_2) (! (+ ?v0 1) :named @p_5)) :named @p_7)) :named @p_1)) -(assume axiom1 (! (forall ((?v0 Int_int_fun$)) (! (= nil$ (! (map$ ?v0 nil$) :named @p_22)) :named @p_24)) :named @p_21)) -(assume axiom2 (! (forall ((?v0 Int_int_fun$) (?v1 Int) (?v2 Int_list$)) (! (= (! (map$ ?v0 (! (cons$ ?v1 ?v2) :named @p_33)) :named @p_35) (! (cons$ (! (fun_app$ ?v0 ?v1) :named @p_39) (! (map$ ?v0 ?v2) :named @p_42)) :named @p_44)) :named @p_46)) :named @p_32)) -(assume axiom3 (not (! (= (! (map$ uu$ (cons$ 0 (! (cons$ 1 nil$) :named @p_62))) :named @p_61) (! (cons$ 1 (! (cons$ 2 nil$) :named @p_90)) :named @p_86)) :named @p_88))) +(assume a0 (! (forall ((?v0 Int)) (! (= (! (fun_app$ uu$ ?v0) :named @p_2) (! (+ ?v0 1) :named @p_5)) :named @p_7)) :named @p_1)) +(assume a1 (! (forall ((?v0 Int_int_fun$)) (! (= nil$ (! (map$ ?v0 nil$) :named @p_22)) :named @p_24)) :named @p_21)) +(assume a2 (! (forall ((?v0 Int_int_fun$) (?v1 Int) (?v2 Int_list$)) (! (= (! (map$ ?v0 (! (cons$ ?v1 ?v2) :named @p_33)) :named @p_35) (! (cons$ (! (fun_app$ ?v0 ?v1) :named @p_39) (! (map$ ?v0 ?v2) :named @p_42)) :named @p_44)) :named @p_46)) :named @p_32)) +(assume a3 (not (! (= (! (map$ uu$ (cons$ 0 (! (cons$ 1 nil$) :named @p_62))) :named @p_61) (! (cons$ 1 (! (cons$ 2 nil$) :named @p_90)) :named @p_86)) :named @p_88))) (anchor :step t5 :args ((:= (?v0 Int) veriT_vr0))) (step t5.t1 (cl (! (= ?v0 veriT_vr0) :named @p_4)) :rule refl) (step t5.t2 (cl (= @p_2 (! (fun_app$ uu$ veriT_vr0) :named @p_3))) :rule cong :premises (t5.t1)) (step t5.t3 (cl @p_4) :rule refl) (step t5.t4 (cl (= @p_5 (! (+ veriT_vr0 1) :named @p_6))) :rule cong :premises (t5.t3)) (step t5.t5 (cl (= @p_7 (! (= @p_3 @p_6) :named @p_8))) :rule cong :premises (t5.t2 t5.t4)) (step t5 (cl (! (= @p_1 (! (forall ((veriT_vr0 Int)) @p_8) :named @p_10)) :named @p_9)) :rule bind) (step t6 (cl (not @p_9) (not @p_1) @p_10) :rule equiv_pos2) -(step t7 (cl @p_10) :rule th_resolution :premises (axiom0 t5 t6)) +(step t7 (cl @p_10) :rule th_resolution :premises (a0 t5 t6)) (anchor :step t8 :args ((veriT_vr0 Int))) (step t8.t1 (cl (= @p_6 (! (+ 1 veriT_vr0) :named @p_11))) :rule sum_simplify) (step t8.t2 (cl (= @p_8 (! (= @p_3 @p_11) :named @p_12))) :rule cong :premises (t8.t1)) (step t8 (cl (! (= @p_10 (! (forall ((veriT_vr0 Int)) @p_12) :named @p_14)) :named @p_13)) :rule bind) (step t9 (cl (not @p_13) (not @p_10) @p_14) :rule equiv_pos2) (step t10 (cl @p_14) :rule th_resolution :premises (t7 t8 t9)) (anchor :step t11 :args ((:= (veriT_vr0 Int) veriT_vr1))) (step t11.t1 (cl (! (= veriT_vr0 veriT_vr1) :named @p_16)) :rule refl) (step t11.t2 (cl (= @p_3 (! (fun_app$ uu$ veriT_vr1) :named @p_15))) :rule cong :premises (t11.t1)) (step t11.t3 (cl @p_16) :rule refl) (step t11.t4 (cl (= @p_11 (! (+ 1 veriT_vr1) :named @p_17))) :rule cong :premises (t11.t3)) (step t11.t5 (cl (= @p_12 (! (= @p_15 @p_17) :named @p_18))) :rule cong :premises (t11.t2 t11.t4)) (step t11 (cl (! (= @p_14 (! (forall ((veriT_vr1 Int)) @p_18) :named @p_20)) :named @p_19)) :rule bind) (step t12 (cl (not @p_19) (not @p_14) @p_20) :rule equiv_pos2) (step t13 (cl @p_20) :rule th_resolution :premises (t10 t11 t12)) (anchor :step t14 :args ((:= (?v0 Int_int_fun$) veriT_vr2))) (step t14.t1 (cl (= ?v0 veriT_vr2)) :rule refl) (step t14.t2 (cl (= @p_22 (! (map$ veriT_vr2 nil$) :named @p_23))) :rule cong :premises (t14.t1)) (step t14.t3 (cl (= @p_24 (! (= nil$ @p_23) :named @p_25))) :rule cong :premises (t14.t2)) (step t14 (cl (! (= @p_21 (! (forall ((veriT_vr2 Int_int_fun$)) @p_25) :named @p_27)) :named @p_26)) :rule bind) (step t15 (cl (not @p_26) (not @p_21) @p_27) :rule equiv_pos2) -(step t16 (cl @p_27) :rule th_resolution :premises (axiom1 t14 t15)) +(step t16 (cl @p_27) :rule th_resolution :premises (a1 t14 t15)) (anchor :step t17 :args ((:= (veriT_vr2 Int_int_fun$) veriT_vr3))) (step t17.t1 (cl (= veriT_vr2 veriT_vr3)) :rule refl) (step t17.t2 (cl (= @p_23 (! (map$ veriT_vr3 nil$) :named @p_28))) :rule cong :premises (t17.t1)) (step t17.t3 (cl (= @p_25 (! (= nil$ @p_28) :named @p_29))) :rule cong :premises (t17.t2)) (step t17 (cl (! (= @p_27 (! (forall ((veriT_vr3 Int_int_fun$)) @p_29) :named @p_31)) :named @p_30)) :rule bind) (step t18 (cl (not @p_30) (not @p_27) @p_31) :rule equiv_pos2) (step t19 (cl @p_31) :rule th_resolution :premises (t16 t17 t18)) (anchor :step t20 :args ((:= (?v0 Int_int_fun$) veriT_vr4) (:= (?v1 Int) veriT_vr5) (:= (?v2 Int_list$) veriT_vr6))) (step t20.t1 (cl (! (= ?v0 veriT_vr4) :named @p_37)) :rule refl) (step t20.t2 (cl (! (= ?v1 veriT_vr5) :named @p_38)) :rule refl) (step t20.t3 (cl (! (= ?v2 veriT_vr6) :named @p_41)) :rule refl) (step t20.t4 (cl (= @p_33 (! (cons$ veriT_vr5 veriT_vr6) :named @p_34))) :rule cong :premises (t20.t2 t20.t3)) (step t20.t5 (cl (= @p_35 (! (map$ veriT_vr4 @p_34) :named @p_36))) :rule cong :premises (t20.t1 t20.t4)) (step t20.t6 (cl @p_37) :rule refl) (step t20.t7 (cl @p_38) :rule refl) (step t20.t8 (cl (= @p_39 (! (fun_app$ veriT_vr4 veriT_vr5) :named @p_40))) :rule cong :premises (t20.t6 t20.t7)) (step t20.t9 (cl @p_37) :rule refl) (step t20.t10 (cl @p_41) :rule refl) (step t20.t11 (cl (= @p_42 (! (map$ veriT_vr4 veriT_vr6) :named @p_43))) :rule cong :premises (t20.t9 t20.t10)) (step t20.t12 (cl (= @p_44 (! (cons$ @p_40 @p_43) :named @p_45))) :rule cong :premises (t20.t8 t20.t11)) (step t20.t13 (cl (= @p_46 (! (= @p_36 @p_45) :named @p_47))) :rule cong :premises (t20.t5 t20.t12)) (step t20 (cl (! (= @p_32 (! (forall ((veriT_vr4 Int_int_fun$) (veriT_vr5 Int) (veriT_vr6 Int_list$)) @p_47) :named @p_49)) :named @p_48)) :rule bind) (step t21 (cl (not @p_48) (not @p_32) @p_49) :rule equiv_pos2) -(step t22 (cl @p_49) :rule th_resolution :premises (axiom2 t20 t21)) +(step t22 (cl @p_49) :rule th_resolution :premises (a2 t20 t21)) (anchor :step t23 :args ((:= (veriT_vr4 Int_int_fun$) veriT_vr7) (:= (veriT_vr5 Int) veriT_vr8) (:= (veriT_vr6 Int_list$) veriT_vr9))) (step t23.t1 (cl (! (= veriT_vr4 veriT_vr7) :named @p_52)) :rule refl) (step t23.t2 (cl (! (= veriT_vr5 veriT_vr8) :named @p_53)) :rule refl) (step t23.t3 (cl (! (= veriT_vr6 veriT_vr9) :named @p_55)) :rule refl) (step t23.t4 (cl (= @p_34 (! (cons$ veriT_vr8 veriT_vr9) :named @p_50))) :rule cong :premises (t23.t2 t23.t3)) (step t23.t5 (cl (= @p_36 (! (map$ veriT_vr7 @p_50) :named @p_51))) :rule cong :premises (t23.t1 t23.t4)) (step t23.t6 (cl @p_52) :rule refl) (step t23.t7 (cl @p_53) :rule refl) (step t23.t8 (cl (= @p_40 (! (fun_app$ veriT_vr7 veriT_vr8) :named @p_54))) :rule cong :premises (t23.t6 t23.t7)) (step t23.t9 (cl @p_52) :rule refl) (step t23.t10 (cl @p_55) :rule refl) (step t23.t11 (cl (= @p_43 (! (map$ veriT_vr7 veriT_vr9) :named @p_56))) :rule cong :premises (t23.t9 t23.t10)) (step t23.t12 (cl (= @p_45 (! (cons$ @p_54 @p_56) :named @p_57))) :rule cong :premises (t23.t8 t23.t11)) (step t23.t13 (cl (= @p_47 (! (= @p_51 @p_57) :named @p_58))) :rule cong :premises (t23.t5 t23.t12)) (step t23 (cl (! (= @p_49 (! (forall ((veriT_vr7 Int_int_fun$) (veriT_vr8 Int) (veriT_vr9 Int_list$)) @p_58) :named @p_60)) :named @p_59)) :rule bind) (step t24 (cl (not @p_59) (not @p_49) @p_60) :rule equiv_pos2) (step t25 (cl @p_60) :rule th_resolution :premises (t22 t23 t24)) (step t26 (cl (or (! (not @p_60) :named @p_63) (! (= @p_61 (! (cons$ (! (fun_app$ uu$ 0) :named @p_66) (! (map$ uu$ @p_62) :named @p_65)) :named @p_87)) :named @p_64))) :rule forall_inst :args ((:= veriT_vr7 uu$) (:= veriT_vr8 0) (:= veriT_vr9 @p_62))) (step t27 (cl @p_63 @p_64) :rule or :premises (t26)) (step t28 (cl @p_64) :rule resolution :premises (t27 t25)) (step t29 (cl (or @p_63 (! (= @p_65 (! (cons$ (! (fun_app$ uu$ 1) :named @p_77) (! (map$ uu$ nil$) :named @p_76)) :named @p_92)) :named @p_75))) :rule forall_inst :args ((:= veriT_vr7 uu$) (:= veriT_vr8 1) (:= veriT_vr9 nil$))) (step t30 (cl (or (! (not @p_20) :named @p_72) (! (= @p_66 (! (+ 1 0) :named @p_68)) :named @p_67))) :rule forall_inst :args ((:= veriT_vr1 0))) (anchor :step t31) (assume t31.h1 @p_67) (step t31.t2 (cl (= 1 @p_68)) :rule sum_simplify) (step t31.t3 (cl (! (= @p_67 (! (= 1 @p_66) :named @p_69)) :named @p_70)) :rule cong :premises (t31.t2)) (step t31.t4 (cl (not @p_70) (! (not @p_67) :named @p_71) @p_69) :rule equiv_pos2) (step t31.t5 (cl @p_69) :rule th_resolution :premises (t31.h1 t31.t3 t31.t4)) (step t31 (cl @p_71 @p_69) :rule subproof :discharge (h1)) (step t32 (cl @p_72 @p_67) :rule or :premises (t30)) (step t33 (cl (! (or @p_72 @p_69) :named @p_74) (! (not @p_72) :named @p_73)) :rule or_neg) (step t34 (cl (not @p_73) @p_20) :rule not_not) (step t35 (cl @p_74 @p_20) :rule th_resolution :premises (t34 t33)) (step t36 (cl @p_74 (! (not @p_69) :named @p_89)) :rule or_neg) (step t37 (cl @p_74) :rule th_resolution :premises (t32 t31 t35 t36)) (step t38 (cl @p_63 @p_75) :rule or :premises (t29)) (step t39 (cl @p_75) :rule resolution :premises (t38 t25)) (step t40 (cl @p_72 @p_69) :rule or :premises (t37)) (step t41 (cl @p_69) :rule resolution :premises (t40 t13)) (step t42 (cl (or (! (not @p_31) :named @p_84) (! (= nil$ @p_76) :named @p_85))) :rule forall_inst :args ((:= veriT_vr3 uu$))) (step t43 (cl (or @p_72 (! (= @p_77 (! (+ 1 1) :named @p_79)) :named @p_78))) :rule forall_inst :args ((:= veriT_vr1 1))) (anchor :step t44) (assume t44.h1 @p_78) (step t44.t2 (cl (= 2 @p_79)) :rule sum_simplify) (step t44.t3 (cl (! (= @p_78 (! (= 2 @p_77) :named @p_80)) :named @p_81)) :rule cong :premises (t44.t2)) (step t44.t4 (cl (not @p_81) (! (not @p_78) :named @p_82) @p_80) :rule equiv_pos2) (step t44.t5 (cl @p_80) :rule th_resolution :premises (t44.h1 t44.t3 t44.t4)) (step t44 (cl @p_82 @p_80) :rule subproof :discharge (h1)) (step t45 (cl @p_72 @p_78) :rule or :premises (t43)) (step t46 (cl (! (or @p_72 @p_80) :named @p_83) @p_73) :rule or_neg) (step t47 (cl @p_83 @p_20) :rule th_resolution :premises (t34 t46)) (step t48 (cl @p_83 (! (not @p_80) :named @p_94)) :rule or_neg) (step t49 (cl @p_83) :rule th_resolution :premises (t45 t44 t47 t48)) (step t50 (cl @p_84 @p_85) :rule or :premises (t42)) (step t51 (cl @p_85) :rule resolution :premises (t50 t19)) (step t52 (cl @p_72 @p_80) :rule or :premises (t49)) (step t53 (cl @p_80) :rule resolution :premises (t52 t13)) (step t54 (cl (! (not @p_64) :named @p_98) (not (! (= @p_86 @p_87) :named @p_91)) @p_88) :rule eq_transitive) (step t55 (cl @p_89 (not (! (= @p_90 @p_65) :named @p_93)) @p_91) :rule eq_congruent) (step t56 (cl (not (! (= @p_90 @p_92) :named @p_95)) (! (not @p_75) :named @p_96) @p_93) :rule eq_transitive) (step t57 (cl @p_94 (! (not @p_85) :named @p_97) @p_95) :rule eq_congruent) (step t58 (cl @p_96 @p_93 @p_94 @p_97) :rule th_resolution :premises (t56 t57)) (step t59 (cl @p_89 @p_91 @p_96 @p_94 @p_97) :rule th_resolution :premises (t55 t58)) (step t60 (cl @p_98 @p_88 @p_89 @p_96 @p_94 @p_97) :rule th_resolution :premises (t54 t59)) -(step t61 (cl) :rule resolution :premises (t60 axiom3 t28 t39 t41 t51 t53)) -4bfba84466bed875a9d6690636344a2452d6f312 23 0 +(step t61 (cl) :rule resolution :premises (t60 a3 t28 t39 t41 t51 t53)) +9bfeafd531163b7b5dc1f3e29f35b01c7ed668dc 23 0 unsat -(assume axiom0 (! (not (! (or (! (forall ((?v0 A$)) (! (p$ ?v0) :named @p_2)) :named @p_1) (! (not @p_1) :named @p_4)) :named @p_6)) :named @p_8)) +(assume a0 (! (not (! (or (! (forall ((?v0 A$)) (! (p$ ?v0) :named @p_2)) :named @p_1) (! (not @p_1) :named @p_4)) :named @p_6)) :named @p_8)) (anchor :step t2 :args ((:= (?v0 A$) veriT_vr0))) (step t2.t1 (cl (= ?v0 veriT_vr0)) :rule refl) (step t2.t2 (cl (= @p_2 (! (p$ veriT_vr0) :named @p_3))) :rule cong :premises (t2.t1)) (step t2 (cl (= @p_1 (! (forall ((veriT_vr0 A$)) @p_3) :named @p_5))) :rule bind) (step t3 (cl (= @p_4 (! (not @p_5) :named @p_7))) :rule cong :premises (t2)) (step t4 (cl (= @p_6 (! (or @p_5 @p_7) :named @p_9))) :rule cong :premises (t2 t3)) (step t5 (cl (! (= @p_8 (! (not @p_9) :named @p_11)) :named @p_10)) :rule cong :premises (t4)) (step t6 (cl (! (not @p_10) :named @p_13) (! (not @p_8) :named @p_12) @p_11) :rule equiv_pos2) (step t7 (cl (not @p_12) @p_6) :rule not_not) (step t8 (cl @p_13 @p_6 @p_11) :rule th_resolution :premises (t7 t6)) -(step t9 (cl @p_11) :rule th_resolution :premises (axiom0 t5 t8)) +(step t9 (cl @p_11) :rule th_resolution :premises (a0 t5 t8)) (step t10 (cl (= @p_9 true)) :rule or_simplify) (step t11 (cl (= @p_11 (! (not true) :named @p_14))) :rule cong :premises (t10)) (step t12 (cl (= @p_14 false)) :rule not_simplify) (step t13 (cl (! (= @p_11 false) :named @p_15)) :rule trans :premises (t11 t12)) (step t14 (cl (! (not @p_15) :named @p_17) (! (not @p_11) :named @p_16) false) :rule equiv_pos2) (step t15 (cl (not @p_16) @p_9) :rule not_not) (step t16 (cl @p_17 @p_9 false) :rule th_resolution :premises (t15 t14)) (step t17 (cl false) :rule th_resolution :premises (t9 t13 t16)) (step t18 (cl (not false)) :rule false) (step t19 (cl) :rule resolution :premises (t17 t18)) -2f429461f6d8832eb5f04c2d4afd47dfd1b769d9 48 0 +3fb3269903eddb271bcd0f8b72a806a38020c0d1 107 0 unsat -(assume axiom2 (! (forall ((?v0 A$) (?v1 A$) (?v2 A$)) (! (=> (! (and (! (less_eq$ ?v0 ?v1) :named @p_4) (! (less_eq$ ?v1 ?v2) :named @p_7)) :named @p_9) (! (less_eq$ ?v0 ?v2) :named @p_13)) :named @p_15)) :named @p_3)) -(assume axiom3 (! (less_eq$ (! (sup$ (collect$ uu$)) :named @p_2) (! (sup$ (collect$ uua$)) :named @p_1)) :named @p_31)) -(assume axiom4 (! (less_eq$ @p_1 @p_2) :named @p_32)) -(assume axiom5 (not (! (less_eq$ @p_2 @p_2) :named @p_33))) -(anchor :step t5 :args ((:= (?v0 A$) veriT_vr4) (:= (?v1 A$) veriT_vr5) (:= (?v2 A$) veriT_vr6))) -(step t5.t1 (cl (! (= ?v0 veriT_vr4) :named @p_11)) :rule refl) -(step t5.t2 (cl (! (= ?v1 veriT_vr5) :named @p_6)) :rule refl) -(step t5.t3 (cl (= @p_4 (! (less_eq$ veriT_vr4 veriT_vr5) :named @p_5))) :rule cong :premises (t5.t1 t5.t2)) -(step t5.t4 (cl @p_6) :rule refl) -(step t5.t5 (cl (! (= ?v2 veriT_vr6) :named @p_12)) :rule refl) -(step t5.t6 (cl (= @p_7 (! (less_eq$ veriT_vr5 veriT_vr6) :named @p_8))) :rule cong :premises (t5.t4 t5.t5)) -(step t5.t7 (cl (= @p_9 (! (and @p_5 @p_8) :named @p_10))) :rule cong :premises (t5.t3 t5.t6)) -(step t5.t8 (cl @p_11) :rule refl) -(step t5.t9 (cl @p_12) :rule refl) -(step t5.t10 (cl (= @p_13 (! (less_eq$ veriT_vr4 veriT_vr6) :named @p_14))) :rule cong :premises (t5.t8 t5.t9)) -(step t5.t11 (cl (= @p_15 (! (=> @p_10 @p_14) :named @p_16))) :rule cong :premises (t5.t7 t5.t10)) -(step t5 (cl (! (= @p_3 (! (forall ((veriT_vr4 A$) (veriT_vr5 A$) (veriT_vr6 A$)) @p_16) :named @p_18)) :named @p_17)) :rule bind) -(step t6 (cl (not @p_17) (not @p_3) @p_18) :rule equiv_pos2) -(step t7 (cl @p_18) :rule th_resolution :premises (axiom2 t5 t6)) -(anchor :step t8 :args ((:= (veriT_vr4 A$) veriT_vr7) (:= (veriT_vr5 A$) veriT_vr8) (:= (veriT_vr6 A$) veriT_vr9))) -(step t8.t1 (cl (! (= veriT_vr4 veriT_vr7) :named @p_23)) :rule refl) -(step t8.t2 (cl (! (= veriT_vr5 veriT_vr8) :named @p_20)) :rule refl) -(step t8.t3 (cl (= @p_5 (! (less_eq$ veriT_vr7 veriT_vr8) :named @p_19))) :rule cong :premises (t8.t1 t8.t2)) -(step t8.t4 (cl @p_20) :rule refl) -(step t8.t5 (cl (! (= veriT_vr6 veriT_vr9) :named @p_24)) :rule refl) -(step t8.t6 (cl (= @p_8 (! (less_eq$ veriT_vr8 veriT_vr9) :named @p_21))) :rule cong :premises (t8.t4 t8.t5)) -(step t8.t7 (cl (= @p_10 (! (and @p_19 @p_21) :named @p_22))) :rule cong :premises (t8.t3 t8.t6)) -(step t8.t8 (cl @p_23) :rule refl) -(step t8.t9 (cl @p_24) :rule refl) -(step t8.t10 (cl (= @p_14 (! (less_eq$ veriT_vr7 veriT_vr9) :named @p_25))) :rule cong :premises (t8.t8 t8.t9)) -(step t8.t11 (cl (= @p_16 (! (=> @p_22 @p_25) :named @p_26))) :rule cong :premises (t8.t7 t8.t10)) -(step t8 (cl (! (= @p_18 (! (forall ((veriT_vr7 A$) (veriT_vr8 A$) (veriT_vr9 A$)) @p_26) :named @p_28)) :named @p_27)) :rule bind) -(step t9 (cl (not @p_27) (not @p_18) @p_28) :rule equiv_pos2) -(step t10 (cl @p_28) :rule th_resolution :premises (t7 t8 t9)) -(step t11 (cl (or (! (not @p_28) :named @p_29) (! (forall ((veriT_vr7 A$) (veriT_vr8 A$) (veriT_vr9 A$)) (or (not @p_19) (not @p_21) @p_25)) :named @p_30))) :rule qnt_cnf) -(step t12 (cl @p_29 @p_30) :rule or :premises (t11)) -(step t13 (cl (or (! (not @p_30) :named @p_34) (! (or (! (not @p_31) :named @p_39) (! (not @p_32) :named @p_40) @p_33) :named @p_35))) :rule forall_inst :args ((:= veriT_vr7 @p_2) (:= veriT_vr8 @p_1) (:= veriT_vr9 @p_2))) -(step t14 (cl @p_34 @p_35) :rule or :premises (t13)) -(step t15 (cl (! (or @p_29 @p_35) :named @p_37) (! (not @p_29) :named @p_36)) :rule or_neg) -(step t16 (cl (not @p_36) @p_28) :rule not_not) -(step t17 (cl @p_37 @p_28) :rule th_resolution :premises (t16 t15)) -(step t18 (cl @p_37 (! (not @p_35) :named @p_38)) :rule or_neg) -(step t19 (cl @p_37) :rule th_resolution :premises (t12 t14 t17 t18)) -(step t20 (cl @p_38 @p_39 @p_40 @p_33) :rule or_pos) -(step t21 (cl @p_29 @p_35) :rule or :premises (t19)) -(step t22 (cl @p_38) :rule resolution :premises (t20 axiom3 axiom4 axiom5)) -(step t23 (cl) :rule resolution :premises (t21 t10 t22)) -8f4bf1893caa103dd59d38dee5686b501773527d 107 0 -unsat -(assume axiom0 (! (forall ((?v0 Int)) (! (= (! (dec_10$ ?v0) :named @p_2) (! (ite (! (< ?v0 10) :named @p_5) ?v0 (! (dec_10$ (! (- ?v0 10) :named @p_7)) :named @p_9)) :named @p_11)) :named @p_13)) :named @p_1)) -(assume axiom1 (not (! (= (! (dec_10$ (! (* 4 (! (dec_10$ 4) :named @p_38)) :named @p_27)) :named @p_26) 6) :named @p_74))) +(assume a0 (! (forall ((?v0 Int)) (! (= (! (dec_10$ ?v0) :named @p_2) (! (ite (! (< ?v0 10) :named @p_5) ?v0 (! (dec_10$ (! (- ?v0 10) :named @p_7)) :named @p_9)) :named @p_11)) :named @p_13)) :named @p_1)) +(assume a1 (not (! (= (! (dec_10$ (! (* 4 (! (dec_10$ 4) :named @p_38)) :named @p_27)) :named @p_26) 6) :named @p_74))) (anchor :step t3 :args ((:= (?v0 Int) veriT_vr0))) (step t3.t1 (cl (! (= ?v0 veriT_vr0) :named @p_4)) :rule refl) (step t3.t2 (cl (= @p_2 (! (dec_10$ veriT_vr0) :named @p_3))) :rule cong :premises (t3.t1)) (step t3.t3 (cl @p_4) :rule refl) (step t3.t4 (cl (= @p_5 (! (< veriT_vr0 10) :named @p_6))) :rule cong :premises (t3.t3)) (step t3.t5 (cl @p_4) :rule refl) (step t3.t6 (cl @p_4) :rule refl) (step t3.t7 (cl (= @p_7 (! (- veriT_vr0 10) :named @p_8))) :rule cong :premises (t3.t6)) (step t3.t8 (cl (= @p_9 (! (dec_10$ @p_8) :named @p_10))) :rule cong :premises (t3.t7)) (step t3.t9 (cl (= @p_11 (! (ite @p_6 veriT_vr0 @p_10) :named @p_12))) :rule cong :premises (t3.t4 t3.t5 t3.t8)) (step t3.t10 (cl (= @p_13 (! (= @p_3 @p_12) :named @p_14))) :rule cong :premises (t3.t2 t3.t9)) (step t3 (cl (! (= @p_1 (! (forall ((veriT_vr0 Int)) @p_14) :named @p_16)) :named @p_15)) :rule bind) (step t4 (cl (not @p_15) (not @p_1) @p_16) :rule equiv_pos2) -(step t5 (cl @p_16) :rule th_resolution :premises (axiom0 t3 t4)) +(step t5 (cl @p_16) :rule th_resolution :premises (a0 t3 t4)) (anchor :step t6 :args ((:= (veriT_vr0 Int) veriT_vr1))) (step t6.t1 (cl (! (= veriT_vr0 veriT_vr1) :named @p_18)) :rule refl) (step t6.t2 (cl (= @p_3 (! (dec_10$ veriT_vr1) :named @p_17))) :rule cong :premises (t6.t1)) (step t6.t3 (cl @p_18) :rule refl) (step t6.t4 (cl (= @p_6 (! (< veriT_vr1 10) :named @p_19))) :rule cong :premises (t6.t3)) (step t6.t5 (cl @p_18) :rule refl) (step t6.t6 (cl @p_18) :rule refl) (step t6.t7 (cl (= @p_8 (! (- veriT_vr1 10) :named @p_20))) :rule cong :premises (t6.t6)) (step t6.t8 (cl (= @p_10 (! (dec_10$ @p_20) :named @p_21))) :rule cong :premises (t6.t7)) (step t6.t9 (cl (= @p_12 (! (ite @p_19 veriT_vr1 @p_21) :named @p_22))) :rule cong :premises (t6.t4 t6.t5 t6.t8)) (step t6.t10 (cl (= @p_14 (! (= @p_17 @p_22) :named @p_23))) :rule cong :premises (t6.t2 t6.t9)) (step t6 (cl (! (= @p_16 (! (forall ((veriT_vr1 Int)) @p_23) :named @p_25)) :named @p_24)) :rule bind) (step t7 (cl (not @p_24) (not @p_16) @p_25) :rule equiv_pos2) (step t8 (cl @p_25) :rule th_resolution :premises (t5 t6 t7)) (step t9 (cl (or (! (not @p_25) :named @p_35) (! (= @p_26 (! (ite (! (< @p_27 10) :named @p_30) @p_27 (! (dec_10$ (! (- @p_27 10) :named @p_54)) :named @p_31)) :named @p_29)) :named @p_28))) :rule forall_inst :args ((:= veriT_vr1 @p_27))) (anchor :step t10) (assume t10.h1 @p_28) (step t10.t2 (cl (! (= @p_28 (! (and (! (= @p_26 @p_29) :named @p_51) (! (ite @p_30 (= @p_27 @p_29) (! (= @p_31 @p_29) :named @p_53)) :named @p_52)) :named @p_32)) :named @p_33)) :rule ite_intro) (step t10.t3 (cl (not @p_33) (! (not @p_28) :named @p_34) @p_32) :rule equiv_pos2) (step t10.t4 (cl @p_32) :rule th_resolution :premises (t10.h1 t10.t2 t10.t3)) (step t10 (cl @p_34 @p_32) :rule subproof :discharge (h1)) (step t11 (cl @p_35 @p_28) :rule or :premises (t9)) (step t12 (cl (! (or @p_35 @p_32) :named @p_37) (! (not @p_35) :named @p_36)) :rule or_neg) (step t13 (cl (not @p_36) @p_25) :rule not_not) (step t14 (cl @p_37 @p_25) :rule th_resolution :premises (t13 t12)) (step t15 (cl @p_37 (! (not @p_32) :named @p_50)) :rule or_neg) (step t16 (cl @p_37) :rule th_resolution :premises (t11 t10 t14 t15)) (step t17 (cl (or @p_35 (! (= @p_38 (! (ite (! (< 4 10) :named @p_40) 4 (! (dec_10$ (! (- 4 10) :named @p_41)) :named @p_42)) :named @p_43)) :named @p_39))) :rule forall_inst :args ((:= veriT_vr1 4))) (anchor :step t18) (assume t18.h1 @p_39) (step t18.t2 (cl (= @p_40 true)) :rule comp_simplify) (step t18.t3 (cl (= @p_41 (- 6))) :rule minus_simplify) (step t18.t4 (cl (= @p_42 (! (dec_10$ (- 6)) :named @p_44))) :rule cong :premises (t18.t3)) (step t18.t5 (cl (= @p_43 (! (ite true 4 @p_44) :named @p_45))) :rule cong :premises (t18.t2 t18.t4)) (step t18.t6 (cl (= 4 @p_45)) :rule ite_simplify) (step t18.t7 (cl (= 4 @p_43)) :rule trans :premises (t18.t5 t18.t6)) (step t18.t8 (cl (! (= @p_39 (! (= 4 @p_38) :named @p_46)) :named @p_47)) :rule cong :premises (t18.t7)) (step t18.t9 (cl (not @p_47) (! (not @p_39) :named @p_48) @p_46) :rule equiv_pos2) (step t18.t10 (cl @p_46) :rule th_resolution :premises (t18.h1 t18.t8 t18.t9)) (step t18 (cl @p_48 @p_46) :rule subproof :discharge (h1)) (step t19 (cl @p_35 @p_39) :rule or :premises (t17)) (step t20 (cl (! (or @p_35 @p_46) :named @p_49) @p_36) :rule or_neg) (step t21 (cl @p_49 @p_25) :rule th_resolution :premises (t13 t20)) (step t22 (cl @p_49 (! (not @p_46) :named @p_67)) :rule or_neg) (step t23 (cl @p_49) :rule th_resolution :premises (t19 t18 t21 t22)) (step t24 (cl @p_50 @p_51) :rule and_pos) (step t25 (cl (not @p_52) @p_30 @p_53) :rule ite_pos1) (step t26 (cl @p_50 @p_52) :rule and_pos) (step t27 (cl @p_35 @p_32) :rule or :premises (t16)) (step t28 (cl @p_32) :rule resolution :premises (t27 t8)) (step t29 (cl @p_51) :rule resolution :premises (t24 t28)) (step t30 (cl @p_52) :rule resolution :premises (t26 t28)) (step t31 (cl @p_35 @p_46) :rule or :premises (t23)) (step t32 (cl @p_46) :rule resolution :premises (t31 t8)) (step t33 (cl (or @p_35 (! (= @p_31 (! (ite (! (< @p_54 10) :named @p_57) @p_54 (! (dec_10$ (- @p_54 10)) :named @p_58)) :named @p_56)) :named @p_55))) :rule forall_inst :args ((:= veriT_vr1 @p_54))) (anchor :step t34) (assume t34.h1 @p_55) (step t34.t2 (cl (! (= @p_55 (! (and (! (= @p_31 @p_56) :named @p_64) (! (ite @p_57 (! (= @p_54 @p_56) :named @p_66) (= @p_58 @p_56)) :named @p_65)) :named @p_59)) :named @p_60)) :rule ite_intro) (step t34.t3 (cl (not @p_60) (! (not @p_55) :named @p_61) @p_59) :rule equiv_pos2) (step t34.t4 (cl @p_59) :rule th_resolution :premises (t34.h1 t34.t2 t34.t3)) (step t34 (cl @p_61 @p_59) :rule subproof :discharge (h1)) (step t35 (cl @p_35 @p_55) :rule or :premises (t33)) (step t36 (cl (! (or @p_35 @p_59) :named @p_62) @p_36) :rule or_neg) (step t37 (cl @p_62 @p_25) :rule th_resolution :premises (t13 t36)) (step t38 (cl @p_62 (! (not @p_59) :named @p_63)) :rule or_neg) (step t39 (cl @p_62) :rule th_resolution :premises (t35 t34 t37 t38)) (step t40 (cl @p_63 @p_64) :rule and_pos) (step t41 (cl (not @p_65) (not @p_57) @p_66) :rule ite_pos2) (step t42 (cl @p_63 @p_65) :rule and_pos) (step t43 (cl @p_35 @p_59) :rule or :premises (t39)) (step t44 (cl @p_59) :rule resolution :premises (t43 t8)) (step t45 (cl @p_64) :rule resolution :premises (t40 t44)) (step t46 (cl @p_65) :rule resolution :premises (t42 t44)) (step t47 (cl @p_57 @p_67) :rule la_generic :args (1 4)) (step t48 (cl @p_57) :rule resolution :premises (t47 t32)) (step t49 (cl @p_66) :rule resolution :premises (t41 t48 t46)) (step t50 (cl (or (! (= 6 @p_54) :named @p_68) (! (not (! (<= 6 @p_54) :named @p_72)) :named @p_69) (! (not (! (<= @p_54 6) :named @p_71)) :named @p_70))) :rule la_disequality) (step t51 (cl @p_68 @p_69 @p_70) :rule or :premises (t50)) (step t52 (cl @p_71 @p_67) :rule la_generic :args (1 4)) (step t53 (cl @p_71) :rule resolution :premises (t52 t32)) (step t54 (cl @p_72 @p_67) :rule la_generic :args (1 (- 4))) (step t55 (cl @p_72) :rule resolution :premises (t54 t32)) (step t56 (cl @p_68) :rule resolution :premises (t51 t55 t53)) (step t57 (cl (! (not @p_64) :named @p_77) (! (not @p_66) :named @p_78) (! (not @p_68) :named @p_79) (! (= 6 @p_31) :named @p_73)) :rule eq_transitive) (step t58 (cl (not @p_73) (! (not @p_53) :named @p_75) (! (not @p_51) :named @p_76) @p_74) :rule eq_transitive) (step t59 (cl @p_75 @p_76 @p_74 @p_77 @p_78 @p_79) :rule th_resolution :premises (t58 t57)) -(step t60 (cl @p_75) :rule resolution :premises (t59 axiom1 t29 t45 t49 t56)) +(step t60 (cl @p_75) :rule resolution :premises (t59 a1 t29 t45 t49 t56)) (step t61 (cl @p_30) :rule resolution :premises (t25 t60 t30)) (step t62 (cl (not @p_30) @p_67) :rule la_generic :args (1 (- 4))) (step t63 (cl) :rule resolution :premises (t62 t61 t32)) -170ac60e28eef34728b56b5ef83cebdd5889b03f 1434 0 +21ed8993747dbe3d7fd900d61cf02456b0a38afa 48 0 +unsat +(assume a2 (! (forall ((?v0 A$) (?v1 A$) (?v2 A$)) (! (=> (! (and (! (less_eq$ ?v0 ?v1) :named @p_4) (! (less_eq$ ?v1 ?v2) :named @p_7)) :named @p_9) (! (less_eq$ ?v0 ?v2) :named @p_13)) :named @p_15)) :named @p_3)) +(assume a3 (! (less_eq$ (! (sup$ (collect$ uu$)) :named @p_2) (! (sup$ (collect$ uua$)) :named @p_1)) :named @p_31)) +(assume a4 (! (less_eq$ @p_1 @p_2) :named @p_32)) +(assume a5 (not (! (less_eq$ @p_2 @p_2) :named @p_33))) +(anchor :step t5 :args ((:= (?v0 A$) veriT_vr4) (:= (?v1 A$) veriT_vr5) (:= (?v2 A$) veriT_vr6))) +(step t5.t1 (cl (! (= ?v0 veriT_vr4) :named @p_11)) :rule refl) +(step t5.t2 (cl (! (= ?v1 veriT_vr5) :named @p_6)) :rule refl) +(step t5.t3 (cl (= @p_4 (! (less_eq$ veriT_vr4 veriT_vr5) :named @p_5))) :rule cong :premises (t5.t1 t5.t2)) +(step t5.t4 (cl @p_6) :rule refl) +(step t5.t5 (cl (! (= ?v2 veriT_vr6) :named @p_12)) :rule refl) +(step t5.t6 (cl (= @p_7 (! (less_eq$ veriT_vr5 veriT_vr6) :named @p_8))) :rule cong :premises (t5.t4 t5.t5)) +(step t5.t7 (cl (= @p_9 (! (and @p_5 @p_8) :named @p_10))) :rule cong :premises (t5.t3 t5.t6)) +(step t5.t8 (cl @p_11) :rule refl) +(step t5.t9 (cl @p_12) :rule refl) +(step t5.t10 (cl (= @p_13 (! (less_eq$ veriT_vr4 veriT_vr6) :named @p_14))) :rule cong :premises (t5.t8 t5.t9)) +(step t5.t11 (cl (= @p_15 (! (=> @p_10 @p_14) :named @p_16))) :rule cong :premises (t5.t7 t5.t10)) +(step t5 (cl (! (= @p_3 (! (forall ((veriT_vr4 A$) (veriT_vr5 A$) (veriT_vr6 A$)) @p_16) :named @p_18)) :named @p_17)) :rule bind) +(step t6 (cl (not @p_17) (not @p_3) @p_18) :rule equiv_pos2) +(step t7 (cl @p_18) :rule th_resolution :premises (a2 t5 t6)) +(anchor :step t8 :args ((:= (veriT_vr4 A$) veriT_vr7) (:= (veriT_vr5 A$) veriT_vr8) (:= (veriT_vr6 A$) veriT_vr9))) +(step t8.t1 (cl (! (= veriT_vr4 veriT_vr7) :named @p_23)) :rule refl) +(step t8.t2 (cl (! (= veriT_vr5 veriT_vr8) :named @p_20)) :rule refl) +(step t8.t3 (cl (= @p_5 (! (less_eq$ veriT_vr7 veriT_vr8) :named @p_19))) :rule cong :premises (t8.t1 t8.t2)) +(step t8.t4 (cl @p_20) :rule refl) +(step t8.t5 (cl (! (= veriT_vr6 veriT_vr9) :named @p_24)) :rule refl) +(step t8.t6 (cl (= @p_8 (! (less_eq$ veriT_vr8 veriT_vr9) :named @p_21))) :rule cong :premises (t8.t4 t8.t5)) +(step t8.t7 (cl (= @p_10 (! (and @p_19 @p_21) :named @p_22))) :rule cong :premises (t8.t3 t8.t6)) +(step t8.t8 (cl @p_23) :rule refl) +(step t8.t9 (cl @p_24) :rule refl) +(step t8.t10 (cl (= @p_14 (! (less_eq$ veriT_vr7 veriT_vr9) :named @p_25))) :rule cong :premises (t8.t8 t8.t9)) +(step t8.t11 (cl (= @p_16 (! (=> @p_22 @p_25) :named @p_26))) :rule cong :premises (t8.t7 t8.t10)) +(step t8 (cl (! (= @p_18 (! (forall ((veriT_vr7 A$) (veriT_vr8 A$) (veriT_vr9 A$)) @p_26) :named @p_28)) :named @p_27)) :rule bind) +(step t9 (cl (not @p_27) (not @p_18) @p_28) :rule equiv_pos2) +(step t10 (cl @p_28) :rule th_resolution :premises (t7 t8 t9)) +(step t11 (cl (or (! (not @p_28) :named @p_29) (! (forall ((veriT_vr7 A$) (veriT_vr8 A$) (veriT_vr9 A$)) (or (not @p_19) (not @p_21) @p_25)) :named @p_30))) :rule qnt_cnf) +(step t12 (cl @p_29 @p_30) :rule or :premises (t11)) +(step t13 (cl (or (! (not @p_30) :named @p_34) (! (or (! (not @p_31) :named @p_39) (! (not @p_32) :named @p_40) @p_33) :named @p_35))) :rule forall_inst :args ((:= veriT_vr7 @p_2) (:= veriT_vr8 @p_1) (:= veriT_vr9 @p_2))) +(step t14 (cl @p_34 @p_35) :rule or :premises (t13)) +(step t15 (cl (! (or @p_29 @p_35) :named @p_37) (! (not @p_29) :named @p_36)) :rule or_neg) +(step t16 (cl (not @p_36) @p_28) :rule not_not) +(step t17 (cl @p_37 @p_28) :rule th_resolution :premises (t16 t15)) +(step t18 (cl @p_37 (! (not @p_35) :named @p_38)) :rule or_neg) +(step t19 (cl @p_37) :rule th_resolution :premises (t12 t14 t17 t18)) +(step t20 (cl @p_38 @p_39 @p_40 @p_33) :rule or_pos) +(step t21 (cl @p_29 @p_35) :rule or :premises (t19)) +(step t22 (cl @p_38) :rule resolution :premises (t20 a3 a4 a5)) +(step t23 (cl) :rule resolution :premises (t21 t10 t22)) +c14292db1124938af032dfdc907662d28ea67e96 1434 0 unsat (define-fun veriT_sk0 () A$ (! (choice ((veriT_vr57 A$)) (not (! (=> (! (member$ veriT_vr57 (! (set$ (! (remdups$ xs$) :named @p_9)) :named @p_380)) :named @p_429) (! (not (! (member$ veriT_vr57 (! (set$ (! (remdups$ ys$) :named @p_10)) :named @p_381)) :named @p_431)) :named @p_432)) :named @p_433))) :named @p_449)) (define-fun veriT_sk1 () A$ (! (choice ((veriT_vr58 A$)) (not (! (=> (! (member$ veriT_vr58 @p_381) :named @p_434) (! (not (! (member$ veriT_vr58 @p_380) :named @p_436)) :named @p_437)) :named @p_438))) :named @p_455)) (define-fun veriT_sk4 () A$ (! (choice ((veriT_vr97 A$)) (not (! (=> (! (member$ veriT_vr97 (! (set$ xs$) :named @p_715)) :named @p_825) (! (not (! (member$ veriT_vr97 @p_381) :named @p_827)) :named @p_828)) :named @p_824))) :named @p_799)) (define-fun veriT_sk6 () A$ (! (choice ((veriT_vr103 A$)) (not (! (=> (! (member$ veriT_vr103 @p_380) :named @p_879) (! (not (! (member$ veriT_vr103 @p_381) :named @p_881)) :named @p_882)) :named @p_878))) :named @p_857)) (define-fun veriT_sk11 () A$ (! (choice ((veriT_vr117 A$)) (not (! (=> (! (member$ veriT_vr117 (! (coset$ xs$) :named @p_21)) :named @p_924) (! (member$ veriT_vr117 (! (set$ (! (append$ xs$ @p_10) :named @p_761)) :named @p_760)) :named @p_926)) :named @p_923))) :named @p_909)) (define-fun veriT_sk14 () A$ (! (choice ((veriT_vr123 A$)) (not (! (=> (! (member$ veriT_vr123 @p_715) :named @p_969) (! (not (! (member$ veriT_vr123 @p_381) :named @p_971)) :named @p_972)) :named @p_968))) :named @p_943)) -(assume axiom0 (! (forall ((?v0 A_set$) (?v1 A_set$)) (! (= (! (fun_app$ (! (fun_app$a uu$ ?v0) :named @p_23) ?v1) :named @p_25) (! (= ?v0 ?v1) :named @p_13)) :named @p_30)) :named @p_22)) -(assume axiom1 (! (forall ((?v0 A_list$)) (! (= (! (fun_app$ (! (fun_app$a subset$ @p_21) :named @p_43) (! (set$ ?v0) :named @p_2)) :named @p_46) (! (and (! (less$ zero$ (! (fun_app$b card$ top$) :named @p_1)) :named @p_44) (! (= @p_1 (! (fun_app$b card$ (! (set$ (! (append$ xs$ ?v0) :named @p_49)) :named @p_51)) :named @p_53)) :named @p_55)) :named @p_57)) :named @p_59)) :named @p_42)) -(assume axiom2 (! (forall ((?v0 A$) (?v1 A_set$)) (! (=> (! (member$ ?v0 (! (uminus$ ?v1) :named @p_75)) :named @p_77) (! (not (! (member$ ?v0 ?v1) :named @p_81)) :named @p_83)) :named @p_85)) :named @p_74)) -(assume axiom3 (! (forall ((?v0 A_list$)) (! (= (! (fun_app$b card$ @p_2) :named @p_100) (! (size$ (! (remdups$ ?v0) :named @p_14)) :named @p_104)) :named @p_106)) :named @p_98)) -(assume axiom4 (! (forall ((?v0 A_list$)) (! (finite$ @p_2) :named @p_120)) :named @p_118)) -(assume axiom5 (! (forall ((?v0 A$)) (! (member$ ?v0 top$) :named @p_129)) :named @p_128)) -(assume axiom6 (not (! (= top$ bot$) :named @p_717))) -(assume axiom9 (! (forall ((?v0 Nat$) (?v1 Nat$)) (! (= (! (= ?v0 (! (plus$ ?v0 ?v1) :named @p_138)) :named @p_140) (! (= zero$ ?v1) :named @p_143)) :named @p_145)) :named @p_136)) -(assume axiom10 (! (= (! (fun_app$b card$a @p_715) :named @p_1077) (! (size$ @p_9) :named @p_8)) :named @p_1076)) -(assume axiom11 (! (= card$ card$a) :named @p_1079)) -(assume axiom12 (! (forall ((?v0 A_set$) (?v1 A_set$)) (! (=> (! (and (! (finite$ ?v0) :named @p_4) (! (finite$ ?v1) :named @p_159)) :named @p_161) (! (= (! (plus$ (! (fun_app$b card$ ?v0) :named @p_3) (! (fun_app$b card$ ?v1) :named @p_166)) :named @p_168) (! (plus$ (! (fun_app$b card$ (! (sup$ ?v0 ?v1) :named @p_170)) :named @p_172) (! (fun_app$b card$ (! (inf$ ?v0 ?v1) :named @p_6)) :named @p_175)) :named @p_177)) :named @p_179)) :named @p_181)) :named @p_157)) -(assume axiom13 (! (forall ((?v0 A_set$)) (! (= (! (= zero$ @p_3) :named @p_204) (! (or (! (= ?v0 bot$) :named @p_207) (! (not @p_4) :named @p_210)) :named @p_212)) :named @p_214)) :named @p_202)) -(assume axiom14 (! (forall ((?v0 A_set$)) (! (=> (! (and (! (finite$ top$) :named @p_7) (! (= @p_1 @p_3) :named @p_230)) :named @p_232) (! (= ?v0 top$) :named @p_235)) :named @p_237)) :named @p_228)) -(assume axiom15 (! (forall ((?v0 A_list$)) (! (= @p_2 (! (uminus$ (! (coset$ ?v0) :named @p_5)) :named @p_253)) :named @p_255)) :named @p_249)) -(assume axiom16 (! (forall ((?v0 A_list$)) (! (= @p_5 (! (uminus$ @p_2) :named @p_270)) :named @p_272)) :named @p_266)) -(assume axiom17 (! (forall ((?v0 A_set$) (?v1 A_set$)) (! (= (! (= bot$ @p_6) :named @p_285) (! (forall ((?v2 A$)) (! (=> (! (member$ ?v2 ?v0) :named @p_15) (! (not (! (member$ ?v2 ?v1) :named @p_16)) :named @p_294)) :named @p_296)) :named @p_287)) :named @p_298)) :named @p_283)) -(assume axiom18 (! (= uu$ eq_set$) :named @p_1100)) -(assume axiom19 (! (forall ((?v0 A_set$)) (! (=> @p_4 (! (= (! (finite$ (! (uminus$ ?v0) :named @p_361)) :named @p_363) @p_7) :named @p_365)) :named @p_367)) :named @p_358)) -(assume axiom20 (! (= rhs$ (! (ite (! (= zero$ @p_1) :named @p_403) false (! (and (! (= @p_1 (! (plus$ @p_8 (! (size$ @p_10) :named @p_719)) :named @p_1056)) :named @p_400) (! (and (! (forall ((?v0 A$)) (! (=> (! (member$ ?v0 @p_380) :named @p_12) (! (not (! (member$ ?v0 @p_381) :named @p_11)) :named @p_385)) :named @p_387)) :named @p_379) (! (forall ((?v0 A$)) (! (=> @p_11 (! (not @p_12) :named @p_392)) :named @p_394)) :named @p_389)) :named @p_396)) :named @p_399)) :named @p_402)) :named @p_405)) -(assume axiom21 (! (forall ((?v0 A_list$) (?v1 A_list$)) (! (= (! (set$ (! (append$ ?v0 ?v1) :named @p_498)) :named @p_500) (! (sup$ @p_2 (! (set$ ?v1) :named @p_20)) :named @p_506)) :named @p_508)) :named @p_497)) -(assume axiom22 (! (forall ((?v0 A_set$) (?v1 A_set$)) (! (= @p_13 (! (and (! (fun_app$ (! (fun_app$a less_eq$ ?v0) :named @p_19) ?v1) :named @p_17) (! (fun_app$ (! (fun_app$a less_eq$ ?v1) :named @p_528) ?v0) :named @p_530)) :named @p_18)) :named @p_533)) :named @p_522)) -(assume axiom23 (! (forall ((?v0 A_list$)) (! (= @p_2 (! (set$ @p_14) :named @p_552)) :named @p_554)) :named @p_548)) -(assume axiom24 (! (= subset$ less_eq$) :named @p_1090)) -(assume axiom25 (! (forall ((?v0 A_set$) (?v1 A_set$)) (! (=> (! (forall ((?v2 A$)) (! (=> @p_15 @p_16) :named @p_571)) :named @p_566) @p_17) :named @p_577)) :named @p_565)) -(assume axiom26 (! (forall ((?v0 A_set$) (?v1 A_set$)) (! (=> @p_18 @p_13) :named @p_602)) :named @p_593)) -(assume axiom27 (! (forall ((?v0 A_set$) (?v1 A_list$)) (! (= (! (fun_app$ @p_19 (! (coset$ ?v1) :named @p_619)) :named @p_621) (! (forall ((?v2 A$)) (! (=> (! (member$ ?v2 @p_20) :named @p_627) (! (not @p_15) :named @p_632)) :named @p_634)) :named @p_623)) :named @p_636)) :named @p_617)) -(assume axiom28 (not (= (! (fun_app$ (! (fun_app$a eq_set$ @p_21) :named @p_1097) (! (set$ ys$) :named @p_713)) :named @p_711) rhs$))) +(assume a0 (! (forall ((?v0 A_set$) (?v1 A_set$)) (! (= (! (fun_app$ (! (fun_app$a uu$ ?v0) :named @p_23) ?v1) :named @p_25) (! (= ?v0 ?v1) :named @p_13)) :named @p_30)) :named @p_22)) +(assume a1 (! (forall ((?v0 A_list$)) (! (= (! (fun_app$ (! (fun_app$a subset$ @p_21) :named @p_43) (! (set$ ?v0) :named @p_2)) :named @p_46) (! (and (! (less$ zero$ (! (fun_app$b card$ top$) :named @p_1)) :named @p_44) (! (= @p_1 (! (fun_app$b card$ (! (set$ (! (append$ xs$ ?v0) :named @p_49)) :named @p_51)) :named @p_53)) :named @p_55)) :named @p_57)) :named @p_59)) :named @p_42)) +(assume a2 (! (forall ((?v0 A$) (?v1 A_set$)) (! (=> (! (member$ ?v0 (! (uminus$ ?v1) :named @p_75)) :named @p_77) (! (not (! (member$ ?v0 ?v1) :named @p_81)) :named @p_83)) :named @p_85)) :named @p_74)) +(assume a3 (! (forall ((?v0 A_list$)) (! (= (! (fun_app$b card$ @p_2) :named @p_100) (! (size$ (! (remdups$ ?v0) :named @p_14)) :named @p_104)) :named @p_106)) :named @p_98)) +(assume a4 (! (forall ((?v0 A_list$)) (! (finite$ @p_2) :named @p_120)) :named @p_118)) +(assume a5 (! (forall ((?v0 A$)) (! (member$ ?v0 top$) :named @p_129)) :named @p_128)) +(assume a6 (not (! (= top$ bot$) :named @p_717))) +(assume a9 (! (forall ((?v0 Nat$) (?v1 Nat$)) (! (= (! (= ?v0 (! (plus$ ?v0 ?v1) :named @p_138)) :named @p_140) (! (= zero$ ?v1) :named @p_143)) :named @p_145)) :named @p_136)) +(assume a10 (! (= (! (fun_app$b card$a @p_715) :named @p_1077) (! (size$ @p_9) :named @p_8)) :named @p_1076)) +(assume a11 (! (= card$ card$a) :named @p_1079)) +(assume a12 (! (forall ((?v0 A_set$) (?v1 A_set$)) (! (=> (! (and (! (finite$ ?v0) :named @p_4) (! (finite$ ?v1) :named @p_159)) :named @p_161) (! (= (! (plus$ (! (fun_app$b card$ ?v0) :named @p_3) (! (fun_app$b card$ ?v1) :named @p_166)) :named @p_168) (! (plus$ (! (fun_app$b card$ (! (sup$ ?v0 ?v1) :named @p_170)) :named @p_172) (! (fun_app$b card$ (! (inf$ ?v0 ?v1) :named @p_6)) :named @p_175)) :named @p_177)) :named @p_179)) :named @p_181)) :named @p_157)) +(assume a13 (! (forall ((?v0 A_set$)) (! (= (! (= zero$ @p_3) :named @p_204) (! (or (! (= ?v0 bot$) :named @p_207) (! (not @p_4) :named @p_210)) :named @p_212)) :named @p_214)) :named @p_202)) +(assume a14 (! (forall ((?v0 A_set$)) (! (=> (! (and (! (finite$ top$) :named @p_7) (! (= @p_1 @p_3) :named @p_230)) :named @p_232) (! (= ?v0 top$) :named @p_235)) :named @p_237)) :named @p_228)) +(assume a15 (! (forall ((?v0 A_list$)) (! (= @p_2 (! (uminus$ (! (coset$ ?v0) :named @p_5)) :named @p_253)) :named @p_255)) :named @p_249)) +(assume a16 (! (forall ((?v0 A_list$)) (! (= @p_5 (! (uminus$ @p_2) :named @p_270)) :named @p_272)) :named @p_266)) +(assume a17 (! (forall ((?v0 A_set$) (?v1 A_set$)) (! (= (! (= bot$ @p_6) :named @p_285) (! (forall ((?v2 A$)) (! (=> (! (member$ ?v2 ?v0) :named @p_15) (! (not (! (member$ ?v2 ?v1) :named @p_16)) :named @p_294)) :named @p_296)) :named @p_287)) :named @p_298)) :named @p_283)) +(assume a18 (! (= uu$ eq_set$) :named @p_1100)) +(assume a19 (! (forall ((?v0 A_set$)) (! (=> @p_4 (! (= (! (finite$ (! (uminus$ ?v0) :named @p_361)) :named @p_363) @p_7) :named @p_365)) :named @p_367)) :named @p_358)) +(assume a20 (! (= rhs$ (! (ite (! (= zero$ @p_1) :named @p_403) false (! (and (! (= @p_1 (! (plus$ @p_8 (! (size$ @p_10) :named @p_719)) :named @p_1056)) :named @p_400) (! (and (! (forall ((?v0 A$)) (! (=> (! (member$ ?v0 @p_380) :named @p_12) (! (not (! (member$ ?v0 @p_381) :named @p_11)) :named @p_385)) :named @p_387)) :named @p_379) (! (forall ((?v0 A$)) (! (=> @p_11 (! (not @p_12) :named @p_392)) :named @p_394)) :named @p_389)) :named @p_396)) :named @p_399)) :named @p_402)) :named @p_405)) +(assume a21 (! (forall ((?v0 A_list$) (?v1 A_list$)) (! (= (! (set$ (! (append$ ?v0 ?v1) :named @p_498)) :named @p_500) (! (sup$ @p_2 (! (set$ ?v1) :named @p_20)) :named @p_506)) :named @p_508)) :named @p_497)) +(assume a22 (! (forall ((?v0 A_set$) (?v1 A_set$)) (! (= @p_13 (! (and (! (fun_app$ (! (fun_app$a less_eq$ ?v0) :named @p_19) ?v1) :named @p_17) (! (fun_app$ (! (fun_app$a less_eq$ ?v1) :named @p_528) ?v0) :named @p_530)) :named @p_18)) :named @p_533)) :named @p_522)) +(assume a23 (! (forall ((?v0 A_list$)) (! (= @p_2 (! (set$ @p_14) :named @p_552)) :named @p_554)) :named @p_548)) +(assume a24 (! (= subset$ less_eq$) :named @p_1090)) +(assume a25 (! (forall ((?v0 A_set$) (?v1 A_set$)) (! (=> (! (forall ((?v2 A$)) (! (=> @p_15 @p_16) :named @p_571)) :named @p_566) @p_17) :named @p_577)) :named @p_565)) +(assume a26 (! (forall ((?v0 A_set$) (?v1 A_set$)) (! (=> @p_18 @p_13) :named @p_602)) :named @p_593)) +(assume a27 (! (forall ((?v0 A_set$) (?v1 A_list$)) (! (= (! (fun_app$ @p_19 (! (coset$ ?v1) :named @p_619)) :named @p_621) (! (forall ((?v2 A$)) (! (=> (! (member$ ?v2 @p_20) :named @p_627) (! (not @p_15) :named @p_632)) :named @p_634)) :named @p_623)) :named @p_636)) :named @p_617)) +(assume a28 (not (= (! (fun_app$ (! (fun_app$a eq_set$ @p_21) :named @p_1097) (! (set$ ys$) :named @p_713)) :named @p_711) rhs$))) (anchor :step t28 :args ((:= (?v0 A_set$) veriT_vr0) (:= (?v1 A_set$) veriT_vr1))) (step t28.t1 (cl (! (= ?v0 veriT_vr0) :named @p_27)) :rule refl) (step t28.t2 (cl (= @p_23 (! (fun_app$a uu$ veriT_vr0) :named @p_24))) :rule cong :premises (t28.t1)) (step t28.t3 (cl (! (= ?v1 veriT_vr1) :named @p_28)) :rule refl) (step t28.t4 (cl (= @p_25 (! (fun_app$ @p_24 veriT_vr1) :named @p_26))) :rule cong :premises (t28.t2 t28.t3)) (step t28.t5 (cl @p_27) :rule refl) (step t28.t6 (cl @p_28) :rule refl) (step t28.t7 (cl (= @p_13 (! (= veriT_vr0 veriT_vr1) :named @p_29))) :rule cong :premises (t28.t5 t28.t6)) (step t28.t8 (cl (= @p_30 (! (= @p_26 @p_29) :named @p_31))) :rule cong :premises (t28.t4 t28.t7)) (step t28 (cl (! (= @p_22 (! (forall ((veriT_vr0 A_set$) (veriT_vr1 A_set$)) @p_31) :named @p_33)) :named @p_32)) :rule bind) (step t29 (cl (not @p_32) (not @p_22) @p_33) :rule equiv_pos2) -(step t30 (cl @p_33) :rule th_resolution :premises (axiom0 t28 t29)) +(step t30 (cl @p_33) :rule th_resolution :premises (a0 t28 t29)) (anchor :step t31 :args ((:= (veriT_vr0 A_set$) veriT_vr2) (:= (veriT_vr1 A_set$) veriT_vr3))) (step t31.t1 (cl (! (= veriT_vr0 veriT_vr2) :named @p_36)) :rule refl) (step t31.t2 (cl (= @p_24 (! (fun_app$a uu$ veriT_vr2) :named @p_34))) :rule cong :premises (t31.t1)) (step t31.t3 (cl (! (= veriT_vr1 veriT_vr3) :named @p_37)) :rule refl) (step t31.t4 (cl (= @p_26 (! (fun_app$ @p_34 veriT_vr3) :named @p_35))) :rule cong :premises (t31.t2 t31.t3)) (step t31.t5 (cl @p_36) :rule refl) (step t31.t6 (cl @p_37) :rule refl) (step t31.t7 (cl (= @p_29 (! (= veriT_vr2 veriT_vr3) :named @p_38))) :rule cong :premises (t31.t5 t31.t6)) (step t31.t8 (cl (= @p_31 (! (= @p_35 @p_38) :named @p_39))) :rule cong :premises (t31.t4 t31.t7)) (step t31 (cl (! (= @p_33 (! (forall ((veriT_vr2 A_set$) (veriT_vr3 A_set$)) @p_39) :named @p_41)) :named @p_40)) :rule bind) (step t32 (cl (not @p_40) (not @p_33) @p_41) :rule equiv_pos2) (step t33 (cl @p_41) :rule th_resolution :premises (t30 t31 t32)) (anchor :step t34 :args ((:= (?v0 A_list$) veriT_vr4))) (step t34.t1 (cl (! (= ?v0 veriT_vr4) :named @p_48)) :rule refl) (step t34.t2 (cl (= @p_2 (! (set$ veriT_vr4) :named @p_45))) :rule cong :premises (t34.t1)) (step t34.t3 (cl (= @p_46 (! (fun_app$ @p_43 @p_45) :named @p_47))) :rule cong :premises (t34.t2)) (step t34.t4 (cl @p_48) :rule refl) (step t34.t5 (cl (= @p_49 (! (append$ xs$ veriT_vr4) :named @p_50))) :rule cong :premises (t34.t4)) (step t34.t6 (cl (= @p_51 (! (set$ @p_50) :named @p_52))) :rule cong :premises (t34.t5)) (step t34.t7 (cl (= @p_53 (! (fun_app$b card$ @p_52) :named @p_54))) :rule cong :premises (t34.t6)) (step t34.t8 (cl (= @p_55 (! (= @p_1 @p_54) :named @p_56))) :rule cong :premises (t34.t7)) (step t34.t9 (cl (= @p_57 (! (and @p_44 @p_56) :named @p_58))) :rule cong :premises (t34.t8)) (step t34.t10 (cl (= @p_59 (! (= @p_47 @p_58) :named @p_60))) :rule cong :premises (t34.t3 t34.t9)) (step t34 (cl (! (= @p_42 (! (forall ((veriT_vr4 A_list$)) @p_60) :named @p_62)) :named @p_61)) :rule bind) (step t35 (cl (not @p_61) (not @p_42) @p_62) :rule equiv_pos2) -(step t36 (cl @p_62) :rule th_resolution :premises (axiom1 t34 t35)) +(step t36 (cl @p_62) :rule th_resolution :premises (a1 t34 t35)) (anchor :step t37 :args ((:= (veriT_vr4 A_list$) veriT_vr5))) (step t37.t1 (cl (! (= veriT_vr4 veriT_vr5) :named @p_65)) :rule refl) (step t37.t2 (cl (= @p_45 (! (set$ veriT_vr5) :named @p_63))) :rule cong :premises (t37.t1)) (step t37.t3 (cl (= @p_47 (! (fun_app$ @p_43 @p_63) :named @p_64))) :rule cong :premises (t37.t2)) (step t37.t4 (cl @p_65) :rule refl) (step t37.t5 (cl (= @p_50 (! (append$ xs$ veriT_vr5) :named @p_66))) :rule cong :premises (t37.t4)) (step t37.t6 (cl (= @p_52 (! (set$ @p_66) :named @p_67))) :rule cong :premises (t37.t5)) (step t37.t7 (cl (= @p_54 (! (fun_app$b card$ @p_67) :named @p_68))) :rule cong :premises (t37.t6)) (step t37.t8 (cl (= @p_56 (! (= @p_1 @p_68) :named @p_69))) :rule cong :premises (t37.t7)) (step t37.t9 (cl (= @p_58 (! (and @p_44 @p_69) :named @p_70))) :rule cong :premises (t37.t8)) (step t37.t10 (cl (= @p_60 (! (= @p_64 @p_70) :named @p_71))) :rule cong :premises (t37.t3 t37.t9)) (step t37 (cl (! (= @p_62 (! (forall ((veriT_vr5 A_list$)) @p_71) :named @p_73)) :named @p_72)) :rule bind) (step t38 (cl (not @p_72) (not @p_62) @p_73) :rule equiv_pos2) (step t39 (cl @p_73) :rule th_resolution :premises (t36 t37 t38)) (anchor :step t40 :args ((:= (?v0 A$) veriT_vr6) (:= (?v1 A_set$) veriT_vr7))) (step t40.t1 (cl (! (= ?v0 veriT_vr6) :named @p_79)) :rule refl) (step t40.t2 (cl (! (= ?v1 veriT_vr7) :named @p_80)) :rule refl) (step t40.t3 (cl (= @p_75 (! (uminus$ veriT_vr7) :named @p_76))) :rule cong :premises (t40.t2)) (step t40.t4 (cl (= @p_77 (! (member$ veriT_vr6 @p_76) :named @p_78))) :rule cong :premises (t40.t1 t40.t3)) (step t40.t5 (cl @p_79) :rule refl) (step t40.t6 (cl @p_80) :rule refl) (step t40.t7 (cl (= @p_81 (! (member$ veriT_vr6 veriT_vr7) :named @p_82))) :rule cong :premises (t40.t5 t40.t6)) (step t40.t8 (cl (= @p_83 (! (not @p_82) :named @p_84))) :rule cong :premises (t40.t7)) (step t40.t9 (cl (= @p_85 (! (=> @p_78 @p_84) :named @p_86))) :rule cong :premises (t40.t4 t40.t8)) (step t40 (cl (! (= @p_74 (! (forall ((veriT_vr6 A$) (veriT_vr7 A_set$)) @p_86) :named @p_88)) :named @p_87)) :rule bind) (step t41 (cl (not @p_87) (not @p_74) @p_88) :rule equiv_pos2) -(step t42 (cl @p_88) :rule th_resolution :premises (axiom2 t40 t41)) +(step t42 (cl @p_88) :rule th_resolution :premises (a2 t40 t41)) (anchor :step t43 :args ((:= (veriT_vr6 A$) veriT_vr8) (:= (veriT_vr7 A_set$) veriT_vr9))) (step t43.t1 (cl (! (= veriT_vr6 veriT_vr8) :named @p_91)) :rule refl) (step t43.t2 (cl (! (= veriT_vr7 veriT_vr9) :named @p_92)) :rule refl) (step t43.t3 (cl (= @p_76 (! (uminus$ veriT_vr9) :named @p_89))) :rule cong :premises (t43.t2)) (step t43.t4 (cl (= @p_78 (! (member$ veriT_vr8 @p_89) :named @p_90))) :rule cong :premises (t43.t1 t43.t3)) (step t43.t5 (cl @p_91) :rule refl) (step t43.t6 (cl @p_92) :rule refl) (step t43.t7 (cl (= @p_82 (! (member$ veriT_vr8 veriT_vr9) :named @p_93))) :rule cong :premises (t43.t5 t43.t6)) (step t43.t8 (cl (= @p_84 (! (not @p_93) :named @p_94))) :rule cong :premises (t43.t7)) (step t43.t9 (cl (= @p_86 (! (=> @p_90 @p_94) :named @p_95))) :rule cong :premises (t43.t4 t43.t8)) (step t43 (cl (! (= @p_88 (! (forall ((veriT_vr8 A$) (veriT_vr9 A_set$)) @p_95) :named @p_97)) :named @p_96)) :rule bind) (step t44 (cl (not @p_96) (not @p_88) @p_97) :rule equiv_pos2) (step t45 (cl @p_97) :rule th_resolution :premises (t42 t43 t44)) (anchor :step t46 :args ((:= (?v0 A_list$) veriT_vr10))) (step t46.t1 (cl (! (= ?v0 veriT_vr10) :named @p_102)) :rule refl) (step t46.t2 (cl (= @p_2 (! (set$ veriT_vr10) :named @p_99))) :rule cong :premises (t46.t1)) (step t46.t3 (cl (= @p_100 (! (fun_app$b card$ @p_99) :named @p_101))) :rule cong :premises (t46.t2)) (step t46.t4 (cl @p_102) :rule refl) (step t46.t5 (cl (= @p_14 (! (remdups$ veriT_vr10) :named @p_103))) :rule cong :premises (t46.t4)) (step t46.t6 (cl (= @p_104 (! (size$ @p_103) :named @p_105))) :rule cong :premises (t46.t5)) (step t46.t7 (cl (= @p_106 (! (= @p_101 @p_105) :named @p_107))) :rule cong :premises (t46.t3 t46.t6)) (step t46 (cl (! (= @p_98 (! (forall ((veriT_vr10 A_list$)) @p_107) :named @p_109)) :named @p_108)) :rule bind) (step t47 (cl (not @p_108) (not @p_98) @p_109) :rule equiv_pos2) -(step t48 (cl @p_109) :rule th_resolution :premises (axiom3 t46 t47)) +(step t48 (cl @p_109) :rule th_resolution :premises (a3 t46 t47)) (anchor :step t49 :args ((:= (veriT_vr10 A_list$) veriT_vr11))) (step t49.t1 (cl (! (= veriT_vr10 veriT_vr11) :named @p_112)) :rule refl) (step t49.t2 (cl (= @p_99 (! (set$ veriT_vr11) :named @p_110))) :rule cong :premises (t49.t1)) (step t49.t3 (cl (= @p_101 (! (fun_app$b card$ @p_110) :named @p_111))) :rule cong :premises (t49.t2)) (step t49.t4 (cl @p_112) :rule refl) (step t49.t5 (cl (= @p_103 (! (remdups$ veriT_vr11) :named @p_113))) :rule cong :premises (t49.t4)) (step t49.t6 (cl (= @p_105 (! (size$ @p_113) :named @p_114))) :rule cong :premises (t49.t5)) (step t49.t7 (cl (= @p_107 (! (= @p_111 @p_114) :named @p_115))) :rule cong :premises (t49.t3 t49.t6)) (step t49 (cl (! (= @p_109 (! (forall ((veriT_vr11 A_list$)) @p_115) :named @p_117)) :named @p_116)) :rule bind) (step t50 (cl (not @p_116) (not @p_109) @p_117) :rule equiv_pos2) (step t51 (cl @p_117) :rule th_resolution :premises (t48 t49 t50)) (anchor :step t52 :args ((:= (?v0 A_list$) veriT_vr12))) (step t52.t1 (cl (= ?v0 veriT_vr12)) :rule refl) (step t52.t2 (cl (= @p_2 (! (set$ veriT_vr12) :named @p_119))) :rule cong :premises (t52.t1)) (step t52.t3 (cl (= @p_120 (! (finite$ @p_119) :named @p_121))) :rule cong :premises (t52.t2)) (step t52 (cl (! (= @p_118 (! (forall ((veriT_vr12 A_list$)) @p_121) :named @p_123)) :named @p_122)) :rule bind) (step t53 (cl (not @p_122) (not @p_118) @p_123) :rule equiv_pos2) -(step t54 (cl @p_123) :rule th_resolution :premises (axiom4 t52 t53)) +(step t54 (cl @p_123) :rule th_resolution :premises (a4 t52 t53)) (anchor :step t55 :args ((:= (veriT_vr12 A_list$) veriT_vr13))) (step t55.t1 (cl (= veriT_vr12 veriT_vr13)) :rule refl) (step t55.t2 (cl (= @p_119 (! (set$ veriT_vr13) :named @p_124))) :rule cong :premises (t55.t1)) (step t55.t3 (cl (= @p_121 (! (finite$ @p_124) :named @p_125))) :rule cong :premises (t55.t2)) (step t55 (cl (! (= @p_123 (! (forall ((veriT_vr13 A_list$)) @p_125) :named @p_127)) :named @p_126)) :rule bind) (step t56 (cl (not @p_126) (not @p_123) @p_127) :rule equiv_pos2) (step t57 (cl @p_127) :rule th_resolution :premises (t54 t55 t56)) (anchor :step t58 :args ((:= (?v0 A$) veriT_vr14))) (step t58.t1 (cl (= ?v0 veriT_vr14)) :rule refl) (step t58.t2 (cl (= @p_129 (! (member$ veriT_vr14 top$) :named @p_130))) :rule cong :premises (t58.t1)) (step t58 (cl (! (= @p_128 (! (forall ((veriT_vr14 A$)) @p_130) :named @p_132)) :named @p_131)) :rule bind) (step t59 (cl (not @p_131) (not @p_128) @p_132) :rule equiv_pos2) -(step t60 (cl @p_132) :rule th_resolution :premises (axiom5 t58 t59)) +(step t60 (cl @p_132) :rule th_resolution :premises (a5 t58 t59)) (anchor :step t61 :args ((:= (veriT_vr14 A$) veriT_vr15))) (step t61.t1 (cl (= veriT_vr14 veriT_vr15)) :rule refl) (step t61.t2 (cl (= @p_130 (! (member$ veriT_vr15 top$) :named @p_133))) :rule cong :premises (t61.t1)) (step t61 (cl (! (= @p_132 (! (forall ((veriT_vr15 A$)) @p_133) :named @p_135)) :named @p_134)) :rule bind) (step t62 (cl (not @p_134) (not @p_132) @p_135) :rule equiv_pos2) (step t63 (cl @p_135) :rule th_resolution :premises (t60 t61 t62)) (anchor :step t64 :args ((:= (?v0 Nat$) veriT_vr26) (:= (?v1 Nat$) veriT_vr27))) (step t64.t1 (cl (! (= ?v0 veriT_vr26) :named @p_137)) :rule refl) (step t64.t2 (cl @p_137) :rule refl) (step t64.t3 (cl (! (= ?v1 veriT_vr27) :named @p_142)) :rule refl) (step t64.t4 (cl (= @p_138 (! (plus$ veriT_vr26 veriT_vr27) :named @p_139))) :rule cong :premises (t64.t2 t64.t3)) (step t64.t5 (cl (= @p_140 (! (= veriT_vr26 @p_139) :named @p_141))) :rule cong :premises (t64.t1 t64.t4)) (step t64.t6 (cl @p_142) :rule refl) (step t64.t7 (cl (= @p_143 (! (= zero$ veriT_vr27) :named @p_144))) :rule cong :premises (t64.t6)) (step t64.t8 (cl (= @p_145 (! (= @p_141 @p_144) :named @p_146))) :rule cong :premises (t64.t5 t64.t7)) (step t64 (cl (! (= @p_136 (! (forall ((veriT_vr26 Nat$) (veriT_vr27 Nat$)) @p_146) :named @p_148)) :named @p_147)) :rule bind) (step t65 (cl (not @p_147) (not @p_136) @p_148) :rule equiv_pos2) -(step t66 (cl @p_148) :rule th_resolution :premises (axiom9 t64 t65)) +(step t66 (cl @p_148) :rule th_resolution :premises (a9 t64 t65)) (anchor :step t67 :args ((:= (veriT_vr26 Nat$) veriT_vr28) (:= (veriT_vr27 Nat$) veriT_vr29))) (step t67.t1 (cl (! (= veriT_vr26 veriT_vr28) :named @p_149)) :rule refl) (step t67.t2 (cl @p_149) :rule refl) (step t67.t3 (cl (! (= veriT_vr27 veriT_vr29) :named @p_152)) :rule refl) (step t67.t4 (cl (= @p_139 (! (plus$ veriT_vr28 veriT_vr29) :named @p_150))) :rule cong :premises (t67.t2 t67.t3)) (step t67.t5 (cl (= @p_141 (! (= veriT_vr28 @p_150) :named @p_151))) :rule cong :premises (t67.t1 t67.t4)) (step t67.t6 (cl @p_152) :rule refl) (step t67.t7 (cl (= @p_144 (! (= zero$ veriT_vr29) :named @p_153))) :rule cong :premises (t67.t6)) (step t67.t8 (cl (= @p_146 (! (= @p_151 @p_153) :named @p_154))) :rule cong :premises (t67.t5 t67.t7)) (step t67 (cl (! (= @p_148 (! (forall ((veriT_vr28 Nat$) (veriT_vr29 Nat$)) @p_154) :named @p_156)) :named @p_155)) :rule bind) (step t68 (cl (not @p_155) (not @p_148) @p_156) :rule equiv_pos2) (step t69 (cl @p_156) :rule th_resolution :premises (t66 t67 t68)) (anchor :step t70 :args ((:= (?v0 A_set$) veriT_vr30) (:= (?v1 A_set$) veriT_vr31))) (step t70.t1 (cl (! (= ?v0 veriT_vr30) :named @p_163)) :rule refl) (step t70.t2 (cl (= @p_4 (! (finite$ veriT_vr30) :named @p_158))) :rule cong :premises (t70.t1)) (step t70.t3 (cl (! (= ?v1 veriT_vr31) :named @p_165)) :rule refl) (step t70.t4 (cl (= @p_159 (! (finite$ veriT_vr31) :named @p_160))) :rule cong :premises (t70.t3)) (step t70.t5 (cl (= @p_161 (! (and @p_158 @p_160) :named @p_162))) :rule cong :premises (t70.t2 t70.t4)) (step t70.t6 (cl @p_163) :rule refl) (step t70.t7 (cl (= @p_3 (! (fun_app$b card$ veriT_vr30) :named @p_164))) :rule cong :premises (t70.t6)) (step t70.t8 (cl @p_165) :rule refl) (step t70.t9 (cl (= @p_166 (! (fun_app$b card$ veriT_vr31) :named @p_167))) :rule cong :premises (t70.t8)) (step t70.t10 (cl (= @p_168 (! (plus$ @p_164 @p_167) :named @p_169))) :rule cong :premises (t70.t7 t70.t9)) (step t70.t11 (cl @p_163) :rule refl) (step t70.t12 (cl @p_165) :rule refl) (step t70.t13 (cl (= @p_170 (! (sup$ veriT_vr30 veriT_vr31) :named @p_171))) :rule cong :premises (t70.t11 t70.t12)) (step t70.t14 (cl (= @p_172 (! (fun_app$b card$ @p_171) :named @p_173))) :rule cong :premises (t70.t13)) (step t70.t15 (cl @p_163) :rule refl) (step t70.t16 (cl @p_165) :rule refl) (step t70.t17 (cl (= @p_6 (! (inf$ veriT_vr30 veriT_vr31) :named @p_174))) :rule cong :premises (t70.t15 t70.t16)) (step t70.t18 (cl (= @p_175 (! (fun_app$b card$ @p_174) :named @p_176))) :rule cong :premises (t70.t17)) (step t70.t19 (cl (= @p_177 (! (plus$ @p_173 @p_176) :named @p_178))) :rule cong :premises (t70.t14 t70.t18)) (step t70.t20 (cl (= @p_179 (! (= @p_169 @p_178) :named @p_180))) :rule cong :premises (t70.t10 t70.t19)) (step t70.t21 (cl (= @p_181 (! (=> @p_162 @p_180) :named @p_182))) :rule cong :premises (t70.t5 t70.t20)) (step t70 (cl (! (= @p_157 (! (forall ((veriT_vr30 A_set$) (veriT_vr31 A_set$)) @p_182) :named @p_184)) :named @p_183)) :rule bind) (step t71 (cl (not @p_183) (not @p_157) @p_184) :rule equiv_pos2) -(step t72 (cl @p_184) :rule th_resolution :premises (axiom12 t70 t71)) +(step t72 (cl @p_184) :rule th_resolution :premises (a12 t70 t71)) (anchor :step t73 :args ((:= (veriT_vr30 A_set$) veriT_vr32) (:= (veriT_vr31 A_set$) veriT_vr33))) (step t73.t1 (cl (! (= veriT_vr30 veriT_vr32) :named @p_188)) :rule refl) (step t73.t2 (cl (= @p_158 (! (finite$ veriT_vr32) :named @p_185))) :rule cong :premises (t73.t1)) (step t73.t3 (cl (! (= veriT_vr31 veriT_vr33) :named @p_190)) :rule refl) (step t73.t4 (cl (= @p_160 (! (finite$ veriT_vr33) :named @p_186))) :rule cong :premises (t73.t3)) (step t73.t5 (cl (= @p_162 (! (and @p_185 @p_186) :named @p_187))) :rule cong :premises (t73.t2 t73.t4)) (step t73.t6 (cl @p_188) :rule refl) (step t73.t7 (cl (= @p_164 (! (fun_app$b card$ veriT_vr32) :named @p_189))) :rule cong :premises (t73.t6)) (step t73.t8 (cl @p_190) :rule refl) (step t73.t9 (cl (= @p_167 (! (fun_app$b card$ veriT_vr33) :named @p_191))) :rule cong :premises (t73.t8)) (step t73.t10 (cl (= @p_169 (! (plus$ @p_189 @p_191) :named @p_192))) :rule cong :premises (t73.t7 t73.t9)) (step t73.t11 (cl @p_188) :rule refl) (step t73.t12 (cl @p_190) :rule refl) (step t73.t13 (cl (= @p_171 (! (sup$ veriT_vr32 veriT_vr33) :named @p_193))) :rule cong :premises (t73.t11 t73.t12)) (step t73.t14 (cl (= @p_173 (! (fun_app$b card$ @p_193) :named @p_194))) :rule cong :premises (t73.t13)) (step t73.t15 (cl @p_188) :rule refl) (step t73.t16 (cl @p_190) :rule refl) (step t73.t17 (cl (= @p_174 (! (inf$ veriT_vr32 veriT_vr33) :named @p_195))) :rule cong :premises (t73.t15 t73.t16)) (step t73.t18 (cl (= @p_176 (! (fun_app$b card$ @p_195) :named @p_196))) :rule cong :premises (t73.t17)) (step t73.t19 (cl (= @p_178 (! (plus$ @p_194 @p_196) :named @p_197))) :rule cong :premises (t73.t14 t73.t18)) (step t73.t20 (cl (= @p_180 (! (= @p_192 @p_197) :named @p_198))) :rule cong :premises (t73.t10 t73.t19)) (step t73.t21 (cl (= @p_182 (! (=> @p_187 @p_198) :named @p_199))) :rule cong :premises (t73.t5 t73.t20)) (step t73 (cl (! (= @p_184 (! (forall ((veriT_vr32 A_set$) (veriT_vr33 A_set$)) @p_199) :named @p_201)) :named @p_200)) :rule bind) (step t74 (cl (not @p_200) (not @p_184) @p_201) :rule equiv_pos2) (step t75 (cl @p_201) :rule th_resolution :premises (t72 t73 t74)) (anchor :step t76 :args ((:= (?v0 A_set$) veriT_vr34))) (step t76.t1 (cl (! (= ?v0 veriT_vr34) :named @p_206)) :rule refl) (step t76.t2 (cl (= @p_3 (! (fun_app$b card$ veriT_vr34) :named @p_203))) :rule cong :premises (t76.t1)) (step t76.t3 (cl (= @p_204 (! (= zero$ @p_203) :named @p_205))) :rule cong :premises (t76.t2)) (step t76.t4 (cl @p_206) :rule refl) (step t76.t5 (cl (= @p_207 (! (= bot$ veriT_vr34) :named @p_208))) :rule cong :premises (t76.t4)) (step t76.t6 (cl @p_206) :rule refl) (step t76.t7 (cl (= @p_4 (! (finite$ veriT_vr34) :named @p_209))) :rule cong :premises (t76.t6)) (step t76.t8 (cl (= @p_210 (! (not @p_209) :named @p_211))) :rule cong :premises (t76.t7)) (step t76.t9 (cl (= @p_212 (! (or @p_208 @p_211) :named @p_213))) :rule cong :premises (t76.t5 t76.t8)) (step t76.t10 (cl (= @p_214 (! (= @p_205 @p_213) :named @p_215))) :rule cong :premises (t76.t3 t76.t9)) (step t76 (cl (! (= @p_202 (! (forall ((veriT_vr34 A_set$)) @p_215) :named @p_217)) :named @p_216)) :rule bind) (step t77 (cl (not @p_216) (not @p_202) @p_217) :rule equiv_pos2) -(step t78 (cl @p_217) :rule th_resolution :premises (axiom13 t76 t77)) +(step t78 (cl @p_217) :rule th_resolution :premises (a13 t76 t77)) (anchor :step t79 :args ((:= (veriT_vr34 A_set$) veriT_vr35))) (step t79.t1 (cl (! (= veriT_vr34 veriT_vr35) :named @p_220)) :rule refl) (step t79.t2 (cl (= @p_203 (! (fun_app$b card$ veriT_vr35) :named @p_218))) :rule cong :premises (t79.t1)) (step t79.t3 (cl (= @p_205 (! (= zero$ @p_218) :named @p_219))) :rule cong :premises (t79.t2)) (step t79.t4 (cl @p_220) :rule refl) (step t79.t5 (cl (= @p_208 (! (= bot$ veriT_vr35) :named @p_221))) :rule cong :premises (t79.t4)) (step t79.t6 (cl @p_220) :rule refl) (step t79.t7 (cl (= @p_209 (! (finite$ veriT_vr35) :named @p_222))) :rule cong :premises (t79.t6)) (step t79.t8 (cl (= @p_211 (! (not @p_222) :named @p_223))) :rule cong :premises (t79.t7)) (step t79.t9 (cl (= @p_213 (! (or @p_221 @p_223) :named @p_224))) :rule cong :premises (t79.t5 t79.t8)) (step t79.t10 (cl (= @p_215 (! (= @p_219 @p_224) :named @p_225))) :rule cong :premises (t79.t3 t79.t9)) (step t79 (cl (! (= @p_217 (! (forall ((veriT_vr35 A_set$)) @p_225) :named @p_227)) :named @p_226)) :rule bind) (step t80 (cl (not @p_226) (not @p_217) @p_227) :rule equiv_pos2) (step t81 (cl @p_227) :rule th_resolution :premises (t78 t79 t80)) (anchor :step t82 :args ((:= (?v0 A_set$) veriT_vr36))) (step t82.t1 (cl (! (= ?v0 veriT_vr36) :named @p_234)) :rule refl) (step t82.t2 (cl (= @p_3 (! (fun_app$b card$ veriT_vr36) :named @p_229))) :rule cong :premises (t82.t1)) (step t82.t3 (cl (= @p_230 (! (= @p_1 @p_229) :named @p_231))) :rule cong :premises (t82.t2)) (step t82.t4 (cl (= @p_232 (! (and @p_7 @p_231) :named @p_233))) :rule cong :premises (t82.t3)) (step t82.t5 (cl @p_234) :rule refl) (step t82.t6 (cl (= @p_235 (! (= top$ veriT_vr36) :named @p_236))) :rule cong :premises (t82.t5)) (step t82.t7 (cl (= @p_237 (! (=> @p_233 @p_236) :named @p_238))) :rule cong :premises (t82.t4 t82.t6)) (step t82 (cl (! (= @p_228 (! (forall ((veriT_vr36 A_set$)) @p_238) :named @p_240)) :named @p_239)) :rule bind) (step t83 (cl (not @p_239) (not @p_228) @p_240) :rule equiv_pos2) -(step t84 (cl @p_240) :rule th_resolution :premises (axiom14 t82 t83)) +(step t84 (cl @p_240) :rule th_resolution :premises (a14 t82 t83)) (anchor :step t85 :args ((:= (veriT_vr36 A_set$) veriT_vr37))) (step t85.t1 (cl (! (= veriT_vr36 veriT_vr37) :named @p_244)) :rule refl) (step t85.t2 (cl (= @p_229 (! (fun_app$b card$ veriT_vr37) :named @p_241))) :rule cong :premises (t85.t1)) (step t85.t3 (cl (= @p_231 (! (= @p_1 @p_241) :named @p_242))) :rule cong :premises (t85.t2)) (step t85.t4 (cl (= @p_233 (! (and @p_7 @p_242) :named @p_243))) :rule cong :premises (t85.t3)) (step t85.t5 (cl @p_244) :rule refl) (step t85.t6 (cl (= @p_236 (! (= top$ veriT_vr37) :named @p_245))) :rule cong :premises (t85.t5)) (step t85.t7 (cl (= @p_238 (! (=> @p_243 @p_245) :named @p_246))) :rule cong :premises (t85.t4 t85.t6)) (step t85 (cl (! (= @p_240 (! (forall ((veriT_vr37 A_set$)) @p_246) :named @p_248)) :named @p_247)) :rule bind) (step t86 (cl (not @p_247) (not @p_240) @p_248) :rule equiv_pos2) (step t87 (cl @p_248) :rule th_resolution :premises (t84 t85 t86)) (anchor :step t88 :args ((:= (?v0 A_list$) veriT_vr38))) (step t88.t1 (cl (! (= ?v0 veriT_vr38) :named @p_251)) :rule refl) (step t88.t2 (cl (= @p_2 (! (set$ veriT_vr38) :named @p_250))) :rule cong :premises (t88.t1)) (step t88.t3 (cl @p_251) :rule refl) (step t88.t4 (cl (= @p_5 (! (coset$ veriT_vr38) :named @p_252))) :rule cong :premises (t88.t3)) (step t88.t5 (cl (= @p_253 (! (uminus$ @p_252) :named @p_254))) :rule cong :premises (t88.t4)) (step t88.t6 (cl (= @p_255 (! (= @p_250 @p_254) :named @p_256))) :rule cong :premises (t88.t2 t88.t5)) (step t88 (cl (! (= @p_249 (! (forall ((veriT_vr38 A_list$)) @p_256) :named @p_258)) :named @p_257)) :rule bind) (step t89 (cl (not @p_257) (not @p_249) @p_258) :rule equiv_pos2) -(step t90 (cl @p_258) :rule th_resolution :premises (axiom15 t88 t89)) +(step t90 (cl @p_258) :rule th_resolution :premises (a15 t88 t89)) (anchor :step t91 :args ((:= (veriT_vr38 A_list$) veriT_vr39))) (step t91.t1 (cl (! (= veriT_vr38 veriT_vr39) :named @p_260)) :rule refl) (step t91.t2 (cl (= @p_250 (! (set$ veriT_vr39) :named @p_259))) :rule cong :premises (t91.t1)) (step t91.t3 (cl @p_260) :rule refl) (step t91.t4 (cl (= @p_252 (! (coset$ veriT_vr39) :named @p_261))) :rule cong :premises (t91.t3)) (step t91.t5 (cl (= @p_254 (! (uminus$ @p_261) :named @p_262))) :rule cong :premises (t91.t4)) (step t91.t6 (cl (= @p_256 (! (= @p_259 @p_262) :named @p_263))) :rule cong :premises (t91.t2 t91.t5)) (step t91 (cl (! (= @p_258 (! (forall ((veriT_vr39 A_list$)) @p_263) :named @p_265)) :named @p_264)) :rule bind) (step t92 (cl (not @p_264) (not @p_258) @p_265) :rule equiv_pos2) (step t93 (cl @p_265) :rule th_resolution :premises (t90 t91 t92)) (anchor :step t94 :args ((:= (?v0 A_list$) veriT_vr40))) (step t94.t1 (cl (! (= ?v0 veriT_vr40) :named @p_268)) :rule refl) (step t94.t2 (cl (= @p_5 (! (coset$ veriT_vr40) :named @p_267))) :rule cong :premises (t94.t1)) (step t94.t3 (cl @p_268) :rule refl) (step t94.t4 (cl (= @p_2 (! (set$ veriT_vr40) :named @p_269))) :rule cong :premises (t94.t3)) (step t94.t5 (cl (= @p_270 (! (uminus$ @p_269) :named @p_271))) :rule cong :premises (t94.t4)) (step t94.t6 (cl (= @p_272 (! (= @p_267 @p_271) :named @p_273))) :rule cong :premises (t94.t2 t94.t5)) (step t94 (cl (! (= @p_266 (! (forall ((veriT_vr40 A_list$)) @p_273) :named @p_275)) :named @p_274)) :rule bind) (step t95 (cl (not @p_274) (not @p_266) @p_275) :rule equiv_pos2) -(step t96 (cl @p_275) :rule th_resolution :premises (axiom16 t94 t95)) +(step t96 (cl @p_275) :rule th_resolution :premises (a16 t94 t95)) (anchor :step t97 :args ((:= (veriT_vr40 A_list$) veriT_vr41))) (step t97.t1 (cl (! (= veriT_vr40 veriT_vr41) :named @p_277)) :rule refl) (step t97.t2 (cl (= @p_267 (! (coset$ veriT_vr41) :named @p_276))) :rule cong :premises (t97.t1)) (step t97.t3 (cl @p_277) :rule refl) (step t97.t4 (cl (= @p_269 (! (set$ veriT_vr41) :named @p_278))) :rule cong :premises (t97.t3)) (step t97.t5 (cl (= @p_271 (! (uminus$ @p_278) :named @p_279))) :rule cong :premises (t97.t4)) (step t97.t6 (cl (= @p_273 (! (= @p_276 @p_279) :named @p_280))) :rule cong :premises (t97.t2 t97.t5)) (step t97 (cl (! (= @p_275 (! (forall ((veriT_vr41 A_list$)) @p_280) :named @p_282)) :named @p_281)) :rule bind) (step t98 (cl (not @p_281) (not @p_275) @p_282) :rule equiv_pos2) (step t99 (cl @p_282) :rule th_resolution :premises (t96 t97 t98)) (anchor :step t100 :args ((:= (?v0 A_set$) veriT_vr42) (:= (?v1 A_set$) veriT_vr43))) (step t100.t1 (cl (! (= ?v0 veriT_vr42) :named @p_289)) :rule refl) (step t100.t2 (cl (! (= ?v1 veriT_vr43) :named @p_292)) :rule refl) (step t100.t3 (cl (= @p_6 (! (inf$ veriT_vr42 veriT_vr43) :named @p_284))) :rule cong :premises (t100.t1 t100.t2)) (step t100.t4 (cl (= @p_285 (! (= bot$ @p_284) :named @p_286))) :rule cong :premises (t100.t3)) (anchor :step t100.t5 :args ((:= (?v2 A$) veriT_vr44))) (step t100.t5.t1 (cl (! (= ?v2 veriT_vr44) :named @p_291)) :rule refl) (step t100.t5.t2 (cl @p_289) :rule refl) (step t100.t5.t3 (cl (= @p_15 (! (member$ veriT_vr44 veriT_vr42) :named @p_290))) :rule cong :premises (t100.t5.t1 t100.t5.t2)) (step t100.t5.t4 (cl @p_291) :rule refl) (step t100.t5.t5 (cl @p_292) :rule refl) (step t100.t5.t6 (cl (= @p_16 (! (member$ veriT_vr44 veriT_vr43) :named @p_293))) :rule cong :premises (t100.t5.t4 t100.t5.t5)) (step t100.t5.t7 (cl (= @p_294 (! (not @p_293) :named @p_295))) :rule cong :premises (t100.t5.t6)) (step t100.t5.t8 (cl (= @p_296 (! (=> @p_290 @p_295) :named @p_297))) :rule cong :premises (t100.t5.t3 t100.t5.t7)) (step t100.t5 (cl (= @p_287 (! (forall ((veriT_vr44 A$)) @p_297) :named @p_288))) :rule bind) (step t100.t6 (cl (= @p_298 (! (= @p_286 @p_288) :named @p_299))) :rule cong :premises (t100.t4 t100.t5)) (step t100 (cl (! (= @p_283 (! (forall ((veriT_vr42 A_set$) (veriT_vr43 A_set$)) @p_299) :named @p_301)) :named @p_300)) :rule bind) (step t101 (cl (not @p_300) (not @p_283) @p_301) :rule equiv_pos2) -(step t102 (cl @p_301) :rule th_resolution :premises (axiom17 t100 t101)) +(step t102 (cl @p_301) :rule th_resolution :premises (a17 t100 t101)) (anchor :step t103 :args ((veriT_vr42 A_set$) (veriT_vr43 A_set$))) (step t103.t1 (cl (= @p_299 (! (and (! (=> @p_286 @p_288) :named @p_315) (! (=> @p_288 @p_286) :named @p_325)) :named @p_302))) :rule connective_def) (step t103 (cl (! (= @p_301 (! (forall ((veriT_vr42 A_set$) (veriT_vr43 A_set$)) @p_302) :named @p_304)) :named @p_303)) :rule bind) (step t104 (cl (not @p_303) (not @p_301) @p_304) :rule equiv_pos2) (step t105 (cl @p_304) :rule th_resolution :premises (t102 t103 t104)) (anchor :step t106 :args ((:= (veriT_vr42 A_set$) veriT_vr45) (:= (veriT_vr43 A_set$) veriT_vr46))) (step t106.t1 (cl (! (= veriT_vr42 veriT_vr45) :named @p_308)) :rule refl) (step t106.t2 (cl (! (= veriT_vr43 veriT_vr46) :named @p_311)) :rule refl) (step t106.t3 (cl (! (= @p_284 (! (inf$ veriT_vr45 veriT_vr46) :named @p_306)) :named @p_323)) :rule cong :premises (t106.t1 t106.t2)) (step t106.t4 (cl (! (= @p_286 (! (= bot$ @p_306) :named @p_305)) :named @p_324)) :rule cong :premises (t106.t3)) (anchor :step t106.t5 :args ((:= (veriT_vr44 A$) veriT_vr47))) (step t106.t5.t1 (cl (! (= veriT_vr44 veriT_vr47) :named @p_310)) :rule refl) (step t106.t5.t2 (cl @p_308) :rule refl) (step t106.t5.t3 (cl (= @p_290 (! (member$ veriT_vr47 veriT_vr45) :named @p_309))) :rule cong :premises (t106.t5.t1 t106.t5.t2)) (step t106.t5.t4 (cl @p_310) :rule refl) (step t106.t5.t5 (cl @p_311) :rule refl) (step t106.t5.t6 (cl (= @p_293 (! (member$ veriT_vr47 veriT_vr46) :named @p_312))) :rule cong :premises (t106.t5.t4 t106.t5.t5)) (step t106.t5.t7 (cl (= @p_295 (! (not @p_312) :named @p_313))) :rule cong :premises (t106.t5.t6)) (step t106.t5.t8 (cl (= @p_297 (! (=> @p_309 @p_313) :named @p_314))) :rule cong :premises (t106.t5.t3 t106.t5.t7)) (step t106.t5 (cl (= @p_288 (! (forall ((veriT_vr47 A$)) @p_314) :named @p_307))) :rule bind) (step t106.t6 (cl (= @p_315 (! (=> @p_305 @p_307) :named @p_316))) :rule cong :premises (t106.t4 t106.t5)) (anchor :step t106.t7 :args ((:= (veriT_vr44 A$) veriT_vr48))) (step t106.t7.t1 (cl (! (= veriT_vr44 veriT_vr48) :named @p_319)) :rule refl) (step t106.t7.t2 (cl @p_308) :rule refl) (step t106.t7.t3 (cl (= @p_290 (! (member$ veriT_vr48 veriT_vr45) :named @p_318))) :rule cong :premises (t106.t7.t1 t106.t7.t2)) (step t106.t7.t4 (cl @p_319) :rule refl) (step t106.t7.t5 (cl @p_311) :rule refl) (step t106.t7.t6 (cl (= @p_293 (! (member$ veriT_vr48 veriT_vr46) :named @p_320))) :rule cong :premises (t106.t7.t4 t106.t7.t5)) (step t106.t7.t7 (cl (= @p_295 (! (not @p_320) :named @p_321))) :rule cong :premises (t106.t7.t6)) (step t106.t7.t8 (cl (= @p_297 (! (=> @p_318 @p_321) :named @p_322))) :rule cong :premises (t106.t7.t3 t106.t7.t7)) (step t106.t7 (cl (= @p_288 (! (forall ((veriT_vr48 A$)) @p_322) :named @p_317))) :rule bind) (step t106.t8 (cl @p_308) :rule refl) (step t106.t9 (cl @p_311) :rule refl) (step t106.t10 (cl @p_323) :rule cong :premises (t106.t8 t106.t9)) (step t106.t11 (cl @p_324) :rule cong :premises (t106.t10)) (step t106.t12 (cl (= @p_325 (! (=> @p_317 @p_305) :named @p_326))) :rule cong :premises (t106.t7 t106.t11)) (step t106.t13 (cl (= @p_302 (! (and @p_316 @p_326) :named @p_327))) :rule cong :premises (t106.t6 t106.t12)) (step t106 (cl (! (= @p_304 (! (forall ((veriT_vr45 A_set$) (veriT_vr46 A_set$)) @p_327) :named @p_329)) :named @p_328)) :rule bind) (step t107 (cl (not @p_328) (not @p_304) @p_329) :rule equiv_pos2) (step t108 (cl @p_329) :rule th_resolution :premises (t105 t106 t107)) (anchor :step t109 :args ((:= (veriT_vr45 A_set$) veriT_vr49) (:= (veriT_vr46 A_set$) veriT_vr50))) (step t109.t1 (cl (! (= veriT_vr45 veriT_vr49) :named @p_333)) :rule refl) (step t109.t2 (cl (! (= veriT_vr46 veriT_vr50) :named @p_336)) :rule refl) (step t109.t3 (cl (! (= @p_306 (! (inf$ veriT_vr49 veriT_vr50) :named @p_332)) :named @p_342)) :rule cong :premises (t109.t1 t109.t2)) (step t109.t4 (cl (! (= @p_305 (! (= bot$ @p_332) :named @p_331)) :named @p_343)) :rule cong :premises (t109.t3)) (anchor :step t109.t5 :args ((:= (veriT_vr47 A$) veriT_vr51))) (step t109.t5.t1 (cl (! (= veriT_vr47 veriT_vr51) :named @p_335)) :rule refl) (step t109.t5.t2 (cl @p_333) :rule refl) (step t109.t5.t3 (cl (= @p_309 (! (member$ veriT_vr51 veriT_vr49) :named @p_334))) :rule cong :premises (t109.t5.t1 t109.t5.t2)) (step t109.t5.t4 (cl @p_335) :rule refl) (step t109.t5.t5 (cl @p_336) :rule refl) (step t109.t5.t6 (cl (= @p_312 (! (member$ veriT_vr51 veriT_vr50) :named @p_337))) :rule cong :premises (t109.t5.t4 t109.t5.t5)) (step t109.t5.t7 (cl (= @p_313 (! (not @p_337) :named @p_338))) :rule cong :premises (t109.t5.t6)) (step t109.t5.t8 (cl (= @p_314 (! (=> @p_334 @p_338) :named @p_339))) :rule cong :premises (t109.t5.t3 t109.t5.t7)) (step t109.t5 (cl (= @p_307 (! (forall ((veriT_vr51 A$)) @p_339) :named @p_330))) :rule bind) (step t109.t6 (cl (= @p_316 (! (=> @p_331 @p_330) :named @p_340))) :rule cong :premises (t109.t4 t109.t5)) (anchor :step t109.t7 :args ((:= (veriT_vr48 A$) veriT_vr51))) (step t109.t7.t1 (cl (! (= veriT_vr48 veriT_vr51) :named @p_341)) :rule refl) (step t109.t7.t2 (cl @p_333) :rule refl) (step t109.t7.t3 (cl (= @p_318 @p_334)) :rule cong :premises (t109.t7.t1 t109.t7.t2)) (step t109.t7.t4 (cl @p_341) :rule refl) (step t109.t7.t5 (cl @p_336) :rule refl) (step t109.t7.t6 (cl (= @p_320 @p_337)) :rule cong :premises (t109.t7.t4 t109.t7.t5)) (step t109.t7.t7 (cl (= @p_321 @p_338)) :rule cong :premises (t109.t7.t6)) (step t109.t7.t8 (cl (= @p_322 @p_339)) :rule cong :premises (t109.t7.t3 t109.t7.t7)) (step t109.t7 (cl (= @p_317 @p_330)) :rule bind) (step t109.t8 (cl @p_333) :rule refl) (step t109.t9 (cl @p_336) :rule refl) (step t109.t10 (cl @p_342) :rule cong :premises (t109.t8 t109.t9)) (step t109.t11 (cl @p_343) :rule cong :premises (t109.t10)) (step t109.t12 (cl (= @p_326 (! (=> @p_330 @p_331) :named @p_344))) :rule cong :premises (t109.t7 t109.t11)) (step t109.t13 (cl (= @p_327 (! (and @p_340 @p_344) :named @p_345))) :rule cong :premises (t109.t6 t109.t12)) (step t109 (cl (! (= @p_329 (! (forall ((veriT_vr49 A_set$) (veriT_vr50 A_set$)) @p_345) :named @p_347)) :named @p_346)) :rule bind) (step t110 (cl (not @p_346) (not @p_329) @p_347) :rule equiv_pos2) (step t111 (cl @p_347) :rule th_resolution :premises (t108 t109 t110)) (anchor :step t112 :args ((:= (veriT_vr49 A_set$) veriT_vr49) (:= (veriT_vr50 A_set$) veriT_vr50))) (anchor :step t112.t1 :args ((:= (veriT_vr51 A$) veriT_vr52))) (step t112.t1.t1 (cl (! (= veriT_vr51 veriT_vr52) :named @p_350)) :rule refl) (step t112.t1.t2 (cl (= @p_334 (! (member$ veriT_vr52 veriT_vr49) :named @p_349))) :rule cong :premises (t112.t1.t1)) (step t112.t1.t3 (cl @p_350) :rule refl) (step t112.t1.t4 (cl (= @p_337 (! (member$ veriT_vr52 veriT_vr50) :named @p_351))) :rule cong :premises (t112.t1.t3)) (step t112.t1.t5 (cl (= @p_338 (! (not @p_351) :named @p_352))) :rule cong :premises (t112.t1.t4)) (step t112.t1.t6 (cl (= @p_339 (! (=> @p_349 @p_352) :named @p_353))) :rule cong :premises (t112.t1.t2 t112.t1.t5)) (step t112.t1 (cl (= @p_330 (! (forall ((veriT_vr52 A$)) @p_353) :named @p_348))) :rule bind) (step t112.t2 (cl (= @p_344 (! (=> @p_348 @p_331) :named @p_354))) :rule cong :premises (t112.t1)) (step t112.t3 (cl (= @p_345 (! (and @p_340 @p_354) :named @p_355))) :rule cong :premises (t112.t2)) (step t112 (cl (! (= @p_347 (! (forall ((veriT_vr49 A_set$) (veriT_vr50 A_set$)) @p_355) :named @p_357)) :named @p_356)) :rule bind) (step t113 (cl (not @p_356) (not @p_347) @p_357) :rule equiv_pos2) (step t114 (cl @p_357) :rule th_resolution :premises (t111 t112 t113)) (anchor :step t115 :args ((:= (?v0 A_set$) veriT_vr53))) (step t115.t1 (cl (! (= ?v0 veriT_vr53) :named @p_360)) :rule refl) (step t115.t2 (cl (= @p_4 (! (finite$ veriT_vr53) :named @p_359))) :rule cong :premises (t115.t1)) (step t115.t3 (cl @p_360) :rule refl) (step t115.t4 (cl (= @p_361 (! (uminus$ veriT_vr53) :named @p_362))) :rule cong :premises (t115.t3)) (step t115.t5 (cl (= @p_363 (! (finite$ @p_362) :named @p_364))) :rule cong :premises (t115.t4)) (step t115.t6 (cl (= @p_365 (! (= @p_364 @p_7) :named @p_366))) :rule cong :premises (t115.t5)) (step t115.t7 (cl (= @p_367 (! (=> @p_359 @p_366) :named @p_368))) :rule cong :premises (t115.t2 t115.t6)) (step t115 (cl (! (= @p_358 (! (forall ((veriT_vr53 A_set$)) @p_368) :named @p_370)) :named @p_369)) :rule bind) (step t116 (cl (not @p_369) (not @p_358) @p_370) :rule equiv_pos2) -(step t117 (cl @p_370) :rule th_resolution :premises (axiom19 t115 t116)) +(step t117 (cl @p_370) :rule th_resolution :premises (a19 t115 t116)) (anchor :step t118 :args ((:= (veriT_vr53 A_set$) veriT_vr54))) (step t118.t1 (cl (! (= veriT_vr53 veriT_vr54) :named @p_372)) :rule refl) (step t118.t2 (cl (= @p_359 (! (finite$ veriT_vr54) :named @p_371))) :rule cong :premises (t118.t1)) (step t118.t3 (cl @p_372) :rule refl) (step t118.t4 (cl (= @p_362 (! (uminus$ veriT_vr54) :named @p_373))) :rule cong :premises (t118.t3)) (step t118.t5 (cl (= @p_364 (! (finite$ @p_373) :named @p_374))) :rule cong :premises (t118.t4)) (step t118.t6 (cl (= @p_366 (! (= @p_374 @p_7) :named @p_375))) :rule cong :premises (t118.t5)) (step t118.t7 (cl (= @p_368 (! (=> @p_371 @p_375) :named @p_376))) :rule cong :premises (t118.t2 t118.t6)) (step t118 (cl (! (= @p_370 (! (forall ((veriT_vr54 A_set$)) @p_376) :named @p_378)) :named @p_377)) :rule bind) (step t119 (cl (not @p_377) (not @p_370) @p_378) :rule equiv_pos2) (step t120 (cl @p_378) :rule th_resolution :premises (t117 t118 t119)) (anchor :step t121 :args ((:= (?v0 A$) veriT_vr55))) (step t121.t1 (cl (! (= ?v0 veriT_vr55) :named @p_383)) :rule refl) (step t121.t2 (cl (! (= @p_12 (! (member$ veriT_vr55 @p_380) :named @p_382)) :named @p_391)) :rule cong :premises (t121.t1)) (step t121.t3 (cl @p_383) :rule refl) (step t121.t4 (cl (! (= @p_11 (! (member$ veriT_vr55 @p_381) :named @p_384)) :named @p_390)) :rule cong :premises (t121.t3)) (step t121.t5 (cl (= @p_385 (! (not @p_384) :named @p_386))) :rule cong :premises (t121.t4)) (step t121.t6 (cl (= @p_387 (! (=> @p_382 @p_386) :named @p_388))) :rule cong :premises (t121.t2 t121.t5)) (step t121 (cl (= @p_379 (! (forall ((veriT_vr55 A$)) @p_388) :named @p_397))) :rule bind) (anchor :step t122 :args ((:= (?v0 A$) veriT_vr55))) (step t122.t1 (cl @p_383) :rule refl) (step t122.t2 (cl @p_390) :rule cong :premises (t122.t1)) (step t122.t3 (cl @p_383) :rule refl) (step t122.t4 (cl @p_391) :rule cong :premises (t122.t3)) (step t122.t5 (cl (= @p_392 (! (not @p_382) :named @p_393))) :rule cong :premises (t122.t4)) (step t122.t6 (cl (= @p_394 (! (=> @p_384 @p_393) :named @p_395))) :rule cong :premises (t122.t2 t122.t5)) (step t122 (cl (= @p_389 (! (forall ((veriT_vr55 A$)) @p_395) :named @p_398))) :rule bind) (step t123 (cl (= @p_396 (! (and @p_397 @p_398) :named @p_401))) :rule cong :premises (t121 t122)) (step t124 (cl (= @p_399 (! (and @p_400 @p_401) :named @p_404))) :rule cong :premises (t123)) (step t125 (cl (= @p_402 (! (ite @p_403 false @p_404) :named @p_406))) :rule cong :premises (t124)) (step t126 (cl (! (= @p_405 (! (= rhs$ @p_406) :named @p_408)) :named @p_407)) :rule cong :premises (t125)) (step t127 (cl (not @p_407) (not @p_405) @p_408) :rule equiv_pos2) -(step t128 (cl @p_408) :rule th_resolution :premises (axiom20 t126 t127)) +(step t128 (cl @p_408) :rule th_resolution :premises (a20 t126 t127)) (step t129 (cl (= @p_404 (! (and @p_400 @p_397 @p_398) :named @p_409))) :rule ac_simp) (step t130 (cl (= @p_406 (! (ite @p_403 false @p_409) :named @p_410))) :rule cong :premises (t129)) (step t131 (cl (! (= @p_408 (! (= rhs$ @p_410) :named @p_412)) :named @p_411)) :rule cong :premises (t130)) (step t132 (cl (not @p_411) (not @p_408) @p_412) :rule equiv_pos2) (step t133 (cl @p_412) :rule th_resolution :premises (t128 t131 t132)) (step t134 (cl (= @p_410 (! (and (! (not @p_403) :named @p_422) @p_409) :named @p_413))) :rule ite_simplify) (step t135 (cl (! (= @p_412 (! (= rhs$ @p_413) :named @p_415)) :named @p_414)) :rule cong :premises (t134)) (step t136 (cl (not @p_414) (not @p_412) @p_415) :rule equiv_pos2) (step t137 (cl @p_415) :rule th_resolution :premises (t133 t135 t136)) (anchor :step t138 :args ((:= (veriT_vr55 A$) veriT_vr56))) (step t138.t1 (cl (! (= veriT_vr55 veriT_vr56) :named @p_417)) :rule refl) (step t138.t2 (cl (= @p_384 (! (member$ veriT_vr56 @p_381) :named @p_416))) :rule cong :premises (t138.t1)) (step t138.t3 (cl @p_417) :rule refl) (step t138.t4 (cl (= @p_382 (! (member$ veriT_vr56 @p_380) :named @p_418))) :rule cong :premises (t138.t3)) (step t138.t5 (cl (= @p_393 (! (not @p_418) :named @p_419))) :rule cong :premises (t138.t4)) (step t138.t6 (cl (= @p_395 (! (=> @p_416 @p_419) :named @p_420))) :rule cong :premises (t138.t2 t138.t5)) (step t138 (cl (= @p_398 (! (forall ((veriT_vr56 A$)) @p_420) :named @p_421))) :rule bind) (step t139 (cl (= @p_409 (! (and @p_400 @p_397 @p_421) :named @p_423))) :rule cong :premises (t138)) (step t140 (cl (= @p_413 (! (and @p_422 @p_423) :named @p_424))) :rule cong :premises (t139)) (step t141 (cl (! (= @p_415 (! (= rhs$ @p_424) :named @p_426)) :named @p_425)) :rule cong :premises (t140)) (step t142 (cl (not @p_425) (not @p_415) @p_426) :rule equiv_pos2) (step t143 (cl @p_426) :rule th_resolution :premises (t137 t141 t142)) (step t144 (cl (! (= @p_426 (! (and (! (=> rhs$ @p_424) :named @p_442) (! (=> @p_424 rhs$) :named @p_444)) :named @p_428)) :named @p_427)) :rule connective_def) (step t145 (cl (not @p_427) (not @p_426) @p_428) :rule equiv_pos2) (step t146 (cl @p_428) :rule th_resolution :premises (t143 t144 t145)) (anchor :step t147 :args ((:= (veriT_vr55 A$) veriT_vr57))) (step t147.t1 (cl (! (= veriT_vr55 veriT_vr57) :named @p_430)) :rule refl) (step t147.t2 (cl (= @p_382 @p_429)) :rule cong :premises (t147.t1)) (step t147.t3 (cl @p_430) :rule refl) (step t147.t4 (cl (= @p_384 @p_431)) :rule cong :premises (t147.t3)) (step t147.t5 (cl (= @p_386 @p_432)) :rule cong :premises (t147.t4)) (step t147.t6 (cl (= @p_388 @p_433)) :rule cong :premises (t147.t2 t147.t5)) (step t147 (cl (= @p_397 (! (forall ((veriT_vr57 A$)) @p_433) :named @p_439))) :rule bind) (anchor :step t148 :args ((:= (veriT_vr56 A$) veriT_vr58))) (step t148.t1 (cl (! (= veriT_vr56 veriT_vr58) :named @p_435)) :rule refl) (step t148.t2 (cl (= @p_416 @p_434)) :rule cong :premises (t148.t1)) (step t148.t3 (cl @p_435) :rule refl) (step t148.t4 (cl (= @p_418 @p_436)) :rule cong :premises (t148.t3)) (step t148.t5 (cl (= @p_419 @p_437)) :rule cong :premises (t148.t4)) (step t148.t6 (cl (= @p_420 @p_438)) :rule cong :premises (t148.t2 t148.t5)) (step t148 (cl (= @p_421 (! (forall ((veriT_vr58 A$)) @p_438) :named @p_440))) :rule bind) (step t149 (cl (= @p_423 (! (and @p_400 @p_439 @p_440) :named @p_441))) :rule cong :premises (t147 t148)) (step t150 (cl (= @p_424 (! (and @p_422 @p_441) :named @p_443))) :rule cong :premises (t149)) (step t151 (cl (= @p_442 (! (=> rhs$ @p_443) :named @p_445))) :rule cong :premises (t150)) (step t152 (cl (= @p_444 (! (=> @p_443 rhs$) :named @p_446))) :rule cong :premises (t150)) (step t153 (cl (! (= @p_428 (! (and @p_445 @p_446) :named @p_448)) :named @p_447)) :rule cong :premises (t151 t152)) (step t154 (cl (not @p_447) (not @p_428) @p_448) :rule equiv_pos2) (step t155 (cl @p_448) :rule th_resolution :premises (t146 t153 t154)) (anchor :step t156 :args ((:= (veriT_vr57 A$) veriT_sk0))) (step t156.t1 (cl (! (= veriT_vr57 veriT_sk0) :named @p_451)) :rule refl) (step t156.t2 (cl (= @p_429 (! (member$ veriT_sk0 @p_380) :named @p_450))) :rule cong :premises (t156.t1)) (step t156.t3 (cl @p_451) :rule refl) (step t156.t4 (cl (= @p_431 (! (member$ veriT_sk0 @p_381) :named @p_452))) :rule cong :premises (t156.t3)) (step t156.t5 (cl (= @p_432 (! (not @p_452) :named @p_453))) :rule cong :premises (t156.t4)) (step t156.t6 (cl (= @p_433 (! (=> @p_450 @p_453) :named @p_454))) :rule cong :premises (t156.t2 t156.t5)) (step t156 (cl (= @p_439 @p_454)) :rule sko_forall) (anchor :step t157 :args ((:= (veriT_vr58 A$) veriT_sk1))) (step t157.t1 (cl (! (= veriT_vr58 veriT_sk1) :named @p_457)) :rule refl) (step t157.t2 (cl (= @p_434 (! (member$ veriT_sk1 @p_381) :named @p_456))) :rule cong :premises (t157.t1)) (step t157.t3 (cl @p_457) :rule refl) (step t157.t4 (cl (= @p_436 (! (member$ veriT_sk1 @p_380) :named @p_458))) :rule cong :premises (t157.t3)) (step t157.t5 (cl (= @p_437 (! (not @p_458) :named @p_459))) :rule cong :premises (t157.t4)) (step t157.t6 (cl (= @p_438 (! (=> @p_456 @p_459) :named @p_460))) :rule cong :premises (t157.t2 t157.t5)) (step t157 (cl (= @p_440 @p_460)) :rule sko_forall) (step t158 (cl (= @p_441 (! (and @p_400 @p_454 @p_460) :named @p_461))) :rule cong :premises (t156 t157)) (step t159 (cl (= @p_443 (! (and @p_422 @p_461) :named @p_462))) :rule cong :premises (t158)) (step t160 (cl (= @p_446 (! (=> @p_462 rhs$) :named @p_463))) :rule cong :premises (t159)) (step t161 (cl (! (= @p_448 (! (and @p_445 @p_463) :named @p_465)) :named @p_464)) :rule cong :premises (t160)) (step t162 (cl (not @p_464) (not @p_448) @p_465) :rule equiv_pos2) (step t163 (cl @p_465) :rule th_resolution :premises (t155 t161 t162)) (anchor :step t164 :args ((:= (veriT_vr57 A$) veriT_vr59))) (step t164.t1 (cl (! (= veriT_vr57 veriT_vr59) :named @p_467)) :rule refl) (step t164.t2 (cl (= @p_429 (! (member$ veriT_vr59 @p_380) :named @p_466))) :rule cong :premises (t164.t1)) (step t164.t3 (cl @p_467) :rule refl) (step t164.t4 (cl (= @p_431 (! (member$ veriT_vr59 @p_381) :named @p_468))) :rule cong :premises (t164.t3)) (step t164.t5 (cl (= @p_432 (! (not @p_468) :named @p_469))) :rule cong :premises (t164.t4)) (step t164.t6 (cl (= @p_433 (! (=> @p_466 @p_469) :named @p_470))) :rule cong :premises (t164.t2 t164.t5)) (step t164 (cl (= @p_439 (! (forall ((veriT_vr59 A$)) @p_470) :named @p_474))) :rule bind) (anchor :step t165 :args ((:= (veriT_vr58 A$) veriT_vr59))) (step t165.t1 (cl (! (= veriT_vr58 veriT_vr59) :named @p_471)) :rule refl) (step t165.t2 (cl (= @p_434 @p_468)) :rule cong :premises (t165.t1)) (step t165.t3 (cl @p_471) :rule refl) (step t165.t4 (cl (= @p_436 @p_466)) :rule cong :premises (t165.t3)) (step t165.t5 (cl (= @p_437 (! (not @p_466) :named @p_472))) :rule cong :premises (t165.t4)) (step t165.t6 (cl (= @p_438 (! (=> @p_468 @p_472) :named @p_473))) :rule cong :premises (t165.t2 t165.t5)) (step t165 (cl (= @p_440 (! (forall ((veriT_vr59 A$)) @p_473) :named @p_475))) :rule bind) (step t166 (cl (= @p_441 (! (and @p_400 @p_474 @p_475) :named @p_476))) :rule cong :premises (t164 t165)) (step t167 (cl (= @p_443 (! (and @p_422 @p_476) :named @p_477))) :rule cong :premises (t166)) (step t168 (cl (= @p_445 (! (=> rhs$ @p_477) :named @p_478))) :rule cong :premises (t167)) (step t169 (cl (! (= @p_465 (! (and @p_478 @p_463) :named @p_480)) :named @p_479)) :rule cong :premises (t168)) (step t170 (cl (not @p_479) (not @p_465) @p_480) :rule equiv_pos2) (step t171 (cl @p_480) :rule th_resolution :premises (t163 t169 t170)) (step t172 (cl (= @p_477 (! (and @p_422 @p_400 @p_474 @p_475) :named @p_481))) :rule ac_simp) (step t173 (cl (= @p_478 (! (=> rhs$ @p_481) :named @p_483))) :rule cong :premises (t172)) (step t174 (cl (= @p_462 (! (and @p_422 @p_400 @p_454 @p_460) :named @p_482))) :rule ac_simp) (step t175 (cl (= @p_463 (! (=> @p_482 rhs$) :named @p_484))) :rule cong :premises (t174)) (step t176 (cl (! (= @p_480 (! (and @p_483 @p_484) :named @p_486)) :named @p_485)) :rule ac_simp :premises (t173 t175)) (step t177 (cl (not @p_485) (not @p_480) @p_486) :rule equiv_pos2) (step t178 (cl @p_486) :rule th_resolution :premises (t171 t176 t177)) (anchor :step t179 :args ((:= (veriT_vr59 A$) veriT_vr60))) (step t179.t1 (cl (! (= veriT_vr59 veriT_vr60) :named @p_488)) :rule refl) (step t179.t2 (cl (= @p_468 (! (member$ veriT_vr60 @p_381) :named @p_487))) :rule cong :premises (t179.t1)) (step t179.t3 (cl @p_488) :rule refl) (step t179.t4 (cl (= @p_466 (! (member$ veriT_vr60 @p_380) :named @p_489))) :rule cong :premises (t179.t3)) (step t179.t5 (cl (= @p_472 (! (not @p_489) :named @p_490))) :rule cong :premises (t179.t4)) (step t179.t6 (cl (= @p_473 (! (=> @p_487 @p_490) :named @p_491))) :rule cong :premises (t179.t2 t179.t5)) (step t179 (cl (= @p_475 (! (forall ((veriT_vr60 A$)) @p_491) :named @p_492))) :rule bind) (step t180 (cl (= @p_481 (! (and @p_422 @p_400 @p_474 @p_492) :named @p_493))) :rule cong :premises (t179)) (step t181 (cl (= @p_483 (! (=> rhs$ @p_493) :named @p_494))) :rule cong :premises (t180)) (step t182 (cl (! (= @p_486 (! (and @p_494 @p_484) :named @p_496)) :named @p_495)) :rule cong :premises (t181)) (step t183 (cl (not @p_495) (not @p_486) @p_496) :rule equiv_pos2) (step t184 (cl @p_496) :rule th_resolution :premises (t178 t182 t183)) (anchor :step t185 :args ((:= (?v0 A_list$) veriT_vr61) (:= (?v1 A_list$) veriT_vr62))) (step t185.t1 (cl (! (= ?v0 veriT_vr61) :named @p_502)) :rule refl) (step t185.t2 (cl (! (= ?v1 veriT_vr62) :named @p_504)) :rule refl) (step t185.t3 (cl (= @p_498 (! (append$ veriT_vr61 veriT_vr62) :named @p_499))) :rule cong :premises (t185.t1 t185.t2)) (step t185.t4 (cl (= @p_500 (! (set$ @p_499) :named @p_501))) :rule cong :premises (t185.t3)) (step t185.t5 (cl @p_502) :rule refl) (step t185.t6 (cl (= @p_2 (! (set$ veriT_vr61) :named @p_503))) :rule cong :premises (t185.t5)) (step t185.t7 (cl @p_504) :rule refl) (step t185.t8 (cl (= @p_20 (! (set$ veriT_vr62) :named @p_505))) :rule cong :premises (t185.t7)) (step t185.t9 (cl (= @p_506 (! (sup$ @p_503 @p_505) :named @p_507))) :rule cong :premises (t185.t6 t185.t8)) (step t185.t10 (cl (= @p_508 (! (= @p_501 @p_507) :named @p_509))) :rule cong :premises (t185.t4 t185.t9)) (step t185 (cl (! (= @p_497 (! (forall ((veriT_vr61 A_list$) (veriT_vr62 A_list$)) @p_509) :named @p_511)) :named @p_510)) :rule bind) (step t186 (cl (not @p_510) (not @p_497) @p_511) :rule equiv_pos2) -(step t187 (cl @p_511) :rule th_resolution :premises (axiom21 t185 t186)) +(step t187 (cl @p_511) :rule th_resolution :premises (a21 t185 t186)) (anchor :step t188 :args ((:= (veriT_vr61 A_list$) veriT_vr63) (:= (veriT_vr62 A_list$) veriT_vr64))) (step t188.t1 (cl (! (= veriT_vr61 veriT_vr63) :named @p_514)) :rule refl) (step t188.t2 (cl (! (= veriT_vr62 veriT_vr64) :named @p_516)) :rule refl) (step t188.t3 (cl (= @p_499 (! (append$ veriT_vr63 veriT_vr64) :named @p_512))) :rule cong :premises (t188.t1 t188.t2)) (step t188.t4 (cl (= @p_501 (! (set$ @p_512) :named @p_513))) :rule cong :premises (t188.t3)) (step t188.t5 (cl @p_514) :rule refl) (step t188.t6 (cl (= @p_503 (! (set$ veriT_vr63) :named @p_515))) :rule cong :premises (t188.t5)) (step t188.t7 (cl @p_516) :rule refl) (step t188.t8 (cl (= @p_505 (! (set$ veriT_vr64) :named @p_517))) :rule cong :premises (t188.t7)) (step t188.t9 (cl (= @p_507 (! (sup$ @p_515 @p_517) :named @p_518))) :rule cong :premises (t188.t6 t188.t8)) (step t188.t10 (cl (= @p_509 (! (= @p_513 @p_518) :named @p_519))) :rule cong :premises (t188.t4 t188.t9)) (step t188 (cl (! (= @p_511 (! (forall ((veriT_vr63 A_list$) (veriT_vr64 A_list$)) @p_519) :named @p_521)) :named @p_520)) :rule bind) (step t189 (cl (not @p_520) (not @p_511) @p_521) :rule equiv_pos2) (step t190 (cl @p_521) :rule th_resolution :premises (t187 t188 t189)) (anchor :step t191 :args ((:= (?v0 A_set$) veriT_vr65) (:= (?v1 A_set$) veriT_vr66))) (step t191.t1 (cl (! (= ?v0 veriT_vr65) :named @p_524)) :rule refl) (step t191.t2 (cl (! (= ?v1 veriT_vr66) :named @p_526)) :rule refl) (step t191.t3 (cl (= @p_13 (! (= veriT_vr65 veriT_vr66) :named @p_523))) :rule cong :premises (t191.t1 t191.t2)) (step t191.t4 (cl @p_524) :rule refl) (step t191.t5 (cl (= @p_19 (! (fun_app$a less_eq$ veriT_vr65) :named @p_525))) :rule cong :premises (t191.t4)) (step t191.t6 (cl @p_526) :rule refl) (step t191.t7 (cl (= @p_17 (! (fun_app$ @p_525 veriT_vr66) :named @p_527))) :rule cong :premises (t191.t5 t191.t6)) (step t191.t8 (cl @p_526) :rule refl) (step t191.t9 (cl (= @p_528 (! (fun_app$a less_eq$ veriT_vr66) :named @p_529))) :rule cong :premises (t191.t8)) (step t191.t10 (cl @p_524) :rule refl) (step t191.t11 (cl (= @p_530 (! (fun_app$ @p_529 veriT_vr65) :named @p_531))) :rule cong :premises (t191.t9 t191.t10)) (step t191.t12 (cl (= @p_18 (! (and @p_527 @p_531) :named @p_532))) :rule cong :premises (t191.t7 t191.t11)) (step t191.t13 (cl (= @p_533 (! (= @p_523 @p_532) :named @p_534))) :rule cong :premises (t191.t3 t191.t12)) (step t191 (cl (! (= @p_522 (! (forall ((veriT_vr65 A_set$) (veriT_vr66 A_set$)) @p_534) :named @p_536)) :named @p_535)) :rule bind) (step t192 (cl (not @p_535) (not @p_522) @p_536) :rule equiv_pos2) -(step t193 (cl @p_536) :rule th_resolution :premises (axiom22 t191 t192)) +(step t193 (cl @p_536) :rule th_resolution :premises (a22 t191 t192)) (anchor :step t194 :args ((:= (veriT_vr65 A_set$) veriT_vr67) (:= (veriT_vr66 A_set$) veriT_vr68))) (step t194.t1 (cl (! (= veriT_vr65 veriT_vr67) :named @p_538)) :rule refl) (step t194.t2 (cl (! (= veriT_vr66 veriT_vr68) :named @p_540)) :rule refl) (step t194.t3 (cl (= @p_523 (! (= veriT_vr67 veriT_vr68) :named @p_537))) :rule cong :premises (t194.t1 t194.t2)) (step t194.t4 (cl @p_538) :rule refl) (step t194.t5 (cl (= @p_525 (! (fun_app$a less_eq$ veriT_vr67) :named @p_539))) :rule cong :premises (t194.t4)) (step t194.t6 (cl @p_540) :rule refl) (step t194.t7 (cl (= @p_527 (! (fun_app$ @p_539 veriT_vr68) :named @p_541))) :rule cong :premises (t194.t5 t194.t6)) (step t194.t8 (cl @p_540) :rule refl) (step t194.t9 (cl (= @p_529 (! (fun_app$a less_eq$ veriT_vr68) :named @p_542))) :rule cong :premises (t194.t8)) (step t194.t10 (cl @p_538) :rule refl) (step t194.t11 (cl (= @p_531 (! (fun_app$ @p_542 veriT_vr67) :named @p_543))) :rule cong :premises (t194.t9 t194.t10)) (step t194.t12 (cl (= @p_532 (! (and @p_541 @p_543) :named @p_544))) :rule cong :premises (t194.t7 t194.t11)) (step t194.t13 (cl (= @p_534 (! (= @p_537 @p_544) :named @p_545))) :rule cong :premises (t194.t3 t194.t12)) (step t194 (cl (! (= @p_536 (! (forall ((veriT_vr67 A_set$) (veriT_vr68 A_set$)) @p_545) :named @p_547)) :named @p_546)) :rule bind) (step t195 (cl (not @p_546) (not @p_536) @p_547) :rule equiv_pos2) (step t196 (cl @p_547) :rule th_resolution :premises (t193 t194 t195)) (anchor :step t197 :args ((:= (?v0 A_list$) veriT_vr69))) (step t197.t1 (cl (! (= ?v0 veriT_vr69) :named @p_550)) :rule refl) (step t197.t2 (cl (= @p_2 (! (set$ veriT_vr69) :named @p_549))) :rule cong :premises (t197.t1)) (step t197.t3 (cl @p_550) :rule refl) (step t197.t4 (cl (= @p_14 (! (remdups$ veriT_vr69) :named @p_551))) :rule cong :premises (t197.t3)) (step t197.t5 (cl (= @p_552 (! (set$ @p_551) :named @p_553))) :rule cong :premises (t197.t4)) (step t197.t6 (cl (= @p_554 (! (= @p_549 @p_553) :named @p_555))) :rule cong :premises (t197.t2 t197.t5)) (step t197 (cl (! (= @p_548 (! (forall ((veriT_vr69 A_list$)) @p_555) :named @p_557)) :named @p_556)) :rule bind) (step t198 (cl (not @p_556) (not @p_548) @p_557) :rule equiv_pos2) -(step t199 (cl @p_557) :rule th_resolution :premises (axiom23 t197 t198)) +(step t199 (cl @p_557) :rule th_resolution :premises (a23 t197 t198)) (anchor :step t200 :args ((:= (veriT_vr69 A_list$) veriT_vr70))) (step t200.t1 (cl (! (= veriT_vr69 veriT_vr70) :named @p_559)) :rule refl) (step t200.t2 (cl (= @p_549 (! (set$ veriT_vr70) :named @p_558))) :rule cong :premises (t200.t1)) (step t200.t3 (cl @p_559) :rule refl) (step t200.t4 (cl (= @p_551 (! (remdups$ veriT_vr70) :named @p_560))) :rule cong :premises (t200.t3)) (step t200.t5 (cl (= @p_553 (! (set$ @p_560) :named @p_561))) :rule cong :premises (t200.t4)) (step t200.t6 (cl (= @p_555 (! (= @p_558 @p_561) :named @p_562))) :rule cong :premises (t200.t2 t200.t5)) (step t200 (cl (! (= @p_557 (! (forall ((veriT_vr70 A_list$)) @p_562) :named @p_564)) :named @p_563)) :rule bind) (step t201 (cl (not @p_563) (not @p_557) @p_564) :rule equiv_pos2) (step t202 (cl @p_564) :rule th_resolution :premises (t199 t200 t201)) (anchor :step t203 :args ((:= (?v0 A_set$) veriT_vr71) (:= (?v1 A_set$) veriT_vr72))) (anchor :step t203.t1 :args ((:= (?v2 A$) veriT_vr73))) (step t203.t1.t1 (cl (! (= ?v2 veriT_vr73) :named @p_569)) :rule refl) (step t203.t1.t2 (cl (! (= ?v0 veriT_vr71) :named @p_573)) :rule refl) (step t203.t1.t3 (cl (= @p_15 (! (member$ veriT_vr73 veriT_vr71) :named @p_568))) :rule cong :premises (t203.t1.t1 t203.t1.t2)) (step t203.t1.t4 (cl @p_569) :rule refl) (step t203.t1.t5 (cl (! (= ?v1 veriT_vr72) :named @p_575)) :rule refl) (step t203.t1.t6 (cl (= @p_16 (! (member$ veriT_vr73 veriT_vr72) :named @p_570))) :rule cong :premises (t203.t1.t4 t203.t1.t5)) (step t203.t1.t7 (cl (= @p_571 (! (=> @p_568 @p_570) :named @p_572))) :rule cong :premises (t203.t1.t3 t203.t1.t6)) (step t203.t1 (cl (= @p_566 (! (forall ((veriT_vr73 A$)) @p_572) :named @p_567))) :rule bind) (step t203.t2 (cl @p_573) :rule refl) (step t203.t3 (cl (= @p_19 (! (fun_app$a less_eq$ veriT_vr71) :named @p_574))) :rule cong :premises (t203.t2)) (step t203.t4 (cl @p_575) :rule refl) (step t203.t5 (cl (= @p_17 (! (fun_app$ @p_574 veriT_vr72) :named @p_576))) :rule cong :premises (t203.t3 t203.t4)) (step t203.t6 (cl (= @p_577 (! (=> @p_567 @p_576) :named @p_578))) :rule cong :premises (t203.t1 t203.t5)) (step t203 (cl (! (= @p_565 (! (forall ((veriT_vr71 A_set$) (veriT_vr72 A_set$)) @p_578) :named @p_580)) :named @p_579)) :rule bind) (step t204 (cl (not @p_579) (not @p_565) @p_580) :rule equiv_pos2) -(step t205 (cl @p_580) :rule th_resolution :premises (axiom25 t203 t204)) +(step t205 (cl @p_580) :rule th_resolution :premises (a25 t203 t204)) (anchor :step t206 :args ((:= (veriT_vr71 A_set$) veriT_vr74) (:= (veriT_vr72 A_set$) veriT_vr75))) (anchor :step t206.t1 :args ((:= (veriT_vr73 A$) veriT_vr76))) (step t206.t1.t1 (cl (! (= veriT_vr73 veriT_vr76) :named @p_583)) :rule refl) (step t206.t1.t2 (cl (! (= veriT_vr71 veriT_vr74) :named @p_586)) :rule refl) (step t206.t1.t3 (cl (= @p_568 (! (member$ veriT_vr76 veriT_vr74) :named @p_582))) :rule cong :premises (t206.t1.t1 t206.t1.t2)) (step t206.t1.t4 (cl @p_583) :rule refl) (step t206.t1.t5 (cl (! (= veriT_vr72 veriT_vr75) :named @p_588)) :rule refl) (step t206.t1.t6 (cl (= @p_570 (! (member$ veriT_vr76 veriT_vr75) :named @p_584))) :rule cong :premises (t206.t1.t4 t206.t1.t5)) (step t206.t1.t7 (cl (= @p_572 (! (=> @p_582 @p_584) :named @p_585))) :rule cong :premises (t206.t1.t3 t206.t1.t6)) (step t206.t1 (cl (= @p_567 (! (forall ((veriT_vr76 A$)) @p_585) :named @p_581))) :rule bind) (step t206.t2 (cl @p_586) :rule refl) (step t206.t3 (cl (= @p_574 (! (fun_app$a less_eq$ veriT_vr74) :named @p_587))) :rule cong :premises (t206.t2)) (step t206.t4 (cl @p_588) :rule refl) (step t206.t5 (cl (= @p_576 (! (fun_app$ @p_587 veriT_vr75) :named @p_589))) :rule cong :premises (t206.t3 t206.t4)) (step t206.t6 (cl (= @p_578 (! (=> @p_581 @p_589) :named @p_590))) :rule cong :premises (t206.t1 t206.t5)) (step t206 (cl (! (= @p_580 (! (forall ((veriT_vr74 A_set$) (veriT_vr75 A_set$)) @p_590) :named @p_592)) :named @p_591)) :rule bind) (step t207 (cl (not @p_591) (not @p_580) @p_592) :rule equiv_pos2) (step t208 (cl @p_592) :rule th_resolution :premises (t205 t206 t207)) (anchor :step t209 :args ((:= (?v0 A_set$) veriT_vr77) (:= (?v1 A_set$) veriT_vr78))) (step t209.t1 (cl (! (= ?v0 veriT_vr77) :named @p_598)) :rule refl) (step t209.t2 (cl (= @p_19 (! (fun_app$a less_eq$ veriT_vr77) :named @p_594))) :rule cong :premises (t209.t1)) (step t209.t3 (cl (! (= ?v1 veriT_vr78) :named @p_596)) :rule refl) (step t209.t4 (cl (= @p_17 (! (fun_app$ @p_594 veriT_vr78) :named @p_595))) :rule cong :premises (t209.t2 t209.t3)) (step t209.t5 (cl @p_596) :rule refl) (step t209.t6 (cl (= @p_528 (! (fun_app$a less_eq$ veriT_vr78) :named @p_597))) :rule cong :premises (t209.t5)) (step t209.t7 (cl @p_598) :rule refl) (step t209.t8 (cl (= @p_530 (! (fun_app$ @p_597 veriT_vr77) :named @p_599))) :rule cong :premises (t209.t6 t209.t7)) (step t209.t9 (cl (= @p_18 (! (and @p_595 @p_599) :named @p_600))) :rule cong :premises (t209.t4 t209.t8)) (step t209.t10 (cl @p_598) :rule refl) (step t209.t11 (cl @p_596) :rule refl) (step t209.t12 (cl (= @p_13 (! (= veriT_vr77 veriT_vr78) :named @p_601))) :rule cong :premises (t209.t10 t209.t11)) (step t209.t13 (cl (= @p_602 (! (=> @p_600 @p_601) :named @p_603))) :rule cong :premises (t209.t9 t209.t12)) (step t209 (cl (! (= @p_593 (! (forall ((veriT_vr77 A_set$) (veriT_vr78 A_set$)) @p_603) :named @p_605)) :named @p_604)) :rule bind) (step t210 (cl (not @p_604) (not @p_593) @p_605) :rule equiv_pos2) -(step t211 (cl @p_605) :rule th_resolution :premises (axiom26 t209 t210)) +(step t211 (cl @p_605) :rule th_resolution :premises (a26 t209 t210)) (anchor :step t212 :args ((:= (veriT_vr77 A_set$) veriT_vr79) (:= (veriT_vr78 A_set$) veriT_vr80))) (step t212.t1 (cl (! (= veriT_vr77 veriT_vr79) :named @p_610)) :rule refl) (step t212.t2 (cl (= @p_594 (! (fun_app$a less_eq$ veriT_vr79) :named @p_606))) :rule cong :premises (t212.t1)) (step t212.t3 (cl (! (= veriT_vr78 veriT_vr80) :named @p_608)) :rule refl) (step t212.t4 (cl (= @p_595 (! (fun_app$ @p_606 veriT_vr80) :named @p_607))) :rule cong :premises (t212.t2 t212.t3)) (step t212.t5 (cl @p_608) :rule refl) (step t212.t6 (cl (= @p_597 (! (fun_app$a less_eq$ veriT_vr80) :named @p_609))) :rule cong :premises (t212.t5)) (step t212.t7 (cl @p_610) :rule refl) (step t212.t8 (cl (= @p_599 (! (fun_app$ @p_609 veriT_vr79) :named @p_611))) :rule cong :premises (t212.t6 t212.t7)) (step t212.t9 (cl (= @p_600 (! (and @p_607 @p_611) :named @p_612))) :rule cong :premises (t212.t4 t212.t8)) (step t212.t10 (cl @p_610) :rule refl) (step t212.t11 (cl @p_608) :rule refl) (step t212.t12 (cl (= @p_601 (! (= veriT_vr79 veriT_vr80) :named @p_613))) :rule cong :premises (t212.t10 t212.t11)) (step t212.t13 (cl (= @p_603 (! (=> @p_612 @p_613) :named @p_614))) :rule cong :premises (t212.t9 t212.t12)) (step t212 (cl (! (= @p_605 (! (forall ((veriT_vr79 A_set$) (veriT_vr80 A_set$)) @p_614) :named @p_616)) :named @p_615)) :rule bind) (step t213 (cl (not @p_615) (not @p_605) @p_616) :rule equiv_pos2) (step t214 (cl @p_616) :rule th_resolution :premises (t211 t212 t213)) (anchor :step t215 :args ((:= (?v0 A_set$) veriT_vr81) (:= (?v1 A_list$) veriT_vr82))) (step t215.t1 (cl (! (= ?v0 veriT_vr81) :named @p_630)) :rule refl) (step t215.t2 (cl (= @p_19 (! (fun_app$a less_eq$ veriT_vr81) :named @p_618))) :rule cong :premises (t215.t1)) (step t215.t3 (cl (! (= ?v1 veriT_vr82) :named @p_625)) :rule refl) (step t215.t4 (cl (= @p_619 (! (coset$ veriT_vr82) :named @p_620))) :rule cong :premises (t215.t3)) (step t215.t5 (cl (= @p_621 (! (fun_app$ @p_618 @p_620) :named @p_622))) :rule cong :premises (t215.t2 t215.t4)) (anchor :step t215.t6 :args ((:= (?v2 A$) veriT_vr83))) (step t215.t6.t1 (cl (! (= ?v2 veriT_vr83) :named @p_629)) :rule refl) (step t215.t6.t2 (cl @p_625) :rule refl) (step t215.t6.t3 (cl (= @p_20 (! (set$ veriT_vr82) :named @p_626))) :rule cong :premises (t215.t6.t2)) (step t215.t6.t4 (cl (= @p_627 (! (member$ veriT_vr83 @p_626) :named @p_628))) :rule cong :premises (t215.t6.t1 t215.t6.t3)) (step t215.t6.t5 (cl @p_629) :rule refl) (step t215.t6.t6 (cl @p_630) :rule refl) (step t215.t6.t7 (cl (= @p_15 (! (member$ veriT_vr83 veriT_vr81) :named @p_631))) :rule cong :premises (t215.t6.t5 t215.t6.t6)) (step t215.t6.t8 (cl (= @p_632 (! (not @p_631) :named @p_633))) :rule cong :premises (t215.t6.t7)) (step t215.t6.t9 (cl (= @p_634 (! (=> @p_628 @p_633) :named @p_635))) :rule cong :premises (t215.t6.t4 t215.t6.t8)) (step t215.t6 (cl (= @p_623 (! (forall ((veriT_vr83 A$)) @p_635) :named @p_624))) :rule bind) (step t215.t7 (cl (= @p_636 (! (= @p_622 @p_624) :named @p_637))) :rule cong :premises (t215.t5 t215.t6)) (step t215 (cl (! (= @p_617 (! (forall ((veriT_vr81 A_set$) (veriT_vr82 A_list$)) @p_637) :named @p_639)) :named @p_638)) :rule bind) (step t216 (cl (not @p_638) (not @p_617) @p_639) :rule equiv_pos2) -(step t217 (cl @p_639) :rule th_resolution :premises (axiom27 t215 t216)) +(step t217 (cl @p_639) :rule th_resolution :premises (a27 t215 t216)) (anchor :step t218 :args ((veriT_vr81 A_set$) (veriT_vr82 A_list$))) (step t218.t1 (cl (= @p_637 (! (and (! (=> @p_622 @p_624) :named @p_655) (! (=> @p_624 @p_622) :named @p_667)) :named @p_640))) :rule connective_def) (step t218 (cl (! (= @p_639 (! (forall ((veriT_vr81 A_set$) (veriT_vr82 A_list$)) @p_640) :named @p_642)) :named @p_641)) :rule bind) (step t219 (cl (not @p_641) (not @p_639) @p_642) :rule equiv_pos2) (step t220 (cl @p_642) :rule th_resolution :premises (t217 t218 t219)) (anchor :step t221 :args ((:= (veriT_vr81 A_set$) veriT_vr84) (:= (veriT_vr82 A_list$) veriT_vr85))) (step t221.t1 (cl (! (= veriT_vr81 veriT_vr84) :named @p_651)) :rule refl) (step t221.t2 (cl (! (= @p_618 (! (fun_app$a less_eq$ veriT_vr84) :named @p_645)) :named @p_664)) :rule cong :premises (t221.t1)) (step t221.t3 (cl (! (= veriT_vr82 veriT_vr85) :named @p_648)) :rule refl) (step t221.t4 (cl (! (= @p_620 (! (coset$ veriT_vr85) :named @p_646)) :named @p_665)) :rule cong :premises (t221.t3)) (step t221.t5 (cl (! (= @p_622 (! (fun_app$ @p_645 @p_646) :named @p_644)) :named @p_666)) :rule cong :premises (t221.t2 t221.t4)) (anchor :step t221.t6 :args ((:= (veriT_vr83 A$) veriT_vr86))) (step t221.t6.t1 (cl (! (= veriT_vr83 veriT_vr86) :named @p_650)) :rule refl) (step t221.t6.t2 (cl @p_648) :rule refl) (step t221.t6.t3 (cl (! (= @p_626 (! (set$ veriT_vr85) :named @p_643)) :named @p_658)) :rule cong :premises (t221.t6.t2)) (step t221.t6.t4 (cl (= @p_628 (! (member$ veriT_vr86 @p_643) :named @p_649))) :rule cong :premises (t221.t6.t1 t221.t6.t3)) (step t221.t6.t5 (cl @p_650) :rule refl) (step t221.t6.t6 (cl @p_651) :rule refl) (step t221.t6.t7 (cl (= @p_631 (! (member$ veriT_vr86 veriT_vr84) :named @p_652))) :rule cong :premises (t221.t6.t5 t221.t6.t6)) (step t221.t6.t8 (cl (= @p_633 (! (not @p_652) :named @p_653))) :rule cong :premises (t221.t6.t7)) (step t221.t6.t9 (cl (= @p_635 (! (=> @p_649 @p_653) :named @p_654))) :rule cong :premises (t221.t6.t4 t221.t6.t8)) (step t221.t6 (cl (= @p_624 (! (forall ((veriT_vr86 A$)) @p_654) :named @p_647))) :rule bind) (step t221.t7 (cl (= @p_655 (! (=> @p_644 @p_647) :named @p_656))) :rule cong :premises (t221.t5 t221.t6)) (anchor :step t221.t8 :args ((:= (veriT_vr83 A$) veriT_vr87))) (step t221.t8.t1 (cl (! (= veriT_vr83 veriT_vr87) :named @p_660)) :rule refl) (step t221.t8.t2 (cl @p_648) :rule refl) (step t221.t8.t3 (cl @p_658) :rule cong :premises (t221.t8.t2)) (step t221.t8.t4 (cl (= @p_628 (! (member$ veriT_vr87 @p_643) :named @p_659))) :rule cong :premises (t221.t8.t1 t221.t8.t3)) (step t221.t8.t5 (cl @p_660) :rule refl) (step t221.t8.t6 (cl @p_651) :rule refl) (step t221.t8.t7 (cl (= @p_631 (! (member$ veriT_vr87 veriT_vr84) :named @p_661))) :rule cong :premises (t221.t8.t5 t221.t8.t6)) (step t221.t8.t8 (cl (= @p_633 (! (not @p_661) :named @p_662))) :rule cong :premises (t221.t8.t7)) (step t221.t8.t9 (cl (= @p_635 (! (=> @p_659 @p_662) :named @p_663))) :rule cong :premises (t221.t8.t4 t221.t8.t8)) (step t221.t8 (cl (= @p_624 (! (forall ((veriT_vr87 A$)) @p_663) :named @p_657))) :rule bind) (step t221.t9 (cl @p_651) :rule refl) (step t221.t10 (cl @p_664) :rule cong :premises (t221.t9)) (step t221.t11 (cl @p_648) :rule refl) (step t221.t12 (cl @p_665) :rule cong :premises (t221.t11)) (step t221.t13 (cl @p_666) :rule cong :premises (t221.t10 t221.t12)) (step t221.t14 (cl (= @p_667 (! (=> @p_657 @p_644) :named @p_668))) :rule cong :premises (t221.t8 t221.t13)) (step t221.t15 (cl (= @p_640 (! (and @p_656 @p_668) :named @p_669))) :rule cong :premises (t221.t7 t221.t14)) (step t221 (cl (! (= @p_642 (! (forall ((veriT_vr84 A_set$) (veriT_vr85 A_list$)) @p_669) :named @p_671)) :named @p_670)) :rule bind) (step t222 (cl (not @p_670) (not @p_642) @p_671) :rule equiv_pos2) (step t223 (cl @p_671) :rule th_resolution :premises (t220 t221 t222)) (anchor :step t224 :args ((:= (veriT_vr84 A_set$) veriT_vr88) (:= (veriT_vr85 A_list$) veriT_vr89))) (step t224.t1 (cl (! (= veriT_vr84 veriT_vr88) :named @p_680)) :rule refl) (step t224.t2 (cl (! (= @p_645 (! (fun_app$a less_eq$ veriT_vr88) :named @p_674)) :named @p_687)) :rule cong :premises (t224.t1)) (step t224.t3 (cl (! (= veriT_vr85 veriT_vr89) :named @p_676)) :rule refl) (step t224.t4 (cl (! (= @p_646 (! (coset$ veriT_vr89) :named @p_675)) :named @p_688)) :rule cong :premises (t224.t3)) (step t224.t5 (cl (! (= @p_644 (! (fun_app$ @p_674 @p_675) :named @p_673)) :named @p_689)) :rule cong :premises (t224.t2 t224.t4)) (anchor :step t224.t6 :args ((:= (veriT_vr86 A$) veriT_vr90))) (step t224.t6.t1 (cl (! (= veriT_vr86 veriT_vr90) :named @p_679)) :rule refl) (step t224.t6.t2 (cl @p_676) :rule refl) (step t224.t6.t3 (cl (! (= @p_643 (! (set$ veriT_vr89) :named @p_677)) :named @p_685)) :rule cong :premises (t224.t6.t2)) (step t224.t6.t4 (cl (= @p_649 (! (member$ veriT_vr90 @p_677) :named @p_678))) :rule cong :premises (t224.t6.t1 t224.t6.t3)) (step t224.t6.t5 (cl @p_679) :rule refl) (step t224.t6.t6 (cl @p_680) :rule refl) (step t224.t6.t7 (cl (= @p_652 (! (member$ veriT_vr90 veriT_vr88) :named @p_681))) :rule cong :premises (t224.t6.t5 t224.t6.t6)) (step t224.t6.t8 (cl (= @p_653 (! (not @p_681) :named @p_682))) :rule cong :premises (t224.t6.t7)) (step t224.t6.t9 (cl (= @p_654 (! (=> @p_678 @p_682) :named @p_683))) :rule cong :premises (t224.t6.t4 t224.t6.t8)) (step t224.t6 (cl (= @p_647 (! (forall ((veriT_vr90 A$)) @p_683) :named @p_672))) :rule bind) (step t224.t7 (cl (= @p_656 (! (=> @p_673 @p_672) :named @p_684))) :rule cong :premises (t224.t5 t224.t6)) (anchor :step t224.t8 :args ((:= (veriT_vr87 A$) veriT_vr90))) (step t224.t8.t1 (cl (! (= veriT_vr87 veriT_vr90) :named @p_686)) :rule refl) (step t224.t8.t2 (cl @p_676) :rule refl) (step t224.t8.t3 (cl @p_685) :rule cong :premises (t224.t8.t2)) (step t224.t8.t4 (cl (= @p_659 @p_678)) :rule cong :premises (t224.t8.t1 t224.t8.t3)) (step t224.t8.t5 (cl @p_686) :rule refl) (step t224.t8.t6 (cl @p_680) :rule refl) (step t224.t8.t7 (cl (= @p_661 @p_681)) :rule cong :premises (t224.t8.t5 t224.t8.t6)) (step t224.t8.t8 (cl (= @p_662 @p_682)) :rule cong :premises (t224.t8.t7)) (step t224.t8.t9 (cl (= @p_663 @p_683)) :rule cong :premises (t224.t8.t4 t224.t8.t8)) (step t224.t8 (cl (= @p_657 @p_672)) :rule bind) (step t224.t9 (cl @p_680) :rule refl) (step t224.t10 (cl @p_687) :rule cong :premises (t224.t9)) (step t224.t11 (cl @p_676) :rule refl) (step t224.t12 (cl @p_688) :rule cong :premises (t224.t11)) (step t224.t13 (cl @p_689) :rule cong :premises (t224.t10 t224.t12)) (step t224.t14 (cl (= @p_668 (! (=> @p_672 @p_673) :named @p_690))) :rule cong :premises (t224.t8 t224.t13)) (step t224.t15 (cl (= @p_669 (! (and @p_684 @p_690) :named @p_691))) :rule cong :premises (t224.t7 t224.t14)) (step t224 (cl (! (= @p_671 (! (forall ((veriT_vr88 A_set$) (veriT_vr89 A_list$)) @p_691) :named @p_693)) :named @p_692)) :rule bind) (step t225 (cl (not @p_692) (not @p_671) @p_693) :rule equiv_pos2) (step t226 (cl @p_693) :rule th_resolution :premises (t223 t224 t225)) (anchor :step t227 :args ((:= (veriT_vr88 A_set$) veriT_vr88) (:= (veriT_vr89 A_list$) veriT_vr89))) (anchor :step t227.t1 :args ((:= (veriT_vr90 A$) veriT_vr91))) (step t227.t1.t1 (cl (! (= veriT_vr90 veriT_vr91) :named @p_696)) :rule refl) (step t227.t1.t2 (cl (= @p_678 (! (member$ veriT_vr91 @p_677) :named @p_695))) :rule cong :premises (t227.t1.t1)) (step t227.t1.t3 (cl @p_696) :rule refl) (step t227.t1.t4 (cl (= @p_681 (! (member$ veriT_vr91 veriT_vr88) :named @p_697))) :rule cong :premises (t227.t1.t3)) (step t227.t1.t5 (cl (= @p_682 (! (not @p_697) :named @p_698))) :rule cong :premises (t227.t1.t4)) (step t227.t1.t6 (cl (= @p_683 (! (=> @p_695 @p_698) :named @p_699))) :rule cong :premises (t227.t1.t2 t227.t1.t5)) (step t227.t1 (cl (= @p_672 (! (forall ((veriT_vr91 A$)) @p_699) :named @p_694))) :rule bind) (step t227.t2 (cl (= @p_690 (! (=> @p_694 @p_673) :named @p_700))) :rule cong :premises (t227.t1)) (step t227.t3 (cl (= @p_691 (! (and @p_684 @p_700) :named @p_701))) :rule cong :premises (t227.t2)) (step t227 (cl (! (= @p_693 (! (forall ((veriT_vr88 A_set$) (veriT_vr89 A_list$)) @p_701) :named @p_703)) :named @p_702)) :rule bind) (step t228 (cl (not @p_702) (not @p_693) @p_703) :rule equiv_pos2) (step t229 (cl @p_703) :rule th_resolution :premises (t226 t227 t228)) (step t230 (cl @p_494) :rule and :premises (t184)) (step t231 (cl (! (not @p_493) :named @p_704) @p_422) :rule and_pos) (step t232 (cl @p_704 @p_400) :rule and_pos) (step t233 (cl @p_704 @p_474) :rule and_pos) (step t234 (cl (! (not rhs$) :named @p_712) @p_493) :rule implies :premises (t230)) (step t235 (cl @p_484) :rule and :premises (t184)) (step t236 (cl @p_454 @p_450) :rule implies_neg1) (step t237 (cl @p_454 (! (not @p_453) :named @p_705)) :rule implies_neg2) (step t238 (cl (not @p_705) @p_452) :rule not_not) (step t239 (cl @p_454 @p_452) :rule th_resolution :premises (t238 t237)) (step t240 (cl @p_460 @p_456) :rule implies_neg1) (step t241 (cl @p_460 (! (not @p_459) :named @p_706)) :rule implies_neg2) (step t242 (cl (not @p_706) @p_458) :rule not_not) (step t243 (cl @p_460 @p_458) :rule th_resolution :premises (t242 t241)) (step t244 (cl @p_482 (! (not @p_422) :named @p_707) (! (not @p_400) :named @p_708) (! (not @p_454) :named @p_709) (! (not @p_460) :named @p_710)) :rule and_neg) (step t245 (cl (not @p_707) @p_403) :rule not_not) (step t246 (cl @p_482 @p_403 @p_708 @p_709 @p_710) :rule th_resolution :premises (t245 t244)) (step t247 (cl (not @p_482) rhs$) :rule implies :premises (t235)) -(step t248 (cl @p_711 rhs$) :rule not_equiv1 :premises (axiom28)) -(step t249 (cl (! (not @p_711) :named @p_1099) @p_712) :rule not_equiv2 :premises (axiom28)) +(step t248 (cl @p_711 rhs$) :rule not_equiv1 :premises (a28)) +(step t249 (cl (! (not @p_711) :named @p_1099) @p_712) :rule not_equiv2 :premises (a28)) (step t250 (cl (or (! (not @p_474) :named @p_1028) (! (forall ((veriT_vr59 A$)) (or @p_472 @p_469)) :named @p_1029))) :rule qnt_cnf) (step t251 (cl (or (! (not @p_564) :named @p_714) (! (= @p_381 @p_713) :named @p_722))) :rule forall_inst :args ((:= veriT_vr70 ys$))) (step t252 (cl (or @p_714 (! (= @p_715 @p_380) :named @p_723))) :rule forall_inst :args ((:= veriT_vr70 xs$))) (step t253 (cl (or @p_714 (! (= @p_381 (! (set$ (! (remdups$ @p_10) :named @p_753)) :named @p_752)) :named @p_724))) :rule forall_inst :args ((:= veriT_vr70 @p_10))) (step t254 (cl (or (! (not @p_282) :named @p_716) (! (= (! (coset$ @p_9) :named @p_792) (! (uminus$ @p_380) :named @p_721)) :named @p_725))) :rule forall_inst :args ((:= veriT_vr41 @p_9))) (step t255 (cl (or @p_716 (! (= @p_21 (! (uminus$ @p_715) :named @p_757)) :named @p_726))) :rule forall_inst :args ((:= veriT_vr41 xs$))) (step t256 (cl (or (! (not @p_265) :named @p_727) (! (= @p_715 (! (uminus$ @p_21) :named @p_1049)) :named @p_728))) :rule forall_inst :args ((:= veriT_vr39 xs$))) (step t257 (cl (or (! (not @p_227) :named @p_735) (! (= @p_403 (! (or @p_717 (! (not @p_7) :named @p_730)) :named @p_729)) :named @p_732))) :rule forall_inst :args ((:= veriT_vr35 top$))) (step t258 (cl (or (! (not @p_127) :named @p_718) (! (finite$ @p_713) :named @p_736))) :rule forall_inst :args ((:= veriT_vr13 ys$))) (step t259 (cl (or @p_718 (! (finite$ @p_381) :named @p_737))) :rule forall_inst :args ((:= veriT_vr13 @p_10))) (step t260 (cl (or @p_718 (! (finite$ @p_715) :named @p_738))) :rule forall_inst :args ((:= veriT_vr13 xs$))) (step t261 (cl (or (! (not @p_117) :named @p_739) (! (= @p_719 (! (fun_app$b card$ @p_713) :named @p_1085)) :named @p_740))) :rule forall_inst :args ((:= veriT_vr11 ys$))) (step t262 (cl (or (! (not @p_97) :named @p_720) (! (=> (! (member$ veriT_sk1 (! (uminus$ @p_381) :named @p_1046)) :named @p_742) (! (not @p_456) :named @p_743)) :named @p_741))) :rule forall_inst :args ((:= veriT_vr8 veriT_sk1) (:= veriT_vr9 @p_381))) (step t263 (cl (or @p_720 (! (=> (! (member$ veriT_sk0 @p_721) :named @p_745) (! (not @p_450) :named @p_746)) :named @p_744))) :rule forall_inst :args ((:= veriT_vr8 veriT_sk0) (:= veriT_vr9 @p_380))) (step t264 (cl (or (! (not @p_41) :named @p_751) (! (= (! (fun_app$ (! (fun_app$a uu$ @p_21) :named @p_1098) @p_713) :named @p_748) (! (= @p_21 @p_713) :named @p_749)) :named @p_747))) :rule forall_inst :args ((:= veriT_vr2 @p_21) (:= veriT_vr3 @p_713))) (step t265 (cl @p_714 @p_722) :rule or :premises (t251)) (step t266 (cl @p_722) :rule resolution :premises (t265 t202)) (step t267 (cl @p_714 @p_723) :rule or :premises (t252)) (step t268 (cl @p_723) :rule resolution :premises (t267 t202)) (step t269 (cl @p_714 @p_724) :rule or :premises (t253)) (step t270 (cl @p_724) :rule resolution :premises (t269 t202)) (step t271 (cl @p_716 @p_725) :rule or :premises (t254)) (step t272 (cl @p_725) :rule resolution :premises (t271 t99)) (step t273 (cl @p_716 @p_726) :rule or :premises (t255)) (step t274 (cl @p_726) :rule resolution :premises (t273 t99)) (step t275 (cl @p_727 @p_728) :rule or :premises (t256)) (step t276 (cl @p_728) :rule resolution :premises (t275 t93)) (step t277 (cl (! (not @p_729) :named @p_733) @p_717 @p_730) :rule or_pos) (step t278 (cl @p_729 (! (not @p_730) :named @p_731)) :rule or_neg) (step t279 (cl (not @p_731) @p_7) :rule not_not) (step t280 (cl @p_729 @p_7) :rule th_resolution :premises (t279 t278)) (step t281 (cl (! (not @p_732) :named @p_734) @p_403 @p_733) :rule equiv_pos1) (step t282 (cl @p_734 @p_422 @p_729) :rule equiv_pos2) (step t283 (cl @p_735 @p_732) :rule or :premises (t257)) -(step t284 (cl @p_733 @p_730) :rule resolution :premises (t277 axiom6)) +(step t284 (cl @p_733 @p_730) :rule resolution :premises (t277 a6)) (step t285 (cl @p_732) :rule resolution :premises (t283 t81)) (step t286 (cl @p_718 @p_736) :rule or :premises (t258)) (step t287 (cl @p_736) :rule resolution :premises (t286 t57)) (step t288 (cl @p_718 @p_737) :rule or :premises (t259)) (step t289 (cl @p_737) :rule resolution :premises (t288 t57)) (step t290 (cl @p_718 @p_738) :rule or :premises (t260)) (step t291 (cl @p_738) :rule resolution :premises (t290 t57)) (step t292 (cl @p_739 @p_740) :rule or :premises (t261)) (step t293 (cl @p_740) :rule resolution :premises (t292 t51)) (step t294 (cl (not @p_741) (not @p_742) @p_743) :rule implies_pos) (step t295 (cl @p_720 @p_741) :rule or :premises (t262)) (step t296 (cl @p_741) :rule resolution :premises (t295 t45)) (step t297 (cl (not @p_744) (not @p_745) @p_746) :rule implies_pos) (step t298 (cl @p_720 @p_744) :rule or :premises (t263)) (step t299 (cl @p_744) :rule resolution :premises (t298 t45)) (step t300 (cl (! (not @p_747) :named @p_750) @p_748 (! (not @p_749) :named @p_1040)) :rule equiv_pos1) (step t301 (cl @p_750 (! (not @p_748) :named @p_1107) @p_749) :rule equiv_pos2) (step t302 (cl @p_751 @p_747) :rule or :premises (t264)) (step t303 (cl @p_747) :rule resolution :premises (t302 t33)) (step t304 (cl (or (! (not @p_616) :named @p_765) (! (=> (! (and (! (fun_app$ (! (fun_app$a less_eq$ @p_381) :named @p_854) @p_21) :named @p_762) (! (fun_app$ (! (fun_app$a less_eq$ @p_21) :named @p_907) @p_381) :named @p_763)) :named @p_755) (! (= @p_21 @p_381) :named @p_754)) :named @p_764))) :rule forall_inst :args ((:= veriT_vr79 @p_381) (:= veriT_vr80 @p_21))) (step t305 (cl (not (! (not (! (not @p_592) :named @p_906)) :named @p_936)) @p_592) :rule not_not) (step t306 (cl (or @p_714 (! (= @p_752 (! (set$ (! (remdups$ @p_753) :named @p_938)) :named @p_939)) :named @p_766))) :rule forall_inst :args ((:= veriT_vr70 @p_753))) (step t307 (cl (or (! (not @p_547) :named @p_769) (! (= @p_754 @p_755) :named @p_768))) :rule forall_inst :args ((:= veriT_vr67 @p_381) (:= veriT_vr68 @p_21))) (step t308 (cl (or (! (not @p_521) :named @p_756) (! (= @p_760 (! (sup$ @p_715 @p_381) :named @p_759)) :named @p_770))) :rule forall_inst :args ((:= veriT_vr63 xs$) (:= veriT_vr64 @p_10))) (step t309 (cl (or @p_756 (! (= (! (set$ (append$ xs$ ys$)) :named @p_758) (! (sup$ @p_715 @p_713) :named @p_1115)) :named @p_771))) :rule forall_inst :args ((:= veriT_vr63 xs$) (:= veriT_vr64 ys$))) (step t310 (cl (or (! (not @p_378) :named @p_775) (! (=> @p_738 (! (= (! (finite$ @p_757) :named @p_773) @p_7) :named @p_772)) :named @p_774))) :rule forall_inst :args ((:= veriT_vr54 @p_715))) (step t311 (cl (or (! (not @p_248) :named @p_781) (! (=> (! (and @p_7 (! (= @p_1 (! (fun_app$b card$ @p_758) :named @p_1112)) :named @p_778)) :named @p_777) (! (= top$ @p_758) :named @p_780)) :named @p_779))) :rule forall_inst :args ((:= veriT_vr37 @p_758))) (step t312 (cl (or (! (not @p_201) :named @p_786) (! (=> (! (and @p_738 @p_737) :named @p_782) (! (= (! (plus$ (! (fun_app$b card$ @p_715) :named @p_1073) (! (fun_app$b card$ @p_381) :named @p_1074)) :named @p_1057) (! (plus$ (! (fun_app$b card$ @p_759) :named @p_999) (! (fun_app$b card$ (! (inf$ @p_715 @p_381) :named @p_940)) :named @p_998)) :named @p_1000)) :named @p_785)) :named @p_784))) :rule forall_inst :args ((:= veriT_vr32 @p_715) (:= veriT_vr33 @p_381))) (step t313 (cl (or (! (not @p_73) :named @p_791) (! (= (! (fun_app$ @p_43 @p_760) :named @p_790) (! (and @p_44 (= @p_1 (fun_app$b card$ (set$ (append$ xs$ @p_761))))) :named @p_788)) :named @p_789))) :rule forall_inst :args ((:= veriT_vr5 @p_761))) (step t314 (cl @p_755 (! (not @p_762) :named @p_1003) (! (not @p_763) :named @p_1120)) :rule and_neg) (step t315 (cl (not @p_764) (! (not @p_755) :named @p_767) @p_754) :rule implies_pos) (step t316 (cl @p_765 @p_764) :rule or :premises (t304)) (step t317 (cl @p_764) :rule resolution :premises (t316 t214)) (step t318 (cl @p_714 @p_766) :rule or :premises (t306)) (step t319 (cl @p_766) :rule resolution :premises (t318 t202)) (step t320 (cl @p_767 @p_762) :rule and_pos) (step t321 (cl (not @p_768) (! (not @p_754) :named @p_1051) @p_755) :rule equiv_pos2) (step t322 (cl @p_769 @p_768) :rule or :premises (t307)) (step t323 (cl @p_768) :rule resolution :premises (t322 t196)) (step t324 (cl @p_756 @p_770) :rule or :premises (t308)) (step t325 (cl @p_770) :rule resolution :premises (t324 t190)) (step t326 (cl @p_756 @p_771) :rule or :premises (t309)) (step t327 (cl @p_771) :rule resolution :premises (t326 t190)) (step t328 (cl (not @p_772) (not @p_773) @p_7) :rule equiv_pos2) (step t329 (cl (! (not @p_774) :named @p_776) (! (not @p_738) :named @p_783) @p_772) :rule implies_pos) (step t330 (cl @p_775 @p_774) :rule or :premises (t310)) (step t331 (cl @p_776 @p_772) :rule resolution :premises (t329 t291)) (step t332 (cl @p_774) :rule resolution :premises (t330 t120)) (step t333 (cl @p_772) :rule resolution :premises (t331 t332)) (step t334 (cl @p_777 @p_730 (not @p_778)) :rule and_neg) (step t335 (cl (not @p_779) (not @p_777) @p_780) :rule implies_pos) (step t336 (cl @p_781 @p_779) :rule or :premises (t311)) (step t337 (cl @p_779) :rule resolution :premises (t336 t87)) (step t338 (cl @p_782 @p_783 (not @p_737)) :rule and_neg) (step t339 (cl (! (not @p_784) :named @p_787) (not @p_782) @p_785) :rule implies_pos) (step t340 (cl @p_786 @p_784) :rule or :premises (t312)) (step t341 (cl @p_782) :rule resolution :premises (t338 t291 t289)) (step t342 (cl @p_787 @p_785) :rule resolution :premises (t339 t341)) (step t343 (cl @p_784) :rule resolution :premises (t340 t75)) (step t344 (cl @p_785) :rule resolution :premises (t342 t343)) (step t345 (cl (! (not @p_788) :named @p_1132) @p_44) :rule and_pos) (step t346 (cl (not @p_789) (! (not @p_790) :named @p_1133) @p_788) :rule equiv_pos2) (step t347 (cl @p_791 @p_789) :rule or :premises (t313)) (step t348 (cl @p_789) :rule resolution :premises (t347 t39)) (step t349 (cl (! (not @p_726) :named @p_794) (! (not (! (= @p_721 @p_757) :named @p_793)) :named @p_1044) (! (not @p_725) :named @p_795) (! (= @p_21 @p_792) :named @p_796)) :rule eq_transitive) (step t350 (cl (! (not @p_723) :named @p_797) @p_793) :rule eq_congruent) (step t351 (cl @p_794 @p_795 @p_796 @p_797) :rule th_resolution :premises (t349 t350)) (step t352 (cl (or (! (not @p_703) :named @p_851) (! (and (! (=> @p_762 (! (forall ((veriT_vr90 A$)) (! (=> (! (member$ veriT_vr90 @p_715) :named @p_801) (! (not (! (member$ veriT_vr90 @p_381) :named @p_804)) :named @p_806)) :named @p_808)) :named @p_800)) :named @p_810) (! (=> (! (forall ((veriT_vr91 A$)) (! (=> (! (member$ veriT_vr91 @p_715) :named @p_813) (! (not (! (member$ veriT_vr91 @p_381) :named @p_815)) :named @p_816)) :named @p_817)) :named @p_812) @p_762) :named @p_818)) :named @p_798))) :rule forall_inst :args ((:= veriT_vr88 @p_381) (:= veriT_vr89 xs$))) (anchor :step t353) (assume t353.h1 @p_798) (anchor :step t353.t2 :args ((:= (veriT_vr90 A$) veriT_vr96))) (step t353.t2.t1 (cl (! (= veriT_vr90 veriT_vr96) :named @p_803)) :rule refl) (step t353.t2.t2 (cl (= @p_801 (! (member$ veriT_vr96 @p_715) :named @p_802))) :rule cong :premises (t353.t2.t1)) (step t353.t2.t3 (cl @p_803) :rule refl) (step t353.t2.t4 (cl (= @p_804 (! (member$ veriT_vr96 @p_381) :named @p_805))) :rule cong :premises (t353.t2.t3)) (step t353.t2.t5 (cl (= @p_806 (! (not @p_805) :named @p_807))) :rule cong :premises (t353.t2.t4)) (step t353.t2.t6 (cl (= @p_808 (! (=> @p_802 @p_807) :named @p_809))) :rule cong :premises (t353.t2.t2 t353.t2.t5)) (step t353.t2 (cl (= @p_800 (! (forall ((veriT_vr96 A$)) @p_809) :named @p_811))) :rule bind) (step t353.t3 (cl (= @p_810 (! (=> @p_762 @p_811) :named @p_819))) :rule cong :premises (t353.t2)) (anchor :step t353.t4 :args ((:= (veriT_vr91 A$) veriT_vr96))) (step t353.t4.t1 (cl (! (= veriT_vr91 veriT_vr96) :named @p_814)) :rule refl) (step t353.t4.t2 (cl (= @p_813 @p_802)) :rule cong :premises (t353.t4.t1)) (step t353.t4.t3 (cl @p_814) :rule refl) (step t353.t4.t4 (cl (= @p_815 @p_805)) :rule cong :premises (t353.t4.t3)) (step t353.t4.t5 (cl (= @p_816 @p_807)) :rule cong :premises (t353.t4.t4)) (step t353.t4.t6 (cl (= @p_817 @p_809)) :rule cong :premises (t353.t4.t2 t353.t4.t5)) (step t353.t4 (cl (= @p_812 @p_811)) :rule bind) (step t353.t5 (cl (= @p_818 (! (=> @p_811 @p_762) :named @p_820))) :rule cong :premises (t353.t4)) (step t353.t6 (cl (! (= @p_798 (! (and @p_819 @p_820) :named @p_823)) :named @p_821)) :rule cong :premises (t353.t3 t353.t5)) (step t353.t7 (cl (not @p_821) (! (not @p_798) :named @p_822) @p_823) :rule equiv_pos2) (step t353.t8 (cl @p_823) :rule th_resolution :premises (t353.h1 t353.t6 t353.t7)) (anchor :step t353.t9 :args ((:= (veriT_vr96 A$) veriT_vr97))) (step t353.t9.t1 (cl (! (= veriT_vr96 veriT_vr97) :named @p_826)) :rule refl) (step t353.t9.t2 (cl (= @p_802 @p_825)) :rule cong :premises (t353.t9.t1)) (step t353.t9.t3 (cl @p_826) :rule refl) (step t353.t9.t4 (cl (= @p_805 @p_827)) :rule cong :premises (t353.t9.t3)) (step t353.t9.t5 (cl (= @p_807 @p_828)) :rule cong :premises (t353.t9.t4)) (step t353.t9.t6 (cl (= @p_809 @p_824)) :rule cong :premises (t353.t9.t2 t353.t9.t5)) (step t353.t9 (cl (= @p_811 (! (forall ((veriT_vr97 A$)) @p_824) :named @p_829))) :rule bind) (step t353.t10 (cl (= @p_819 (! (=> @p_762 @p_829) :named @p_830))) :rule cong :premises (t353.t9)) (step t353.t11 (cl (= @p_820 (! (=> @p_829 @p_762) :named @p_831))) :rule cong :premises (t353.t9)) (step t353.t12 (cl (! (= @p_823 (! (and @p_830 @p_831) :named @p_833)) :named @p_832)) :rule cong :premises (t353.t10 t353.t11)) (step t353.t13 (cl (not @p_832) (not @p_823) @p_833) :rule equiv_pos2) (step t353.t14 (cl @p_833) :rule th_resolution :premises (t353.t8 t353.t12 t353.t13)) (anchor :step t353.t15 :args ((:= (veriT_vr97 A$) veriT_sk4))) (step t353.t15.t1 (cl (! (= veriT_vr97 veriT_sk4) :named @p_836)) :rule refl) (step t353.t15.t2 (cl (= @p_825 (! (member$ veriT_sk4 @p_715) :named @p_835))) :rule cong :premises (t353.t15.t1)) (step t353.t15.t3 (cl @p_836) :rule refl) (step t353.t15.t4 (cl (= @p_827 (! (member$ veriT_sk4 @p_381) :named @p_837))) :rule cong :premises (t353.t15.t3)) (step t353.t15.t5 (cl (= @p_828 (! (not @p_837) :named @p_838))) :rule cong :premises (t353.t15.t4)) (step t353.t15.t6 (cl (= @p_824 (! (=> @p_835 @p_838) :named @p_834))) :rule cong :premises (t353.t15.t2 t353.t15.t5)) (step t353.t15 (cl (= @p_829 @p_834)) :rule sko_forall) (step t353.t16 (cl (= @p_831 (! (=> @p_834 @p_762) :named @p_839))) :rule cong :premises (t353.t15)) (step t353.t17 (cl (! (= @p_833 (! (and @p_830 @p_839) :named @p_841)) :named @p_840)) :rule cong :premises (t353.t16)) (step t353.t18 (cl (not @p_840) (not @p_833) @p_841) :rule equiv_pos2) (step t353.t19 (cl @p_841) :rule th_resolution :premises (t353.t14 t353.t17 t353.t18)) (anchor :step t353.t20 :args ((:= (veriT_vr97 A$) veriT_vr98))) (step t353.t20.t1 (cl (! (= veriT_vr97 veriT_vr98) :named @p_844)) :rule refl) (step t353.t20.t2 (cl (= @p_825 (! (member$ veriT_vr98 @p_715) :named @p_843))) :rule cong :premises (t353.t20.t1)) (step t353.t20.t3 (cl @p_844) :rule refl) (step t353.t20.t4 (cl (= @p_827 (! (member$ veriT_vr98 @p_381) :named @p_845))) :rule cong :premises (t353.t20.t3)) (step t353.t20.t5 (cl (= @p_828 (! (not @p_845) :named @p_846))) :rule cong :premises (t353.t20.t4)) (step t353.t20.t6 (cl (= @p_824 (! (=> @p_843 @p_846) :named @p_847))) :rule cong :premises (t353.t20.t2 t353.t20.t5)) (step t353.t20 (cl (= @p_829 (! (forall ((veriT_vr98 A$)) @p_847) :named @p_842))) :rule bind) (step t353.t21 (cl (= @p_830 (! (=> @p_762 @p_842) :named @p_848))) :rule cong :premises (t353.t20)) (step t353.t22 (cl (! (= @p_841 (! (and @p_848 @p_839) :named @p_849)) :named @p_850)) :rule cong :premises (t353.t21)) (step t353.t23 (cl (not @p_850) (not @p_841) @p_849) :rule equiv_pos2) (step t353.t24 (cl @p_849) :rule th_resolution :premises (t353.t19 t353.t22 t353.t23)) (step t353 (cl @p_822 @p_849) :rule subproof :discharge (h1)) (step t354 (cl @p_851 @p_798) :rule or :premises (t352)) (step t355 (cl (! (or @p_851 @p_849) :named @p_853) (! (not @p_851) :named @p_852)) :rule or_neg) (step t356 (cl (not @p_852) @p_703) :rule not_not) (step t357 (cl @p_853 @p_703) :rule th_resolution :premises (t356 t355)) (step t358 (cl @p_853 (! (not @p_849) :named @p_1004)) :rule or_neg) (step t359 (cl @p_853) :rule th_resolution :premises (t354 t353 t357 t358)) (step t360 (cl (or @p_851 (! (and (! (=> (! (fun_app$ @p_854 @p_792) :named @p_855) (! (forall ((veriT_vr90 A$)) (! (=> (! (member$ veriT_vr90 @p_380) :named @p_859) @p_806) :named @p_864)) :named @p_858)) :named @p_866) (! (=> (! (forall ((veriT_vr91 A$)) (! (=> (! (member$ veriT_vr91 @p_380) :named @p_869) @p_816) :named @p_871)) :named @p_868) @p_855) :named @p_872)) :named @p_856))) :rule forall_inst :args ((:= veriT_vr88 @p_381) (:= veriT_vr89 @p_9))) (anchor :step t361) (assume t361.h1 @p_856) (anchor :step t361.t2 :args ((:= (veriT_vr90 A$) veriT_vr102))) (step t361.t2.t1 (cl (! (= veriT_vr90 veriT_vr102) :named @p_861)) :rule refl) (step t361.t2.t2 (cl (= @p_859 (! (member$ veriT_vr102 @p_380) :named @p_860))) :rule cong :premises (t361.t2.t1)) (step t361.t2.t3 (cl @p_861) :rule refl) (step t361.t2.t4 (cl (= @p_804 (! (member$ veriT_vr102 @p_381) :named @p_862))) :rule cong :premises (t361.t2.t3)) (step t361.t2.t5 (cl (= @p_806 (! (not @p_862) :named @p_863))) :rule cong :premises (t361.t2.t4)) (step t361.t2.t6 (cl (= @p_864 (! (=> @p_860 @p_863) :named @p_865))) :rule cong :premises (t361.t2.t2 t361.t2.t5)) (step t361.t2 (cl (= @p_858 (! (forall ((veriT_vr102 A$)) @p_865) :named @p_867))) :rule bind) (step t361.t3 (cl (= @p_866 (! (=> @p_855 @p_867) :named @p_873))) :rule cong :premises (t361.t2)) (anchor :step t361.t4 :args ((:= (veriT_vr91 A$) veriT_vr102))) (step t361.t4.t1 (cl (! (= veriT_vr91 veriT_vr102) :named @p_870)) :rule refl) (step t361.t4.t2 (cl (= @p_869 @p_860)) :rule cong :premises (t361.t4.t1)) (step t361.t4.t3 (cl @p_870) :rule refl) (step t361.t4.t4 (cl (= @p_815 @p_862)) :rule cong :premises (t361.t4.t3)) (step t361.t4.t5 (cl (= @p_816 @p_863)) :rule cong :premises (t361.t4.t4)) (step t361.t4.t6 (cl (= @p_871 @p_865)) :rule cong :premises (t361.t4.t2 t361.t4.t5)) (step t361.t4 (cl (= @p_868 @p_867)) :rule bind) (step t361.t5 (cl (= @p_872 (! (=> @p_867 @p_855) :named @p_874))) :rule cong :premises (t361.t4)) (step t361.t6 (cl (! (= @p_856 (! (and @p_873 @p_874) :named @p_877)) :named @p_875)) :rule cong :premises (t361.t3 t361.t5)) (step t361.t7 (cl (not @p_875) (! (not @p_856) :named @p_876) @p_877) :rule equiv_pos2) (step t361.t8 (cl @p_877) :rule th_resolution :premises (t361.h1 t361.t6 t361.t7)) (anchor :step t361.t9 :args ((:= (veriT_vr102 A$) veriT_vr103))) (step t361.t9.t1 (cl (! (= veriT_vr102 veriT_vr103) :named @p_880)) :rule refl) (step t361.t9.t2 (cl (= @p_860 @p_879)) :rule cong :premises (t361.t9.t1)) (step t361.t9.t3 (cl @p_880) :rule refl) (step t361.t9.t4 (cl (= @p_862 @p_881)) :rule cong :premises (t361.t9.t3)) (step t361.t9.t5 (cl (= @p_863 @p_882)) :rule cong :premises (t361.t9.t4)) (step t361.t9.t6 (cl (= @p_865 @p_878)) :rule cong :premises (t361.t9.t2 t361.t9.t5)) (step t361.t9 (cl (= @p_867 (! (forall ((veriT_vr103 A$)) @p_878) :named @p_883))) :rule bind) (step t361.t10 (cl (= @p_873 (! (=> @p_855 @p_883) :named @p_884))) :rule cong :premises (t361.t9)) (step t361.t11 (cl (= @p_874 (! (=> @p_883 @p_855) :named @p_885))) :rule cong :premises (t361.t9)) (step t361.t12 (cl (! (= @p_877 (! (and @p_884 @p_885) :named @p_887)) :named @p_886)) :rule cong :premises (t361.t10 t361.t11)) (step t361.t13 (cl (not @p_886) (not @p_877) @p_887) :rule equiv_pos2) (step t361.t14 (cl @p_887) :rule th_resolution :premises (t361.t8 t361.t12 t361.t13)) (anchor :step t361.t15 :args ((:= (veriT_vr103 A$) veriT_sk6))) (step t361.t15.t1 (cl (! (= veriT_vr103 veriT_sk6) :named @p_890)) :rule refl) (step t361.t15.t2 (cl (= @p_879 (! (member$ veriT_sk6 @p_380) :named @p_889))) :rule cong :premises (t361.t15.t1)) (step t361.t15.t3 (cl @p_890) :rule refl) (step t361.t15.t4 (cl (= @p_881 (! (member$ veriT_sk6 @p_381) :named @p_891))) :rule cong :premises (t361.t15.t3)) (step t361.t15.t5 (cl (= @p_882 (! (not @p_891) :named @p_892))) :rule cong :premises (t361.t15.t4)) (step t361.t15.t6 (cl (= @p_878 (! (=> @p_889 @p_892) :named @p_888))) :rule cong :premises (t361.t15.t2 t361.t15.t5)) (step t361.t15 (cl (= @p_883 @p_888)) :rule sko_forall) (step t361.t16 (cl (= @p_885 (! (=> @p_888 @p_855) :named @p_893))) :rule cong :premises (t361.t15)) (step t361.t17 (cl (! (= @p_887 (! (and @p_884 @p_893) :named @p_895)) :named @p_894)) :rule cong :premises (t361.t16)) (step t361.t18 (cl (not @p_894) (not @p_887) @p_895) :rule equiv_pos2) (step t361.t19 (cl @p_895) :rule th_resolution :premises (t361.t14 t361.t17 t361.t18)) (anchor :step t361.t20 :args ((:= (veriT_vr103 A$) veriT_vr104))) (step t361.t20.t1 (cl (! (= veriT_vr103 veriT_vr104) :named @p_898)) :rule refl) (step t361.t20.t2 (cl (= @p_879 (! (member$ veriT_vr104 @p_380) :named @p_897))) :rule cong :premises (t361.t20.t1)) (step t361.t20.t3 (cl @p_898) :rule refl) (step t361.t20.t4 (cl (= @p_881 (! (member$ veriT_vr104 @p_381) :named @p_899))) :rule cong :premises (t361.t20.t3)) (step t361.t20.t5 (cl (= @p_882 (! (not @p_899) :named @p_900))) :rule cong :premises (t361.t20.t4)) (step t361.t20.t6 (cl (= @p_878 (! (=> @p_897 @p_900) :named @p_901))) :rule cong :premises (t361.t20.t2 t361.t20.t5)) (step t361.t20 (cl (= @p_883 (! (forall ((veriT_vr104 A$)) @p_901) :named @p_896))) :rule bind) (step t361.t21 (cl (= @p_884 (! (=> @p_855 @p_896) :named @p_902))) :rule cong :premises (t361.t20)) (step t361.t22 (cl (! (= @p_895 (! (and @p_902 @p_893) :named @p_903)) :named @p_904)) :rule cong :premises (t361.t21)) (step t361.t23 (cl (not @p_904) (not @p_895) @p_903) :rule equiv_pos2) (step t361.t24 (cl @p_903) :rule th_resolution :premises (t361.t19 t361.t22 t361.t23)) (step t361 (cl @p_876 @p_903) :rule subproof :discharge (h1)) (step t362 (cl @p_851 @p_856) :rule or :premises (t360)) (step t363 (cl (! (or @p_851 @p_903) :named @p_905) @p_852) :rule or_neg) (step t364 (cl @p_905 @p_703) :rule th_resolution :premises (t356 t363)) (step t365 (cl @p_905 (! (not @p_903) :named @p_1006)) :rule or_neg) (step t366 (cl @p_905) :rule th_resolution :premises (t362 t361 t364 t365)) (step t367 (cl (or @p_906 (! (=> (! (forall ((veriT_vr76 A$)) (! (=> (! (member$ veriT_vr76 @p_21) :named @p_912) (! (member$ veriT_vr76 @p_760) :named @p_915)) :named @p_917)) :named @p_911) (! (fun_app$ @p_907 @p_760) :named @p_910)) :named @p_908))) :rule forall_inst :args ((:= veriT_vr74 @p_21) (:= veriT_vr75 @p_760))) (anchor :step t368) (assume t368.h1 @p_908) (anchor :step t368.t2 :args ((:= (veriT_vr76 A$) veriT_vr116))) (step t368.t2.t1 (cl (! (= veriT_vr76 veriT_vr116) :named @p_914)) :rule refl) (step t368.t2.t2 (cl (= @p_912 (! (member$ veriT_vr116 @p_21) :named @p_913))) :rule cong :premises (t368.t2.t1)) (step t368.t2.t3 (cl @p_914) :rule refl) (step t368.t2.t4 (cl (= @p_915 (! (member$ veriT_vr116 @p_760) :named @p_916))) :rule cong :premises (t368.t2.t3)) (step t368.t2.t5 (cl (= @p_917 (! (=> @p_913 @p_916) :named @p_918))) :rule cong :premises (t368.t2.t2 t368.t2.t4)) (step t368.t2 (cl (= @p_911 (! (forall ((veriT_vr116 A$)) @p_918) :named @p_919))) :rule bind) (step t368.t3 (cl (! (= @p_908 (! (=> @p_919 @p_910) :named @p_922)) :named @p_920)) :rule cong :premises (t368.t2)) (step t368.t4 (cl (not @p_920) (! (not @p_908) :named @p_921) @p_922) :rule equiv_pos2) (step t368.t5 (cl @p_922) :rule th_resolution :premises (t368.h1 t368.t3 t368.t4)) (anchor :step t368.t6 :args ((:= (veriT_vr116 A$) veriT_vr117))) (step t368.t6.t1 (cl (! (= veriT_vr116 veriT_vr117) :named @p_925)) :rule refl) (step t368.t6.t2 (cl (= @p_913 @p_924)) :rule cong :premises (t368.t6.t1)) (step t368.t6.t3 (cl @p_925) :rule refl) (step t368.t6.t4 (cl (= @p_916 @p_926)) :rule cong :premises (t368.t6.t3)) (step t368.t6.t5 (cl (= @p_918 @p_923)) :rule cong :premises (t368.t6.t2 t368.t6.t4)) (step t368.t6 (cl (= @p_919 (! (forall ((veriT_vr117 A$)) @p_923) :named @p_927))) :rule bind) (step t368.t7 (cl (! (= @p_922 (! (=> @p_927 @p_910) :named @p_929)) :named @p_928)) :rule cong :premises (t368.t6)) (step t368.t8 (cl (not @p_928) (not @p_922) @p_929) :rule equiv_pos2) (step t368.t9 (cl @p_929) :rule th_resolution :premises (t368.t5 t368.t7 t368.t8)) (anchor :step t368.t10 :args ((:= (veriT_vr117 A$) veriT_sk11))) (step t368.t10.t1 (cl (! (= veriT_vr117 veriT_sk11) :named @p_932)) :rule refl) (step t368.t10.t2 (cl (= @p_924 (! (member$ veriT_sk11 @p_21) :named @p_931))) :rule cong :premises (t368.t10.t1)) (step t368.t10.t3 (cl @p_932) :rule refl) (step t368.t10.t4 (cl (= @p_926 (! (member$ veriT_sk11 @p_760) :named @p_933))) :rule cong :premises (t368.t10.t3)) (step t368.t10.t5 (cl (= @p_923 (! (=> @p_931 @p_933) :named @p_930))) :rule cong :premises (t368.t10.t2 t368.t10.t4)) (step t368.t10 (cl (= @p_927 @p_930)) :rule sko_forall) (step t368.t11 (cl (! (= @p_929 (! (=> @p_930 @p_910) :named @p_934)) :named @p_935)) :rule cong :premises (t368.t10)) (step t368.t12 (cl (not @p_935) (not @p_929) @p_934) :rule equiv_pos2) (step t368.t13 (cl @p_934) :rule th_resolution :premises (t368.t9 t368.t11 t368.t12)) (step t368 (cl @p_921 @p_934) :rule subproof :discharge (h1)) (step t369 (cl @p_906 @p_908) :rule or :premises (t367)) (step t370 (cl (! (or @p_906 @p_934) :named @p_937) @p_936) :rule or_neg) (step t371 (cl @p_937 @p_592) :rule th_resolution :premises (t305 t370)) (step t372 (cl @p_937 (! (not @p_934) :named @p_1007)) :rule or_neg) (step t373 (cl @p_937) :rule th_resolution :premises (t369 t368 t371 t372)) (step t374 (cl (or @p_756 (! (= (! (set$ (append$ xs$ @p_938)) :named @p_1002) (! (sup$ @p_715 @p_939) :named @p_1061)) :named @p_1008))) :rule forall_inst :args ((:= veriT_vr63 xs$) (:= veriT_vr64 @p_938))) (step t375 (cl (or (! (not @p_357) :named @p_995) (! (and (! (=> (! (= bot$ @p_940) :named @p_941) (! (forall ((veriT_vr51 A$)) (! (=> (! (member$ veriT_vr51 @p_715) :named @p_945) (! (not (! (member$ veriT_vr51 @p_381) :named @p_948)) :named @p_950)) :named @p_952)) :named @p_944)) :named @p_954) (! (=> (! (forall ((veriT_vr52 A$)) (! (=> (! (member$ veriT_vr52 @p_715) :named @p_957) (! (not (! (member$ veriT_vr52 @p_381) :named @p_959)) :named @p_960)) :named @p_961)) :named @p_956) @p_941) :named @p_962)) :named @p_942))) :rule forall_inst :args ((:= veriT_vr49 @p_715) (:= veriT_vr50 @p_381))) (anchor :step t376) (assume t376.h1 @p_942) (anchor :step t376.t2 :args ((:= (veriT_vr51 A$) veriT_vr122))) (step t376.t2.t1 (cl (! (= veriT_vr51 veriT_vr122) :named @p_947)) :rule refl) (step t376.t2.t2 (cl (= @p_945 (! (member$ veriT_vr122 @p_715) :named @p_946))) :rule cong :premises (t376.t2.t1)) (step t376.t2.t3 (cl @p_947) :rule refl) (step t376.t2.t4 (cl (= @p_948 (! (member$ veriT_vr122 @p_381) :named @p_949))) :rule cong :premises (t376.t2.t3)) (step t376.t2.t5 (cl (= @p_950 (! (not @p_949) :named @p_951))) :rule cong :premises (t376.t2.t4)) (step t376.t2.t6 (cl (= @p_952 (! (=> @p_946 @p_951) :named @p_953))) :rule cong :premises (t376.t2.t2 t376.t2.t5)) (step t376.t2 (cl (= @p_944 (! (forall ((veriT_vr122 A$)) @p_953) :named @p_955))) :rule bind) (step t376.t3 (cl (= @p_954 (! (=> @p_941 @p_955) :named @p_963))) :rule cong :premises (t376.t2)) (anchor :step t376.t4 :args ((:= (veriT_vr52 A$) veriT_vr122))) (step t376.t4.t1 (cl (! (= veriT_vr52 veriT_vr122) :named @p_958)) :rule refl) (step t376.t4.t2 (cl (= @p_957 @p_946)) :rule cong :premises (t376.t4.t1)) (step t376.t4.t3 (cl @p_958) :rule refl) (step t376.t4.t4 (cl (= @p_959 @p_949)) :rule cong :premises (t376.t4.t3)) (step t376.t4.t5 (cl (= @p_960 @p_951)) :rule cong :premises (t376.t4.t4)) (step t376.t4.t6 (cl (= @p_961 @p_953)) :rule cong :premises (t376.t4.t2 t376.t4.t5)) (step t376.t4 (cl (= @p_956 @p_955)) :rule bind) (step t376.t5 (cl (= @p_962 (! (=> @p_955 @p_941) :named @p_964))) :rule cong :premises (t376.t4)) (step t376.t6 (cl (! (= @p_942 (! (and @p_963 @p_964) :named @p_967)) :named @p_965)) :rule cong :premises (t376.t3 t376.t5)) (step t376.t7 (cl (not @p_965) (! (not @p_942) :named @p_966) @p_967) :rule equiv_pos2) (step t376.t8 (cl @p_967) :rule th_resolution :premises (t376.h1 t376.t6 t376.t7)) (anchor :step t376.t9 :args ((:= (veriT_vr122 A$) veriT_vr123))) (step t376.t9.t1 (cl (! (= veriT_vr122 veriT_vr123) :named @p_970)) :rule refl) (step t376.t9.t2 (cl (= @p_946 @p_969)) :rule cong :premises (t376.t9.t1)) (step t376.t9.t3 (cl @p_970) :rule refl) (step t376.t9.t4 (cl (= @p_949 @p_971)) :rule cong :premises (t376.t9.t3)) (step t376.t9.t5 (cl (= @p_951 @p_972)) :rule cong :premises (t376.t9.t4)) (step t376.t9.t6 (cl (= @p_953 @p_968)) :rule cong :premises (t376.t9.t2 t376.t9.t5)) (step t376.t9 (cl (= @p_955 (! (forall ((veriT_vr123 A$)) @p_968) :named @p_973))) :rule bind) (step t376.t10 (cl (= @p_963 (! (=> @p_941 @p_973) :named @p_974))) :rule cong :premises (t376.t9)) (step t376.t11 (cl (= @p_964 (! (=> @p_973 @p_941) :named @p_975))) :rule cong :premises (t376.t9)) (step t376.t12 (cl (! (= @p_967 (! (and @p_974 @p_975) :named @p_977)) :named @p_976)) :rule cong :premises (t376.t10 t376.t11)) (step t376.t13 (cl (not @p_976) (not @p_967) @p_977) :rule equiv_pos2) (step t376.t14 (cl @p_977) :rule th_resolution :premises (t376.t8 t376.t12 t376.t13)) (anchor :step t376.t15 :args ((:= (veriT_vr123 A$) veriT_sk14))) (step t376.t15.t1 (cl (! (= veriT_vr123 veriT_sk14) :named @p_980)) :rule refl) (step t376.t15.t2 (cl (= @p_969 (! (member$ veriT_sk14 @p_715) :named @p_979))) :rule cong :premises (t376.t15.t1)) (step t376.t15.t3 (cl @p_980) :rule refl) (step t376.t15.t4 (cl (= @p_971 (! (member$ veriT_sk14 @p_381) :named @p_981))) :rule cong :premises (t376.t15.t3)) (step t376.t15.t5 (cl (= @p_972 (! (not @p_981) :named @p_982))) :rule cong :premises (t376.t15.t4)) (step t376.t15.t6 (cl (= @p_968 (! (=> @p_979 @p_982) :named @p_978))) :rule cong :premises (t376.t15.t2 t376.t15.t5)) (step t376.t15 (cl (= @p_973 @p_978)) :rule sko_forall) (step t376.t16 (cl (= @p_975 (! (=> @p_978 @p_941) :named @p_983))) :rule cong :premises (t376.t15)) (step t376.t17 (cl (! (= @p_977 (! (and @p_974 @p_983) :named @p_985)) :named @p_984)) :rule cong :premises (t376.t16)) (step t376.t18 (cl (not @p_984) (not @p_977) @p_985) :rule equiv_pos2) (step t376.t19 (cl @p_985) :rule th_resolution :premises (t376.t14 t376.t17 t376.t18)) (anchor :step t376.t20 :args ((:= (veriT_vr123 A$) veriT_vr124))) (step t376.t20.t1 (cl (! (= veriT_vr123 veriT_vr124) :named @p_988)) :rule refl) (step t376.t20.t2 (cl (= @p_969 (! (member$ veriT_vr124 @p_715) :named @p_987))) :rule cong :premises (t376.t20.t1)) (step t376.t20.t3 (cl @p_988) :rule refl) (step t376.t20.t4 (cl (= @p_971 (! (member$ veriT_vr124 @p_381) :named @p_989))) :rule cong :premises (t376.t20.t3)) (step t376.t20.t5 (cl (= @p_972 (! (not @p_989) :named @p_990))) :rule cong :premises (t376.t20.t4)) (step t376.t20.t6 (cl (= @p_968 (! (=> @p_987 @p_990) :named @p_991))) :rule cong :premises (t376.t20.t2 t376.t20.t5)) (step t376.t20 (cl (= @p_973 (! (forall ((veriT_vr124 A$)) @p_991) :named @p_986))) :rule bind) (step t376.t21 (cl (= @p_974 (! (=> @p_941 @p_986) :named @p_992))) :rule cong :premises (t376.t20)) (step t376.t22 (cl (! (= @p_985 (! (and @p_992 @p_983) :named @p_993)) :named @p_994)) :rule cong :premises (t376.t21)) (step t376.t23 (cl (not @p_994) (not @p_985) @p_993) :rule equiv_pos2) (step t376.t24 (cl @p_993) :rule th_resolution :premises (t376.t19 t376.t22 t376.t23)) (step t376 (cl @p_966 @p_993) :rule subproof :discharge (h1)) (step t377 (cl @p_995 @p_942) :rule or :premises (t375)) (step t378 (cl (! (or @p_995 @p_993) :named @p_997) (! (not @p_995) :named @p_996)) :rule or_neg) (step t379 (cl (not @p_996) @p_357) :rule not_not) (step t380 (cl @p_997 @p_357) :rule th_resolution :premises (t379 t378)) (step t381 (cl @p_997 (! (not @p_993) :named @p_1010)) :rule or_neg) (step t382 (cl @p_997) :rule th_resolution :premises (t377 t376 t380 t381)) (step t383 (cl (or @p_735 (! (= (! (= zero$ @p_998) :named @p_1001) (! (or @p_941 (not (finite$ @p_940))) :named @p_1011)) :named @p_1012))) :rule forall_inst :args ((:= veriT_vr35 @p_940))) (step t384 (cl (or (! (not @p_156) :named @p_1015) (! (= (! (= @p_999 @p_1000) :named @p_1014) @p_1001) :named @p_1013))) :rule forall_inst :args ((:= veriT_vr28 @p_999) (:= veriT_vr29 @p_998))) (step t385 (cl (or @p_791 (! (= (! (fun_app$ @p_43 @p_939) :named @p_1019) (! (and @p_44 (! (= @p_1 (! (fun_app$b card$ @p_1002) :named @p_1055)) :named @p_1017)) :named @p_1016)) :named @p_1018))) :rule forall_inst :args ((:= veriT_vr5 @p_938))) (step t386 (cl (not @p_848) @p_1003 @p_842) :rule implies_pos) (step t387 (cl @p_1004 @p_848) :rule and_pos) (step t388 (cl @p_851 @p_849) :rule or :premises (t359)) (step t389 (cl @p_849) :rule resolution :premises (t388 t229)) (step t390 (cl @p_848) :rule resolution :premises (t387 t389)) (step t391 (cl @p_888 @p_889) :rule implies_neg1) (step t392 (cl @p_888 (! (not @p_892) :named @p_1005)) :rule implies_neg2) (step t393 (cl (not @p_1005) @p_891) :rule not_not) (step t394 (cl @p_888 @p_891) :rule th_resolution :premises (t393 t392)) (step t395 (cl (not @p_893) (not @p_888) @p_855) :rule implies_pos) (step t396 (cl @p_1006 @p_893) :rule and_pos) (step t397 (cl @p_851 @p_903) :rule or :premises (t366)) (step t398 (cl @p_903) :rule resolution :premises (t397 t229)) (step t399 (cl @p_893) :rule resolution :premises (t396 t398)) (step t400 (cl @p_930 (not @p_933)) :rule implies_neg2) (step t401 (cl @p_1007 (not @p_930) @p_910) :rule implies_pos) (step t402 (cl @p_906 @p_934) :rule or :premises (t373)) (step t403 (cl @p_934) :rule resolution :premises (t402 t208)) (step t404 (cl @p_756 @p_1008) :rule or :premises (t374)) (step t405 (cl @p_1008) :rule resolution :premises (t404 t190)) (step t406 (cl @p_978 @p_979) :rule implies_neg1) (step t407 (cl @p_978 (! (not @p_982) :named @p_1009)) :rule implies_neg2) (step t408 (cl (not @p_1009) @p_981) :rule not_not) (step t409 (cl @p_978 @p_981) :rule th_resolution :premises (t408 t407)) (step t410 (cl (not @p_983) (not @p_978) @p_941) :rule implies_pos) (step t411 (cl @p_1010 @p_983) :rule and_pos) (step t412 (cl @p_995 @p_993) :rule or :premises (t382)) (step t413 (cl @p_993) :rule resolution :premises (t412 t114)) (step t414 (cl @p_983) :rule resolution :premises (t411 t413)) (step t415 (cl @p_1011 (not @p_941)) :rule or_neg) (step t416 (cl (not @p_1012) @p_1001 (not @p_1011)) :rule equiv_pos1) (step t417 (cl @p_735 @p_1012) :rule or :premises (t383)) (step t418 (cl @p_1012) :rule resolution :premises (t417 t81)) (step t419 (cl (not @p_1013) @p_1014 (not @p_1001)) :rule equiv_pos1) (step t420 (cl @p_1015 @p_1013) :rule or :premises (t384)) (step t421 (cl @p_1013) :rule resolution :premises (t420 t69)) (step t422 (cl (! (not @p_1016) :named @p_1020) @p_1017) :rule and_pos) (step t423 (cl @p_1016 (! (not @p_44) :named @p_1131) (! (not @p_1017) :named @p_1054)) :rule and_neg) (step t424 (cl (! (not @p_1018) :named @p_1021) @p_1019 @p_1020) :rule equiv_pos1) (step t425 (cl @p_1021 (! (not @p_1019) :named @p_1121) @p_1016) :rule equiv_pos2) (step t426 (cl @p_791 @p_1018) :rule or :premises (t385)) (step t427 (cl @p_1018) :rule resolution :premises (t426 t39)) (step t428 (cl (or (! (not @p_842) :named @p_1022) (! (forall ((veriT_vr98 A$)) (or (not @p_843) @p_846)) :named @p_1023))) :rule qnt_cnf) (step t429 (cl @p_1022 @p_1023) :rule or :premises (t428)) (step t430 (cl (or (! (not @p_1023) :named @p_1024) (! (or (! (not @p_979) :named @p_1031) @p_982) :named @p_1025))) :rule forall_inst :args ((:= veriT_vr98 veriT_sk14))) (step t431 (cl @p_1024 @p_1025) :rule or :premises (t430)) (step t432 (cl (! (or @p_1022 @p_1025) :named @p_1027) (! (not @p_1022) :named @p_1026)) :rule or_neg) (step t433 (cl (not @p_1026) @p_842) :rule not_not) (step t434 (cl @p_1027 @p_842) :rule th_resolution :premises (t433 t432)) (step t435 (cl @p_1027 (! (not @p_1025) :named @p_1030)) :rule or_neg) (step t436 (cl @p_1027) :rule th_resolution :premises (t429 t431 t434 t435)) (step t437 (cl @p_1028 @p_1029) :rule or :premises (t250)) (step t438 (cl (not (! (not @p_1028) :named @p_1034)) @p_474) :rule not_not) (step t439 (cl @p_1030 @p_1031 @p_982) :rule or_pos) (step t440 (cl @p_1022 @p_1025) :rule or :premises (t436)) (step t441 (cl (or (! (not @p_1029) :named @p_1032) (! (or (! (not @p_889) :named @p_1037) @p_892) :named @p_1033))) :rule forall_inst :args ((:= veriT_vr59 veriT_sk6))) (step t442 (cl @p_1032 @p_1033) :rule or :premises (t441)) (step t443 (cl (! (or @p_1028 @p_1033) :named @p_1035) @p_1034) :rule or_neg) (step t444 (cl @p_1035 @p_474) :rule th_resolution :premises (t438 t443)) (step t445 (cl @p_1035 (! (not @p_1033) :named @p_1036)) :rule or_neg) (step t446 (cl @p_1035) :rule th_resolution :premises (t437 t442 t444 t445)) (step t447 (cl (or (! (not @p_135) :named @p_1038) (! (member$ veriT_sk11 top$) :named @p_1039))) :rule forall_inst :args ((:= veriT_vr15 veriT_sk11))) (step t448 (cl @p_1036 @p_1037 @p_892) :rule or_pos) (step t449 (cl @p_1028 @p_1033) :rule or :premises (t446)) (step t450 (cl @p_1038 @p_1039) :rule or :premises (t447)) (step t451 (cl @p_1039) :rule resolution :premises (t450 t63)) (step t452 (cl @p_1030 @p_978) :rule resolution :premises (t439 t409 t406)) (step t453 (cl @p_1040 (! (not @p_722) :named @p_1043) @p_754) :rule eq_transitive) (step t454 (cl @p_1036 @p_888) :rule resolution :premises (t448 t394 t391)) (step t455 (cl (not (! (= veriT_sk0 veriT_sk0) :named @p_1041)) (! (not (! (= @p_381 @p_721) :named @p_1045)) :named @p_1042) @p_453 @p_745) :rule eq_congruent_pred) (step t456 (cl @p_1041) :rule eq_reflexive) (step t457 (cl @p_1042 @p_453 @p_745) :rule th_resolution :premises (t455 t456)) (step t458 (cl @p_1043 @p_1040 @p_794 @p_1044 @p_1045) :rule eq_transitive) (step t459 (cl @p_1043 @p_1040 @p_794 @p_1045 @p_797) :rule th_resolution :premises (t458 t350)) (step t460 (cl @p_453 @p_745 @p_1043 @p_1040 @p_794 @p_797) :rule th_resolution :premises (t457 t459)) (step t461 (cl @p_453 @p_745 @p_1040) :rule resolution :premises (t460 t266 t268 t274)) (step t462 (cl @p_1040 @p_454) :rule resolution :premises (t461 t297 t239 t236 t299)) (step t463 (cl (not (! (= veriT_sk1 veriT_sk1) :named @p_1047)) (! (not (! (= @p_380 @p_1046) :named @p_1050)) :named @p_1048) @p_459 @p_742) :rule eq_congruent_pred) (step t464 (cl @p_1047) :rule eq_reflexive) (step t465 (cl @p_1048 @p_459 @p_742) :rule th_resolution :premises (t463 t464)) (step t466 (cl @p_797 (! (not @p_728) :named @p_1053) (not (! (= @p_1046 @p_1049) :named @p_1052)) @p_1050) :rule eq_transitive) (step t467 (cl @p_1051 @p_1052) :rule eq_congruent) (step t468 (cl @p_1052 @p_1040 @p_1043) :rule th_resolution :premises (t467 t453)) (step t469 (cl @p_797 @p_1053 @p_1050 @p_1040 @p_1043) :rule th_resolution :premises (t466 t468)) (step t470 (cl @p_459 @p_742 @p_797 @p_1053 @p_1040 @p_1043) :rule th_resolution :premises (t465 t469)) (step t471 (cl @p_459 @p_742 @p_1040) :rule resolution :premises (t470 t266 t268 t276)) (step t472 (cl @p_1054 (! (not (! (= @p_999 @p_1055) :named @p_1058)) :named @p_1119) (! (not @p_1014) :named @p_1070) (! (not @p_785) :named @p_1071) (! (not (! (= @p_1056 @p_1057) :named @p_1075)) :named @p_1072) @p_400) :rule eq_transitive) (step t473 (cl (! (not (! (= card$ card$) :named @p_1059)) :named @p_1087) (! (not (! (= @p_759 @p_1002) :named @p_1062)) :named @p_1060) @p_1058) :rule eq_congruent) (step t474 (cl @p_1059) :rule eq_reflexive) (step t475 (cl @p_1060 @p_1058) :rule th_resolution :premises (t473 t474)) (step t476 (cl (not (! (= @p_759 @p_1061) :named @p_1063)) (! (not @p_1008) :named @p_1069) @p_1062) :rule eq_transitive) (step t477 (cl (! (not (! (= @p_715 @p_715) :named @p_1064)) :named @p_1080) (! (not (! (= @p_381 @p_939) :named @p_1066)) :named @p_1065) @p_1063) :rule eq_congruent) (step t478 (cl @p_1064) :rule eq_reflexive) (step t479 (cl @p_1065 @p_1063) :rule th_resolution :premises (t477 t478)) (step t480 (cl (! (not @p_724) :named @p_1067) (! (not @p_766) :named @p_1068) @p_1066) :rule eq_transitive) (step t481 (cl @p_1063 @p_1067 @p_1068) :rule th_resolution :premises (t479 t480)) (step t482 (cl @p_1069 @p_1062 @p_1067 @p_1068) :rule th_resolution :premises (t476 t481)) (step t483 (cl @p_1058 @p_1069 @p_1067 @p_1068) :rule th_resolution :premises (t475 t482)) (step t484 (cl @p_1054 @p_1070 @p_1071 @p_1072 @p_400 @p_1069 @p_1067 @p_1068) :rule th_resolution :premises (t472 t483)) (step t485 (cl (not (! (= @p_8 @p_1073) :named @p_1078)) (! (not (! (= @p_719 @p_1074) :named @p_1086)) :named @p_1084) @p_1075) :rule eq_congruent) (step t486 (cl (! (not @p_1076) :named @p_1083) (not (! (= @p_1077 @p_1073) :named @p_1081)) @p_1078) :rule eq_transitive) (step t487 (cl (! (not @p_1079) :named @p_1082) @p_1080 @p_1081) :rule eq_congruent) (step t488 (cl @p_1082 @p_1081) :rule th_resolution :premises (t487 t478)) (step t489 (cl @p_1083 @p_1078 @p_1082) :rule th_resolution :premises (t486 t488)) (step t490 (cl @p_1084 @p_1075 @p_1083 @p_1082) :rule th_resolution :premises (t485 t489)) (step t491 (cl (! (not @p_740) :named @p_1089) (not (! (= @p_1085 @p_1074) :named @p_1088)) @p_1086) :rule eq_transitive) (step t492 (cl @p_1087 @p_1043 @p_1088) :rule eq_congruent) (step t493 (cl @p_1043 @p_1088) :rule th_resolution :premises (t492 t474)) (step t494 (cl @p_1089 @p_1086 @p_1043) :rule th_resolution :premises (t491 t493)) (step t495 (cl @p_1075 @p_1083 @p_1082 @p_1089 @p_1043) :rule th_resolution :premises (t490 t494)) (step t496 (cl @p_1054 @p_1070 @p_1071 @p_400 @p_1069 @p_1067 @p_1068 @p_1083 @p_1082 @p_1089 @p_1043) :rule th_resolution :premises (t484 t495)) -(step t497 (cl @p_1054 @p_1070 @p_400) :rule resolution :premises (t496 t270 axiom10 t319 t344 t405 t293 axiom11 t266)) +(step t497 (cl @p_1054 @p_1070 @p_400) :rule resolution :premises (t496 t270 a10 t319 t344 t405 t293 a11 t266)) (step t498 (cl (not (! (= @p_43 @p_854) :named @p_1091)) (! (not (! (= @p_21 @p_939) :named @p_1094)) :named @p_1093) @p_1019 @p_1003) :rule eq_congruent_pred) (step t499 (cl (! (not @p_1090) :named @p_1092) @p_1051 @p_1091) :rule eq_congruent) (step t500 (cl @p_1092 @p_1091 @p_1040 @p_1043) :rule th_resolution :premises (t499 t453)) (step t501 (cl @p_1093 @p_1019 @p_1003 @p_1092 @p_1040 @p_1043) :rule th_resolution :premises (t498 t500)) (step t502 (cl @p_1040 @p_1043 @p_1067 @p_1068 @p_1094) :rule eq_transitive) (step t503 (cl @p_1019 @p_1003 @p_1092 @p_1040 @p_1043 @p_1040 @p_1043 @p_1067 @p_1068) :rule th_resolution :premises (t501 t502)) (step t504 (cl @p_1019 @p_1003 @p_1092 @p_1040 @p_1043 @p_1067 @p_1068) :rule contraction :premises (t503)) -(step t505 (cl @p_1019 @p_1003 @p_1040) :rule resolution :premises (t504 axiom24 t266 t319 t270)) +(step t505 (cl @p_1019 @p_1003 @p_1040) :rule resolution :premises (t504 a24 t266 t319 t270)) (step t506 (cl (not (! (= @p_713 @p_757) :named @p_1095)) @p_773 (! (not @p_736) :named @p_1096)) :rule eq_congruent_pred) (step t507 (cl @p_1040 @p_794 @p_1095) :rule eq_transitive) (step t508 (cl @p_773 @p_1096 @p_1040 @p_794) :rule th_resolution :premises (t506 t507)) (step t509 (cl @p_773 @p_1040) :rule resolution :premises (t508 t274 t287)) (step t510 (cl @p_1040 @p_754) :rule resolution :premises (t453 t266)) (step t511 (cl (! (not (! (= @p_1097 @p_1098) :named @p_1101)) :named @p_1106) (! (not (! (= @p_713 @p_713) :named @p_1105)) :named @p_1104) @p_748 @p_1099) :rule eq_congruent_pred) (step t512 (cl (! (not @p_1100) :named @p_1103) (! (not (! (= @p_21 @p_21) :named @p_1102)) :named @p_1111) @p_1101) :rule eq_congruent) (step t513 (cl @p_1102) :rule eq_reflexive) (step t514 (cl @p_1103 @p_1101) :rule th_resolution :premises (t512 t513)) (step t515 (cl @p_1104 @p_748 @p_1099 @p_1103) :rule th_resolution :premises (t511 t514)) (step t516 (cl @p_1105) :rule eq_reflexive) (step t517 (cl @p_748 @p_1099 @p_1103) :rule th_resolution :premises (t515 t516)) -(step t518 (cl @p_748 @p_1099) :rule resolution :premises (t517 axiom18)) +(step t518 (cl @p_748 @p_1099) :rule resolution :premises (t517 a18)) (step t519 (cl rhs$) :rule resolution :premises (t471 t294 t243 t240 t246 t462 t497 t419 t416 t415 t410 t452 t422 t425 t505 t440 t282 t386 t284 t320 t328 t321 t509 t510 t301 t518 t248 t247 t296 t421 t418 t414 t427 t285 t390 t333 t323 t303)) (step t520 (cl @p_493) :rule resolution :premises (t234 t519)) (step t521 (cl @p_1099) :rule resolution :premises (t249 t519)) (step t522 (cl @p_422) :rule resolution :premises (t231 t520)) (step t523 (cl @p_400) :rule resolution :premises (t232 t520)) (step t524 (cl @p_474) :rule resolution :premises (t233 t520)) (step t525 (cl @p_733) :rule resolution :premises (t281 t522 t285)) (step t526 (cl @p_1033) :rule resolution :premises (t449 t524)) (step t527 (cl @p_7) :rule resolution :premises (t280 t525)) (step t528 (cl @p_888) :rule resolution :premises (t454 t526)) (step t529 (cl @p_855) :rule resolution :premises (t395 t528 t399)) (step t530 (cl @p_1106 @p_1104 @p_1107 @p_711) :rule eq_congruent_pred) (step t531 (cl @p_1104 @p_1107 @p_711 @p_1103) :rule th_resolution :premises (t530 t514)) (step t532 (cl @p_1107 @p_711 @p_1103) :rule th_resolution :premises (t531 t516)) -(step t533 (cl @p_1107) :rule resolution :premises (t532 axiom18 t521)) +(step t533 (cl @p_1107) :rule resolution :premises (t532 a18 t521)) (step t534 (cl (! (not (! (= @p_854 @p_854) :named @p_1110)) :named @p_1108) (not @p_796) @p_762 (! (not @p_855) :named @p_1109)) :rule eq_congruent_pred) (step t535 (cl @p_1108 @p_762 @p_1109 @p_794 @p_795 @p_797) :rule th_resolution :premises (t534 t351)) (step t536 (cl @p_1110) :rule eq_reflexive) (step t537 (cl @p_762 @p_1109 @p_794 @p_795 @p_797) :rule th_resolution :premises (t535 t536)) (step t538 (cl @p_762) :rule resolution :premises (t537 t268 t272 t274 t529)) (step t539 (cl @p_1040) :rule resolution :premises (t300 t533 t303)) (step t540 (cl @p_842) :rule resolution :premises (t386 t538 t390)) (step t541 (cl @p_1025) :rule resolution :premises (t440 t540)) (step t542 (cl @p_978) :rule resolution :premises (t452 t541)) (step t543 (cl @p_941) :rule resolution :premises (t410 t542 t414)) (step t544 (cl @p_1011) :rule resolution :premises (t415 t543)) (step t545 (cl @p_1001) :rule resolution :premises (t416 t544 t418)) (step t546 (cl @p_1014) :rule resolution :premises (t419 t545 t421)) (step t547 (cl @p_1111 @p_1051 @p_1043 @p_749) :rule eq_transitive) (step t548 (cl @p_1051 @p_1043 @p_749) :rule th_resolution :premises (t547 t513)) (step t549 (cl @p_1051) :rule resolution :premises (t548 t266 t539)) (step t550 (cl @p_708 @p_1072 @p_1071 @p_1070 (not (! (= @p_1112 @p_999) :named @p_1113)) @p_778) :rule eq_transitive) (step t551 (cl @p_1087 (! (not (! (= @p_758 @p_759) :named @p_1116)) :named @p_1114) @p_1113) :rule eq_congruent) (step t552 (cl @p_1114 @p_1113) :rule th_resolution :premises (t551 t474)) (step t553 (cl (! (not @p_771) :named @p_1118) (! (not (! (= @p_759 @p_1115) :named @p_1117)) :named @p_1127) @p_1116) :rule eq_transitive) (step t554 (cl @p_1080 @p_1043 @p_1117) :rule eq_congruent) (step t555 (cl @p_1043 @p_1117) :rule th_resolution :premises (t554 t478)) (step t556 (cl @p_1118 @p_1116 @p_1043) :rule th_resolution :premises (t553 t555)) (step t557 (cl @p_1113 @p_1118 @p_1043) :rule th_resolution :premises (t552 t556)) (step t558 (cl @p_708 @p_1072 @p_1071 @p_1070 @p_778 @p_1118 @p_1043) :rule th_resolution :premises (t550 t557)) (step t559 (cl @p_708 @p_1071 @p_1070 @p_778 @p_1118 @p_1043 @p_1083 @p_1082 @p_1089 @p_1043) :rule th_resolution :premises (t558 t495)) (step t560 (cl @p_708 @p_1071 @p_1070 @p_778 @p_1118 @p_1043 @p_1083 @p_1082 @p_1089) :rule contraction :premises (t559)) -(step t561 (cl @p_778) :rule resolution :premises (t560 axiom11 t523 t266 t293 t327 t344 axiom10 t546)) +(step t561 (cl @p_778) :rule resolution :premises (t560 a11 t523 t266 t293 t327 t344 a10 t546)) (step t562 (cl @p_708 @p_1072 @p_1071 @p_1070 @p_1119 @p_1017) :rule eq_transitive) (step t563 (cl @p_708 @p_1072 @p_1071 @p_1070 @p_1017 @p_1069 @p_1067 @p_1068) :rule th_resolution :premises (t562 t483)) (step t564 (cl @p_708 @p_1071 @p_1070 @p_1017 @p_1069 @p_1067 @p_1068 @p_1083 @p_1082 @p_1089 @p_1043) :rule th_resolution :premises (t563 t495)) -(step t565 (cl @p_1017) :rule resolution :premises (t564 axiom11 t523 t266 t270 axiom10 t319 t344 t405 t546 t293)) +(step t565 (cl @p_1017) :rule resolution :premises (t564 a11 t523 t266 t270 a10 t319 t344 t405 t546 t293)) (step t566 (cl @p_767) :rule resolution :premises (t315 t549 t317)) (step t567 (cl @p_777) :rule resolution :premises (t334 t561 t527)) (step t568 (cl @p_1120) :rule resolution :premises (t314 t566 t538)) (step t569 (cl @p_780) :rule resolution :premises (t335 t567 t337)) (step t570 (cl (! (not (! (= @p_43 @p_907) :named @p_1123)) :named @p_1122) @p_1065 @p_1121 @p_763) :rule eq_congruent_pred) (step t571 (cl @p_1122 @p_1121 @p_763 @p_1067 @p_1068) :rule th_resolution :premises (t570 t480)) (step t572 (cl @p_1092 @p_1111 @p_1123) :rule eq_congruent) (step t573 (cl @p_1092 @p_1123) :rule th_resolution :premises (t572 t513)) (step t574 (cl @p_1121 @p_763 @p_1067 @p_1068 @p_1092) :rule th_resolution :premises (t571 t573)) -(step t575 (cl @p_1121) :rule resolution :premises (t574 axiom24 t270 t568 t319)) +(step t575 (cl @p_1121) :rule resolution :premises (t574 a24 t270 t568 t319)) (step t576 (cl (not (! (= veriT_sk11 veriT_sk11) :named @p_1124)) (! (not (! (= top$ @p_760) :named @p_1128)) :named @p_1125) @p_933 (! (not @p_1039) :named @p_1126)) :rule eq_congruent_pred) (step t577 (cl @p_1124) :rule eq_reflexive) (step t578 (cl @p_1125 @p_933 @p_1126) :rule th_resolution :premises (t576 t577)) (step t579 (cl (! (not @p_780) :named @p_1129) @p_1118 @p_1127 (! (not @p_770) :named @p_1130) @p_1128) :rule eq_transitive) (step t580 (cl @p_1129 @p_1118 @p_1130 @p_1128 @p_1043) :rule th_resolution :premises (t579 t555)) (step t581 (cl @p_933 @p_1126 @p_1129 @p_1118 @p_1130 @p_1043) :rule th_resolution :premises (t578 t580)) (step t582 (cl @p_933) :rule resolution :premises (t581 t266 t325 t327 t569 t451)) (step t583 (cl @p_1020) :rule resolution :premises (t424 t575 t427)) (step t584 (cl @p_930) :rule resolution :premises (t400 t582)) (step t585 (cl @p_1131) :rule resolution :premises (t423 t583 t565)) (step t586 (cl @p_910) :rule resolution :premises (t401 t584 t403)) (step t587 (cl @p_1132) :rule resolution :premises (t345 t585)) (step t588 (cl @p_1133) :rule resolution :premises (t346 t587 t348)) (step t589 (cl @p_1122 (! (not (! (= @p_760 @p_760) :named @p_1136)) :named @p_1134) (! (not @p_910) :named @p_1135) @p_790) :rule eq_congruent_pred) (step t590 (cl @p_1134 @p_1135 @p_790 @p_1092) :rule th_resolution :premises (t589 t573)) (step t591 (cl @p_1136) :rule eq_reflexive) (step t592 (cl @p_1135 @p_790 @p_1092) :rule th_resolution :premises (t590 t591)) -(step t593 (cl) :rule resolution :premises (t592 axiom24 t588 t586)) -d8bde960a6a2cb3d70d1b157d08487440b364301 654 0 +(step t593 (cl) :rule resolution :premises (t592 a24 t588 t586)) +7d1d28af77b48e47cf45f7abbbccb64bffffc3f9 6 0 unsat -(assume axiom0 (! (forall ((?v0 Int)) (! (= (! (fun_app$ uua$ ?v0) :named @p_13) (! (line_integral_exists$ f$ (! (insert$ j$ bot$) :named @p_7)) :named @p_12)) :named @p_15)) :named @p_11)) -(assume axiom1 (! (forall ((?v0 Int)) (! (= (! (fun_app$ uu$ ?v0) :named @p_25) (! (line_integral_exists$ f$ (! (insert$ i$ bot$) :named @p_5)) :named @p_24)) :named @p_27)) :named @p_23)) -(assume axiom2 (! (forall ((?v0 Int_real_real_real_prod_fun_bool_fun_fun$) (?v1 Int_real_real_real_prod_fun_prod$)) (! (= (! (case_prod$ ?v0 ?v1) :named @p_36) (! (fun_app$a (! (fun_app$ ?v0 (! (fst$ ?v1) :named @p_40)) :named @p_42) (! (snd$ ?v1) :named @p_44)) :named @p_46)) :named @p_48)) :named @p_35)) -(assume axiom3 (! (forall ((?v0 Real_real_prod$) (?v1 Real_real_prod$)) (! (=> (! (= (! (insert$ ?v0 bot$) :named @p_3) (! (insert$ ?v1 bot$) :named @p_64)) :named @p_66) (! (= ?v0 ?v1) :named @p_70)) :named @p_72)) :named @p_62)) -(assume axiom4 (! (forall ((?v0 Int) (?v1 Real_real_real_prod_fun$)) (! (= ?v1 (! (snd$ (! (pair$ ?v0 ?v1) :named @p_87)) :named @p_89)) :named @p_91)) :named @p_85)) -(assume axiom5 (! (forall ((?v0 Real) (?v1 Real)) (! (= ?v1 (! (snd$a (! (fun_app$b (! (pair$a ?v0) :named @p_102) ?v1) :named @p_105)) :named @p_107)) :named @p_109)) :named @p_101)) -(assume axiom6 (! (member$ (! (pair$ k$ g$) :named @p_403) one_chain_typeI$) :named @p_402)) -(assume axiom7 (! (forall ((?v0 Real_real_prod_set$) (?v1 Real_real_prod$) (?v2 Real_real_prod_set$)) (! (= (! (= bot$ (! (inf$ ?v0 (! (insert$ ?v1 ?v2) :named @p_1)) :named @p_122)) :named @p_124) (! (and (! (not (! (member$a ?v1 ?v0) :named @p_128)) :named @p_130) (! (= bot$ (! (inf$ ?v0 ?v2) :named @p_133)) :named @p_135)) :named @p_137)) :named @p_139)) :named @p_120)) -(assume axiom8 (! (finite$ bot$) :named @p_414)) -(assume axiom9 (! (forall ((?v0 Real_real_prod_set$) (?v1 Real_real_prod$)) (! (=> (! (finite$ ?v0) :named @p_4) (! (finite$ (! (insert$ ?v1 ?v0) :named @p_160)) :named @p_162)) :named @p_164)) :named @p_157)) -(assume axiom10 (! (= i$ (! (fun_app$b (pair$a 1.0) 0.0) :named @p_417)) :named @p_499)) -(assume axiom11 (! (forall ((?v0 Real_real_prod$) (?v1 Real_real_prod_set$)) (! (=> (! (member$a ?v0 ?v1) :named @p_176) (! (= ?v1 (! (insert$ ?v0 ?v1) :named @p_2)) :named @p_181)) :named @p_183)) :named @p_175)) -(assume axiom12 (! (= j$ (! (fun_app$b (pair$a 0.0) 1.0) :named @p_419)) :named @p_500)) -(assume axiom13 (! (forall ((?v0 Real_real_prod_set$)) (! (= bot$ (! (inf$ ?v0 bot$) :named @p_196)) :named @p_198)) :named @p_195)) -(assume axiom14 (! (forall ((?v0 Real_real_prod$) (?v1 Real_real_prod$) (?v2 Real_real_prod_set$)) (! (= (! (insert$ ?v0 @p_1) :named @p_208) (! (insert$ ?v1 (! (insert$ ?v0 ?v2) :named @p_213)) :named @p_215)) :named @p_217)) :named @p_206)) -(assume axiom15 (! (forall ((?v0 Real_real_prod$) (?v1 Real_real_prod_set$)) (! (= @p_2 (! (sup$ @p_3 ?v1) :named @p_236)) :named @p_238)) :named @p_231)) -(assume axiom16 (! (forall ((?v0 Real_real_prod_set$) (?v1 Real_real_prod_real_real_prod_fun$) (?v2 Real_real_prod_set$) (?v3 Real_real_real_prod_fun$) (?v4 Real_real_prod_set$)) (! (=> (! (and @p_4 (! (and (! (fun_app$a (! (line_integral_exists$ ?v1 ?v2) :named @p_252) ?v3) :named @p_254) (! (and (! (fun_app$a (! (line_integral_exists$ ?v1 ?v4) :named @p_257) ?v3) :named @p_260) (! (and (! (= ?v0 (! (sup$ ?v2 ?v4) :named @p_265)) :named @p_267) (! (= bot$ (! (inf$ ?v2 ?v4) :named @p_269)) :named @p_271)) :named @p_273)) :named @p_275)) :named @p_277)) :named @p_279) (! (= (! (line_integral$ ?v1 ?v0 ?v3) :named @p_281) (! (+ (! (line_integral$ ?v1 ?v2 ?v3) :named @p_283) (! (line_integral$ ?v1 ?v4 ?v3) :named @p_285)) :named @p_287)) :named @p_289)) :named @p_291)) :named @p_250)) -(assume axiom17 (! (and (! (= (one_chain_line_integral$ f$ @p_5 one_chain_typeI$) (one_chain_line_integral$ f$ @p_5 one_chain_typeII$)) :named @p_337) (! (and (! (forall ((?v0 Int_real_real_real_prod_fun_prod$)) (! (=> (! (member$ ?v0 one_chain_typeI$) :named @p_9) (! (case_prod$ uu$ ?v0) :named @p_6)) :named @p_326)) :named @p_322) (! (forall ((?v0 Int_real_real_real_prod_fun_prod$)) (! (=> (! (member$ ?v0 one_chain_typeII$) :named @p_8) @p_6) :named @p_331)) :named @p_328)) :named @p_333)) :named @p_336)) -(assume axiom18 (! (and (! (= (one_chain_line_integral$ f$ @p_7 one_chain_typeII$) (one_chain_line_integral$ f$ @p_7 one_chain_typeI$)) :named @p_377) (! (and (! (forall ((?v0 Int_real_real_real_prod_fun_prod$)) (! (=> @p_8 (! (case_prod$ uua$ ?v0) :named @p_10)) :named @p_366)) :named @p_362) (! (forall ((?v0 Int_real_real_real_prod_fun_prod$)) (! (=> @p_9 @p_10) :named @p_371)) :named @p_368)) :named @p_373)) :named @p_376)) -(assume axiom19 (not (! (= (! (line_integral$ f$ (! (insert$ i$ @p_7) :named @p_407) g$) :named @p_462) (! (+ (! (line_integral$ f$ @p_5 g$) :named @p_404) (! (line_integral$ f$ @p_7 g$) :named @p_405)) :named @p_463)) :named @p_410))) -(anchor :step t21 :args ((:= (?v0 Int) veriT_vr0))) -(step t21.t1 (cl (= ?v0 veriT_vr0)) :rule refl) -(step t21.t2 (cl (= @p_13 (! (fun_app$ uua$ veriT_vr0) :named @p_14))) :rule cong :premises (t21.t1)) -(step t21.t3 (cl (= @p_15 (! (= @p_12 @p_14) :named @p_16))) :rule cong :premises (t21.t2)) -(step t21 (cl (! (= @p_11 (! (forall ((veriT_vr0 Int)) @p_16) :named @p_18)) :named @p_17)) :rule bind) -(step t22 (cl (not @p_17) (not @p_11) @p_18) :rule equiv_pos2) -(step t23 (cl @p_18) :rule th_resolution :premises (axiom0 t21 t22)) -(anchor :step t24 :args ((:= (veriT_vr0 Int) veriT_vr1))) -(step t24.t1 (cl (= veriT_vr0 veriT_vr1)) :rule refl) -(step t24.t2 (cl (= @p_14 (! (fun_app$ uua$ veriT_vr1) :named @p_19))) :rule cong :premises (t24.t1)) -(step t24.t3 (cl (= @p_16 (! (= @p_12 @p_19) :named @p_20))) :rule cong :premises (t24.t2)) -(step t24 (cl (! (= @p_18 (! (forall ((veriT_vr1 Int)) @p_20) :named @p_22)) :named @p_21)) :rule bind) -(step t25 (cl (not @p_21) (not @p_18) @p_22) :rule equiv_pos2) -(step t26 (cl @p_22) :rule th_resolution :premises (t23 t24 t25)) -(anchor :step t27 :args ((:= (?v0 Int) veriT_vr2))) -(step t27.t1 (cl (= ?v0 veriT_vr2)) :rule refl) -(step t27.t2 (cl (= @p_25 (! (fun_app$ uu$ veriT_vr2) :named @p_26))) :rule cong :premises (t27.t1)) -(step t27.t3 (cl (= @p_27 (! (= @p_24 @p_26) :named @p_28))) :rule cong :premises (t27.t2)) -(step t27 (cl (! (= @p_23 (! (forall ((veriT_vr2 Int)) @p_28) :named @p_30)) :named @p_29)) :rule bind) -(step t28 (cl (not @p_29) (not @p_23) @p_30) :rule equiv_pos2) -(step t29 (cl @p_30) :rule th_resolution :premises (axiom1 t27 t28)) -(anchor :step t30 :args ((:= (veriT_vr2 Int) veriT_vr3))) -(step t30.t1 (cl (= veriT_vr2 veriT_vr3)) :rule refl) -(step t30.t2 (cl (= @p_26 (! (fun_app$ uu$ veriT_vr3) :named @p_31))) :rule cong :premises (t30.t1)) -(step t30.t3 (cl (= @p_28 (! (= @p_24 @p_31) :named @p_32))) :rule cong :premises (t30.t2)) -(step t30 (cl (! (= @p_30 (! (forall ((veriT_vr3 Int)) @p_32) :named @p_34)) :named @p_33)) :rule bind) -(step t31 (cl (not @p_33) (not @p_30) @p_34) :rule equiv_pos2) -(step t32 (cl @p_34) :rule th_resolution :premises (t29 t30 t31)) -(anchor :step t33 :args ((:= (?v0 Int_real_real_real_prod_fun_bool_fun_fun$) veriT_vr4) (:= (?v1 Int_real_real_real_prod_fun_prod$) veriT_vr5))) -(step t33.t1 (cl (! (= ?v0 veriT_vr4) :named @p_38)) :rule refl) -(step t33.t2 (cl (! (= ?v1 veriT_vr5) :named @p_39)) :rule refl) -(step t33.t3 (cl (= @p_36 (! (case_prod$ veriT_vr4 veriT_vr5) :named @p_37))) :rule cong :premises (t33.t1 t33.t2)) -(step t33.t4 (cl @p_38) :rule refl) -(step t33.t5 (cl @p_39) :rule refl) -(step t33.t6 (cl (= @p_40 (! (fst$ veriT_vr5) :named @p_41))) :rule cong :premises (t33.t5)) -(step t33.t7 (cl (= @p_42 (! (fun_app$ veriT_vr4 @p_41) :named @p_43))) :rule cong :premises (t33.t4 t33.t6)) -(step t33.t8 (cl @p_39) :rule refl) -(step t33.t9 (cl (= @p_44 (! (snd$ veriT_vr5) :named @p_45))) :rule cong :premises (t33.t8)) -(step t33.t10 (cl (= @p_46 (! (fun_app$a @p_43 @p_45) :named @p_47))) :rule cong :premises (t33.t7 t33.t9)) -(step t33.t11 (cl (= @p_48 (! (= @p_37 @p_47) :named @p_49))) :rule cong :premises (t33.t3 t33.t10)) -(step t33 (cl (! (= @p_35 (! (forall ((veriT_vr4 Int_real_real_real_prod_fun_bool_fun_fun$) (veriT_vr5 Int_real_real_real_prod_fun_prod$)) @p_49) :named @p_51)) :named @p_50)) :rule bind) -(step t34 (cl (not @p_50) (not @p_35) @p_51) :rule equiv_pos2) -(step t35 (cl @p_51) :rule th_resolution :premises (axiom2 t33 t34)) -(anchor :step t36 :args ((:= (veriT_vr4 Int_real_real_real_prod_fun_bool_fun_fun$) veriT_vr6) (:= (veriT_vr5 Int_real_real_real_prod_fun_prod$) veriT_vr7))) -(step t36.t1 (cl (! (= veriT_vr4 veriT_vr6) :named @p_53)) :rule refl) -(step t36.t2 (cl (! (= veriT_vr5 veriT_vr7) :named @p_54)) :rule refl) -(step t36.t3 (cl (= @p_37 (! (case_prod$ veriT_vr6 veriT_vr7) :named @p_52))) :rule cong :premises (t36.t1 t36.t2)) -(step t36.t4 (cl @p_53) :rule refl) -(step t36.t5 (cl @p_54) :rule refl) -(step t36.t6 (cl (= @p_41 (! (fst$ veriT_vr7) :named @p_55))) :rule cong :premises (t36.t5)) -(step t36.t7 (cl (= @p_43 (! (fun_app$ veriT_vr6 @p_55) :named @p_56))) :rule cong :premises (t36.t4 t36.t6)) -(step t36.t8 (cl @p_54) :rule refl) -(step t36.t9 (cl (= @p_45 (! (snd$ veriT_vr7) :named @p_57))) :rule cong :premises (t36.t8)) -(step t36.t10 (cl (= @p_47 (! (fun_app$a @p_56 @p_57) :named @p_58))) :rule cong :premises (t36.t7 t36.t9)) -(step t36.t11 (cl (= @p_49 (! (= @p_52 @p_58) :named @p_59))) :rule cong :premises (t36.t3 t36.t10)) -(step t36 (cl (! (= @p_51 (! (forall ((veriT_vr6 Int_real_real_real_prod_fun_bool_fun_fun$) (veriT_vr7 Int_real_real_real_prod_fun_prod$)) @p_59) :named @p_61)) :named @p_60)) :rule bind) -(step t37 (cl (not @p_60) (not @p_51) @p_61) :rule equiv_pos2) -(step t38 (cl @p_61) :rule th_resolution :premises (t35 t36 t37)) -(anchor :step t39 :args ((:= (?v0 Real_real_prod$) veriT_vr8) (:= (?v1 Real_real_prod$) veriT_vr9))) -(step t39.t1 (cl (! (= ?v0 veriT_vr8) :named @p_68)) :rule refl) -(step t39.t2 (cl (= @p_3 (! (insert$ veriT_vr8 bot$) :named @p_63))) :rule cong :premises (t39.t1)) -(step t39.t3 (cl (! (= ?v1 veriT_vr9) :named @p_69)) :rule refl) -(step t39.t4 (cl (= @p_64 (! (insert$ veriT_vr9 bot$) :named @p_65))) :rule cong :premises (t39.t3)) -(step t39.t5 (cl (= @p_66 (! (= @p_63 @p_65) :named @p_67))) :rule cong :premises (t39.t2 t39.t4)) -(step t39.t6 (cl @p_68) :rule refl) -(step t39.t7 (cl @p_69) :rule refl) -(step t39.t8 (cl (= @p_70 (! (= veriT_vr8 veriT_vr9) :named @p_71))) :rule cong :premises (t39.t6 t39.t7)) -(step t39.t9 (cl (= @p_72 (! (=> @p_67 @p_71) :named @p_73))) :rule cong :premises (t39.t5 t39.t8)) -(step t39 (cl (! (= @p_62 (! (forall ((veriT_vr8 Real_real_prod$) (veriT_vr9 Real_real_prod$)) @p_73) :named @p_75)) :named @p_74)) :rule bind) -(step t40 (cl (not @p_74) (not @p_62) @p_75) :rule equiv_pos2) -(step t41 (cl @p_75) :rule th_resolution :premises (axiom3 t39 t40)) -(anchor :step t42 :args ((:= (veriT_vr8 Real_real_prod$) veriT_vr10) (:= (veriT_vr9 Real_real_prod$) veriT_vr11))) -(step t42.t1 (cl (! (= veriT_vr8 veriT_vr10) :named @p_79)) :rule refl) -(step t42.t2 (cl (= @p_63 (! (insert$ veriT_vr10 bot$) :named @p_76))) :rule cong :premises (t42.t1)) -(step t42.t3 (cl (! (= veriT_vr9 veriT_vr11) :named @p_80)) :rule refl) -(step t42.t4 (cl (= @p_65 (! (insert$ veriT_vr11 bot$) :named @p_77))) :rule cong :premises (t42.t3)) -(step t42.t5 (cl (= @p_67 (! (= @p_76 @p_77) :named @p_78))) :rule cong :premises (t42.t2 t42.t4)) -(step t42.t6 (cl @p_79) :rule refl) -(step t42.t7 (cl @p_80) :rule refl) -(step t42.t8 (cl (= @p_71 (! (= veriT_vr10 veriT_vr11) :named @p_81))) :rule cong :premises (t42.t6 t42.t7)) -(step t42.t9 (cl (= @p_73 (! (=> @p_78 @p_81) :named @p_82))) :rule cong :premises (t42.t5 t42.t8)) -(step t42 (cl (! (= @p_75 (! (forall ((veriT_vr10 Real_real_prod$) (veriT_vr11 Real_real_prod$)) @p_82) :named @p_84)) :named @p_83)) :rule bind) -(step t43 (cl (not @p_83) (not @p_75) @p_84) :rule equiv_pos2) -(step t44 (cl @p_84) :rule th_resolution :premises (t41 t42 t43)) -(anchor :step t45 :args ((:= (?v0 Int) veriT_vr12) (:= (?v1 Real_real_real_prod_fun$) veriT_vr13))) -(step t45.t1 (cl (! (= ?v1 veriT_vr13) :named @p_86)) :rule refl) -(step t45.t2 (cl (= ?v0 veriT_vr12)) :rule refl) -(step t45.t3 (cl @p_86) :rule refl) -(step t45.t4 (cl (= @p_87 (! (pair$ veriT_vr12 veriT_vr13) :named @p_88))) :rule cong :premises (t45.t2 t45.t3)) -(step t45.t5 (cl (= @p_89 (! (snd$ @p_88) :named @p_90))) :rule cong :premises (t45.t4)) -(step t45.t6 (cl (= @p_91 (! (= veriT_vr13 @p_90) :named @p_92))) :rule cong :premises (t45.t1 t45.t5)) -(step t45 (cl (! (= @p_85 (! (forall ((veriT_vr12 Int) (veriT_vr13 Real_real_real_prod_fun$)) @p_92) :named @p_94)) :named @p_93)) :rule bind) -(step t46 (cl (not @p_93) (not @p_85) @p_94) :rule equiv_pos2) -(step t47 (cl @p_94) :rule th_resolution :premises (axiom4 t45 t46)) -(anchor :step t48 :args ((:= (veriT_vr12 Int) veriT_vr14) (:= (veriT_vr13 Real_real_real_prod_fun$) veriT_vr15))) -(step t48.t1 (cl (! (= veriT_vr13 veriT_vr15) :named @p_95)) :rule refl) -(step t48.t2 (cl (= veriT_vr12 veriT_vr14)) :rule refl) -(step t48.t3 (cl @p_95) :rule refl) -(step t48.t4 (cl (= @p_88 (! (pair$ veriT_vr14 veriT_vr15) :named @p_96))) :rule cong :premises (t48.t2 t48.t3)) -(step t48.t5 (cl (= @p_90 (! (snd$ @p_96) :named @p_97))) :rule cong :premises (t48.t4)) -(step t48.t6 (cl (= @p_92 (! (= veriT_vr15 @p_97) :named @p_98))) :rule cong :premises (t48.t1 t48.t5)) -(step t48 (cl (! (= @p_94 (! (forall ((veriT_vr14 Int) (veriT_vr15 Real_real_real_prod_fun$)) @p_98) :named @p_100)) :named @p_99)) :rule bind) -(step t49 (cl (not @p_99) (not @p_94) @p_100) :rule equiv_pos2) -(step t50 (cl @p_100) :rule th_resolution :premises (t47 t48 t49)) -(anchor :step t51 :args ((:= (?v0 Real) veriT_vr16) (:= (?v1 Real) veriT_vr17))) -(step t51.t1 (cl (! (= ?v1 veriT_vr17) :named @p_104)) :rule refl) -(step t51.t2 (cl (= ?v0 veriT_vr16)) :rule refl) -(step t51.t3 (cl (= @p_102 (! (pair$a veriT_vr16) :named @p_103))) :rule cong :premises (t51.t2)) -(step t51.t4 (cl @p_104) :rule refl) -(step t51.t5 (cl (= @p_105 (! (fun_app$b @p_103 veriT_vr17) :named @p_106))) :rule cong :premises (t51.t3 t51.t4)) -(step t51.t6 (cl (= @p_107 (! (snd$a @p_106) :named @p_108))) :rule cong :premises (t51.t5)) -(step t51.t7 (cl (= @p_109 (! (= veriT_vr17 @p_108) :named @p_110))) :rule cong :premises (t51.t1 t51.t6)) -(step t51 (cl (! (= @p_101 (! (forall ((veriT_vr16 Real) (veriT_vr17 Real)) @p_110) :named @p_112)) :named @p_111)) :rule bind) -(step t52 (cl (not @p_111) (not @p_101) @p_112) :rule equiv_pos2) -(step t53 (cl @p_112) :rule th_resolution :premises (axiom5 t51 t52)) -(anchor :step t54 :args ((:= (veriT_vr16 Real) veriT_vr18) (:= (veriT_vr17 Real) veriT_vr19))) -(step t54.t1 (cl (! (= veriT_vr17 veriT_vr19) :named @p_114)) :rule refl) -(step t54.t2 (cl (= veriT_vr16 veriT_vr18)) :rule refl) -(step t54.t3 (cl (= @p_103 (! (pair$a veriT_vr18) :named @p_113))) :rule cong :premises (t54.t2)) -(step t54.t4 (cl @p_114) :rule refl) -(step t54.t5 (cl (= @p_106 (! (fun_app$b @p_113 veriT_vr19) :named @p_115))) :rule cong :premises (t54.t3 t54.t4)) -(step t54.t6 (cl (= @p_108 (! (snd$a @p_115) :named @p_116))) :rule cong :premises (t54.t5)) -(step t54.t7 (cl (= @p_110 (! (= veriT_vr19 @p_116) :named @p_117))) :rule cong :premises (t54.t1 t54.t6)) -(step t54 (cl (! (= @p_112 (! (forall ((veriT_vr18 Real) (veriT_vr19 Real)) @p_117) :named @p_119)) :named @p_118)) :rule bind) -(step t55 (cl (not @p_118) (not @p_112) @p_119) :rule equiv_pos2) -(step t56 (cl @p_119) :rule th_resolution :premises (t53 t54 t55)) -(anchor :step t57 :args ((:= (?v0 Real_real_prod_set$) veriT_vr20) (:= (?v1 Real_real_prod$) veriT_vr21) (:= (?v2 Real_real_prod_set$) veriT_vr22))) -(step t57.t1 (cl (! (= ?v0 veriT_vr20) :named @p_127)) :rule refl) -(step t57.t2 (cl (! (= ?v1 veriT_vr21) :named @p_126)) :rule refl) -(step t57.t3 (cl (! (= ?v2 veriT_vr22) :named @p_132)) :rule refl) -(step t57.t4 (cl (= @p_1 (! (insert$ veriT_vr21 veriT_vr22) :named @p_121))) :rule cong :premises (t57.t2 t57.t3)) -(step t57.t5 (cl (= @p_122 (! (inf$ veriT_vr20 @p_121) :named @p_123))) :rule cong :premises (t57.t1 t57.t4)) -(step t57.t6 (cl (= @p_124 (! (= bot$ @p_123) :named @p_125))) :rule cong :premises (t57.t5)) -(step t57.t7 (cl @p_126) :rule refl) -(step t57.t8 (cl @p_127) :rule refl) -(step t57.t9 (cl (= @p_128 (! (member$a veriT_vr21 veriT_vr20) :named @p_129))) :rule cong :premises (t57.t7 t57.t8)) -(step t57.t10 (cl (= @p_130 (! (not @p_129) :named @p_131))) :rule cong :premises (t57.t9)) -(step t57.t11 (cl @p_127) :rule refl) -(step t57.t12 (cl @p_132) :rule refl) -(step t57.t13 (cl (= @p_133 (! (inf$ veriT_vr20 veriT_vr22) :named @p_134))) :rule cong :premises (t57.t11 t57.t12)) -(step t57.t14 (cl (= @p_135 (! (= bot$ @p_134) :named @p_136))) :rule cong :premises (t57.t13)) -(step t57.t15 (cl (= @p_137 (! (and @p_131 @p_136) :named @p_138))) :rule cong :premises (t57.t10 t57.t14)) -(step t57.t16 (cl (= @p_139 (! (= @p_125 @p_138) :named @p_140))) :rule cong :premises (t57.t6 t57.t15)) -(step t57 (cl (! (= @p_120 (! (forall ((veriT_vr20 Real_real_prod_set$) (veriT_vr21 Real_real_prod$) (veriT_vr22 Real_real_prod_set$)) @p_140) :named @p_142)) :named @p_141)) :rule bind) -(step t58 (cl (not @p_141) (not @p_120) @p_142) :rule equiv_pos2) -(step t59 (cl @p_142) :rule th_resolution :premises (axiom7 t57 t58)) -(anchor :step t60 :args ((:= (veriT_vr20 Real_real_prod_set$) veriT_vr23) (:= (veriT_vr21 Real_real_prod$) veriT_vr24) (:= (veriT_vr22 Real_real_prod_set$) veriT_vr25))) -(step t60.t1 (cl (! (= veriT_vr20 veriT_vr23) :named @p_147)) :rule refl) -(step t60.t2 (cl (! (= veriT_vr21 veriT_vr24) :named @p_146)) :rule refl) -(step t60.t3 (cl (! (= veriT_vr22 veriT_vr25) :named @p_150)) :rule refl) -(step t60.t4 (cl (= @p_121 (! (insert$ veriT_vr24 veriT_vr25) :named @p_143))) :rule cong :premises (t60.t2 t60.t3)) -(step t60.t5 (cl (= @p_123 (! (inf$ veriT_vr23 @p_143) :named @p_144))) :rule cong :premises (t60.t1 t60.t4)) -(step t60.t6 (cl (= @p_125 (! (= bot$ @p_144) :named @p_145))) :rule cong :premises (t60.t5)) -(step t60.t7 (cl @p_146) :rule refl) -(step t60.t8 (cl @p_147) :rule refl) -(step t60.t9 (cl (= @p_129 (! (member$a veriT_vr24 veriT_vr23) :named @p_148))) :rule cong :premises (t60.t7 t60.t8)) -(step t60.t10 (cl (= @p_131 (! (not @p_148) :named @p_149))) :rule cong :premises (t60.t9)) -(step t60.t11 (cl @p_147) :rule refl) -(step t60.t12 (cl @p_150) :rule refl) -(step t60.t13 (cl (= @p_134 (! (inf$ veriT_vr23 veriT_vr25) :named @p_151))) :rule cong :premises (t60.t11 t60.t12)) -(step t60.t14 (cl (= @p_136 (! (= bot$ @p_151) :named @p_152))) :rule cong :premises (t60.t13)) -(step t60.t15 (cl (= @p_138 (! (and @p_149 @p_152) :named @p_153))) :rule cong :premises (t60.t10 t60.t14)) -(step t60.t16 (cl (= @p_140 (! (= @p_145 @p_153) :named @p_154))) :rule cong :premises (t60.t6 t60.t15)) -(step t60 (cl (! (= @p_142 (! (forall ((veriT_vr23 Real_real_prod_set$) (veriT_vr24 Real_real_prod$) (veriT_vr25 Real_real_prod_set$)) @p_154) :named @p_156)) :named @p_155)) :rule bind) -(step t61 (cl (not @p_155) (not @p_142) @p_156) :rule equiv_pos2) -(step t62 (cl @p_156) :rule th_resolution :premises (t59 t60 t61)) -(anchor :step t63 :args ((:= (?v0 Real_real_prod_set$) veriT_vr26) (:= (?v1 Real_real_prod$) veriT_vr27))) -(step t63.t1 (cl (! (= ?v0 veriT_vr26) :named @p_159)) :rule refl) -(step t63.t2 (cl (= @p_4 (! (finite$ veriT_vr26) :named @p_158))) :rule cong :premises (t63.t1)) -(step t63.t3 (cl (= ?v1 veriT_vr27)) :rule refl) -(step t63.t4 (cl @p_159) :rule refl) -(step t63.t5 (cl (= @p_160 (! (insert$ veriT_vr27 veriT_vr26) :named @p_161))) :rule cong :premises (t63.t3 t63.t4)) -(step t63.t6 (cl (= @p_162 (! (finite$ @p_161) :named @p_163))) :rule cong :premises (t63.t5)) -(step t63.t7 (cl (= @p_164 (! (=> @p_158 @p_163) :named @p_165))) :rule cong :premises (t63.t2 t63.t6)) -(step t63 (cl (! (= @p_157 (! (forall ((veriT_vr26 Real_real_prod_set$) (veriT_vr27 Real_real_prod$)) @p_165) :named @p_167)) :named @p_166)) :rule bind) -(step t64 (cl (not @p_166) (not @p_157) @p_167) :rule equiv_pos2) -(step t65 (cl @p_167) :rule th_resolution :premises (axiom9 t63 t64)) -(anchor :step t66 :args ((:= (veriT_vr26 Real_real_prod_set$) veriT_vr28) (:= (veriT_vr27 Real_real_prod$) veriT_vr29))) -(step t66.t1 (cl (! (= veriT_vr26 veriT_vr28) :named @p_169)) :rule refl) -(step t66.t2 (cl (= @p_158 (! (finite$ veriT_vr28) :named @p_168))) :rule cong :premises (t66.t1)) -(step t66.t3 (cl (= veriT_vr27 veriT_vr29)) :rule refl) -(step t66.t4 (cl @p_169) :rule refl) -(step t66.t5 (cl (= @p_161 (! (insert$ veriT_vr29 veriT_vr28) :named @p_170))) :rule cong :premises (t66.t3 t66.t4)) -(step t66.t6 (cl (= @p_163 (! (finite$ @p_170) :named @p_171))) :rule cong :premises (t66.t5)) -(step t66.t7 (cl (= @p_165 (! (=> @p_168 @p_171) :named @p_172))) :rule cong :premises (t66.t2 t66.t6)) -(step t66 (cl (! (= @p_167 (! (forall ((veriT_vr28 Real_real_prod_set$) (veriT_vr29 Real_real_prod$)) @p_172) :named @p_174)) :named @p_173)) :rule bind) -(step t67 (cl (not @p_173) (not @p_167) @p_174) :rule equiv_pos2) -(step t68 (cl @p_174) :rule th_resolution :premises (t65 t66 t67)) -(anchor :step t69 :args ((:= (?v0 Real_real_prod$) veriT_vr30) (:= (?v1 Real_real_prod_set$) veriT_vr31))) -(step t69.t1 (cl (! (= ?v0 veriT_vr30) :named @p_179)) :rule refl) -(step t69.t2 (cl (! (= ?v1 veriT_vr31) :named @p_178)) :rule refl) -(step t69.t3 (cl (= @p_176 (! (member$a veriT_vr30 veriT_vr31) :named @p_177))) :rule cong :premises (t69.t1 t69.t2)) -(step t69.t4 (cl @p_178) :rule refl) -(step t69.t5 (cl @p_179) :rule refl) -(step t69.t6 (cl @p_178) :rule refl) -(step t69.t7 (cl (= @p_2 (! (insert$ veriT_vr30 veriT_vr31) :named @p_180))) :rule cong :premises (t69.t5 t69.t6)) -(step t69.t8 (cl (= @p_181 (! (= veriT_vr31 @p_180) :named @p_182))) :rule cong :premises (t69.t4 t69.t7)) -(step t69.t9 (cl (= @p_183 (! (=> @p_177 @p_182) :named @p_184))) :rule cong :premises (t69.t3 t69.t8)) -(step t69 (cl (! (= @p_175 (! (forall ((veriT_vr30 Real_real_prod$) (veriT_vr31 Real_real_prod_set$)) @p_184) :named @p_186)) :named @p_185)) :rule bind) -(step t70 (cl (not @p_185) (not @p_175) @p_186) :rule equiv_pos2) -(step t71 (cl @p_186) :rule th_resolution :premises (axiom11 t69 t70)) -(anchor :step t72 :args ((:= (veriT_vr30 Real_real_prod$) veriT_vr32) (:= (veriT_vr31 Real_real_prod_set$) veriT_vr33))) -(step t72.t1 (cl (! (= veriT_vr30 veriT_vr32) :named @p_189)) :rule refl) -(step t72.t2 (cl (! (= veriT_vr31 veriT_vr33) :named @p_188)) :rule refl) -(step t72.t3 (cl (= @p_177 (! (member$a veriT_vr32 veriT_vr33) :named @p_187))) :rule cong :premises (t72.t1 t72.t2)) -(step t72.t4 (cl @p_188) :rule refl) -(step t72.t5 (cl @p_189) :rule refl) -(step t72.t6 (cl @p_188) :rule refl) -(step t72.t7 (cl (= @p_180 (! (insert$ veriT_vr32 veriT_vr33) :named @p_190))) :rule cong :premises (t72.t5 t72.t6)) -(step t72.t8 (cl (= @p_182 (! (= veriT_vr33 @p_190) :named @p_191))) :rule cong :premises (t72.t4 t72.t7)) -(step t72.t9 (cl (= @p_184 (! (=> @p_187 @p_191) :named @p_192))) :rule cong :premises (t72.t3 t72.t8)) -(step t72 (cl (! (= @p_186 (! (forall ((veriT_vr32 Real_real_prod$) (veriT_vr33 Real_real_prod_set$)) @p_192) :named @p_194)) :named @p_193)) :rule bind) -(step t73 (cl (not @p_193) (not @p_186) @p_194) :rule equiv_pos2) -(step t74 (cl @p_194) :rule th_resolution :premises (t71 t72 t73)) -(anchor :step t75 :args ((:= (?v0 Real_real_prod_set$) veriT_vr34))) -(step t75.t1 (cl (= ?v0 veriT_vr34)) :rule refl) -(step t75.t2 (cl (= @p_196 (! (inf$ veriT_vr34 bot$) :named @p_197))) :rule cong :premises (t75.t1)) -(step t75.t3 (cl (= @p_198 (! (= bot$ @p_197) :named @p_199))) :rule cong :premises (t75.t2)) -(step t75 (cl (! (= @p_195 (! (forall ((veriT_vr34 Real_real_prod_set$)) @p_199) :named @p_201)) :named @p_200)) :rule bind) -(step t76 (cl (not @p_200) (not @p_195) @p_201) :rule equiv_pos2) -(step t77 (cl @p_201) :rule th_resolution :premises (axiom13 t75 t76)) -(anchor :step t78 :args ((:= (veriT_vr34 Real_real_prod_set$) veriT_vr35))) -(step t78.t1 (cl (= veriT_vr34 veriT_vr35)) :rule refl) -(step t78.t2 (cl (= @p_197 (! (inf$ veriT_vr35 bot$) :named @p_202))) :rule cong :premises (t78.t1)) -(step t78.t3 (cl (= @p_199 (! (= bot$ @p_202) :named @p_203))) :rule cong :premises (t78.t2)) -(step t78 (cl (! (= @p_201 (! (forall ((veriT_vr35 Real_real_prod_set$)) @p_203) :named @p_205)) :named @p_204)) :rule bind) -(step t79 (cl (not @p_204) (not @p_201) @p_205) :rule equiv_pos2) -(step t80 (cl @p_205) :rule th_resolution :premises (t77 t78 t79)) -(anchor :step t81 :args ((:= (?v0 Real_real_prod$) veriT_vr36) (:= (?v1 Real_real_prod$) veriT_vr37) (:= (?v2 Real_real_prod_set$) veriT_vr38))) -(step t81.t1 (cl (! (= ?v0 veriT_vr36) :named @p_211)) :rule refl) -(step t81.t2 (cl (! (= ?v1 veriT_vr37) :named @p_210)) :rule refl) -(step t81.t3 (cl (! (= ?v2 veriT_vr38) :named @p_212)) :rule refl) -(step t81.t4 (cl (= @p_1 (! (insert$ veriT_vr37 veriT_vr38) :named @p_207))) :rule cong :premises (t81.t2 t81.t3)) -(step t81.t5 (cl (= @p_208 (! (insert$ veriT_vr36 @p_207) :named @p_209))) :rule cong :premises (t81.t1 t81.t4)) -(step t81.t6 (cl @p_210) :rule refl) -(step t81.t7 (cl @p_211) :rule refl) -(step t81.t8 (cl @p_212) :rule refl) -(step t81.t9 (cl (= @p_213 (! (insert$ veriT_vr36 veriT_vr38) :named @p_214))) :rule cong :premises (t81.t7 t81.t8)) -(step t81.t10 (cl (= @p_215 (! (insert$ veriT_vr37 @p_214) :named @p_216))) :rule cong :premises (t81.t6 t81.t9)) -(step t81.t11 (cl (= @p_217 (! (= @p_209 @p_216) :named @p_218))) :rule cong :premises (t81.t5 t81.t10)) -(step t81 (cl (! (= @p_206 (! (forall ((veriT_vr36 Real_real_prod$) (veriT_vr37 Real_real_prod$) (veriT_vr38 Real_real_prod_set$)) @p_218) :named @p_220)) :named @p_219)) :rule bind) -(step t82 (cl (not @p_219) (not @p_206) @p_220) :rule equiv_pos2) -(step t83 (cl @p_220) :rule th_resolution :premises (axiom14 t81 t82)) -(anchor :step t84 :args ((:= (veriT_vr36 Real_real_prod$) veriT_vr39) (:= (veriT_vr37 Real_real_prod$) veriT_vr40) (:= (veriT_vr38 Real_real_prod_set$) veriT_vr41))) -(step t84.t1 (cl (! (= veriT_vr36 veriT_vr39) :named @p_224)) :rule refl) -(step t84.t2 (cl (! (= veriT_vr37 veriT_vr40) :named @p_223)) :rule refl) -(step t84.t3 (cl (! (= veriT_vr38 veriT_vr41) :named @p_225)) :rule refl) -(step t84.t4 (cl (= @p_207 (! (insert$ veriT_vr40 veriT_vr41) :named @p_221))) :rule cong :premises (t84.t2 t84.t3)) -(step t84.t5 (cl (= @p_209 (! (insert$ veriT_vr39 @p_221) :named @p_222))) :rule cong :premises (t84.t1 t84.t4)) -(step t84.t6 (cl @p_223) :rule refl) -(step t84.t7 (cl @p_224) :rule refl) -(step t84.t8 (cl @p_225) :rule refl) -(step t84.t9 (cl (= @p_214 (! (insert$ veriT_vr39 veriT_vr41) :named @p_226))) :rule cong :premises (t84.t7 t84.t8)) -(step t84.t10 (cl (= @p_216 (! (insert$ veriT_vr40 @p_226) :named @p_227))) :rule cong :premises (t84.t6 t84.t9)) -(step t84.t11 (cl (= @p_218 (! (= @p_222 @p_227) :named @p_228))) :rule cong :premises (t84.t5 t84.t10)) -(step t84 (cl (! (= @p_220 (! (forall ((veriT_vr39 Real_real_prod$) (veriT_vr40 Real_real_prod$) (veriT_vr41 Real_real_prod_set$)) @p_228) :named @p_230)) :named @p_229)) :rule bind) -(step t85 (cl (not @p_229) (not @p_220) @p_230) :rule equiv_pos2) -(step t86 (cl @p_230) :rule th_resolution :premises (t83 t84 t85)) -(anchor :step t87 :args ((:= (?v0 Real_real_prod$) veriT_vr42) (:= (?v1 Real_real_prod_set$) veriT_vr43))) -(step t87.t1 (cl (! (= ?v0 veriT_vr42) :named @p_233)) :rule refl) -(step t87.t2 (cl (! (= ?v1 veriT_vr43) :named @p_235)) :rule refl) -(step t87.t3 (cl (= @p_2 (! (insert$ veriT_vr42 veriT_vr43) :named @p_232))) :rule cong :premises (t87.t1 t87.t2)) -(step t87.t4 (cl @p_233) :rule refl) -(step t87.t5 (cl (= @p_3 (! (insert$ veriT_vr42 bot$) :named @p_234))) :rule cong :premises (t87.t4)) -(step t87.t6 (cl @p_235) :rule refl) -(step t87.t7 (cl (= @p_236 (! (sup$ @p_234 veriT_vr43) :named @p_237))) :rule cong :premises (t87.t5 t87.t6)) -(step t87.t8 (cl (= @p_238 (! (= @p_232 @p_237) :named @p_239))) :rule cong :premises (t87.t3 t87.t7)) -(step t87 (cl (! (= @p_231 (! (forall ((veriT_vr42 Real_real_prod$) (veriT_vr43 Real_real_prod_set$)) @p_239) :named @p_241)) :named @p_240)) :rule bind) -(step t88 (cl (not @p_240) (not @p_231) @p_241) :rule equiv_pos2) -(step t89 (cl @p_241) :rule th_resolution :premises (axiom15 t87 t88)) -(anchor :step t90 :args ((:= (veriT_vr42 Real_real_prod$) veriT_vr44) (:= (veriT_vr43 Real_real_prod_set$) veriT_vr45))) -(step t90.t1 (cl (! (= veriT_vr42 veriT_vr44) :named @p_243)) :rule refl) -(step t90.t2 (cl (! (= veriT_vr43 veriT_vr45) :named @p_245)) :rule refl) -(step t90.t3 (cl (= @p_232 (! (insert$ veriT_vr44 veriT_vr45) :named @p_242))) :rule cong :premises (t90.t1 t90.t2)) -(step t90.t4 (cl @p_243) :rule refl) -(step t90.t5 (cl (= @p_234 (! (insert$ veriT_vr44 bot$) :named @p_244))) :rule cong :premises (t90.t4)) -(step t90.t6 (cl @p_245) :rule refl) -(step t90.t7 (cl (= @p_237 (! (sup$ @p_244 veriT_vr45) :named @p_246))) :rule cong :premises (t90.t5 t90.t6)) -(step t90.t8 (cl (= @p_239 (! (= @p_242 @p_246) :named @p_247))) :rule cong :premises (t90.t3 t90.t7)) -(step t90 (cl (! (= @p_241 (! (forall ((veriT_vr44 Real_real_prod$) (veriT_vr45 Real_real_prod_set$)) @p_247) :named @p_249)) :named @p_248)) :rule bind) -(step t91 (cl (not @p_248) (not @p_241) @p_249) :rule equiv_pos2) -(step t92 (cl @p_249) :rule th_resolution :premises (t89 t90 t91)) -(anchor :step t93 :args ((:= (?v0 Real_real_prod_set$) veriT_vr46) (:= (?v1 Real_real_prod_real_real_prod_fun$) veriT_vr47) (:= (?v2 Real_real_prod_set$) veriT_vr48) (:= (?v3 Real_real_real_prod_fun$) veriT_vr49) (:= (?v4 Real_real_prod_set$) veriT_vr50))) -(step t93.t1 (cl (! (= ?v0 veriT_vr46) :named @p_262)) :rule refl) -(step t93.t2 (cl (= @p_4 (! (finite$ veriT_vr46) :named @p_251))) :rule cong :premises (t93.t1)) -(step t93.t3 (cl (! (= ?v1 veriT_vr47) :named @p_256)) :rule refl) -(step t93.t4 (cl (! (= ?v2 veriT_vr48) :named @p_263)) :rule refl) -(step t93.t5 (cl (= @p_252 (! (line_integral_exists$ veriT_vr47 veriT_vr48) :named @p_253))) :rule cong :premises (t93.t3 t93.t4)) -(step t93.t6 (cl (! (= ?v3 veriT_vr49) :named @p_259)) :rule refl) -(step t93.t7 (cl (= @p_254 (! (fun_app$a @p_253 veriT_vr49) :named @p_255))) :rule cong :premises (t93.t5 t93.t6)) -(step t93.t8 (cl @p_256) :rule refl) -(step t93.t9 (cl (! (= ?v4 veriT_vr50) :named @p_264)) :rule refl) -(step t93.t10 (cl (= @p_257 (! (line_integral_exists$ veriT_vr47 veriT_vr50) :named @p_258))) :rule cong :premises (t93.t8 t93.t9)) -(step t93.t11 (cl @p_259) :rule refl) -(step t93.t12 (cl (= @p_260 (! (fun_app$a @p_258 veriT_vr49) :named @p_261))) :rule cong :premises (t93.t10 t93.t11)) -(step t93.t13 (cl @p_262) :rule refl) -(step t93.t14 (cl @p_263) :rule refl) -(step t93.t15 (cl @p_264) :rule refl) -(step t93.t16 (cl (= @p_265 (! (sup$ veriT_vr48 veriT_vr50) :named @p_266))) :rule cong :premises (t93.t14 t93.t15)) -(step t93.t17 (cl (= @p_267 (! (= veriT_vr46 @p_266) :named @p_268))) :rule cong :premises (t93.t13 t93.t16)) -(step t93.t18 (cl @p_263) :rule refl) -(step t93.t19 (cl @p_264) :rule refl) -(step t93.t20 (cl (= @p_269 (! (inf$ veriT_vr48 veriT_vr50) :named @p_270))) :rule cong :premises (t93.t18 t93.t19)) -(step t93.t21 (cl (= @p_271 (! (= bot$ @p_270) :named @p_272))) :rule cong :premises (t93.t20)) -(step t93.t22 (cl (= @p_273 (! (and @p_268 @p_272) :named @p_274))) :rule cong :premises (t93.t17 t93.t21)) -(step t93.t23 (cl (= @p_275 (! (and @p_261 @p_274) :named @p_276))) :rule cong :premises (t93.t12 t93.t22)) -(step t93.t24 (cl (= @p_277 (! (and @p_255 @p_276) :named @p_278))) :rule cong :premises (t93.t7 t93.t23)) -(step t93.t25 (cl (= @p_279 (! (and @p_251 @p_278) :named @p_280))) :rule cong :premises (t93.t2 t93.t24)) -(step t93.t26 (cl @p_256) :rule refl) -(step t93.t27 (cl @p_262) :rule refl) -(step t93.t28 (cl @p_259) :rule refl) -(step t93.t29 (cl (= @p_281 (! (line_integral$ veriT_vr47 veriT_vr46 veriT_vr49) :named @p_282))) :rule cong :premises (t93.t26 t93.t27 t93.t28)) -(step t93.t30 (cl @p_256) :rule refl) -(step t93.t31 (cl @p_263) :rule refl) -(step t93.t32 (cl @p_259) :rule refl) -(step t93.t33 (cl (= @p_283 (! (line_integral$ veriT_vr47 veriT_vr48 veriT_vr49) :named @p_284))) :rule cong :premises (t93.t30 t93.t31 t93.t32)) -(step t93.t34 (cl @p_256) :rule refl) -(step t93.t35 (cl @p_264) :rule refl) -(step t93.t36 (cl @p_259) :rule refl) -(step t93.t37 (cl (= @p_285 (! (line_integral$ veriT_vr47 veriT_vr50 veriT_vr49) :named @p_286))) :rule cong :premises (t93.t34 t93.t35 t93.t36)) -(step t93.t38 (cl (= @p_287 (! (+ @p_284 @p_286) :named @p_288))) :rule cong :premises (t93.t33 t93.t37)) -(step t93.t39 (cl (= @p_289 (! (= @p_282 @p_288) :named @p_290))) :rule cong :premises (t93.t29 t93.t38)) -(step t93.t40 (cl (= @p_291 (! (=> @p_280 @p_290) :named @p_292))) :rule cong :premises (t93.t25 t93.t39)) -(step t93 (cl (! (= @p_250 (! (forall ((veriT_vr46 Real_real_prod_set$) (veriT_vr47 Real_real_prod_real_real_prod_fun$) (veriT_vr48 Real_real_prod_set$) (veriT_vr49 Real_real_real_prod_fun$) (veriT_vr50 Real_real_prod_set$)) @p_292) :named @p_294)) :named @p_293)) :rule bind) -(step t94 (cl (not @p_293) (not @p_250) @p_294) :rule equiv_pos2) -(step t95 (cl @p_294) :rule th_resolution :premises (axiom16 t93 t94)) -(anchor :step t96 :args ((veriT_vr46 Real_real_prod_set$) (veriT_vr47 Real_real_prod_real_real_prod_fun$) (veriT_vr48 Real_real_prod_set$) (veriT_vr49 Real_real_real_prod_fun$) (veriT_vr50 Real_real_prod_set$))) -(step t96.t1 (cl (= @p_280 (! (and @p_251 @p_255 @p_261 @p_268 @p_272) :named @p_295))) :rule ac_simp) -(step t96.t2 (cl (= @p_292 (! (=> @p_295 @p_290) :named @p_296))) :rule cong :premises (t96.t1)) -(step t96 (cl (! (= @p_294 (! (forall ((veriT_vr46 Real_real_prod_set$) (veriT_vr47 Real_real_prod_real_real_prod_fun$) (veriT_vr48 Real_real_prod_set$) (veriT_vr49 Real_real_real_prod_fun$) (veriT_vr50 Real_real_prod_set$)) @p_296) :named @p_298)) :named @p_297)) :rule bind) -(step t97 (cl (not @p_297) (not @p_294) @p_298) :rule equiv_pos2) -(step t98 (cl @p_298) :rule th_resolution :premises (t95 t96 t97)) -(anchor :step t99 :args ((:= (veriT_vr46 Real_real_prod_set$) veriT_vr51) (:= (veriT_vr47 Real_real_prod_real_real_prod_fun$) veriT_vr52) (:= (veriT_vr48 Real_real_prod_set$) veriT_vr53) (:= (veriT_vr49 Real_real_real_prod_fun$) veriT_vr54) (:= (veriT_vr50 Real_real_prod_set$) veriT_vr55))) -(step t99.t1 (cl (! (= veriT_vr46 veriT_vr51) :named @p_306)) :rule refl) -(step t99.t2 (cl (= @p_251 (! (finite$ veriT_vr51) :named @p_299))) :rule cong :premises (t99.t1)) -(step t99.t3 (cl (! (= veriT_vr47 veriT_vr52) :named @p_302)) :rule refl) -(step t99.t4 (cl (! (= veriT_vr48 veriT_vr53) :named @p_307)) :rule refl) -(step t99.t5 (cl (= @p_253 (! (line_integral_exists$ veriT_vr52 veriT_vr53) :named @p_300))) :rule cong :premises (t99.t3 t99.t4)) -(step t99.t6 (cl (! (= veriT_vr49 veriT_vr54) :named @p_304)) :rule refl) -(step t99.t7 (cl (= @p_255 (! (fun_app$a @p_300 veriT_vr54) :named @p_301))) :rule cong :premises (t99.t5 t99.t6)) -(step t99.t8 (cl @p_302) :rule refl) -(step t99.t9 (cl (! (= veriT_vr50 veriT_vr55) :named @p_308)) :rule refl) -(step t99.t10 (cl (= @p_258 (! (line_integral_exists$ veriT_vr52 veriT_vr55) :named @p_303))) :rule cong :premises (t99.t8 t99.t9)) -(step t99.t11 (cl @p_304) :rule refl) -(step t99.t12 (cl (= @p_261 (! (fun_app$a @p_303 veriT_vr54) :named @p_305))) :rule cong :premises (t99.t10 t99.t11)) -(step t99.t13 (cl @p_306) :rule refl) -(step t99.t14 (cl @p_307) :rule refl) -(step t99.t15 (cl @p_308) :rule refl) -(step t99.t16 (cl (= @p_266 (! (sup$ veriT_vr53 veriT_vr55) :named @p_309))) :rule cong :premises (t99.t14 t99.t15)) -(step t99.t17 (cl (= @p_268 (! (= veriT_vr51 @p_309) :named @p_310))) :rule cong :premises (t99.t13 t99.t16)) -(step t99.t18 (cl @p_307) :rule refl) -(step t99.t19 (cl @p_308) :rule refl) -(step t99.t20 (cl (= @p_270 (! (inf$ veriT_vr53 veriT_vr55) :named @p_311))) :rule cong :premises (t99.t18 t99.t19)) -(step t99.t21 (cl (= @p_272 (! (= bot$ @p_311) :named @p_312))) :rule cong :premises (t99.t20)) -(step t99.t22 (cl (= @p_295 (! (and @p_299 @p_301 @p_305 @p_310 @p_312) :named @p_313))) :rule cong :premises (t99.t2 t99.t7 t99.t12 t99.t17 t99.t21)) -(step t99.t23 (cl @p_302) :rule refl) -(step t99.t24 (cl @p_306) :rule refl) -(step t99.t25 (cl @p_304) :rule refl) -(step t99.t26 (cl (= @p_282 (! (line_integral$ veriT_vr52 veriT_vr51 veriT_vr54) :named @p_314))) :rule cong :premises (t99.t23 t99.t24 t99.t25)) -(step t99.t27 (cl @p_302) :rule refl) -(step t99.t28 (cl @p_307) :rule refl) -(step t99.t29 (cl @p_304) :rule refl) -(step t99.t30 (cl (= @p_284 (! (line_integral$ veriT_vr52 veriT_vr53 veriT_vr54) :named @p_315))) :rule cong :premises (t99.t27 t99.t28 t99.t29)) -(step t99.t31 (cl @p_302) :rule refl) -(step t99.t32 (cl @p_308) :rule refl) -(step t99.t33 (cl @p_304) :rule refl) -(step t99.t34 (cl (= @p_286 (! (line_integral$ veriT_vr52 veriT_vr55 veriT_vr54) :named @p_316))) :rule cong :premises (t99.t31 t99.t32 t99.t33)) -(step t99.t35 (cl (= @p_288 (! (+ @p_315 @p_316) :named @p_317))) :rule cong :premises (t99.t30 t99.t34)) -(step t99.t36 (cl (= @p_290 (! (= @p_314 @p_317) :named @p_318))) :rule cong :premises (t99.t26 t99.t35)) -(step t99.t37 (cl (= @p_296 (! (=> @p_313 @p_318) :named @p_319))) :rule cong :premises (t99.t22 t99.t36)) -(step t99 (cl (! (= @p_298 (! (forall ((veriT_vr51 Real_real_prod_set$) (veriT_vr52 Real_real_prod_real_real_prod_fun$) (veriT_vr53 Real_real_prod_set$) (veriT_vr54 Real_real_real_prod_fun$) (veriT_vr55 Real_real_prod_set$)) @p_319) :named @p_321)) :named @p_320)) :rule bind) -(step t100 (cl (not @p_320) (not @p_298) @p_321) :rule equiv_pos2) -(step t101 (cl @p_321) :rule th_resolution :premises (t98 t99 t100)) -(anchor :step t102 :args ((:= (?v0 Int_real_real_real_prod_fun_prod$) veriT_vr56))) -(step t102.t1 (cl (! (= ?v0 veriT_vr56) :named @p_324)) :rule refl) -(step t102.t2 (cl (= @p_9 (! (member$ veriT_vr56 one_chain_typeI$) :named @p_323))) :rule cong :premises (t102.t1)) -(step t102.t3 (cl @p_324) :rule refl) -(step t102.t4 (cl (! (= @p_6 (! (case_prod$ uu$ veriT_vr56) :named @p_325)) :named @p_330)) :rule cong :premises (t102.t3)) -(step t102.t5 (cl (= @p_326 (! (=> @p_323 @p_325) :named @p_327))) :rule cong :premises (t102.t2 t102.t4)) -(step t102 (cl (= @p_322 (! (forall ((veriT_vr56 Int_real_real_real_prod_fun_prod$)) @p_327) :named @p_334))) :rule bind) -(anchor :step t103 :args ((:= (?v0 Int_real_real_real_prod_fun_prod$) veriT_vr56))) -(step t103.t1 (cl @p_324) :rule refl) -(step t103.t2 (cl (= @p_8 (! (member$ veriT_vr56 one_chain_typeII$) :named @p_329))) :rule cong :premises (t103.t1)) -(step t103.t3 (cl @p_324) :rule refl) -(step t103.t4 (cl @p_330) :rule cong :premises (t103.t3)) -(step t103.t5 (cl (= @p_331 (! (=> @p_329 @p_325) :named @p_332))) :rule cong :premises (t103.t2 t103.t4)) -(step t103 (cl (= @p_328 (! (forall ((veriT_vr56 Int_real_real_real_prod_fun_prod$)) @p_332) :named @p_335))) :rule bind) -(step t104 (cl (= @p_333 (! (and @p_334 @p_335) :named @p_338))) :rule cong :premises (t102 t103)) -(step t105 (cl (! (= @p_336 (! (and @p_337 @p_338) :named @p_340)) :named @p_339)) :rule cong :premises (t104)) -(step t106 (cl (not @p_339) (not @p_336) @p_340) :rule equiv_pos2) -(step t107 (cl @p_340) :rule th_resolution :premises (axiom17 t105 t106)) -(step t108 (cl (! (= @p_340 (! (and @p_337 @p_334 @p_335) :named @p_342)) :named @p_341)) :rule ac_simp) -(step t109 (cl (not @p_341) (not @p_340) @p_342) :rule equiv_pos2) -(step t110 (cl @p_342) :rule th_resolution :premises (t107 t108 t109)) -(anchor :step t111 :args ((:= (veriT_vr56 Int_real_real_real_prod_fun_prod$) veriT_vr57))) -(step t111.t1 (cl (! (= veriT_vr56 veriT_vr57) :named @p_344)) :rule refl) -(step t111.t2 (cl (= @p_329 (! (member$ veriT_vr57 one_chain_typeII$) :named @p_343))) :rule cong :premises (t111.t1)) -(step t111.t3 (cl @p_344) :rule refl) -(step t111.t4 (cl (= @p_325 (! (case_prod$ uu$ veriT_vr57) :named @p_345))) :rule cong :premises (t111.t3)) -(step t111.t5 (cl (= @p_332 (! (=> @p_343 @p_345) :named @p_346))) :rule cong :premises (t111.t2 t111.t4)) -(step t111 (cl (= @p_335 (! (forall ((veriT_vr57 Int_real_real_real_prod_fun_prod$)) @p_346) :named @p_347))) :rule bind) -(step t112 (cl (! (= @p_342 (! (and @p_337 @p_334 @p_347) :named @p_349)) :named @p_348)) :rule cong :premises (t111)) -(step t113 (cl (not @p_348) (not @p_342) @p_349) :rule equiv_pos2) -(step t114 (cl @p_349) :rule th_resolution :premises (t110 t112 t113)) -(anchor :step t115 :args ((:= (veriT_vr56 Int_real_real_real_prod_fun_prod$) veriT_vr58))) -(step t115.t1 (cl (! (= veriT_vr56 veriT_vr58) :named @p_351)) :rule refl) -(step t115.t2 (cl (= @p_323 (! (member$ veriT_vr58 one_chain_typeI$) :named @p_350))) :rule cong :premises (t115.t1)) -(step t115.t3 (cl @p_351) :rule refl) -(step t115.t4 (cl (= @p_325 (! (case_prod$ uu$ veriT_vr58) :named @p_352))) :rule cong :premises (t115.t3)) -(step t115.t5 (cl (= @p_327 (! (=> @p_350 @p_352) :named @p_353))) :rule cong :premises (t115.t2 t115.t4)) -(step t115 (cl (= @p_334 (! (forall ((veriT_vr58 Int_real_real_real_prod_fun_prod$)) @p_353) :named @p_358))) :rule bind) -(anchor :step t116 :args ((:= (veriT_vr57 Int_real_real_real_prod_fun_prod$) veriT_vr59))) -(step t116.t1 (cl (! (= veriT_vr57 veriT_vr59) :named @p_355)) :rule refl) -(step t116.t2 (cl (= @p_343 (! (member$ veriT_vr59 one_chain_typeII$) :named @p_354))) :rule cong :premises (t116.t1)) -(step t116.t3 (cl @p_355) :rule refl) -(step t116.t4 (cl (= @p_345 (! (case_prod$ uu$ veriT_vr59) :named @p_356))) :rule cong :premises (t116.t3)) -(step t116.t5 (cl (= @p_346 (! (=> @p_354 @p_356) :named @p_357))) :rule cong :premises (t116.t2 t116.t4)) -(step t116 (cl (= @p_347 (! (forall ((veriT_vr59 Int_real_real_real_prod_fun_prod$)) @p_357) :named @p_359))) :rule bind) -(step t117 (cl (! (= @p_349 (! (and @p_337 @p_358 @p_359) :named @p_361)) :named @p_360)) :rule cong :premises (t115 t116)) -(step t118 (cl (not @p_360) (not @p_349) @p_361) :rule equiv_pos2) -(step t119 (cl @p_361) :rule th_resolution :premises (t114 t117 t118)) -(anchor :step t120 :args ((:= (?v0 Int_real_real_real_prod_fun_prod$) veriT_vr60))) -(step t120.t1 (cl (! (= ?v0 veriT_vr60) :named @p_364)) :rule refl) -(step t120.t2 (cl (= @p_8 (! (member$ veriT_vr60 one_chain_typeII$) :named @p_363))) :rule cong :premises (t120.t1)) -(step t120.t3 (cl @p_364) :rule refl) -(step t120.t4 (cl (! (= @p_10 (! (case_prod$ uua$ veriT_vr60) :named @p_365)) :named @p_370)) :rule cong :premises (t120.t3)) -(step t120.t5 (cl (= @p_366 (! (=> @p_363 @p_365) :named @p_367))) :rule cong :premises (t120.t2 t120.t4)) -(step t120 (cl (= @p_362 (! (forall ((veriT_vr60 Int_real_real_real_prod_fun_prod$)) @p_367) :named @p_374))) :rule bind) -(anchor :step t121 :args ((:= (?v0 Int_real_real_real_prod_fun_prod$) veriT_vr60))) -(step t121.t1 (cl @p_364) :rule refl) -(step t121.t2 (cl (= @p_9 (! (member$ veriT_vr60 one_chain_typeI$) :named @p_369))) :rule cong :premises (t121.t1)) -(step t121.t3 (cl @p_364) :rule refl) -(step t121.t4 (cl @p_370) :rule cong :premises (t121.t3)) -(step t121.t5 (cl (= @p_371 (! (=> @p_369 @p_365) :named @p_372))) :rule cong :premises (t121.t2 t121.t4)) -(step t121 (cl (= @p_368 (! (forall ((veriT_vr60 Int_real_real_real_prod_fun_prod$)) @p_372) :named @p_375))) :rule bind) -(step t122 (cl (= @p_373 (! (and @p_374 @p_375) :named @p_378))) :rule cong :premises (t120 t121)) -(step t123 (cl (! (= @p_376 (! (and @p_377 @p_378) :named @p_380)) :named @p_379)) :rule cong :premises (t122)) -(step t124 (cl (not @p_379) (not @p_376) @p_380) :rule equiv_pos2) -(step t125 (cl @p_380) :rule th_resolution :premises (axiom18 t123 t124)) -(step t126 (cl (! (= @p_380 (! (and @p_377 @p_374 @p_375) :named @p_382)) :named @p_381)) :rule ac_simp) -(step t127 (cl (not @p_381) (not @p_380) @p_382) :rule equiv_pos2) -(step t128 (cl @p_382) :rule th_resolution :premises (t125 t126 t127)) -(anchor :step t129 :args ((:= (veriT_vr60 Int_real_real_real_prod_fun_prod$) veriT_vr61))) -(step t129.t1 (cl (! (= veriT_vr60 veriT_vr61) :named @p_384)) :rule refl) -(step t129.t2 (cl (= @p_369 (! (member$ veriT_vr61 one_chain_typeI$) :named @p_383))) :rule cong :premises (t129.t1)) -(step t129.t3 (cl @p_384) :rule refl) -(step t129.t4 (cl (= @p_365 (! (case_prod$ uua$ veriT_vr61) :named @p_385))) :rule cong :premises (t129.t3)) -(step t129.t5 (cl (= @p_372 (! (=> @p_383 @p_385) :named @p_386))) :rule cong :premises (t129.t2 t129.t4)) -(step t129 (cl (= @p_375 (! (forall ((veriT_vr61 Int_real_real_real_prod_fun_prod$)) @p_386) :named @p_387))) :rule bind) -(step t130 (cl (! (= @p_382 (! (and @p_377 @p_374 @p_387) :named @p_389)) :named @p_388)) :rule cong :premises (t129)) -(step t131 (cl (not @p_388) (not @p_382) @p_389) :rule equiv_pos2) -(step t132 (cl @p_389) :rule th_resolution :premises (t128 t130 t131)) -(anchor :step t133 :args ((:= (veriT_vr60 Int_real_real_real_prod_fun_prod$) veriT_vr62))) -(step t133.t1 (cl (! (= veriT_vr60 veriT_vr62) :named @p_391)) :rule refl) -(step t133.t2 (cl (= @p_363 (! (member$ veriT_vr62 one_chain_typeII$) :named @p_390))) :rule cong :premises (t133.t1)) -(step t133.t3 (cl @p_391) :rule refl) -(step t133.t4 (cl (= @p_365 (! (case_prod$ uua$ veriT_vr62) :named @p_392))) :rule cong :premises (t133.t3)) -(step t133.t5 (cl (= @p_367 (! (=> @p_390 @p_392) :named @p_393))) :rule cong :premises (t133.t2 t133.t4)) -(step t133 (cl (= @p_374 (! (forall ((veriT_vr62 Int_real_real_real_prod_fun_prod$)) @p_393) :named @p_398))) :rule bind) -(anchor :step t134 :args ((:= (veriT_vr61 Int_real_real_real_prod_fun_prod$) veriT_vr63))) -(step t134.t1 (cl (! (= veriT_vr61 veriT_vr63) :named @p_395)) :rule refl) -(step t134.t2 (cl (= @p_383 (! (member$ veriT_vr63 one_chain_typeI$) :named @p_394))) :rule cong :premises (t134.t1)) -(step t134.t3 (cl @p_395) :rule refl) -(step t134.t4 (cl (= @p_385 (! (case_prod$ uua$ veriT_vr63) :named @p_396))) :rule cong :premises (t134.t3)) -(step t134.t5 (cl (= @p_386 (! (=> @p_394 @p_396) :named @p_397))) :rule cong :premises (t134.t2 t134.t4)) -(step t134 (cl (= @p_387 (! (forall ((veriT_vr63 Int_real_real_real_prod_fun_prod$)) @p_397) :named @p_399))) :rule bind) -(step t135 (cl (! (= @p_389 (! (and @p_377 @p_398 @p_399) :named @p_401)) :named @p_400)) :rule cong :premises (t133 t134)) -(step t136 (cl (not @p_400) (not @p_389) @p_401) :rule equiv_pos2) -(step t137 (cl @p_401) :rule th_resolution :premises (t132 t135 t136)) -(step t138 (cl @p_358) :rule and :premises (t119)) -(step t139 (cl @p_399) :rule and :premises (t137)) -(step t140 (cl (or (! (not @p_399) :named @p_422) (! (=> @p_402 (! (case_prod$ uua$ @p_403) :named @p_421)) :named @p_420))) :rule forall_inst :args ((:= veriT_vr63 @p_403))) -(step t141 (cl (or (! (not @p_358) :named @p_427) (! (=> @p_402 (! (case_prod$ uu$ @p_403) :named @p_426)) :named @p_424))) :rule forall_inst :args ((:= veriT_vr58 @p_403))) -(step t142 (cl (or (! (not @p_321) :named @p_406) (! (=> (! (and (! (finite$ @p_5) :named @p_415) (! (fun_app$a @p_12 g$) :named @p_409) (! (fun_app$a @p_24 g$) :named @p_408) (! (= @p_5 (! (sup$ @p_7 @p_5) :named @p_466)) :named @p_430) (! (= bot$ (inf$ @p_7 @p_5)) :named @p_431)) :named @p_429) (! (= @p_404 (! (+ @p_405 @p_404) :named @p_528)) :named @p_433)) :named @p_432))) :rule forall_inst :args ((:= veriT_vr51 @p_5) (:= veriT_vr52 f$) (:= veriT_vr53 @p_7) (:= veriT_vr54 g$) (:= veriT_vr55 @p_5))) -(step t143 (cl (or @p_406 (! (=> (! (and (! (finite$ @p_407) :named @p_412) @p_408 @p_409 (! (= @p_407 (sup$ @p_5 @p_7)) :named @p_411) (! (= bot$ (inf$ @p_5 @p_7)) :named @p_437)) :named @p_434) @p_410) :named @p_438))) :rule forall_inst :args ((:= veriT_vr51 @p_407) (:= veriT_vr52 f$) (:= veriT_vr53 @p_5) (:= veriT_vr54 g$) (:= veriT_vr55 @p_7))) -(step t144 (cl (or (! (not @p_249) :named @p_441) @p_411)) :rule forall_inst :args ((:= veriT_vr44 i$) (:= veriT_vr45 @p_7))) -(step t145 (cl (or (! (not @p_230) :named @p_442) (! (= @p_407 (! (insert$ j$ @p_5) :named @p_467)) :named @p_443))) :rule forall_inst :args ((:= veriT_vr39 j$) (:= veriT_vr40 i$) (:= veriT_vr41 bot$))) -(step t146 (cl (or (! (not @p_194) :named @p_447) (! (=> (! (member$a i$ @p_7) :named @p_445) (! (= @p_7 @p_407) :named @p_446)) :named @p_444))) :rule forall_inst :args ((:= veriT_vr32 i$) (:= veriT_vr33 @p_7))) -(step t147 (cl (or (! (not @p_174) :named @p_413) (! (=> (! (finite$ @p_7) :named @p_416) @p_412) :named @p_448))) :rule forall_inst :args ((:= veriT_vr28 @p_7) (:= veriT_vr29 i$))) -(step t148 (cl (or @p_413 (! (=> @p_414 @p_415) :named @p_449))) :rule forall_inst :args ((:= veriT_vr28 bot$) (:= veriT_vr29 i$))) -(step t149 (cl (or @p_413 (! (=> @p_414 @p_416) :named @p_451))) :rule forall_inst :args ((:= veriT_vr28 bot$) (:= veriT_vr29 j$))) -(step t150 (cl (or (! (not @p_119) :named @p_418) (! (= 0.0 (! (snd$a @p_417) :named @p_495)) :named @p_454))) :rule forall_inst :args ((:= veriT_vr18 1.0) (:= veriT_vr19 0.0))) -(step t151 (cl (or @p_418 (! (= 1.0 (! (snd$a @p_419) :named @p_496)) :named @p_455))) :rule forall_inst :args ((:= veriT_vr18 0.0) (:= veriT_vr19 1.0))) -(step t152 (cl (or (! (not @p_100) :named @p_456) (! (= g$ (! (snd$ @p_403) :named @p_471)) :named @p_457))) :rule forall_inst :args ((:= veriT_vr14 k$) (:= veriT_vr15 g$))) -(step t153 (cl (or (! (not @p_84) :named @p_461) (! (=> (! (= @p_7 @p_5) :named @p_459) (! (= j$ i$) :named @p_460)) :named @p_458))) :rule forall_inst :args ((:= veriT_vr10 i$) (:= veriT_vr11 j$))) -(step t154 (cl (! (not @p_420) :named @p_423) (! (not @p_402) :named @p_425) @p_421) :rule implies_pos) -(step t155 (cl @p_422 @p_420) :rule or :premises (t140)) -(step t156 (cl @p_423 @p_421) :rule resolution :premises (t154 axiom6)) -(step t157 (cl @p_420) :rule resolution :premises (t155 t139)) -(step t158 (cl @p_421) :rule resolution :premises (t156 t157)) -(step t159 (cl (! (not @p_424) :named @p_428) @p_425 @p_426) :rule implies_pos) -(step t160 (cl @p_427 @p_424) :rule or :premises (t141)) -(step t161 (cl @p_428 @p_426) :rule resolution :premises (t159 axiom6)) -(step t162 (cl @p_424) :rule resolution :premises (t160 t138)) -(step t163 (cl @p_426) :rule resolution :premises (t161 t162)) -(step t164 (cl @p_429 (not @p_415) (! (not @p_409) :named @p_436) (! (not @p_408) :named @p_435) (not @p_430) (not @p_431)) :rule and_neg) -(step t165 (cl (not @p_432) (not @p_429) @p_433) :rule implies_pos) -(step t166 (cl @p_406 @p_432) :rule or :premises (t142)) -(step t167 (cl @p_432) :rule resolution :premises (t166 t101)) -(step t168 (cl @p_434 (not @p_412) @p_435 @p_436 (not @p_411) (! (not @p_437) :named @p_515)) :rule and_neg) -(step t169 (cl (! (not @p_438) :named @p_439) (! (not @p_434) :named @p_440) @p_410) :rule implies_pos) -(step t170 (cl @p_406 @p_438) :rule or :premises (t143)) -(step t171 (cl @p_439 @p_440) :rule resolution :premises (t169 axiom19)) -(step t172 (cl @p_438) :rule resolution :premises (t170 t101)) -(step t173 (cl @p_440) :rule resolution :premises (t171 t172)) -(step t174 (cl @p_441 @p_411) :rule or :premises (t144)) -(step t175 (cl @p_411) :rule resolution :premises (t174 t92)) -(step t176 (cl @p_442 @p_443) :rule or :premises (t145)) -(step t177 (cl @p_443) :rule resolution :premises (t176 t86)) -(step t178 (cl (not @p_444) (! (not @p_445) :named @p_470) @p_446) :rule implies_pos) -(step t179 (cl @p_447 @p_444) :rule or :premises (t146)) -(step t180 (cl @p_444) :rule resolution :premises (t179 t74)) -(step t181 (cl (not @p_448) (not @p_416) @p_412) :rule implies_pos) -(step t182 (cl @p_413 @p_448) :rule or :premises (t147)) -(step t183 (cl @p_448) :rule resolution :premises (t182 t68)) -(step t184 (cl (! (not @p_449) :named @p_450) (! (not @p_414) :named @p_452) @p_415) :rule implies_pos) -(step t185 (cl @p_413 @p_449) :rule or :premises (t148)) -(step t186 (cl @p_450 @p_415) :rule resolution :premises (t184 axiom8)) -(step t187 (cl @p_449) :rule resolution :premises (t185 t68)) -(step t188 (cl @p_415) :rule resolution :premises (t186 t187)) -(step t189 (cl (! (not @p_451) :named @p_453) @p_452 @p_416) :rule implies_pos) -(step t190 (cl @p_413 @p_451) :rule or :premises (t149)) -(step t191 (cl @p_453 @p_416) :rule resolution :premises (t189 axiom8)) -(step t192 (cl @p_451) :rule resolution :premises (t190 t68)) -(step t193 (cl @p_416) :rule resolution :premises (t191 t192)) -(step t194 (cl @p_412) :rule resolution :premises (t181 t193 t183)) -(step t195 (cl @p_418 @p_454) :rule or :premises (t150)) -(step t196 (cl @p_454) :rule resolution :premises (t195 t56)) -(step t197 (cl @p_418 @p_455) :rule or :premises (t151)) -(step t198 (cl @p_455) :rule resolution :premises (t197 t56)) -(step t199 (cl @p_456 @p_457) :rule or :premises (t152)) -(step t200 (cl @p_457) :rule resolution :premises (t199 t50)) -(step t201 (cl (not @p_458) (! (not @p_459) :named @p_507) @p_460) :rule implies_pos) -(step t202 (cl @p_461 @p_458) :rule or :premises (t153)) -(step t203 (cl @p_458) :rule resolution :premises (t202 t44)) -(step t204 (cl (or @p_410 (! (not (! (<= @p_462 @p_463) :named @p_534)) :named @p_464) (! (not (! (<= @p_463 @p_462) :named @p_535)) :named @p_465))) :rule la_disequality) -(step t205 (cl @p_410 @p_464 @p_465) :rule or :premises (t204)) -(step t206 (cl @p_464 @p_465) :rule resolution :premises (t205 axiom19)) -(step t207 (cl (or @p_441 (! (= @p_466 @p_467) :named @p_474))) :rule forall_inst :args ((:= veriT_vr44 j$) (:= veriT_vr45 @p_5))) -(step t208 (cl (or @p_447 (! (=> (! (member$a j$ @p_5) :named @p_468) (! (= @p_5 @p_467) :named @p_477)) :named @p_475))) :rule forall_inst :args ((:= veriT_vr32 j$) (:= veriT_vr33 @p_5))) -(step t209 (cl (or (! (not @p_156) :named @p_469) (! (= @p_437 (! (and (! (not @p_468) :named @p_476) (! (= bot$ (inf$ @p_5 bot$)) :named @p_479)) :named @p_478)) :named @p_482))) :rule forall_inst :args ((:= veriT_vr23 @p_5) (:= veriT_vr24 j$) (:= veriT_vr25 bot$))) -(step t210 (cl (or @p_469 (! (= @p_431 (! (and @p_470 (! (= bot$ (inf$ @p_7 bot$)) :named @p_485)) :named @p_483)) :named @p_487))) :rule forall_inst :args ((:= veriT_vr23 @p_7) (:= veriT_vr24 i$) (:= veriT_vr25 bot$))) -(step t211 (cl (or (! (not @p_61) :named @p_472) (! (= @p_426 (! (fun_app$a (! (fun_app$ uu$ (! (fst$ @p_403) :named @p_473)) :named @p_508) @p_471) :named @p_489)) :named @p_488))) :rule forall_inst :args ((:= veriT_vr6 uu$) (:= veriT_vr7 @p_403))) -(step t212 (cl (or @p_472 (! (= @p_421 (! (fun_app$a (! (fun_app$ uua$ @p_473) :named @p_509) @p_471) :named @p_492)) :named @p_491))) :rule forall_inst :args ((:= veriT_vr6 uua$) (:= veriT_vr7 @p_403))) -(step t213 (cl @p_441 @p_474) :rule or :premises (t207)) -(step t214 (cl @p_474) :rule resolution :premises (t213 t92)) -(step t215 (cl (not @p_475) @p_476 @p_477) :rule implies_pos) -(step t216 (cl @p_447 @p_475) :rule or :premises (t208)) -(step t217 (cl @p_475) :rule resolution :premises (t216 t74)) -(step t218 (cl (not (! (not @p_470) :named @p_484)) @p_445) :rule not_not) -(step t219 (cl @p_478 (! (not @p_476) :named @p_480) (! (not @p_479) :named @p_481)) :rule and_neg) -(step t220 (cl (not @p_480) @p_468) :rule not_not) -(step t221 (cl @p_478 @p_468 @p_481) :rule th_resolution :premises (t220 t219)) -(step t222 (cl (not @p_482) @p_437 (! (not @p_478) :named @p_516)) :rule equiv_pos1) -(step t223 (cl @p_469 @p_482) :rule or :premises (t209)) -(step t224 (cl @p_482) :rule resolution :premises (t223 t62)) -(step t225 (cl @p_483 @p_484 (! (not @p_485) :named @p_486)) :rule and_neg) -(step t226 (cl @p_483 @p_445 @p_486) :rule th_resolution :premises (t218 t225)) -(step t227 (cl (not @p_487) @p_431 (not @p_483)) :rule equiv_pos1) -(step t228 (cl @p_469 @p_487) :rule or :premises (t210)) -(step t229 (cl @p_487) :rule resolution :premises (t228 t62)) -(step t230 (cl (! (not @p_488) :named @p_490) (not @p_426) @p_489) :rule equiv_pos2) -(step t231 (cl @p_472 @p_488) :rule or :premises (t211)) -(step t232 (cl @p_490 @p_489) :rule resolution :premises (t230 t163)) -(step t233 (cl @p_488) :rule resolution :premises (t231 t38)) -(step t234 (cl @p_489) :rule resolution :premises (t232 t233)) -(step t235 (cl (! (not @p_491) :named @p_493) (not @p_421) @p_492) :rule equiv_pos2) -(step t236 (cl @p_472 @p_491) :rule or :premises (t212)) -(step t237 (cl @p_493 @p_492) :rule resolution :premises (t235 t158)) -(step t238 (cl @p_491) :rule resolution :premises (t236 t38)) -(step t239 (cl @p_492) :rule resolution :premises (t237 t238)) -(step t240 (cl (or (! (not @p_205) :named @p_494) @p_479)) :rule forall_inst :args ((:= veriT_vr35 @p_5))) -(step t241 (cl (or @p_494 @p_485)) :rule forall_inst :args ((:= veriT_vr35 @p_7))) -(step t242 (cl @p_494 @p_479) :rule or :premises (t240)) -(step t243 (cl @p_479) :rule resolution :premises (t242 t80)) -(step t244 (cl @p_494 @p_485) :rule or :premises (t241)) -(step t245 (cl @p_485) :rule resolution :premises (t244 t80)) -(step t246 (cl (! (= @p_7 @p_7) :named @p_520)) :rule eq_reflexive) -(step t247 (cl (not (! (= 1.0 0.0) :named @p_497))) :rule la_generic :args ((- 1))) -(step t248 (cl (! (not @p_455) :named @p_505) (not (! (= @p_495 @p_496) :named @p_498)) (! (not @p_454) :named @p_506) @p_497) :rule eq_transitive) -(step t249 (cl (not (! (= @p_417 @p_419) :named @p_501)) @p_498) :rule eq_congruent) -(step t250 (cl (! (not @p_499) :named @p_502) (! (not @p_460) :named @p_503) (! (not @p_500) :named @p_504) @p_501) :rule eq_transitive) -(step t251 (cl @p_498 @p_502 @p_503 @p_504) :rule th_resolution :premises (t249 t250)) -(step t252 (cl @p_505 @p_506 @p_497 @p_502 @p_503 @p_504) :rule th_resolution :premises (t248 t251)) -(step t253 (cl @p_505 @p_506 @p_502 @p_503 @p_504) :rule th_resolution :premises (t247 t252)) -(step t254 (cl @p_503) :rule resolution :premises (t253 axiom10 axiom12 t196 t198)) -(step t255 (cl @p_507) :rule resolution :premises (t201 t254 t203)) -(step t256 (cl (! (= f$ f$) :named @p_523)) :rule eq_reflexive) -(step t257 (cl (! (= g$ g$) :named @p_524)) :rule eq_reflexive) -(step t258 (cl (! (= @p_405 @p_405) :named @p_527)) :rule eq_reflexive) -(step t259 (cl (or (! (not @p_34) :named @p_510) (! (= @p_24 @p_508) :named @p_511))) :rule forall_inst :args ((:= veriT_vr3 @p_473))) -(step t260 (cl (or (! (not @p_22) :named @p_512) (! (= @p_12 @p_509) :named @p_513))) :rule forall_inst :args ((:= veriT_vr1 @p_473))) -(step t261 (cl @p_510 @p_511) :rule or :premises (t259)) -(step t262 (cl @p_511) :rule resolution :premises (t261 t32)) -(step t263 (cl @p_512 @p_513) :rule or :premises (t260)) -(step t264 (cl @p_513) :rule resolution :premises (t263 t26)) -(step t265 (cl (not @p_511) (! (not @p_457) :named @p_514) @p_408 (not @p_489)) :rule eq_congruent_pred) -(step t266 (cl @p_408) :rule resolution :premises (t265 t200 t234 t262)) -(step t267 (cl (not @p_513) @p_514 @p_409 (not @p_492)) :rule eq_congruent_pred) -(step t268 (cl @p_409) :rule resolution :premises (t267 t200 t239 t264)) -(step t269 (cl @p_515) :rule resolution :premises (t168 t268 t194 t173 t175 t266)) -(step t270 (cl @p_516) :rule resolution :premises (t222 t269 t224)) -(step t271 (cl @p_468) :rule resolution :premises (t221 t270 t243)) -(step t272 (cl @p_477) :rule resolution :premises (t215 t271 t217)) -(step t273 (cl (! (not @p_477) :named @p_517) (not @p_474) @p_430) :rule eq_transitive) -(step t274 (cl @p_430) :rule resolution :premises (t273 t214 t272)) -(step t275 (cl @p_517 (! (not @p_443) :named @p_518) (! (= @p_5 @p_407) :named @p_519)) :rule eq_transitive) -(step t276 (cl @p_518 @p_517 @p_519) :rule eq_transitive) -(step t277 (cl (not @p_520) (! (not @p_446) :named @p_521) (! (not @p_519) :named @p_522) @p_459) :rule eq_transitive) -(step t278 (cl @p_521 @p_522 @p_459) :rule th_resolution :premises (t277 t246)) -(step t279 (cl @p_521 @p_459 @p_518 @p_517) :rule th_resolution :premises (t278 t276)) -(step t280 (cl @p_521) :rule resolution :premises (t279 t177 t255 t272)) -(step t281 (cl (not @p_523) @p_522 (! (not @p_524) :named @p_525) (! (= @p_462 @p_404) :named @p_526)) :rule eq_congruent) -(step t282 (cl @p_522 @p_525 @p_526) :rule th_resolution :premises (t281 t256)) -(step t283 (cl @p_522 @p_526) :rule th_resolution :premises (t282 t257)) -(step t284 (cl @p_526 @p_517 @p_518) :rule th_resolution :premises (t283 t275)) -(step t285 (cl @p_470) :rule resolution :premises (t178 t280 t180)) -(step t286 (cl @p_483) :rule resolution :premises (t226 t285 t245)) -(step t287 (cl @p_431) :rule resolution :premises (t227 t286 t229)) -(step t288 (cl @p_429) :rule resolution :premises (t164 t287 t188 t266 t268 t274)) -(step t289 (cl @p_433) :rule resolution :premises (t165 t288 t167)) -(step t290 (cl (not @p_527) (! (not @p_526) :named @p_529) (! (= (! (+ @p_405 @p_462) :named @p_531) @p_528) :named @p_530)) :rule eq_congruent) -(step t291 (cl @p_529 @p_530) :rule th_resolution :premises (t290 t258)) -(step t292 (cl @p_530 @p_517 @p_518) :rule th_resolution :premises (t291 t284)) -(step t293 (cl (! (not @p_433) :named @p_532) (not @p_530) (! (= @p_404 @p_531) :named @p_533)) :rule eq_transitive) -(step t294 (cl @p_532 @p_533 @p_517 @p_518) :rule th_resolution :premises (t293 t292)) -(step t295 (cl @p_534 @p_529 (! (not @p_533) :named @p_536)) :rule la_generic :args (1.0 (- 2) (- 1))) -(step t296 (cl @p_534 @p_517 @p_518 @p_532) :rule th_resolution :premises (t295 t284 t294)) -(step t297 (cl @p_534) :rule resolution :premises (t296 t289 t177 t272)) -(step t298 (cl @p_465) :rule resolution :premises (t206 t297)) -(step t299 (cl @p_535 @p_529 @p_536) :rule la_generic :args (1.0 2 1)) -(step t300 (cl @p_535 @p_517 @p_518 @p_532) :rule th_resolution :premises (t299 t284 t294)) -(step t301 (cl) :rule resolution :premises (t300 t289 t177 t298 t272)) -5fc0f54f0190d5b6a4967f69daa36736ef3d3325 6 0 +(assume a0 (! (< 0.0 (+ x$ (! (* 2.0 y$) :named @p_1))) :named @p_2)) +(assume a1 (! (< 0.0 (- x$ @p_1)) :named @p_3)) +(assume a2 (! (< x$ 0.0) :named @p_4)) +(step t4 (cl (not @p_2) (not @p_3) (not @p_4)) :rule la_generic :args (1.0 1.0 2.0)) +(step t5 (cl) :rule resolution :premises (t4 a0 a1 a2)) +64700034c370281d48d21e99833e7ceba6103960 26 0 unsat -(assume axiom0 (! (< 0.0 (+ x$ (! (* 2.0 y$) :named @p_1))) :named @p_2)) -(assume axiom1 (! (< 0.0 (- x$ @p_1)) :named @p_3)) -(assume axiom2 (! (< x$ 0.0) :named @p_4)) -(step t4 (cl (not @p_2) (not @p_3) (not @p_4)) :rule la_generic :args (1.0 1.0 2.0)) -(step t5 (cl) :rule resolution :premises (t4 axiom0 axiom1 axiom2)) -809cc2252f6f1da6c3a4347a531733952ab0b99f 467 0 +(assume a0 (! (forall ((?v0 A$) (?v1 B$) (?v2 C$)) (! (p$ ?v0 ?v1) :named @p_2)) :named @p_1)) +(assume a1 (! (=> (! (p$ z$ y$) :named @p_12) false) :named @p_11)) +(step t3 (cl (! (= @p_1 (! (forall ((?v0 A$) (?v1 B$)) @p_2) :named @p_4)) :named @p_3)) :rule qnt_rm_unused) +(step t4 (cl (not @p_3) (not @p_1) @p_4) :rule equiv_pos2) +(step t5 (cl @p_4) :rule th_resolution :premises (a0 t3 t4)) +(anchor :step t6 :args ((:= (?v0 A$) veriT_vr0) (:= (?v1 B$) veriT_vr1))) +(step t6.t1 (cl (= ?v0 veriT_vr0)) :rule refl) +(step t6.t2 (cl (= ?v1 veriT_vr1)) :rule refl) +(step t6.t3 (cl (= @p_2 (! (p$ veriT_vr0 veriT_vr1) :named @p_5))) :rule cong :premises (t6.t1 t6.t2)) +(step t6 (cl (! (= @p_4 (! (forall ((veriT_vr0 A$) (veriT_vr1 B$)) @p_5) :named @p_7)) :named @p_6)) :rule bind) +(step t7 (cl (not @p_6) (not @p_4) @p_7) :rule equiv_pos2) +(step t8 (cl @p_7) :rule th_resolution :premises (t5 t6 t7)) +(anchor :step t9 :args ((:= (veriT_vr0 A$) veriT_vr2) (:= (veriT_vr1 B$) veriT_vr3))) +(step t9.t1 (cl (= veriT_vr0 veriT_vr2)) :rule refl) +(step t9.t2 (cl (= veriT_vr1 veriT_vr3)) :rule refl) +(step t9.t3 (cl (= @p_5 (! (p$ veriT_vr2 veriT_vr3) :named @p_8))) :rule cong :premises (t9.t1 t9.t2)) +(step t9 (cl (! (= @p_7 (! (forall ((veriT_vr2 A$) (veriT_vr3 B$)) @p_8) :named @p_10)) :named @p_9)) :rule bind) +(step t10 (cl (not @p_9) (not @p_7) @p_10) :rule equiv_pos2) +(step t11 (cl @p_10) :rule th_resolution :premises (t8 t9 t10)) +(step t12 (cl (! (= @p_11 (! (not @p_12) :named @p_14)) :named @p_13)) :rule implies_simplify) +(step t13 (cl (not @p_13) (not @p_11) @p_14) :rule equiv_pos2) +(step t14 (cl @p_14) :rule th_resolution :premises (a1 t12 t13)) +(step t15 (cl (or (! (not @p_10) :named @p_15) @p_12)) :rule forall_inst :args ((:= veriT_vr2 z$) (:= veriT_vr3 y$))) +(step t16 (cl @p_15 @p_12) :rule or :premises (t15)) +(step t17 (cl) :rule resolution :premises (t16 t11 t14)) +732d0d825854417fe8b0c85959caf9624dd11670 23 0 unsat -(assume axiom0 (! (forall ((?v0 Real)) (! (= (! (fun_app$ uuc$ ?v0) :named @p_9) (! (pair$ (! (times$ (! (- ?v0 (! (divide$ 1.0 2.0) :named @p_7)) :named @p_12) d$) :named @p_1) (! (diamond_y$ @p_1) :named @p_16)) :named @p_18)) :named @p_20)) :named @p_6)) -(assume axiom3 (! (forall ((?v0 Real)) (! (= (! (fun_app$ uub$ ?v0) :named @p_37) (! (pair$ (! (- (! (divide$ d$ 2.0) :named @p_3)) :named @p_2) (! (times$ (! (- (! (* 2.0 ?v0) :named @p_40) 1.0) :named @p_42) (! (diamond_y$ @p_2) :named @p_36)) :named @p_44)) :named @p_46)) :named @p_48)) :named @p_35)) -(assume axiom4 (! (< 0.0 d$) :named @p_257)) -(assume axiom5 (! (forall ((?v0 Real)) (! (= (! (diamond_y$ ?v0) :named @p_62) (! (- @p_3 (! (ite (! (< ?v0 0.0) :named @p_65) (! (- ?v0) :named @p_4) ?v0) :named @p_68)) :named @p_70)) :named @p_72)) :named @p_61)) -(assume axiom7 (! (forall ((?v0 Real) (?v1 Real) (?v2 Real)) (! (= (! (< (! (divide$ ?v0 ?v1) :named @p_5) (! (divide$ ?v2 ?v1) :named @p_88)) :named @p_90) (! (and (! (=> (! (< 0.0 ?v1) :named @p_92) (! (< ?v0 ?v2) :named @p_96)) :named @p_98) (! (and (! (=> (! (< ?v1 0.0) :named @p_100) (! (< ?v2 ?v0) :named @p_102)) :named @p_104) (! (not (! (= 0.0 ?v1) :named @p_106)) :named @p_108)) :named @p_110)) :named @p_112)) :named @p_114)) :named @p_85)) -(assume axiom8 (! (forall ((?v0 Real) (?v1 Real)) (! (= (! (divide$ @p_4 ?v1) :named @p_142) (! (- @p_5) :named @p_147)) :named @p_149)) :named @p_140)) -(assume axiom9 (! (forall ((?v0 Real) (?v1 Real)) (! (= (! (times$ @p_4 ?v1) :named @p_164) (! (- (! (times$ ?v0 ?v1) :named @p_168)) :named @p_170)) :named @p_172)) :named @p_162)) -(assume axiom10 (! (forall ((?v0 Real) (?v1 Real) (?v2 Real) (?v3 Real)) (! (= (! (= (! (pair$ ?v0 ?v1) :named @p_186) (! (pair$ ?v2 ?v3) :named @p_188)) :named @p_190) (! (and (! (= ?v0 ?v2) :named @p_194) (! (= ?v1 ?v3) :named @p_198)) :named @p_200)) :named @p_202)) :named @p_185)) -(assume axiom11 (! (not (! (=> (! (and (! (not (= uua$ uu$)) :named @p_226) (! (= uuc$ uub$) :named @p_227)) :named @p_220) false) :named @p_224)) :named @p_219)) +(assume a0 (! (not (! (<= y$ (! (ite (! (<= x$ y$) :named @p_3) y$ x$) :named @p_2)) :named @p_7)) :named @p_1)) +(step t2 (cl (! (= @p_1 (! (and (! (not (! (<= y$ @p_2) :named @p_13)) :named @p_9) (! (ite @p_3 (! (= y$ @p_2) :named @p_12) (! (= x$ @p_2) :named @p_11)) :named @p_10)) :named @p_5)) :named @p_4)) :rule ite_intro) +(step t3 (cl (! (not @p_4) :named @p_8) (! (not @p_1) :named @p_6) @p_5) :rule equiv_pos2) +(step t4 (cl (not @p_6) @p_7) :rule not_not) +(step t5 (cl @p_8 @p_7 @p_5) :rule th_resolution :premises (t4 t3)) +(step t6 (cl @p_5) :rule th_resolution :premises (a0 t2 t5)) +(step t7 (cl @p_9) :rule and :premises (t6)) +(step t8 (cl @p_10) :rule and :premises (t6)) +(step t9 (cl @p_3 @p_11) :rule ite1 :premises (t8)) +(step t10 (cl (! (not @p_3) :named @p_15) @p_12) :rule ite2 :premises (t8)) +(step t11 (cl @p_13 @p_3 (! (not @p_11) :named @p_14)) :rule la_generic :args (1 1 (- 1))) +(step t12 (cl @p_3 @p_14) :rule resolution :premises (t11 t7)) +(step t13 (cl (not (! (= y$ x$) :named @p_17)) (! (not @p_12) :named @p_16) @p_15 @p_13) :rule eq_congruent_pred) +(step t14 (cl @p_16 @p_14 @p_17) :rule eq_transitive) +(step t15 (cl @p_16 @p_15 @p_13 @p_16 @p_14) :rule th_resolution :premises (t13 t14)) +(step t16 (cl @p_16 @p_15 @p_13 @p_14) :rule contraction :premises (t15)) +(step t17 (cl @p_16 @p_15 @p_14) :rule resolution :premises (t16 t7)) +(step t18 (cl @p_14) :rule resolution :premises (t17 t10 t12)) +(step t19 (cl @p_3) :rule resolution :premises (t9 t18)) +(step t20 (cl @p_12) :rule resolution :premises (t10 t19)) +(step t21 (cl @p_13 @p_16) :rule la_generic :args (1 (- 1))) +(step t22 (cl) :rule resolution :premises (t21 t7 t20)) +f17b9d0590c7cefc8013c1518981dc710a40e813 467 0 +unsat +(assume a0 (! (forall ((?v0 Real)) (! (= (! (fun_app$ uuc$ ?v0) :named @p_9) (! (pair$ (! (times$ (! (- ?v0 (! (divide$ 1.0 2.0) :named @p_7)) :named @p_12) d$) :named @p_1) (! (diamond_y$ @p_1) :named @p_16)) :named @p_18)) :named @p_20)) :named @p_6)) +(assume a3 (! (forall ((?v0 Real)) (! (= (! (fun_app$ uub$ ?v0) :named @p_37) (! (pair$ (! (- (! (divide$ d$ 2.0) :named @p_3)) :named @p_2) (! (times$ (! (- (! (* 2.0 ?v0) :named @p_40) 1.0) :named @p_42) (! (diamond_y$ @p_2) :named @p_36)) :named @p_44)) :named @p_46)) :named @p_48)) :named @p_35)) +(assume a4 (! (< 0.0 d$) :named @p_257)) +(assume a5 (! (forall ((?v0 Real)) (! (= (! (diamond_y$ ?v0) :named @p_62) (! (- @p_3 (! (ite (! (< ?v0 0.0) :named @p_65) (! (- ?v0) :named @p_4) ?v0) :named @p_68)) :named @p_70)) :named @p_72)) :named @p_61)) +(assume a7 (! (forall ((?v0 Real) (?v1 Real) (?v2 Real)) (! (= (! (< (! (divide$ ?v0 ?v1) :named @p_5) (! (divide$ ?v2 ?v1) :named @p_88)) :named @p_90) (! (and (! (=> (! (< 0.0 ?v1) :named @p_92) (! (< ?v0 ?v2) :named @p_96)) :named @p_98) (! (and (! (=> (! (< ?v1 0.0) :named @p_100) (! (< ?v2 ?v0) :named @p_102)) :named @p_104) (! (not (! (= 0.0 ?v1) :named @p_106)) :named @p_108)) :named @p_110)) :named @p_112)) :named @p_114)) :named @p_85)) +(assume a8 (! (forall ((?v0 Real) (?v1 Real)) (! (= (! (divide$ @p_4 ?v1) :named @p_142) (! (- @p_5) :named @p_147)) :named @p_149)) :named @p_140)) +(assume a9 (! (forall ((?v0 Real) (?v1 Real)) (! (= (! (times$ @p_4 ?v1) :named @p_164) (! (- (! (times$ ?v0 ?v1) :named @p_168)) :named @p_170)) :named @p_172)) :named @p_162)) +(assume a10 (! (forall ((?v0 Real) (?v1 Real) (?v2 Real) (?v3 Real)) (! (= (! (= (! (pair$ ?v0 ?v1) :named @p_186) (! (pair$ ?v2 ?v3) :named @p_188)) :named @p_190) (! (and (! (= ?v0 ?v2) :named @p_194) (! (= ?v1 ?v3) :named @p_198)) :named @p_200)) :named @p_202)) :named @p_185)) +(assume a11 (! (not (! (=> (! (and (! (not (= uua$ uu$)) :named @p_226) (! (= uuc$ uub$) :named @p_227)) :named @p_220) false) :named @p_224)) :named @p_219)) (anchor :step t10 :args ((:= (?v0 Real) veriT_vr0))) (step t10.t1 (cl (! (= ?v0 veriT_vr0) :named @p_11)) :rule refl) (step t10.t2 (cl (= @p_9 (! (fun_app$ uuc$ veriT_vr0) :named @p_10))) :rule cong :premises (t10.t1)) (step t10.t3 (cl @p_11) :rule refl) (step t10.t4 (cl (! (= @p_12 (! (- veriT_vr0 @p_7) :named @p_13)) :named @p_14)) :rule cong :premises (t10.t3)) (step t10.t5 (cl (! (= @p_1 (! (times$ @p_13 d$) :named @p_8)) :named @p_15)) :rule cong :premises (t10.t4)) (step t10.t6 (cl @p_11) :rule refl) (step t10.t7 (cl @p_14) :rule cong :premises (t10.t6)) (step t10.t8 (cl @p_15) :rule cong :premises (t10.t7)) (step t10.t9 (cl (= @p_16 (! (diamond_y$ @p_8) :named @p_17))) :rule cong :premises (t10.t8)) (step t10.t10 (cl (= @p_18 (! (pair$ @p_8 @p_17) :named @p_19))) :rule cong :premises (t10.t5 t10.t9)) (step t10.t11 (cl (= @p_20 (! (= @p_10 @p_19) :named @p_21))) :rule cong :premises (t10.t2 t10.t10)) (step t10 (cl (! (= @p_6 (! (forall ((veriT_vr0 Real)) @p_21) :named @p_23)) :named @p_22)) :rule bind) (step t11 (cl (not @p_22) (not @p_6) @p_23) :rule equiv_pos2) -(step t12 (cl @p_23) :rule th_resolution :premises (axiom0 t10 t11)) +(step t12 (cl @p_23) :rule th_resolution :premises (a0 t10 t11)) (anchor :step t13 :args ((:= (veriT_vr0 Real) veriT_vr1))) (step t13.t1 (cl (! (= veriT_vr0 veriT_vr1) :named @p_26)) :rule refl) (step t13.t2 (cl (= @p_10 (! (fun_app$ uuc$ veriT_vr1) :named @p_25))) :rule cong :premises (t13.t1)) (step t13.t3 (cl @p_26) :rule refl) (step t13.t4 (cl (! (= @p_13 (! (- veriT_vr1 @p_7) :named @p_27)) :named @p_28)) :rule cong :premises (t13.t3)) (step t13.t5 (cl (! (= @p_8 (! (times$ @p_27 d$) :named @p_24)) :named @p_29)) :rule cong :premises (t13.t4)) (step t13.t6 (cl @p_26) :rule refl) (step t13.t7 (cl @p_28) :rule cong :premises (t13.t6)) (step t13.t8 (cl @p_29) :rule cong :premises (t13.t7)) (step t13.t9 (cl (= @p_17 (! (diamond_y$ @p_24) :named @p_30))) :rule cong :premises (t13.t8)) (step t13.t10 (cl (= @p_19 (! (pair$ @p_24 @p_30) :named @p_31))) :rule cong :premises (t13.t5 t13.t9)) (step t13.t11 (cl (= @p_21 (! (= @p_25 @p_31) :named @p_32))) :rule cong :premises (t13.t2 t13.t10)) (step t13 (cl (! (= @p_23 (! (forall ((veriT_vr1 Real)) @p_32) :named @p_34)) :named @p_33)) :rule bind) (step t14 (cl (not @p_33) (not @p_23) @p_34) :rule equiv_pos2) (step t15 (cl @p_34) :rule th_resolution :premises (t12 t13 t14)) (anchor :step t16 :args ((:= (?v0 Real) veriT_vr6))) (step t16.t1 (cl (! (= ?v0 veriT_vr6) :named @p_39)) :rule refl) (step t16.t2 (cl (= @p_37 (! (fun_app$ uub$ veriT_vr6) :named @p_38))) :rule cong :premises (t16.t1)) (step t16.t3 (cl @p_39) :rule refl) (step t16.t4 (cl (= @p_40 (! (* 2.0 veriT_vr6) :named @p_41))) :rule cong :premises (t16.t3)) (step t16.t5 (cl (= @p_42 (! (- @p_41 1.0) :named @p_43))) :rule cong :premises (t16.t4)) (step t16.t6 (cl (= @p_44 (! (times$ @p_43 @p_36) :named @p_45))) :rule cong :premises (t16.t5)) (step t16.t7 (cl (= @p_46 (! (pair$ @p_2 @p_45) :named @p_47))) :rule cong :premises (t16.t6)) (step t16.t8 (cl (= @p_48 (! (= @p_38 @p_47) :named @p_49))) :rule cong :premises (t16.t2 t16.t7)) (step t16 (cl (! (= @p_35 (! (forall ((veriT_vr6 Real)) @p_49) :named @p_51)) :named @p_50)) :rule bind) (step t17 (cl (not @p_50) (not @p_35) @p_51) :rule equiv_pos2) -(step t18 (cl @p_51) :rule th_resolution :premises (axiom3 t16 t17)) +(step t18 (cl @p_51) :rule th_resolution :premises (a3 t16 t17)) (anchor :step t19 :args ((:= (veriT_vr6 Real) veriT_vr7))) (step t19.t1 (cl (! (= veriT_vr6 veriT_vr7) :named @p_53)) :rule refl) (step t19.t2 (cl (= @p_38 (! (fun_app$ uub$ veriT_vr7) :named @p_52))) :rule cong :premises (t19.t1)) (step t19.t3 (cl @p_53) :rule refl) (step t19.t4 (cl (= @p_41 (! (* 2.0 veriT_vr7) :named @p_54))) :rule cong :premises (t19.t3)) (step t19.t5 (cl (= @p_43 (! (- @p_54 1.0) :named @p_55))) :rule cong :premises (t19.t4)) (step t19.t6 (cl (= @p_45 (! (times$ @p_55 @p_36) :named @p_56))) :rule cong :premises (t19.t5)) (step t19.t7 (cl (= @p_47 (! (pair$ @p_2 @p_56) :named @p_57))) :rule cong :premises (t19.t6)) (step t19.t8 (cl (= @p_49 (! (= @p_52 @p_57) :named @p_58))) :rule cong :premises (t19.t2 t19.t7)) (step t19 (cl (! (= @p_51 (! (forall ((veriT_vr7 Real)) @p_58) :named @p_60)) :named @p_59)) :rule bind) (step t20 (cl (not @p_59) (not @p_51) @p_60) :rule equiv_pos2) (step t21 (cl @p_60) :rule th_resolution :premises (t18 t19 t20)) (anchor :step t22 :args ((:= (?v0 Real) veriT_vr8))) (step t22.t1 (cl (! (= ?v0 veriT_vr8) :named @p_64)) :rule refl) (step t22.t2 (cl (= @p_62 (! (diamond_y$ veriT_vr8) :named @p_63))) :rule cong :premises (t22.t1)) (step t22.t3 (cl @p_64) :rule refl) (step t22.t4 (cl (= @p_65 (! (< veriT_vr8 0.0) :named @p_66))) :rule cong :premises (t22.t3)) (step t22.t5 (cl @p_64) :rule refl) (step t22.t6 (cl (= @p_4 (! (- veriT_vr8) :named @p_67))) :rule cong :premises (t22.t5)) (step t22.t7 (cl @p_64) :rule refl) (step t22.t8 (cl (= @p_68 (! (ite @p_66 @p_67 veriT_vr8) :named @p_69))) :rule cong :premises (t22.t4 t22.t6 t22.t7)) (step t22.t9 (cl (= @p_70 (! (- @p_3 @p_69) :named @p_71))) :rule cong :premises (t22.t8)) (step t22.t10 (cl (= @p_72 (! (= @p_63 @p_71) :named @p_73))) :rule cong :premises (t22.t2 t22.t9)) (step t22 (cl (! (= @p_61 (! (forall ((veriT_vr8 Real)) @p_73) :named @p_75)) :named @p_74)) :rule bind) (step t23 (cl (not @p_74) (not @p_61) @p_75) :rule equiv_pos2) -(step t24 (cl @p_75) :rule th_resolution :premises (axiom5 t22 t23)) +(step t24 (cl @p_75) :rule th_resolution :premises (a5 t22 t23)) (anchor :step t25 :args ((:= (veriT_vr8 Real) veriT_vr9))) (step t25.t1 (cl (! (= veriT_vr8 veriT_vr9) :named @p_77)) :rule refl) (step t25.t2 (cl (= @p_63 (! (diamond_y$ veriT_vr9) :named @p_76))) :rule cong :premises (t25.t1)) (step t25.t3 (cl @p_77) :rule refl) (step t25.t4 (cl (= @p_66 (! (< veriT_vr9 0.0) :named @p_78))) :rule cong :premises (t25.t3)) (step t25.t5 (cl @p_77) :rule refl) (step t25.t6 (cl (= @p_67 (! (- veriT_vr9) :named @p_79))) :rule cong :premises (t25.t5)) (step t25.t7 (cl @p_77) :rule refl) (step t25.t8 (cl (= @p_69 (! (ite @p_78 @p_79 veriT_vr9) :named @p_80))) :rule cong :premises (t25.t4 t25.t6 t25.t7)) (step t25.t9 (cl (= @p_71 (! (- @p_3 @p_80) :named @p_81))) :rule cong :premises (t25.t8)) (step t25.t10 (cl (= @p_73 (! (= @p_76 @p_81) :named @p_82))) :rule cong :premises (t25.t2 t25.t9)) (step t25 (cl (! (= @p_75 (! (forall ((veriT_vr9 Real)) @p_82) :named @p_84)) :named @p_83)) :rule bind) (step t26 (cl (not @p_83) (not @p_75) @p_84) :rule equiv_pos2) (step t27 (cl @p_84) :rule th_resolution :premises (t24 t25 t26)) (anchor :step t28 :args ((:= (?v0 Real) veriT_vr10) (:= (?v1 Real) veriT_vr11) (:= (?v2 Real) veriT_vr12))) (step t28.t1 (cl (! (= ?v0 veriT_vr10) :named @p_94)) :rule refl) (step t28.t2 (cl (! (= ?v1 veriT_vr11) :named @p_87)) :rule refl) (step t28.t3 (cl (= @p_5 (! (divide$ veriT_vr10 veriT_vr11) :named @p_86))) :rule cong :premises (t28.t1 t28.t2)) (step t28.t4 (cl (! (= ?v2 veriT_vr12) :named @p_95)) :rule refl) (step t28.t5 (cl @p_87) :rule refl) (step t28.t6 (cl (= @p_88 (! (divide$ veriT_vr12 veriT_vr11) :named @p_89))) :rule cong :premises (t28.t4 t28.t5)) (step t28.t7 (cl (= @p_90 (! (< @p_86 @p_89) :named @p_91))) :rule cong :premises (t28.t3 t28.t6)) (step t28.t8 (cl @p_87) :rule refl) (step t28.t9 (cl (= @p_92 (! (< 0.0 veriT_vr11) :named @p_93))) :rule cong :premises (t28.t8)) (step t28.t10 (cl @p_94) :rule refl) (step t28.t11 (cl @p_95) :rule refl) (step t28.t12 (cl (= @p_96 (! (< veriT_vr10 veriT_vr12) :named @p_97))) :rule cong :premises (t28.t10 t28.t11)) (step t28.t13 (cl (= @p_98 (! (=> @p_93 @p_97) :named @p_99))) :rule cong :premises (t28.t9 t28.t12)) (step t28.t14 (cl @p_87) :rule refl) (step t28.t15 (cl (= @p_100 (! (< veriT_vr11 0.0) :named @p_101))) :rule cong :premises (t28.t14)) (step t28.t16 (cl @p_95) :rule refl) (step t28.t17 (cl @p_94) :rule refl) (step t28.t18 (cl (= @p_102 (! (< veriT_vr12 veriT_vr10) :named @p_103))) :rule cong :premises (t28.t16 t28.t17)) (step t28.t19 (cl (= @p_104 (! (=> @p_101 @p_103) :named @p_105))) :rule cong :premises (t28.t15 t28.t18)) (step t28.t20 (cl @p_87) :rule refl) (step t28.t21 (cl (= @p_106 (! (= 0.0 veriT_vr11) :named @p_107))) :rule cong :premises (t28.t20)) (step t28.t22 (cl (= @p_108 (! (not @p_107) :named @p_109))) :rule cong :premises (t28.t21)) (step t28.t23 (cl (= @p_110 (! (and @p_105 @p_109) :named @p_111))) :rule cong :premises (t28.t19 t28.t22)) (step t28.t24 (cl (= @p_112 (! (and @p_99 @p_111) :named @p_113))) :rule cong :premises (t28.t13 t28.t23)) (step t28.t25 (cl (= @p_114 (! (= @p_91 @p_113) :named @p_115))) :rule cong :premises (t28.t7 t28.t24)) (step t28 (cl (! (= @p_85 (! (forall ((veriT_vr10 Real) (veriT_vr11 Real) (veriT_vr12 Real)) @p_115) :named @p_117)) :named @p_116)) :rule bind) (step t29 (cl (not @p_116) (not @p_85) @p_117) :rule equiv_pos2) -(step t30 (cl @p_117) :rule th_resolution :premises (axiom7 t28 t29)) +(step t30 (cl @p_117) :rule th_resolution :premises (a7 t28 t29)) (anchor :step t31 :args ((veriT_vr10 Real) (veriT_vr11 Real) (veriT_vr12 Real))) (step t31.t1 (cl (= @p_113 (! (and @p_99 @p_105 @p_109) :named @p_118))) :rule ac_simp) (step t31.t2 (cl (= @p_115 (! (= @p_91 @p_118) :named @p_119))) :rule cong :premises (t31.t1)) (step t31 (cl (! (= @p_117 (! (forall ((veriT_vr10 Real) (veriT_vr11 Real) (veriT_vr12 Real)) @p_119) :named @p_121)) :named @p_120)) :rule bind) (step t32 (cl (not @p_120) (not @p_117) @p_121) :rule equiv_pos2) (step t33 (cl @p_121) :rule th_resolution :premises (t30 t31 t32)) (anchor :step t34 :args ((:= (veriT_vr10 Real) veriT_vr13) (:= (veriT_vr11 Real) veriT_vr14) (:= (veriT_vr12 Real) veriT_vr15))) (step t34.t1 (cl (! (= veriT_vr10 veriT_vr13) :named @p_127)) :rule refl) (step t34.t2 (cl (! (= veriT_vr11 veriT_vr14) :named @p_123)) :rule refl) (step t34.t3 (cl (= @p_86 (! (divide$ veriT_vr13 veriT_vr14) :named @p_122))) :rule cong :premises (t34.t1 t34.t2)) (step t34.t4 (cl (! (= veriT_vr12 veriT_vr15) :named @p_128)) :rule refl) (step t34.t5 (cl @p_123) :rule refl) (step t34.t6 (cl (= @p_89 (! (divide$ veriT_vr15 veriT_vr14) :named @p_124))) :rule cong :premises (t34.t4 t34.t5)) (step t34.t7 (cl (= @p_91 (! (< @p_122 @p_124) :named @p_125))) :rule cong :premises (t34.t3 t34.t6)) (step t34.t8 (cl @p_123) :rule refl) (step t34.t9 (cl (= @p_93 (! (< 0.0 veriT_vr14) :named @p_126))) :rule cong :premises (t34.t8)) (step t34.t10 (cl @p_127) :rule refl) (step t34.t11 (cl @p_128) :rule refl) (step t34.t12 (cl (= @p_97 (! (< veriT_vr13 veriT_vr15) :named @p_129))) :rule cong :premises (t34.t10 t34.t11)) (step t34.t13 (cl (= @p_99 (! (=> @p_126 @p_129) :named @p_130))) :rule cong :premises (t34.t9 t34.t12)) (step t34.t14 (cl @p_123) :rule refl) (step t34.t15 (cl (= @p_101 (! (< veriT_vr14 0.0) :named @p_131))) :rule cong :premises (t34.t14)) (step t34.t16 (cl @p_128) :rule refl) (step t34.t17 (cl @p_127) :rule refl) (step t34.t18 (cl (= @p_103 (! (< veriT_vr15 veriT_vr13) :named @p_132))) :rule cong :premises (t34.t16 t34.t17)) (step t34.t19 (cl (= @p_105 (! (=> @p_131 @p_132) :named @p_133))) :rule cong :premises (t34.t15 t34.t18)) (step t34.t20 (cl @p_123) :rule refl) (step t34.t21 (cl (= @p_107 (! (= 0.0 veriT_vr14) :named @p_134))) :rule cong :premises (t34.t20)) (step t34.t22 (cl (= @p_109 (! (not @p_134) :named @p_135))) :rule cong :premises (t34.t21)) (step t34.t23 (cl (= @p_118 (! (and @p_130 @p_133 @p_135) :named @p_136))) :rule cong :premises (t34.t13 t34.t19 t34.t22)) (step t34.t24 (cl (= @p_119 (! (= @p_125 @p_136) :named @p_137))) :rule cong :premises (t34.t7 t34.t23)) (step t34 (cl (! (= @p_121 (! (forall ((veriT_vr13 Real) (veriT_vr14 Real) (veriT_vr15 Real)) @p_137) :named @p_139)) :named @p_138)) :rule bind) (step t35 (cl (not @p_138) (not @p_121) @p_139) :rule equiv_pos2) (step t36 (cl @p_139) :rule th_resolution :premises (t33 t34 t35)) (anchor :step t37 :args ((:= (?v0 Real) veriT_vr16) (:= (?v1 Real) veriT_vr17))) (step t37.t1 (cl (! (= ?v0 veriT_vr16) :named @p_144)) :rule refl) (step t37.t2 (cl (= @p_4 (! (- veriT_vr16) :named @p_141))) :rule cong :premises (t37.t1)) (step t37.t3 (cl (! (= ?v1 veriT_vr17) :named @p_145)) :rule refl) (step t37.t4 (cl (= @p_142 (! (divide$ @p_141 veriT_vr17) :named @p_143))) :rule cong :premises (t37.t2 t37.t3)) (step t37.t5 (cl @p_144) :rule refl) (step t37.t6 (cl @p_145) :rule refl) (step t37.t7 (cl (= @p_5 (! (divide$ veriT_vr16 veriT_vr17) :named @p_146))) :rule cong :premises (t37.t5 t37.t6)) (step t37.t8 (cl (= @p_147 (! (- @p_146) :named @p_148))) :rule cong :premises (t37.t7)) (step t37.t9 (cl (= @p_149 (! (= @p_143 @p_148) :named @p_150))) :rule cong :premises (t37.t4 t37.t8)) (step t37 (cl (! (= @p_140 (! (forall ((veriT_vr16 Real) (veriT_vr17 Real)) @p_150) :named @p_152)) :named @p_151)) :rule bind) (step t38 (cl (not @p_151) (not @p_140) @p_152) :rule equiv_pos2) -(step t39 (cl @p_152) :rule th_resolution :premises (axiom8 t37 t38)) +(step t39 (cl @p_152) :rule th_resolution :premises (a8 t37 t38)) (anchor :step t40 :args ((:= (veriT_vr16 Real) veriT_vr18) (:= (veriT_vr17 Real) veriT_vr19))) (step t40.t1 (cl (! (= veriT_vr16 veriT_vr18) :named @p_155)) :rule refl) (step t40.t2 (cl (= @p_141 (! (- veriT_vr18) :named @p_153))) :rule cong :premises (t40.t1)) (step t40.t3 (cl (! (= veriT_vr17 veriT_vr19) :named @p_156)) :rule refl) (step t40.t4 (cl (= @p_143 (! (divide$ @p_153 veriT_vr19) :named @p_154))) :rule cong :premises (t40.t2 t40.t3)) (step t40.t5 (cl @p_155) :rule refl) (step t40.t6 (cl @p_156) :rule refl) (step t40.t7 (cl (= @p_146 (! (divide$ veriT_vr18 veriT_vr19) :named @p_157))) :rule cong :premises (t40.t5 t40.t6)) (step t40.t8 (cl (= @p_148 (! (- @p_157) :named @p_158))) :rule cong :premises (t40.t7)) (step t40.t9 (cl (= @p_150 (! (= @p_154 @p_158) :named @p_159))) :rule cong :premises (t40.t4 t40.t8)) (step t40 (cl (! (= @p_152 (! (forall ((veriT_vr18 Real) (veriT_vr19 Real)) @p_159) :named @p_161)) :named @p_160)) :rule bind) (step t41 (cl (not @p_160) (not @p_152) @p_161) :rule equiv_pos2) (step t42 (cl @p_161) :rule th_resolution :premises (t39 t40 t41)) (anchor :step t43 :args ((:= (?v0 Real) veriT_vr20) (:= (?v1 Real) veriT_vr21))) (step t43.t1 (cl (! (= ?v0 veriT_vr20) :named @p_166)) :rule refl) (step t43.t2 (cl (= @p_4 (! (- veriT_vr20) :named @p_163))) :rule cong :premises (t43.t1)) (step t43.t3 (cl (! (= ?v1 veriT_vr21) :named @p_167)) :rule refl) (step t43.t4 (cl (= @p_164 (! (times$ @p_163 veriT_vr21) :named @p_165))) :rule cong :premises (t43.t2 t43.t3)) (step t43.t5 (cl @p_166) :rule refl) (step t43.t6 (cl @p_167) :rule refl) (step t43.t7 (cl (= @p_168 (! (times$ veriT_vr20 veriT_vr21) :named @p_169))) :rule cong :premises (t43.t5 t43.t6)) (step t43.t8 (cl (= @p_170 (! (- @p_169) :named @p_171))) :rule cong :premises (t43.t7)) (step t43.t9 (cl (= @p_172 (! (= @p_165 @p_171) :named @p_173))) :rule cong :premises (t43.t4 t43.t8)) (step t43 (cl (! (= @p_162 (! (forall ((veriT_vr20 Real) (veriT_vr21 Real)) @p_173) :named @p_175)) :named @p_174)) :rule bind) (step t44 (cl (not @p_174) (not @p_162) @p_175) :rule equiv_pos2) -(step t45 (cl @p_175) :rule th_resolution :premises (axiom9 t43 t44)) +(step t45 (cl @p_175) :rule th_resolution :premises (a9 t43 t44)) (anchor :step t46 :args ((:= (veriT_vr20 Real) veriT_vr22) (:= (veriT_vr21 Real) veriT_vr23))) (step t46.t1 (cl (! (= veriT_vr20 veriT_vr22) :named @p_178)) :rule refl) (step t46.t2 (cl (= @p_163 (! (- veriT_vr22) :named @p_176))) :rule cong :premises (t46.t1)) (step t46.t3 (cl (! (= veriT_vr21 veriT_vr23) :named @p_179)) :rule refl) (step t46.t4 (cl (= @p_165 (! (times$ @p_176 veriT_vr23) :named @p_177))) :rule cong :premises (t46.t2 t46.t3)) (step t46.t5 (cl @p_178) :rule refl) (step t46.t6 (cl @p_179) :rule refl) (step t46.t7 (cl (= @p_169 (! (times$ veriT_vr22 veriT_vr23) :named @p_180))) :rule cong :premises (t46.t5 t46.t6)) (step t46.t8 (cl (= @p_171 (! (- @p_180) :named @p_181))) :rule cong :premises (t46.t7)) (step t46.t9 (cl (= @p_173 (! (= @p_177 @p_181) :named @p_182))) :rule cong :premises (t46.t4 t46.t8)) (step t46 (cl (! (= @p_175 (! (forall ((veriT_vr22 Real) (veriT_vr23 Real)) @p_182) :named @p_184)) :named @p_183)) :rule bind) (step t47 (cl (not @p_183) (not @p_175) @p_184) :rule equiv_pos2) (step t48 (cl @p_184) :rule th_resolution :premises (t45 t46 t47)) (anchor :step t49 :args ((:= (?v0 Real) veriT_vr24) (:= (?v1 Real) veriT_vr25) (:= (?v2 Real) veriT_vr26) (:= (?v3 Real) veriT_vr27))) (step t49.t1 (cl (! (= ?v0 veriT_vr24) :named @p_192)) :rule refl) (step t49.t2 (cl (! (= ?v1 veriT_vr25) :named @p_196)) :rule refl) (step t49.t3 (cl (= @p_186 (! (pair$ veriT_vr24 veriT_vr25) :named @p_187))) :rule cong :premises (t49.t1 t49.t2)) (step t49.t4 (cl (! (= ?v2 veriT_vr26) :named @p_193)) :rule refl) (step t49.t5 (cl (! (= ?v3 veriT_vr27) :named @p_197)) :rule refl) (step t49.t6 (cl (= @p_188 (! (pair$ veriT_vr26 veriT_vr27) :named @p_189))) :rule cong :premises (t49.t4 t49.t5)) (step t49.t7 (cl (= @p_190 (! (= @p_187 @p_189) :named @p_191))) :rule cong :premises (t49.t3 t49.t6)) (step t49.t8 (cl @p_192) :rule refl) (step t49.t9 (cl @p_193) :rule refl) (step t49.t10 (cl (= @p_194 (! (= veriT_vr24 veriT_vr26) :named @p_195))) :rule cong :premises (t49.t8 t49.t9)) (step t49.t11 (cl @p_196) :rule refl) (step t49.t12 (cl @p_197) :rule refl) (step t49.t13 (cl (= @p_198 (! (= veriT_vr25 veriT_vr27) :named @p_199))) :rule cong :premises (t49.t11 t49.t12)) (step t49.t14 (cl (= @p_200 (! (and @p_195 @p_199) :named @p_201))) :rule cong :premises (t49.t10 t49.t13)) (step t49.t15 (cl (= @p_202 (! (= @p_191 @p_201) :named @p_203))) :rule cong :premises (t49.t7 t49.t14)) (step t49 (cl (! (= @p_185 (! (forall ((veriT_vr24 Real) (veriT_vr25 Real) (veriT_vr26 Real) (veriT_vr27 Real)) @p_203) :named @p_205)) :named @p_204)) :rule bind) (step t50 (cl (not @p_204) (not @p_185) @p_205) :rule equiv_pos2) -(step t51 (cl @p_205) :rule th_resolution :premises (axiom10 t49 t50)) +(step t51 (cl @p_205) :rule th_resolution :premises (a10 t49 t50)) (anchor :step t52 :args ((:= (veriT_vr24 Real) veriT_vr28) (:= (veriT_vr25 Real) veriT_vr29) (:= (veriT_vr26 Real) veriT_vr30) (:= (veriT_vr27 Real) veriT_vr31))) (step t52.t1 (cl (! (= veriT_vr24 veriT_vr28) :named @p_209)) :rule refl) (step t52.t2 (cl (! (= veriT_vr25 veriT_vr29) :named @p_212)) :rule refl) (step t52.t3 (cl (= @p_187 (! (pair$ veriT_vr28 veriT_vr29) :named @p_206))) :rule cong :premises (t52.t1 t52.t2)) (step t52.t4 (cl (! (= veriT_vr26 veriT_vr30) :named @p_210)) :rule refl) (step t52.t5 (cl (! (= veriT_vr27 veriT_vr31) :named @p_213)) :rule refl) (step t52.t6 (cl (= @p_189 (! (pair$ veriT_vr30 veriT_vr31) :named @p_207))) :rule cong :premises (t52.t4 t52.t5)) (step t52.t7 (cl (= @p_191 (! (= @p_206 @p_207) :named @p_208))) :rule cong :premises (t52.t3 t52.t6)) (step t52.t8 (cl @p_209) :rule refl) (step t52.t9 (cl @p_210) :rule refl) (step t52.t10 (cl (= @p_195 (! (= veriT_vr28 veriT_vr30) :named @p_211))) :rule cong :premises (t52.t8 t52.t9)) (step t52.t11 (cl @p_212) :rule refl) (step t52.t12 (cl @p_213) :rule refl) (step t52.t13 (cl (= @p_199 (! (= veriT_vr29 veriT_vr31) :named @p_214))) :rule cong :premises (t52.t11 t52.t12)) (step t52.t14 (cl (= @p_201 (! (and @p_211 @p_214) :named @p_215))) :rule cong :premises (t52.t10 t52.t13)) (step t52.t15 (cl (= @p_203 (! (= @p_208 @p_215) :named @p_216))) :rule cong :premises (t52.t7 t52.t14)) (step t52 (cl (! (= @p_205 (! (forall ((veriT_vr28 Real) (veriT_vr29 Real) (veriT_vr30 Real) (veriT_vr31 Real)) @p_216) :named @p_218)) :named @p_217)) :rule bind) (step t53 (cl (not @p_217) (not @p_205) @p_218) :rule equiv_pos2) (step t54 (cl @p_218) :rule th_resolution :premises (t51 t52 t53)) (step t55 (cl (! (= @p_219 (! (and @p_220 (! (not false) :named @p_228)) :named @p_222)) :named @p_221)) :rule bool_simplify) (step t56 (cl (! (not @p_221) :named @p_225) (! (not @p_219) :named @p_223) @p_222) :rule equiv_pos2) (step t57 (cl (not @p_223) @p_224) :rule not_not) (step t58 (cl @p_225 @p_224 @p_222) :rule th_resolution :premises (t57 t56)) -(step t59 (cl @p_222) :rule th_resolution :premises (axiom11 t55 t58)) +(step t59 (cl @p_222) :rule th_resolution :premises (a11 t55 t58)) (step t60 (cl (! (= @p_222 (! (and @p_226 @p_227 @p_228) :named @p_230)) :named @p_229)) :rule ac_simp) (step t61 (cl (not @p_229) (not @p_222) @p_230) :rule equiv_pos2) (step t62 (cl @p_230) :rule th_resolution :premises (t59 t60 t61)) (step t63 (cl (! (= @p_228 true) :named @p_269)) :rule not_simplify) (step t64 (cl (= @p_230 (! (and @p_226 @p_227 true) :named @p_231))) :rule cong :premises (t63)) (step t65 (cl (= @p_231 @p_220)) :rule and_simplify) (step t66 (cl (! (= @p_230 @p_220) :named @p_232)) :rule trans :premises (t64 t65)) (step t67 (cl (not @p_232) (not @p_230) @p_220) :rule equiv_pos2) (step t68 (cl @p_220) :rule th_resolution :premises (t62 t66 t67)) (step t69 (cl @p_227) :rule and :premises (t68)) (step t70 (cl (or (! (not @p_218) :named @p_233) (! (forall ((veriT_vr28 Real) (veriT_vr29 Real) (veriT_vr30 Real) (veriT_vr31 Real)) (or (not @p_208) @p_211)) :named @p_359))) :rule qnt_cnf) (step t71 (cl (not (! (not @p_233) :named @p_364)) @p_218) :rule not_not) (step t72 (cl (not (! (not (! (not @p_184) :named @p_234)) :named @p_243)) @p_184) :rule not_not) (step t73 (cl (or @p_234 (! (= (! (times$ (! (- 0.0) :named @p_238) d$) :named @p_239) (! (- (! (times$ 0.0 d$) :named @p_236)) :named @p_237)) :named @p_235))) :rule forall_inst :args ((:= veriT_vr22 0.0) (:= veriT_vr23 d$))) (anchor :step t74) (assume t74.h1 @p_235) (step t74.t2 (cl (! (= 0.0 @p_238) :named @p_249)) :rule minus_simplify) (step t74.t3 (cl (= @p_239 @p_236)) :rule cong :premises (t74.t2)) (step t74.t4 (cl (! (= @p_235 (! (= @p_236 @p_237) :named @p_240)) :named @p_241)) :rule cong :premises (t74.t3)) (step t74.t5 (cl (not @p_241) (! (not @p_235) :named @p_242) @p_240) :rule equiv_pos2) (step t74.t6 (cl @p_240) :rule th_resolution :premises (t74.h1 t74.t4 t74.t5)) (step t74 (cl @p_242 @p_240) :rule subproof :discharge (h1)) (step t75 (cl @p_234 @p_235) :rule or :premises (t73)) (step t76 (cl (! (or @p_234 @p_240) :named @p_244) @p_243) :rule or_neg) (step t77 (cl @p_244 @p_184) :rule th_resolution :premises (t72 t76)) (step t78 (cl @p_244 (! (not @p_240) :named @p_350)) :rule or_neg) (step t79 (cl @p_244) :rule th_resolution :premises (t75 t74 t77 t78)) (step t80 (cl (not (! (not (! (not @p_161) :named @p_245)) :named @p_254)) @p_161) :rule not_not) (step t81 (cl (or @p_245 (! (= (! (divide$ @p_238 2.0) :named @p_250) (! (- (! (divide$ 0.0 2.0) :named @p_247)) :named @p_248)) :named @p_246))) :rule forall_inst :args ((:= veriT_vr18 0.0) (:= veriT_vr19 2.0))) (anchor :step t82) (assume t82.h1 @p_246) (step t82.t2 (cl @p_249) :rule minus_simplify) (step t82.t3 (cl (= @p_250 @p_247)) :rule cong :premises (t82.t2)) (step t82.t4 (cl (! (= @p_246 (! (= @p_247 @p_248) :named @p_251)) :named @p_252)) :rule cong :premises (t82.t3)) (step t82.t5 (cl (not @p_252) (! (not @p_246) :named @p_253) @p_251) :rule equiv_pos2) (step t82.t6 (cl @p_251) :rule th_resolution :premises (t82.h1 t82.t4 t82.t5)) (step t82 (cl @p_253 @p_251) :rule subproof :discharge (h1)) (step t83 (cl @p_245 @p_246) :rule or :premises (t81)) (step t84 (cl (! (or @p_245 @p_251) :named @p_255) @p_254) :rule or_neg) (step t85 (cl @p_255 @p_161) :rule th_resolution :premises (t80 t84)) (step t86 (cl @p_255 (! (not @p_251) :named @p_336)) :rule or_neg) (step t87 (cl @p_255) :rule th_resolution :premises (t83 t82 t85 t86)) (step t88 (cl (not (! (not (! (not @p_139) :named @p_256)) :named @p_276)) @p_139) :rule not_not) (step t89 (cl (or @p_256 (! (= (! (< @p_247 @p_3) :named @p_259) (! (and (! (=> (! (< 0.0 2.0) :named @p_260) @p_257) :named @p_261) (! (=> (! (< 2.0 0.0) :named @p_263) (! (< d$ 0.0) :named @p_265)) :named @p_264) (! (not (! (= 2.0 0.0) :named @p_267)) :named @p_268)) :named @p_270)) :named @p_258))) :rule forall_inst :args ((:= veriT_vr13 0.0) (:= veriT_vr14 2.0) (:= veriT_vr15 d$))) (anchor :step t90) (assume t90.h1 @p_258) (step t90.t2 (cl (= @p_260 true)) :rule comp_simplify) (step t90.t3 (cl (= @p_261 (! (=> true @p_257) :named @p_262))) :rule cong :premises (t90.t2)) (step t90.t4 (cl (= @p_262 @p_257)) :rule implies_simplify) (step t90.t5 (cl (= @p_261 @p_257)) :rule trans :premises (t90.t3 t90.t4)) (step t90.t6 (cl (= @p_263 false)) :rule comp_simplify) (step t90.t7 (cl (= @p_264 (! (=> false @p_265) :named @p_266))) :rule cong :premises (t90.t6)) (step t90.t8 (cl (= @p_266 true)) :rule implies_simplify) (step t90.t9 (cl (= @p_264 true)) :rule trans :premises (t90.t7 t90.t8)) (step t90.t10 (cl (= @p_267 false)) :rule eq_simplify) (step t90.t11 (cl (= @p_268 @p_228)) :rule cong :premises (t90.t10)) (step t90.t12 (cl @p_269) :rule not_simplify) (step t90.t13 (cl (= @p_268 true)) :rule trans :premises (t90.t11 t90.t12)) (step t90.t14 (cl (= @p_270 (! (and @p_257 true true) :named @p_271))) :rule cong :premises (t90.t5 t90.t9 t90.t13)) (step t90.t15 (cl (= @p_271 (! (and @p_257) :named @p_272))) :rule and_simplify) (step t90.t16 (cl (= @p_272 @p_257)) :rule and_simplify) (step t90.t17 (cl (= @p_270 @p_257)) :rule trans :premises (t90.t14 t90.t15 t90.t16)) (step t90.t18 (cl (! (= @p_258 (! (= @p_259 @p_257) :named @p_273)) :named @p_274)) :rule cong :premises (t90.t17)) (step t90.t19 (cl (not @p_274) (! (not @p_258) :named @p_275) @p_273) :rule equiv_pos2) (step t90.t20 (cl @p_273) :rule th_resolution :premises (t90.h1 t90.t18 t90.t19)) (step t90 (cl @p_275 @p_273) :rule subproof :discharge (h1)) (step t91 (cl @p_256 @p_258) :rule or :premises (t89)) (step t92 (cl (! (or @p_256 @p_273) :named @p_277) @p_276) :rule or_neg) (step t93 (cl @p_277 @p_139) :rule th_resolution :premises (t88 t92)) (step t94 (cl @p_277 (! (not @p_273) :named @p_326)) :rule or_neg) (step t95 (cl @p_277) :rule th_resolution :premises (t91 t90 t93 t94)) (step t96 (cl (not (! (not (! (not @p_84) :named @p_278)) :named @p_291)) @p_84) :rule not_not) (step t97 (cl (or @p_278 (! (= @p_36 (! (- @p_3 (! (ite (! (< @p_2 0.0) :named @p_280) (! (- @p_2) :named @p_282) @p_2) :named @p_283)) :named @p_284)) :named @p_279))) :rule forall_inst :args ((:= veriT_vr9 @p_2))) (anchor :step t98) (assume t98.h1 @p_279) (step t98.t2 (cl (= @p_3 @p_282)) :rule minus_simplify) (step t98.t3 (cl (= @p_283 (! (ite @p_280 @p_3 @p_2) :named @p_281))) :rule cong :premises (t98.t2)) (step t98.t4 (cl (= @p_284 (! (- @p_3 @p_281) :named @p_285))) :rule cong :premises (t98.t3)) (step t98.t5 (cl (! (= @p_279 (! (= @p_36 @p_285) :named @p_288)) :named @p_286)) :rule cong :premises (t98.t4)) (step t98.t6 (cl (not @p_286) (! (not @p_279) :named @p_287) @p_288) :rule equiv_pos2) (step t98.t7 (cl @p_288) :rule th_resolution :premises (t98.h1 t98.t5 t98.t6)) (step t98.t8 (cl (! (= @p_288 (! (and (! (= @p_36 (- @p_3 @p_281)) :named @p_328) (! (ite @p_280 (! (= @p_3 @p_281) :named @p_330) (= @p_2 @p_281)) :named @p_329)) :named @p_289)) :named @p_290)) :rule ite_intro) (step t98.t9 (cl (not @p_290) (not @p_288) @p_289) :rule equiv_pos2) (step t98.t10 (cl @p_289) :rule th_resolution :premises (t98.t7 t98.t8 t98.t9)) (step t98 (cl @p_287 @p_289) :rule subproof :discharge (h1)) (step t99 (cl @p_278 @p_279) :rule or :premises (t97)) (step t100 (cl (! (or @p_278 @p_289) :named @p_292) @p_291) :rule or_neg) (step t101 (cl @p_292 @p_84) :rule th_resolution :premises (t96 t100)) (step t102 (cl @p_292 (! (not @p_289) :named @p_327)) :rule or_neg) (step t103 (cl @p_292) :rule th_resolution :premises (t99 t98 t101 t102)) (step t104 (cl (or @p_278 (! (= (! (diamond_y$ @p_3) :named @p_294) (- @p_3 (! (ite (! (< @p_3 0.0) :named @p_296) @p_2 @p_3) :named @p_295))) :named @p_293))) :rule forall_inst :args ((:= veriT_vr9 @p_3))) (anchor :step t105) (assume t105.h1 @p_293) (step t105.t2 (cl (! (= @p_293 (! (and (= @p_294 (- @p_3 @p_295)) (! (ite @p_296 (! (= @p_2 @p_295) :named @p_342) (! (= @p_3 @p_295) :named @p_332)) :named @p_331)) :named @p_297)) :named @p_298)) :rule ite_intro) (step t105.t3 (cl (not @p_298) (! (not @p_293) :named @p_299) @p_297) :rule equiv_pos2) (step t105.t4 (cl @p_297) :rule th_resolution :premises (t105.h1 t105.t2 t105.t3)) (step t105 (cl @p_299 @p_297) :rule subproof :discharge (h1)) (step t106 (cl @p_278 @p_293) :rule or :premises (t104)) (step t107 (cl (! (or @p_278 @p_297) :named @p_300) @p_291) :rule or_neg) (step t108 (cl @p_300 @p_84) :rule th_resolution :premises (t96 t107)) (step t109 (cl @p_300 (! (not @p_297) :named @p_333)) :rule or_neg) (step t110 (cl @p_300) :rule th_resolution :premises (t106 t105 t108 t109)) (step t111 (cl (or @p_278 (! (= (! (diamond_y$ 0.0) :named @p_302) (! (- @p_3 (! (ite (! (< 0.0 0.0) :named @p_303) @p_238 0.0) :named @p_304)) :named @p_306)) :named @p_301))) :rule forall_inst :args ((:= veriT_vr9 0.0))) (anchor :step t112) (assume t112.h1 @p_301) (step t112.t2 (cl (= @p_303 false)) :rule comp_simplify) (step t112.t3 (cl @p_249) :rule minus_simplify) (step t112.t4 (cl (= @p_304 (! (ite false 0.0 0.0) :named @p_305))) :rule cong :premises (t112.t2 t112.t3)) (step t112.t5 (cl (= 0.0 @p_305)) :rule ite_simplify) (step t112.t6 (cl (= 0.0 @p_304)) :rule trans :premises (t112.t4 t112.t5)) (step t112.t7 (cl (= @p_306 (! (- @p_3 0.0) :named @p_307))) :rule cong :premises (t112.t6)) (step t112.t8 (cl (= @p_3 @p_307)) :rule minus_simplify) (step t112.t9 (cl (= @p_3 @p_306)) :rule trans :premises (t112.t7 t112.t8)) (step t112.t10 (cl (! (= @p_301 (! (= @p_3 @p_302) :named @p_308)) :named @p_309)) :rule cong :premises (t112.t9)) (step t112.t11 (cl (not @p_309) (! (not @p_301) :named @p_310) @p_308) :rule equiv_pos2) (step t112.t12 (cl @p_308) :rule th_resolution :premises (t112.h1 t112.t10 t112.t11)) (step t112 (cl @p_310 @p_308) :rule subproof :discharge (h1)) (step t113 (cl @p_278 @p_301) :rule or :premises (t111)) (step t114 (cl (! (or @p_278 @p_308) :named @p_311) @p_291) :rule or_neg) (step t115 (cl @p_311 @p_84) :rule th_resolution :premises (t96 t114)) (step t116 (cl @p_311 (! (not @p_308) :named @p_376)) :rule or_neg) (step t117 (cl @p_311) :rule th_resolution :premises (t113 t112 t115 t116)) (step t118 (cl (or (! (not @p_60) :named @p_334) (! (= (! (fun_app$ uub$ @p_7) :named @p_369) (! (pair$ @p_2 (! (times$ (- (* 2.0 @p_7) 1.0) @p_36) :named @p_361)) :named @p_360)) :named @p_335))) :rule forall_inst :args ((:= veriT_vr7 @p_7))) (step t119 (cl (or (! (not @p_34) :named @p_323) (! (= (! (fun_app$ uuc$ @p_7) :named @p_314) (! (pair$ (! (times$ (! (- @p_7 @p_7) :named @p_315) d$) :named @p_312) (! (diamond_y$ @p_312) :named @p_316)) :named @p_318)) :named @p_313))) :rule forall_inst :args ((:= veriT_vr1 @p_7))) (anchor :step t120) (assume t120.h1 @p_313) (step t120.t2 (cl (= 0.0 @p_315)) :rule minus_simplify) (step t120.t3 (cl (= @p_236 @p_312)) :rule cong :premises (t120.t2)) (step t120.t4 (cl (= @p_316 (! (diamond_y$ @p_236) :named @p_317))) :rule cong :premises (t120.t3)) (step t120.t5 (cl (= @p_318 (! (pair$ @p_236 @p_317) :named @p_319))) :rule cong :premises (t120.t3 t120.t4)) (step t120.t6 (cl (! (= @p_313 (! (= @p_314 @p_319) :named @p_320)) :named @p_321)) :rule cong :premises (t120.t5)) (step t120.t7 (cl (not @p_321) (! (not @p_313) :named @p_322) @p_320) :rule equiv_pos2) (step t120.t8 (cl @p_320) :rule th_resolution :premises (t120.h1 t120.t6 t120.t7)) (step t120 (cl @p_322 @p_320) :rule subproof :discharge (h1)) (step t121 (cl @p_323 @p_313) :rule or :premises (t119)) (step t122 (cl (! (or @p_323 @p_320) :named @p_325) (! (not @p_323) :named @p_324)) :rule or_neg) (step t123 (cl (not @p_324) @p_34) :rule not_not) (step t124 (cl @p_325 @p_34) :rule th_resolution :premises (t123 t122)) (step t125 (cl @p_325 (! (not @p_320) :named @p_370)) :rule or_neg) (step t126 (cl @p_325) :rule th_resolution :premises (t121 t120 t124 t125)) (step t127 (cl @p_234 @p_240) :rule or :premises (t79)) (step t128 (cl @p_240) :rule resolution :premises (t127 t48)) (step t129 (cl @p_245 @p_251) :rule or :premises (t87)) (step t130 (cl @p_251) :rule resolution :premises (t129 t42)) (step t131 (cl @p_326 @p_259 (not @p_257)) :rule equiv_pos1) (step t132 (cl @p_256 @p_273) :rule or :premises (t95)) -(step t133 (cl @p_326 @p_259) :rule resolution :premises (t131 axiom4)) +(step t133 (cl @p_326 @p_259) :rule resolution :premises (t131 a4)) (step t134 (cl @p_273) :rule resolution :premises (t132 t36)) (step t135 (cl @p_259) :rule resolution :premises (t133 t134)) (step t136 (cl @p_327 @p_328) :rule and_pos) (step t137 (cl (not @p_329) (! (not @p_280) :named @p_339) @p_330) :rule ite_pos2) (step t138 (cl @p_327 @p_329) :rule and_pos) (step t139 (cl @p_278 @p_289) :rule or :premises (t103)) (step t140 (cl @p_289) :rule resolution :premises (t139 t27)) (step t141 (cl @p_328) :rule resolution :premises (t136 t140)) (step t142 (cl @p_329) :rule resolution :premises (t138 t140)) (step t143 (cl (not @p_331) @p_296 @p_332) :rule ite_pos1) (step t144 (cl @p_333 @p_331) :rule and_pos) (step t145 (cl @p_278 @p_297) :rule or :premises (t110)) (step t146 (cl @p_297) :rule resolution :premises (t145 t27)) (step t147 (cl @p_331) :rule resolution :premises (t144 t146)) (step t148 (cl @p_278 @p_308) :rule or :premises (t117)) (step t149 (cl @p_308) :rule resolution :premises (t148 t27)) (step t150 (cl @p_334 @p_335) :rule or :premises (t118)) (step t151 (cl @p_335) :rule resolution :premises (t150 t21)) (step t152 (cl @p_323 @p_320) :rule or :premises (t126)) (step t153 (cl @p_320) :rule resolution :premises (t152 t15)) (step t154 (cl (! (not @p_259) :named @p_338) (! (not @p_296) :named @p_337) @p_336) :rule la_generic :args (2.0 2.0 1)) (step t155 (cl @p_337) :rule resolution :premises (t154 t130 t135)) (step t156 (cl @p_332) :rule resolution :premises (t143 t155 t147)) (step t157 (cl @p_338 @p_280 @p_336) :rule la_generic :args (2.0 2.0 1)) (step t158 (cl @p_280) :rule resolution :premises (t157 t130 t135)) (step t159 (cl @p_330) :rule resolution :premises (t137 t158 t142)) (step t160 (cl (! (not (! (= @p_3 @p_2) :named @p_343)) :named @p_341) (not (! (= 0.0 0.0) :named @p_340)) @p_339 @p_296) :rule eq_congruent_pred) (step t161 (cl @p_340) :rule eq_reflexive) (step t162 (cl @p_341 @p_339 @p_296) :rule th_resolution :premises (t160 t161)) (step t163 (cl (! (not @p_332) :named @p_344) (! (not @p_342) :named @p_345) @p_343) :rule eq_transitive) (step t164 (cl @p_339 @p_296 @p_344 @p_345) :rule th_resolution :premises (t162 t163)) (step t165 (cl @p_345) :rule resolution :premises (t164 t155 t158 t156)) (step t166 (cl (! (= @p_7 @p_7) :named @p_372)) :rule eq_reflexive) (step t167 (cl (or (! (= 0.0 @p_236) :named @p_346) (! (not (! (<= 0.0 @p_236) :named @p_351)) :named @p_347) (! (not (! (<= @p_236 0.0) :named @p_349)) :named @p_348))) :rule la_disequality) (step t168 (cl @p_346 @p_347 @p_348) :rule or :premises (t167)) (step t169 (cl @p_349 @p_350) :rule la_generic :args (2.0 (- 1))) (step t170 (cl @p_349) :rule resolution :premises (t169 t128)) (step t171 (cl @p_351 @p_350) :rule la_generic :args (2.0 1)) (step t172 (cl @p_351) :rule resolution :premises (t171 t128)) (step t173 (cl @p_346) :rule resolution :premises (t168 t172 t170)) (step t174 (cl (or (! (= @p_36 @p_236) :named @p_352) (! (not (! (<= @p_36 @p_236) :named @p_356)) :named @p_353) (! (not (! (<= @p_236 @p_36) :named @p_355)) :named @p_354))) :rule la_disequality) (step t175 (cl @p_352 @p_353 @p_354) :rule or :premises (t174)) (step t176 (cl @p_355 @p_350 (! (not @p_328) :named @p_357) (! (not @p_330) :named @p_358)) :rule la_generic :args (2.0 (- 1) 2 2)) (step t177 (cl @p_355) :rule resolution :premises (t176 t128 t141 t159)) (step t178 (cl @p_356 @p_350 @p_357 @p_358) :rule la_generic :args (2.0 1 (- 2) (- 2))) (step t179 (cl @p_356) :rule resolution :premises (t178 t128 t141 t159)) (step t180 (cl @p_352) :rule resolution :premises (t175 t179 t177)) (step t181 (cl @p_233 @p_359) :rule or :premises (t70)) (step t182 (cl (or (! (not @p_359) :named @p_362) (! (or (! (not (! (= @p_360 @p_319) :named @p_371)) :named @p_367) (! (= @p_2 @p_236) :named @p_368)) :named @p_363))) :rule forall_inst :args ((:= veriT_vr28 @p_2) (:= veriT_vr29 @p_361) (:= veriT_vr30 @p_236) (:= veriT_vr31 @p_317))) (step t183 (cl @p_362 @p_363) :rule or :premises (t182)) (step t184 (cl (! (or @p_233 @p_363) :named @p_365) @p_364) :rule or_neg) (step t185 (cl @p_365 @p_218) :rule th_resolution :premises (t71 t184)) (step t186 (cl @p_365 (! (not @p_363) :named @p_366)) :rule or_neg) (step t187 (cl @p_365) :rule th_resolution :premises (t181 t183 t185 t186)) (step t188 (cl @p_366 @p_367 @p_368) :rule or_pos) (step t189 (cl @p_233 @p_363) :rule or :premises (t187)) (step t190 (cl @p_363) :rule resolution :premises (t189 t54)) (step t191 (cl (! (not @p_335) :named @p_375) (not (! (= @p_369 @p_314) :named @p_373)) @p_370 @p_371) :rule eq_transitive) (step t192 (cl (! (not @p_227) :named @p_374) (not @p_372) @p_373) :rule eq_congruent) (step t193 (cl @p_374 @p_373) :rule th_resolution :premises (t192 t166)) (step t194 (cl @p_375 @p_370 @p_371 @p_374) :rule th_resolution :premises (t191 t193)) (step t195 (cl @p_371) :rule resolution :premises (t194 t69 t151 t153)) (step t196 (cl @p_368) :rule resolution :premises (t188 t195 t190)) (step t197 (cl (! (not @p_368) :named @p_378) (! (not @p_352) :named @p_381) (not (! (= @p_36 @p_302) :named @p_377)) @p_376 @p_344 @p_342) :rule eq_transitive) (step t198 (cl (not (! (= @p_2 0.0) :named @p_379)) @p_377) :rule eq_congruent) (step t199 (cl @p_378 (! (not @p_346) :named @p_380) @p_379) :rule eq_transitive) (step t200 (cl @p_377 @p_378 @p_380) :rule th_resolution :premises (t198 t199)) (step t201 (cl @p_378 @p_381 @p_376 @p_344 @p_342 @p_378 @p_380) :rule th_resolution :premises (t197 t200)) (step t202 (cl @p_378 @p_381 @p_376 @p_344 @p_342 @p_380) :rule contraction :premises (t201)) (step t203 (cl) :rule resolution :premises (t202 t156 t165 t149 t173 t180 t196)) -42dfad143cfae67cfed01ebeb5997e53c8d08b98 26 0 -unsat -(assume axiom0 (! (forall ((?v0 A$) (?v1 B$) (?v2 C$)) (! (p$ ?v0 ?v1) :named @p_2)) :named @p_1)) -(assume axiom1 (! (=> (! (p$ z$ y$) :named @p_12) false) :named @p_11)) -(step t3 (cl (! (= @p_1 (! (forall ((?v0 A$) (?v1 B$)) @p_2) :named @p_4)) :named @p_3)) :rule qnt_rm_unused) -(step t4 (cl (not @p_3) (not @p_1) @p_4) :rule equiv_pos2) -(step t5 (cl @p_4) :rule th_resolution :premises (axiom0 t3 t4)) -(anchor :step t6 :args ((:= (?v0 A$) veriT_vr0) (:= (?v1 B$) veriT_vr1))) -(step t6.t1 (cl (= ?v0 veriT_vr0)) :rule refl) -(step t6.t2 (cl (= ?v1 veriT_vr1)) :rule refl) -(step t6.t3 (cl (= @p_2 (! (p$ veriT_vr0 veriT_vr1) :named @p_5))) :rule cong :premises (t6.t1 t6.t2)) -(step t6 (cl (! (= @p_4 (! (forall ((veriT_vr0 A$) (veriT_vr1 B$)) @p_5) :named @p_7)) :named @p_6)) :rule bind) -(step t7 (cl (not @p_6) (not @p_4) @p_7) :rule equiv_pos2) -(step t8 (cl @p_7) :rule th_resolution :premises (t5 t6 t7)) -(anchor :step t9 :args ((:= (veriT_vr0 A$) veriT_vr2) (:= (veriT_vr1 B$) veriT_vr3))) -(step t9.t1 (cl (= veriT_vr0 veriT_vr2)) :rule refl) -(step t9.t2 (cl (= veriT_vr1 veriT_vr3)) :rule refl) -(step t9.t3 (cl (= @p_5 (! (p$ veriT_vr2 veriT_vr3) :named @p_8))) :rule cong :premises (t9.t1 t9.t2)) -(step t9 (cl (! (= @p_7 (! (forall ((veriT_vr2 A$) (veriT_vr3 B$)) @p_8) :named @p_10)) :named @p_9)) :rule bind) -(step t10 (cl (not @p_9) (not @p_7) @p_10) :rule equiv_pos2) -(step t11 (cl @p_10) :rule th_resolution :premises (t8 t9 t10)) -(step t12 (cl (! (= @p_11 (! (not @p_12) :named @p_14)) :named @p_13)) :rule implies_simplify) -(step t13 (cl (not @p_13) (not @p_11) @p_14) :rule equiv_pos2) -(step t14 (cl @p_14) :rule th_resolution :premises (axiom1 t12 t13)) -(step t15 (cl (or (! (not @p_10) :named @p_15) @p_12)) :rule forall_inst :args ((:= veriT_vr2 z$) (:= veriT_vr3 y$))) -(step t16 (cl @p_15 @p_12) :rule or :premises (t15)) -(step t17 (cl) :rule resolution :premises (t16 t11 t14)) -d91a4d59e816a47672957ce0be20acd9aa3eef3e 23 0 -unsat -(assume axiom0 (! (not (! (<= y$ (! (ite (! (<= x$ y$) :named @p_3) y$ x$) :named @p_2)) :named @p_7)) :named @p_1)) -(step t2 (cl (! (= @p_1 (! (and (! (not (! (<= y$ @p_2) :named @p_13)) :named @p_9) (! (ite @p_3 (! (= y$ @p_2) :named @p_12) (! (= x$ @p_2) :named @p_11)) :named @p_10)) :named @p_5)) :named @p_4)) :rule ite_intro) -(step t3 (cl (! (not @p_4) :named @p_8) (! (not @p_1) :named @p_6) @p_5) :rule equiv_pos2) -(step t4 (cl (not @p_6) @p_7) :rule not_not) -(step t5 (cl @p_8 @p_7 @p_5) :rule th_resolution :premises (t4 t3)) -(step t6 (cl @p_5) :rule th_resolution :premises (axiom0 t2 t5)) -(step t7 (cl @p_9) :rule and :premises (t6)) -(step t8 (cl @p_10) :rule and :premises (t6)) -(step t9 (cl @p_3 @p_11) :rule ite1 :premises (t8)) -(step t10 (cl (! (not @p_3) :named @p_15) @p_12) :rule ite2 :premises (t8)) -(step t11 (cl @p_13 @p_3 (! (not @p_11) :named @p_14)) :rule la_generic :args (1 1 (- 1))) -(step t12 (cl @p_3 @p_14) :rule resolution :premises (t11 t7)) -(step t13 (cl (not (! (= y$ x$) :named @p_17)) (! (not @p_12) :named @p_16) @p_15 @p_13) :rule eq_congruent_pred) -(step t14 (cl @p_16 @p_14 @p_17) :rule eq_transitive) -(step t15 (cl @p_16 @p_15 @p_13 @p_16 @p_14) :rule th_resolution :premises (t13 t14)) -(step t16 (cl @p_16 @p_15 @p_13 @p_14) :rule contraction :premises (t15)) -(step t17 (cl @p_16 @p_15 @p_14) :rule resolution :premises (t16 t7)) -(step t18 (cl @p_14) :rule resolution :premises (t17 t10 t12)) -(step t19 (cl @p_3) :rule resolution :premises (t9 t18)) -(step t20 (cl @p_12) :rule resolution :premises (t10 t19)) -(step t21 (cl @p_13 @p_16) :rule la_generic :args (1 (- 1))) -(step t22 (cl) :rule resolution :premises (t21 t7 t20)) -47bc3239fb0fd8c5f8f4969f0c6c1996f0a21574 567 0 +268d7e42d22bc05b4bcc195eddbced079a39fedf 791 0 unsat -(define-fun veriT_sk0 () A$ (! (choice ((veriT_vr145 A$)) (not (! (not (! (and (! (= (! (arg_min_on$ f$ (! (image$b g$ b$) :named @p_6)) :named @p_336) (! (fun_app$b g$ veriT_vr145) :named @p_378)) :named @p_379) (! (member$a veriT_vr145 b$) :named @p_381)) :named @p_382)) :named @p_377))) :named @p_357)) -(assume axiom29 (! (forall ((?v0 B_set$) (?v1 B_c_fun$)) (! (=> (! (and (! (finite$ ?v0) :named @p_1) (! (not (! (= ?v0 bot$) :named @p_10)) :named @p_2)) :named @p_13) (! (member$ (! (arg_min_on$ ?v1 ?v0) :named @p_15) ?v0) :named @p_17)) :named @p_19)) :named @p_7)) -(assume axiom31 (! (forall ((?v0 B_set$) (?v1 B$) (?v2 B_c_fun$)) (! (=> (! (and @p_1 (! (and @p_2 (! (member$ ?v1 ?v0) :named @p_38)) :named @p_40)) :named @p_42) (! (less_eq$ (! (fun_app$ ?v2 (! (arg_min_on$ ?v2 ?v0) :named @p_45)) :named @p_47) (! (fun_app$ ?v2 ?v1) :named @p_50)) :named @p_52)) :named @p_54)) :named @p_33)) -(assume axiom33 (! (forall ((?v0 B_c_fun$) (?v1 A_b_fun$) (?v2 A$)) (! (= (! (fun_app$a (! (comp$ ?v0 ?v1) :named @p_78) ?v2) :named @p_80) (! (fun_app$ ?v0 (! (fun_app$b ?v1 ?v2) :named @p_3)) :named @p_86)) :named @p_88)) :named @p_77)) -(assume axiom36 (! (forall ((?v0 A_set$) (?v1 A_b_fun$)) (! (=> (! (finite$a ?v0) :named @p_103) (! (finite$ (! (image$b ?v1 ?v0) :named @p_106)) :named @p_108)) :named @p_110)) :named @p_102)) -(assume axiom40 (! (forall ((?v0 B$) (?v1 A_b_fun$) (?v2 A_set$)) (! (=> (! (and (! (member$ ?v0 (! (image$b ?v1 ?v2) :named @p_122)) :named @p_124) (! (forall ((?v3 A$)) (! (=> (! (and (! (= ?v0 (! (fun_app$b ?v1 ?v3) :named @p_130)) :named @p_132) (! (member$a ?v3 ?v2) :named @p_136)) :named @p_138) false) :named @p_140)) :named @p_126)) :named @p_142) false) :named @p_144)) :named @p_121)) -(assume axiom44 (! (forall ((?v0 B$) (?v1 A_b_fun$) (?v2 A$) (?v3 A_set$)) (! (=> (! (and (! (= @p_3 ?v0) :named @p_173) (! (member$a ?v2 ?v3) :named @p_176)) :named @p_178) (! (member$ ?v0 (! (image$b ?v1 ?v3) :named @p_183)) :named @p_185)) :named @p_187)) :named @p_171)) -(assume axiom48 (! (forall ((?v0 A_b_fun$) (?v1 A_set$)) (! (= (! (= bot$ (! (image$b ?v0 ?v1) :named @p_205)) :named @p_207) (! (= bot$a ?v1) :named @p_210)) :named @p_212)) :named @p_204)) -(assume axiom50 (! (forall ((?v0 B_c_fun$) (?v1 B_set$) (?v2 B$) (?v3 B$)) (! (=> (! (and (! (inj_on$ ?v0 ?v1) :named @p_224) (! (and (! (= (! (fun_app$ ?v0 ?v2) :named @p_227) (! (fun_app$ ?v0 ?v3) :named @p_229)) :named @p_231) (! (and (! (member$ ?v2 ?v1) :named @p_235) (! (member$ ?v3 ?v1) :named @p_238)) :named @p_240)) :named @p_242)) :named @p_244) (! (= ?v3 ?v2) :named @p_246)) :named @p_248)) :named @p_223)) -(assume axiom51 (! (forall ((?v0 C$) (?v1 C$)) (! (= (! (less$ ?v0 ?v1) :named @p_272) (! (and (! (less_eq$ ?v0 ?v1) :named @p_276) (! (not (! (= ?v0 ?v1) :named @p_278)) :named @p_280)) :named @p_282)) :named @p_284)) :named @p_271)) -(assume axiom23 (! (inj_on$ f$ @p_6) :named @p_353)) -(assume axiom24 (! (finite$a b$) :named @p_332)) -(assume axiom25 (not (! (= bot$a b$) :named @p_331))) -(assume axiom26 (! (member$a (! (arg_min_on$a (! (comp$ f$ g$) :named @p_4) b$) :named @p_5) b$) :named @p_423)) -(assume axiom27 (! (not (! (exists ((?v0 A$)) (! (and (! (member$a ?v0 b$) :named @p_300) (! (less$ (! (fun_app$a @p_4 ?v0) :named @p_303) (! (fun_app$a @p_4 @p_5) :named @p_299)) :named @p_305)) :named @p_307)) :named @p_298)) :named @p_309)) -(assume axiom52 (not (! (= @p_336 (! (fun_app$b g$ @p_5) :named @p_333)) :named @p_355))) -(anchor :step t16 :args ((:= (?v0 B_set$) veriT_vr0) (:= (?v1 B_c_fun$) veriT_vr1))) -(step t16.t1 (cl (! (= ?v0 veriT_vr0) :named @p_9)) :rule refl) -(step t16.t2 (cl (= @p_1 (! (finite$ veriT_vr0) :named @p_8))) :rule cong :premises (t16.t1)) -(step t16.t3 (cl @p_9) :rule refl) -(step t16.t4 (cl (= @p_10 (! (= bot$ veriT_vr0) :named @p_11))) :rule cong :premises (t16.t3)) -(step t16.t5 (cl (= @p_2 (! (not @p_11) :named @p_12))) :rule cong :premises (t16.t4)) -(step t16.t6 (cl (= @p_13 (! (and @p_8 @p_12) :named @p_14))) :rule cong :premises (t16.t2 t16.t5)) -(step t16.t7 (cl (= ?v1 veriT_vr1)) :rule refl) -(step t16.t8 (cl @p_9) :rule refl) -(step t16.t9 (cl (= @p_15 (! (arg_min_on$ veriT_vr1 veriT_vr0) :named @p_16))) :rule cong :premises (t16.t7 t16.t8)) -(step t16.t10 (cl @p_9) :rule refl) -(step t16.t11 (cl (= @p_17 (! (member$ @p_16 veriT_vr0) :named @p_18))) :rule cong :premises (t16.t9 t16.t10)) -(step t16.t12 (cl (= @p_19 (! (=> @p_14 @p_18) :named @p_20))) :rule cong :premises (t16.t6 t16.t11)) -(step t16 (cl (! (= @p_7 (! (forall ((veriT_vr0 B_set$) (veriT_vr1 B_c_fun$)) @p_20) :named @p_22)) :named @p_21)) :rule bind) -(step t17 (cl (not @p_21) (not @p_7) @p_22) :rule equiv_pos2) -(step t18 (cl @p_22) :rule th_resolution :premises (axiom29 t16 t17)) -(anchor :step t19 :args ((:= (veriT_vr0 B_set$) veriT_vr2) (:= (veriT_vr1 B_c_fun$) veriT_vr3))) -(step t19.t1 (cl (! (= veriT_vr0 veriT_vr2) :named @p_24)) :rule refl) -(step t19.t2 (cl (= @p_8 (! (finite$ veriT_vr2) :named @p_23))) :rule cong :premises (t19.t1)) -(step t19.t3 (cl @p_24) :rule refl) -(step t19.t4 (cl (= @p_11 (! (= bot$ veriT_vr2) :named @p_25))) :rule cong :premises (t19.t3)) -(step t19.t5 (cl (= @p_12 (! (not @p_25) :named @p_26))) :rule cong :premises (t19.t4)) -(step t19.t6 (cl (= @p_14 (! (and @p_23 @p_26) :named @p_27))) :rule cong :premises (t19.t2 t19.t5)) -(step t19.t7 (cl (= veriT_vr1 veriT_vr3)) :rule refl) -(step t19.t8 (cl @p_24) :rule refl) -(step t19.t9 (cl (= @p_16 (! (arg_min_on$ veriT_vr3 veriT_vr2) :named @p_28))) :rule cong :premises (t19.t7 t19.t8)) -(step t19.t10 (cl @p_24) :rule refl) -(step t19.t11 (cl (= @p_18 (! (member$ @p_28 veriT_vr2) :named @p_29))) :rule cong :premises (t19.t9 t19.t10)) -(step t19.t12 (cl (= @p_20 (! (=> @p_27 @p_29) :named @p_30))) :rule cong :premises (t19.t6 t19.t11)) -(step t19 (cl (! (= @p_22 (! (forall ((veriT_vr2 B_set$) (veriT_vr3 B_c_fun$)) @p_30) :named @p_32)) :named @p_31)) :rule bind) -(step t20 (cl (not @p_31) (not @p_22) @p_32) :rule equiv_pos2) -(step t21 (cl @p_32) :rule th_resolution :premises (t18 t19 t20)) -(anchor :step t22 :args ((:= (?v0 B_set$) veriT_vr8) (:= (?v1 B$) veriT_vr9) (:= (?v2 B_c_fun$) veriT_vr10))) -(step t22.t1 (cl (! (= ?v0 veriT_vr8) :named @p_35)) :rule refl) -(step t22.t2 (cl (= @p_1 (! (finite$ veriT_vr8) :named @p_34))) :rule cong :premises (t22.t1)) -(step t22.t3 (cl @p_35) :rule refl) -(step t22.t4 (cl (= @p_10 (! (= bot$ veriT_vr8) :named @p_36))) :rule cong :premises (t22.t3)) -(step t22.t5 (cl (= @p_2 (! (not @p_36) :named @p_37))) :rule cong :premises (t22.t4)) -(step t22.t6 (cl (! (= ?v1 veriT_vr9) :named @p_49)) :rule refl) -(step t22.t7 (cl @p_35) :rule refl) -(step t22.t8 (cl (= @p_38 (! (member$ veriT_vr9 veriT_vr8) :named @p_39))) :rule cong :premises (t22.t6 t22.t7)) -(step t22.t9 (cl (= @p_40 (! (and @p_37 @p_39) :named @p_41))) :rule cong :premises (t22.t5 t22.t8)) -(step t22.t10 (cl (= @p_42 (! (and @p_34 @p_41) :named @p_43))) :rule cong :premises (t22.t2 t22.t9)) -(step t22.t11 (cl (! (= ?v2 veriT_vr10) :named @p_44)) :rule refl) -(step t22.t12 (cl @p_44) :rule refl) -(step t22.t13 (cl @p_35) :rule refl) -(step t22.t14 (cl (= @p_45 (! (arg_min_on$ veriT_vr10 veriT_vr8) :named @p_46))) :rule cong :premises (t22.t12 t22.t13)) -(step t22.t15 (cl (= @p_47 (! (fun_app$ veriT_vr10 @p_46) :named @p_48))) :rule cong :premises (t22.t11 t22.t14)) -(step t22.t16 (cl @p_44) :rule refl) -(step t22.t17 (cl @p_49) :rule refl) -(step t22.t18 (cl (= @p_50 (! (fun_app$ veriT_vr10 veriT_vr9) :named @p_51))) :rule cong :premises (t22.t16 t22.t17)) -(step t22.t19 (cl (= @p_52 (! (less_eq$ @p_48 @p_51) :named @p_53))) :rule cong :premises (t22.t15 t22.t18)) -(step t22.t20 (cl (= @p_54 (! (=> @p_43 @p_53) :named @p_55))) :rule cong :premises (t22.t10 t22.t19)) -(step t22 (cl (! (= @p_33 (! (forall ((veriT_vr8 B_set$) (veriT_vr9 B$) (veriT_vr10 B_c_fun$)) @p_55) :named @p_57)) :named @p_56)) :rule bind) -(step t23 (cl (not @p_56) (not @p_33) @p_57) :rule equiv_pos2) -(step t24 (cl @p_57) :rule th_resolution :premises (axiom31 t22 t23)) -(anchor :step t25 :args ((veriT_vr8 B_set$) (veriT_vr9 B$) (veriT_vr10 B_c_fun$))) -(step t25.t1 (cl (= @p_43 (! (and @p_34 @p_37 @p_39) :named @p_58))) :rule ac_simp) -(step t25.t2 (cl (= @p_55 (! (=> @p_58 @p_53) :named @p_59))) :rule cong :premises (t25.t1)) -(step t25 (cl (! (= @p_57 (! (forall ((veriT_vr8 B_set$) (veriT_vr9 B$) (veriT_vr10 B_c_fun$)) @p_59) :named @p_61)) :named @p_60)) :rule bind) -(step t26 (cl (not @p_60) (not @p_57) @p_61) :rule equiv_pos2) -(step t27 (cl @p_61) :rule th_resolution :premises (t24 t25 t26)) -(anchor :step t28 :args ((:= (veriT_vr8 B_set$) veriT_vr11) (:= (veriT_vr9 B$) veriT_vr12) (:= (veriT_vr10 B_c_fun$) veriT_vr13))) -(step t28.t1 (cl (! (= veriT_vr8 veriT_vr11) :named @p_63)) :rule refl) -(step t28.t2 (cl (= @p_34 (! (finite$ veriT_vr11) :named @p_62))) :rule cong :premises (t28.t1)) -(step t28.t3 (cl @p_63) :rule refl) -(step t28.t4 (cl (= @p_36 (! (= bot$ veriT_vr11) :named @p_64))) :rule cong :premises (t28.t3)) -(step t28.t5 (cl (= @p_37 (! (not @p_64) :named @p_65))) :rule cong :premises (t28.t4)) -(step t28.t6 (cl (! (= veriT_vr9 veriT_vr12) :named @p_71)) :rule refl) -(step t28.t7 (cl @p_63) :rule refl) -(step t28.t8 (cl (= @p_39 (! (member$ veriT_vr12 veriT_vr11) :named @p_66))) :rule cong :premises (t28.t6 t28.t7)) -(step t28.t9 (cl (= @p_58 (! (and @p_62 @p_65 @p_66) :named @p_67))) :rule cong :premises (t28.t2 t28.t5 t28.t8)) -(step t28.t10 (cl (! (= veriT_vr10 veriT_vr13) :named @p_68)) :rule refl) -(step t28.t11 (cl @p_68) :rule refl) -(step t28.t12 (cl @p_63) :rule refl) -(step t28.t13 (cl (= @p_46 (! (arg_min_on$ veriT_vr13 veriT_vr11) :named @p_69))) :rule cong :premises (t28.t11 t28.t12)) -(step t28.t14 (cl (= @p_48 (! (fun_app$ veriT_vr13 @p_69) :named @p_70))) :rule cong :premises (t28.t10 t28.t13)) -(step t28.t15 (cl @p_68) :rule refl) -(step t28.t16 (cl @p_71) :rule refl) -(step t28.t17 (cl (= @p_51 (! (fun_app$ veriT_vr13 veriT_vr12) :named @p_72))) :rule cong :premises (t28.t15 t28.t16)) -(step t28.t18 (cl (= @p_53 (! (less_eq$ @p_70 @p_72) :named @p_73))) :rule cong :premises (t28.t14 t28.t17)) -(step t28.t19 (cl (= @p_59 (! (=> @p_67 @p_73) :named @p_74))) :rule cong :premises (t28.t9 t28.t18)) -(step t28 (cl (! (= @p_61 (! (forall ((veriT_vr11 B_set$) (veriT_vr12 B$) (veriT_vr13 B_c_fun$)) @p_74) :named @p_76)) :named @p_75)) :rule bind) -(step t29 (cl (not @p_75) (not @p_61) @p_76) :rule equiv_pos2) -(step t30 (cl @p_76) :rule th_resolution :premises (t27 t28 t29)) -(anchor :step t31 :args ((:= (?v0 B_c_fun$) veriT_vr20) (:= (?v1 A_b_fun$) veriT_vr21) (:= (?v2 A$) veriT_vr22))) -(step t31.t1 (cl (! (= ?v0 veriT_vr20) :named @p_82)) :rule refl) -(step t31.t2 (cl (! (= ?v1 veriT_vr21) :named @p_83)) :rule refl) -(step t31.t3 (cl (= @p_78 (! (comp$ veriT_vr20 veriT_vr21) :named @p_79))) :rule cong :premises (t31.t1 t31.t2)) -(step t31.t4 (cl (! (= ?v2 veriT_vr22) :named @p_84)) :rule refl) -(step t31.t5 (cl (= @p_80 (! (fun_app$a @p_79 veriT_vr22) :named @p_81))) :rule cong :premises (t31.t3 t31.t4)) -(step t31.t6 (cl @p_82) :rule refl) -(step t31.t7 (cl @p_83) :rule refl) -(step t31.t8 (cl @p_84) :rule refl) -(step t31.t9 (cl (= @p_3 (! (fun_app$b veriT_vr21 veriT_vr22) :named @p_85))) :rule cong :premises (t31.t7 t31.t8)) -(step t31.t10 (cl (= @p_86 (! (fun_app$ veriT_vr20 @p_85) :named @p_87))) :rule cong :premises (t31.t6 t31.t9)) -(step t31.t11 (cl (= @p_88 (! (= @p_81 @p_87) :named @p_89))) :rule cong :premises (t31.t5 t31.t10)) -(step t31 (cl (! (= @p_77 (! (forall ((veriT_vr20 B_c_fun$) (veriT_vr21 A_b_fun$) (veriT_vr22 A$)) @p_89) :named @p_91)) :named @p_90)) :rule bind) -(step t32 (cl (not @p_90) (not @p_77) @p_91) :rule equiv_pos2) -(step t33 (cl @p_91) :rule th_resolution :premises (axiom33 t31 t32)) -(anchor :step t34 :args ((:= (veriT_vr20 B_c_fun$) veriT_vr23) (:= (veriT_vr21 A_b_fun$) veriT_vr24) (:= (veriT_vr22 A$) veriT_vr25))) -(step t34.t1 (cl (! (= veriT_vr20 veriT_vr23) :named @p_94)) :rule refl) -(step t34.t2 (cl (! (= veriT_vr21 veriT_vr24) :named @p_95)) :rule refl) -(step t34.t3 (cl (= @p_79 (! (comp$ veriT_vr23 veriT_vr24) :named @p_92))) :rule cong :premises (t34.t1 t34.t2)) -(step t34.t4 (cl (! (= veriT_vr22 veriT_vr25) :named @p_96)) :rule refl) -(step t34.t5 (cl (= @p_81 (! (fun_app$a @p_92 veriT_vr25) :named @p_93))) :rule cong :premises (t34.t3 t34.t4)) -(step t34.t6 (cl @p_94) :rule refl) -(step t34.t7 (cl @p_95) :rule refl) -(step t34.t8 (cl @p_96) :rule refl) -(step t34.t9 (cl (= @p_85 (! (fun_app$b veriT_vr24 veriT_vr25) :named @p_97))) :rule cong :premises (t34.t7 t34.t8)) -(step t34.t10 (cl (= @p_87 (! (fun_app$ veriT_vr23 @p_97) :named @p_98))) :rule cong :premises (t34.t6 t34.t9)) -(step t34.t11 (cl (= @p_89 (! (= @p_93 @p_98) :named @p_99))) :rule cong :premises (t34.t5 t34.t10)) -(step t34 (cl (! (= @p_91 (! (forall ((veriT_vr23 B_c_fun$) (veriT_vr24 A_b_fun$) (veriT_vr25 A$)) @p_99) :named @p_101)) :named @p_100)) :rule bind) -(step t35 (cl (not @p_100) (not @p_91) @p_101) :rule equiv_pos2) -(step t36 (cl @p_101) :rule th_resolution :premises (t33 t34 t35)) -(anchor :step t37 :args ((:= (?v0 A_set$) veriT_vr34) (:= (?v1 A_b_fun$) veriT_vr35))) -(step t37.t1 (cl (! (= ?v0 veriT_vr34) :named @p_105)) :rule refl) -(step t37.t2 (cl (= @p_103 (! (finite$a veriT_vr34) :named @p_104))) :rule cong :premises (t37.t1)) -(step t37.t3 (cl (= ?v1 veriT_vr35)) :rule refl) -(step t37.t4 (cl @p_105) :rule refl) -(step t37.t5 (cl (= @p_106 (! (image$b veriT_vr35 veriT_vr34) :named @p_107))) :rule cong :premises (t37.t3 t37.t4)) -(step t37.t6 (cl (= @p_108 (! (finite$ @p_107) :named @p_109))) :rule cong :premises (t37.t5)) -(step t37.t7 (cl (= @p_110 (! (=> @p_104 @p_109) :named @p_111))) :rule cong :premises (t37.t2 t37.t6)) -(step t37 (cl (! (= @p_102 (! (forall ((veriT_vr34 A_set$) (veriT_vr35 A_b_fun$)) @p_111) :named @p_113)) :named @p_112)) :rule bind) -(step t38 (cl (not @p_112) (not @p_102) @p_113) :rule equiv_pos2) -(step t39 (cl @p_113) :rule th_resolution :premises (axiom36 t37 t38)) -(anchor :step t40 :args ((:= (veriT_vr34 A_set$) veriT_vr36) (:= (veriT_vr35 A_b_fun$) veriT_vr37))) -(step t40.t1 (cl (! (= veriT_vr34 veriT_vr36) :named @p_115)) :rule refl) -(step t40.t2 (cl (= @p_104 (! (finite$a veriT_vr36) :named @p_114))) :rule cong :premises (t40.t1)) -(step t40.t3 (cl (= veriT_vr35 veriT_vr37)) :rule refl) -(step t40.t4 (cl @p_115) :rule refl) -(step t40.t5 (cl (= @p_107 (! (image$b veriT_vr37 veriT_vr36) :named @p_116))) :rule cong :premises (t40.t3 t40.t4)) -(step t40.t6 (cl (= @p_109 (! (finite$ @p_116) :named @p_117))) :rule cong :premises (t40.t5)) -(step t40.t7 (cl (= @p_111 (! (=> @p_114 @p_117) :named @p_118))) :rule cong :premises (t40.t2 t40.t6)) -(step t40 (cl (! (= @p_113 (! (forall ((veriT_vr36 A_set$) (veriT_vr37 A_b_fun$)) @p_118) :named @p_120)) :named @p_119)) :rule bind) -(step t41 (cl (not @p_119) (not @p_113) @p_120) :rule equiv_pos2) -(step t42 (cl @p_120) :rule th_resolution :premises (t39 t40 t41)) -(anchor :step t43 :args ((:= (?v0 B$) veriT_vr58) (:= (?v1 A_b_fun$) veriT_vr59) (:= (?v2 A_set$) veriT_vr60))) -(step t43.t1 (cl (! (= ?v0 veriT_vr58) :named @p_128)) :rule refl) -(step t43.t2 (cl (! (= ?v1 veriT_vr59) :named @p_129)) :rule refl) -(step t43.t3 (cl (! (= ?v2 veriT_vr60) :named @p_135)) :rule refl) -(step t43.t4 (cl (= @p_122 (! (image$b veriT_vr59 veriT_vr60) :named @p_123))) :rule cong :premises (t43.t2 t43.t3)) -(step t43.t5 (cl (= @p_124 (! (member$ veriT_vr58 @p_123) :named @p_125))) :rule cong :premises (t43.t1 t43.t4)) -(anchor :step t43.t6 :args ((:= (?v3 A$) veriT_vr61))) -(step t43.t6.t1 (cl @p_128) :rule refl) -(step t43.t6.t2 (cl @p_129) :rule refl) -(step t43.t6.t3 (cl (! (= ?v3 veriT_vr61) :named @p_134)) :rule refl) -(step t43.t6.t4 (cl (= @p_130 (! (fun_app$b veriT_vr59 veriT_vr61) :named @p_131))) :rule cong :premises (t43.t6.t2 t43.t6.t3)) -(step t43.t6.t5 (cl (= @p_132 (! (= veriT_vr58 @p_131) :named @p_133))) :rule cong :premises (t43.t6.t1 t43.t6.t4)) -(step t43.t6.t6 (cl @p_134) :rule refl) -(step t43.t6.t7 (cl @p_135) :rule refl) -(step t43.t6.t8 (cl (= @p_136 (! (member$a veriT_vr61 veriT_vr60) :named @p_137))) :rule cong :premises (t43.t6.t6 t43.t6.t7)) -(step t43.t6.t9 (cl (= @p_138 (! (and @p_133 @p_137) :named @p_139))) :rule cong :premises (t43.t6.t5 t43.t6.t8)) -(step t43.t6.t10 (cl (= @p_140 (! (=> @p_139 false) :named @p_141))) :rule cong :premises (t43.t6.t9)) -(step t43.t6 (cl (= @p_126 (! (forall ((veriT_vr61 A$)) @p_141) :named @p_127))) :rule bind) -(step t43.t7 (cl (= @p_142 (! (and @p_125 @p_127) :named @p_143))) :rule cong :premises (t43.t5 t43.t6)) -(step t43.t8 (cl (= @p_144 (! (=> @p_143 false) :named @p_145))) :rule cong :premises (t43.t7)) -(step t43 (cl (! (= @p_121 (! (forall ((veriT_vr58 B$) (veriT_vr59 A_b_fun$) (veriT_vr60 A_set$)) @p_145) :named @p_147)) :named @p_146)) :rule bind) -(step t44 (cl (not @p_146) (not @p_121) @p_147) :rule equiv_pos2) -(step t45 (cl @p_147) :rule th_resolution :premises (axiom40 t43 t44)) -(anchor :step t46 :args ((veriT_vr58 B$) (veriT_vr59 A_b_fun$) (veriT_vr60 A_set$))) -(anchor :step t46.t1 :args ((veriT_vr61 A$))) -(step t46.t1.t1 (cl (= @p_141 (! (not @p_139) :named @p_149))) :rule implies_simplify) -(step t46.t1 (cl (= @p_127 (! (forall ((veriT_vr61 A$)) @p_149) :named @p_148))) :rule bind) -(step t46.t2 (cl (= @p_143 (! (and @p_125 @p_148) :named @p_150))) :rule cong :premises (t46.t1)) -(step t46.t3 (cl (= @p_145 (! (=> @p_150 false) :named @p_151))) :rule cong :premises (t46.t2)) -(step t46.t4 (cl (= @p_151 (! (not @p_150) :named @p_152))) :rule implies_simplify) -(step t46.t5 (cl (= @p_145 @p_152)) :rule trans :premises (t46.t3 t46.t4)) -(step t46 (cl (! (= @p_147 (! (forall ((veriT_vr58 B$) (veriT_vr59 A_b_fun$) (veriT_vr60 A_set$)) @p_152) :named @p_154)) :named @p_153)) :rule bind) -(step t47 (cl (not @p_153) (not @p_147) @p_154) :rule equiv_pos2) -(step t48 (cl @p_154) :rule th_resolution :premises (t45 t46 t47)) -(anchor :step t49 :args ((:= (veriT_vr58 B$) veriT_vr62) (:= (veriT_vr59 A_b_fun$) veriT_vr63) (:= (veriT_vr60 A_set$) veriT_vr64))) -(step t49.t1 (cl (! (= veriT_vr58 veriT_vr62) :named @p_158)) :rule refl) -(step t49.t2 (cl (! (= veriT_vr59 veriT_vr63) :named @p_159)) :rule refl) -(step t49.t3 (cl (! (= veriT_vr60 veriT_vr64) :named @p_163)) :rule refl) -(step t49.t4 (cl (= @p_123 (! (image$b veriT_vr63 veriT_vr64) :named @p_155))) :rule cong :premises (t49.t2 t49.t3)) -(step t49.t5 (cl (= @p_125 (! (member$ veriT_vr62 @p_155) :named @p_156))) :rule cong :premises (t49.t1 t49.t4)) -(anchor :step t49.t6 :args ((:= (veriT_vr61 A$) veriT_vr65))) -(step t49.t6.t1 (cl @p_158) :rule refl) -(step t49.t6.t2 (cl @p_159) :rule refl) -(step t49.t6.t3 (cl (! (= veriT_vr61 veriT_vr65) :named @p_162)) :rule refl) -(step t49.t6.t4 (cl (= @p_131 (! (fun_app$b veriT_vr63 veriT_vr65) :named @p_160))) :rule cong :premises (t49.t6.t2 t49.t6.t3)) -(step t49.t6.t5 (cl (= @p_133 (! (= veriT_vr62 @p_160) :named @p_161))) :rule cong :premises (t49.t6.t1 t49.t6.t4)) -(step t49.t6.t6 (cl @p_162) :rule refl) -(step t49.t6.t7 (cl @p_163) :rule refl) -(step t49.t6.t8 (cl (= @p_137 (! (member$a veriT_vr65 veriT_vr64) :named @p_164))) :rule cong :premises (t49.t6.t6 t49.t6.t7)) -(step t49.t6.t9 (cl (= @p_139 (! (and @p_161 @p_164) :named @p_165))) :rule cong :premises (t49.t6.t5 t49.t6.t8)) -(step t49.t6.t10 (cl (= @p_149 (! (not @p_165) :named @p_166))) :rule cong :premises (t49.t6.t9)) -(step t49.t6 (cl (= @p_148 (! (forall ((veriT_vr65 A$)) @p_166) :named @p_157))) :rule bind) -(step t49.t7 (cl (= @p_150 (! (and @p_156 @p_157) :named @p_167))) :rule cong :premises (t49.t5 t49.t6)) -(step t49.t8 (cl (= @p_152 (! (not @p_167) :named @p_168))) :rule cong :premises (t49.t7)) -(step t49 (cl (! (= @p_154 (! (forall ((veriT_vr62 B$) (veriT_vr63 A_b_fun$) (veriT_vr64 A_set$)) @p_168) :named @p_170)) :named @p_169)) :rule bind) -(step t50 (cl (not @p_169) (not @p_154) @p_170) :rule equiv_pos2) -(step t51 (cl @p_170) :rule th_resolution :premises (t48 t49 t50)) -(anchor :step t52 :args ((:= (?v0 B$) veriT_vr90) (:= (?v1 A_b_fun$) veriT_vr91) (:= (?v2 A$) veriT_vr92) (:= (?v3 A_set$) veriT_vr93))) -(step t52.t1 (cl (! (= ?v1 veriT_vr91) :named @p_181)) :rule refl) -(step t52.t2 (cl (! (= ?v2 veriT_vr92) :named @p_175)) :rule refl) -(step t52.t3 (cl (= @p_3 (! (fun_app$b veriT_vr91 veriT_vr92) :named @p_172))) :rule cong :premises (t52.t1 t52.t2)) -(step t52.t4 (cl (! (= ?v0 veriT_vr90) :named @p_180)) :rule refl) -(step t52.t5 (cl (= @p_173 (! (= veriT_vr90 @p_172) :named @p_174))) :rule cong :premises (t52.t3 t52.t4)) -(step t52.t6 (cl @p_175) :rule refl) -(step t52.t7 (cl (! (= ?v3 veriT_vr93) :named @p_182)) :rule refl) -(step t52.t8 (cl (= @p_176 (! (member$a veriT_vr92 veriT_vr93) :named @p_177))) :rule cong :premises (t52.t6 t52.t7)) -(step t52.t9 (cl (= @p_178 (! (and @p_174 @p_177) :named @p_179))) :rule cong :premises (t52.t5 t52.t8)) -(step t52.t10 (cl @p_180) :rule refl) -(step t52.t11 (cl @p_181) :rule refl) -(step t52.t12 (cl @p_182) :rule refl) -(step t52.t13 (cl (= @p_183 (! (image$b veriT_vr91 veriT_vr93) :named @p_184))) :rule cong :premises (t52.t11 t52.t12)) -(step t52.t14 (cl (= @p_185 (! (member$ veriT_vr90 @p_184) :named @p_186))) :rule cong :premises (t52.t10 t52.t13)) -(step t52.t15 (cl (= @p_187 (! (=> @p_179 @p_186) :named @p_188))) :rule cong :premises (t52.t9 t52.t14)) -(step t52 (cl (! (= @p_171 (! (forall ((veriT_vr90 B$) (veriT_vr91 A_b_fun$) (veriT_vr92 A$) (veriT_vr93 A_set$)) @p_188) :named @p_190)) :named @p_189)) :rule bind) -(step t53 (cl (not @p_189) (not @p_171) @p_190) :rule equiv_pos2) -(step t54 (cl @p_190) :rule th_resolution :premises (axiom44 t52 t53)) -(anchor :step t55 :args ((:= (veriT_vr90 B$) veriT_vr94) (:= (veriT_vr91 A_b_fun$) veriT_vr95) (:= (veriT_vr92 A$) veriT_vr96) (:= (veriT_vr93 A_set$) veriT_vr97))) -(step t55.t1 (cl (! (= veriT_vr90 veriT_vr94) :named @p_196)) :rule refl) -(step t55.t2 (cl (! (= veriT_vr91 veriT_vr95) :named @p_197)) :rule refl) -(step t55.t3 (cl (! (= veriT_vr92 veriT_vr96) :named @p_193)) :rule refl) -(step t55.t4 (cl (= @p_172 (! (fun_app$b veriT_vr95 veriT_vr96) :named @p_191))) :rule cong :premises (t55.t2 t55.t3)) -(step t55.t5 (cl (= @p_174 (! (= veriT_vr94 @p_191) :named @p_192))) :rule cong :premises (t55.t1 t55.t4)) -(step t55.t6 (cl @p_193) :rule refl) -(step t55.t7 (cl (! (= veriT_vr93 veriT_vr97) :named @p_198)) :rule refl) -(step t55.t8 (cl (= @p_177 (! (member$a veriT_vr96 veriT_vr97) :named @p_194))) :rule cong :premises (t55.t6 t55.t7)) -(step t55.t9 (cl (= @p_179 (! (and @p_192 @p_194) :named @p_195))) :rule cong :premises (t55.t5 t55.t8)) -(step t55.t10 (cl @p_196) :rule refl) -(step t55.t11 (cl @p_197) :rule refl) -(step t55.t12 (cl @p_198) :rule refl) -(step t55.t13 (cl (= @p_184 (! (image$b veriT_vr95 veriT_vr97) :named @p_199))) :rule cong :premises (t55.t11 t55.t12)) -(step t55.t14 (cl (= @p_186 (! (member$ veriT_vr94 @p_199) :named @p_200))) :rule cong :premises (t55.t10 t55.t13)) -(step t55.t15 (cl (= @p_188 (! (=> @p_195 @p_200) :named @p_201))) :rule cong :premises (t55.t9 t55.t14)) -(step t55 (cl (! (= @p_190 (! (forall ((veriT_vr94 B$) (veriT_vr95 A_b_fun$) (veriT_vr96 A$) (veriT_vr97 A_set$)) @p_201) :named @p_203)) :named @p_202)) :rule bind) -(step t56 (cl (not @p_202) (not @p_190) @p_203) :rule equiv_pos2) -(step t57 (cl @p_203) :rule th_resolution :premises (t54 t55 t56)) -(anchor :step t58 :args ((:= (?v0 A_b_fun$) veriT_vr114) (:= (?v1 A_set$) veriT_vr115))) -(step t58.t1 (cl (= ?v0 veriT_vr114)) :rule refl) -(step t58.t2 (cl (! (= ?v1 veriT_vr115) :named @p_209)) :rule refl) -(step t58.t3 (cl (= @p_205 (! (image$b veriT_vr114 veriT_vr115) :named @p_206))) :rule cong :premises (t58.t1 t58.t2)) -(step t58.t4 (cl (= @p_207 (! (= bot$ @p_206) :named @p_208))) :rule cong :premises (t58.t3)) -(step t58.t5 (cl @p_209) :rule refl) -(step t58.t6 (cl (= @p_210 (! (= bot$a veriT_vr115) :named @p_211))) :rule cong :premises (t58.t5)) -(step t58.t7 (cl (= @p_212 (! (= @p_208 @p_211) :named @p_213))) :rule cong :premises (t58.t4 t58.t6)) -(step t58 (cl (! (= @p_204 (! (forall ((veriT_vr114 A_b_fun$) (veriT_vr115 A_set$)) @p_213) :named @p_215)) :named @p_214)) :rule bind) -(step t59 (cl (not @p_214) (not @p_204) @p_215) :rule equiv_pos2) -(step t60 (cl @p_215) :rule th_resolution :premises (axiom48 t58 t59)) -(anchor :step t61 :args ((:= (veriT_vr114 A_b_fun$) veriT_vr116) (:= (veriT_vr115 A_set$) veriT_vr117))) -(step t61.t1 (cl (= veriT_vr114 veriT_vr116)) :rule refl) -(step t61.t2 (cl (! (= veriT_vr115 veriT_vr117) :named @p_218)) :rule refl) -(step t61.t3 (cl (= @p_206 (! (image$b veriT_vr116 veriT_vr117) :named @p_216))) :rule cong :premises (t61.t1 t61.t2)) -(step t61.t4 (cl (= @p_208 (! (= bot$ @p_216) :named @p_217))) :rule cong :premises (t61.t3)) -(step t61.t5 (cl @p_218) :rule refl) -(step t61.t6 (cl (= @p_211 (! (= bot$a veriT_vr117) :named @p_219))) :rule cong :premises (t61.t5)) -(step t61.t7 (cl (= @p_213 (! (= @p_217 @p_219) :named @p_220))) :rule cong :premises (t61.t4 t61.t6)) -(step t61 (cl (! (= @p_215 (! (forall ((veriT_vr116 A_b_fun$) (veriT_vr117 A_set$)) @p_220) :named @p_222)) :named @p_221)) :rule bind) -(step t62 (cl (not @p_221) (not @p_215) @p_222) :rule equiv_pos2) -(step t63 (cl @p_222) :rule th_resolution :premises (t60 t61 t62)) -(anchor :step t64 :args ((:= (?v0 B_c_fun$) veriT_vr122) (:= (?v1 B_set$) veriT_vr123) (:= (?v2 B$) veriT_vr124) (:= (?v3 B$) veriT_vr125))) -(step t64.t1 (cl (! (= ?v0 veriT_vr122) :named @p_226)) :rule refl) -(step t64.t2 (cl (! (= ?v1 veriT_vr123) :named @p_234)) :rule refl) -(step t64.t3 (cl (= @p_224 (! (inj_on$ veriT_vr122 veriT_vr123) :named @p_225))) :rule cong :premises (t64.t1 t64.t2)) -(step t64.t4 (cl @p_226) :rule refl) -(step t64.t5 (cl (! (= ?v2 veriT_vr124) :named @p_233)) :rule refl) -(step t64.t6 (cl (= @p_227 (! (fun_app$ veriT_vr122 veriT_vr124) :named @p_228))) :rule cong :premises (t64.t4 t64.t5)) -(step t64.t7 (cl @p_226) :rule refl) -(step t64.t8 (cl (! (= ?v3 veriT_vr125) :named @p_237)) :rule refl) -(step t64.t9 (cl (= @p_229 (! (fun_app$ veriT_vr122 veriT_vr125) :named @p_230))) :rule cong :premises (t64.t7 t64.t8)) -(step t64.t10 (cl (= @p_231 (! (= @p_228 @p_230) :named @p_232))) :rule cong :premises (t64.t6 t64.t9)) -(step t64.t11 (cl @p_233) :rule refl) -(step t64.t12 (cl @p_234) :rule refl) -(step t64.t13 (cl (= @p_235 (! (member$ veriT_vr124 veriT_vr123) :named @p_236))) :rule cong :premises (t64.t11 t64.t12)) -(step t64.t14 (cl @p_237) :rule refl) -(step t64.t15 (cl @p_234) :rule refl) -(step t64.t16 (cl (= @p_238 (! (member$ veriT_vr125 veriT_vr123) :named @p_239))) :rule cong :premises (t64.t14 t64.t15)) -(step t64.t17 (cl (= @p_240 (! (and @p_236 @p_239) :named @p_241))) :rule cong :premises (t64.t13 t64.t16)) -(step t64.t18 (cl (= @p_242 (! (and @p_232 @p_241) :named @p_243))) :rule cong :premises (t64.t10 t64.t17)) -(step t64.t19 (cl (= @p_244 (! (and @p_225 @p_243) :named @p_245))) :rule cong :premises (t64.t3 t64.t18)) -(step t64.t20 (cl @p_237) :rule refl) -(step t64.t21 (cl @p_233) :rule refl) -(step t64.t22 (cl (= @p_246 (! (= veriT_vr124 veriT_vr125) :named @p_247))) :rule cong :premises (t64.t20 t64.t21)) -(step t64.t23 (cl (= @p_248 (! (=> @p_245 @p_247) :named @p_249))) :rule cong :premises (t64.t19 t64.t22)) -(step t64 (cl (! (= @p_223 (! (forall ((veriT_vr122 B_c_fun$) (veriT_vr123 B_set$) (veriT_vr124 B$) (veriT_vr125 B$)) @p_249) :named @p_251)) :named @p_250)) :rule bind) -(step t65 (cl (not @p_250) (not @p_223) @p_251) :rule equiv_pos2) -(step t66 (cl @p_251) :rule th_resolution :premises (axiom50 t64 t65)) -(anchor :step t67 :args ((veriT_vr122 B_c_fun$) (veriT_vr123 B_set$) (veriT_vr124 B$) (veriT_vr125 B$))) -(step t67.t1 (cl (= @p_245 (! (and @p_225 @p_232 @p_236 @p_239) :named @p_252))) :rule ac_simp) -(step t67.t2 (cl (= @p_249 (! (=> @p_252 @p_247) :named @p_253))) :rule cong :premises (t67.t1)) -(step t67 (cl (! (= @p_251 (! (forall ((veriT_vr122 B_c_fun$) (veriT_vr123 B_set$) (veriT_vr124 B$) (veriT_vr125 B$)) @p_253) :named @p_255)) :named @p_254)) :rule bind) -(step t68 (cl (not @p_254) (not @p_251) @p_255) :rule equiv_pos2) -(step t69 (cl @p_255) :rule th_resolution :premises (t66 t67 t68)) -(anchor :step t70 :args ((:= (veriT_vr122 B_c_fun$) veriT_vr126) (:= (veriT_vr123 B_set$) veriT_vr127) (:= (veriT_vr124 B$) veriT_vr128) (:= (veriT_vr125 B$) veriT_vr129))) -(step t70.t1 (cl (! (= veriT_vr122 veriT_vr126) :named @p_257)) :rule refl) -(step t70.t2 (cl (! (= veriT_vr123 veriT_vr127) :named @p_262)) :rule refl) -(step t70.t3 (cl (= @p_225 (! (inj_on$ veriT_vr126 veriT_vr127) :named @p_256))) :rule cong :premises (t70.t1 t70.t2)) -(step t70.t4 (cl @p_257) :rule refl) -(step t70.t5 (cl (! (= veriT_vr124 veriT_vr128) :named @p_261)) :rule refl) -(step t70.t6 (cl (= @p_228 (! (fun_app$ veriT_vr126 veriT_vr128) :named @p_258))) :rule cong :premises (t70.t4 t70.t5)) -(step t70.t7 (cl @p_257) :rule refl) -(step t70.t8 (cl (! (= veriT_vr125 veriT_vr129) :named @p_264)) :rule refl) -(step t70.t9 (cl (= @p_230 (! (fun_app$ veriT_vr126 veriT_vr129) :named @p_259))) :rule cong :premises (t70.t7 t70.t8)) -(step t70.t10 (cl (= @p_232 (! (= @p_258 @p_259) :named @p_260))) :rule cong :premises (t70.t6 t70.t9)) -(step t70.t11 (cl @p_261) :rule refl) -(step t70.t12 (cl @p_262) :rule refl) -(step t70.t13 (cl (= @p_236 (! (member$ veriT_vr128 veriT_vr127) :named @p_263))) :rule cong :premises (t70.t11 t70.t12)) -(step t70.t14 (cl @p_264) :rule refl) -(step t70.t15 (cl @p_262) :rule refl) -(step t70.t16 (cl (= @p_239 (! (member$ veriT_vr129 veriT_vr127) :named @p_265))) :rule cong :premises (t70.t14 t70.t15)) -(step t70.t17 (cl (= @p_252 (! (and @p_256 @p_260 @p_263 @p_265) :named @p_266))) :rule cong :premises (t70.t3 t70.t10 t70.t13 t70.t16)) -(step t70.t18 (cl @p_261) :rule refl) -(step t70.t19 (cl @p_264) :rule refl) -(step t70.t20 (cl (= @p_247 (! (= veriT_vr128 veriT_vr129) :named @p_267))) :rule cong :premises (t70.t18 t70.t19)) -(step t70.t21 (cl (= @p_253 (! (=> @p_266 @p_267) :named @p_268))) :rule cong :premises (t70.t17 t70.t20)) -(step t70 (cl (! (= @p_255 (! (forall ((veriT_vr126 B_c_fun$) (veriT_vr127 B_set$) (veriT_vr128 B$) (veriT_vr129 B$)) @p_268) :named @p_270)) :named @p_269)) :rule bind) -(step t71 (cl (not @p_269) (not @p_255) @p_270) :rule equiv_pos2) -(step t72 (cl @p_270) :rule th_resolution :premises (t69 t70 t71)) -(anchor :step t73 :args ((:= (?v0 C$) veriT_vr130) (:= (?v1 C$) veriT_vr131))) -(step t73.t1 (cl (! (= ?v0 veriT_vr130) :named @p_274)) :rule refl) -(step t73.t2 (cl (! (= ?v1 veriT_vr131) :named @p_275)) :rule refl) -(step t73.t3 (cl (= @p_272 (! (less$ veriT_vr130 veriT_vr131) :named @p_273))) :rule cong :premises (t73.t1 t73.t2)) -(step t73.t4 (cl @p_274) :rule refl) -(step t73.t5 (cl @p_275) :rule refl) -(step t73.t6 (cl (= @p_276 (! (less_eq$ veriT_vr130 veriT_vr131) :named @p_277))) :rule cong :premises (t73.t4 t73.t5)) -(step t73.t7 (cl @p_274) :rule refl) -(step t73.t8 (cl @p_275) :rule refl) -(step t73.t9 (cl (= @p_278 (! (= veriT_vr130 veriT_vr131) :named @p_279))) :rule cong :premises (t73.t7 t73.t8)) -(step t73.t10 (cl (= @p_280 (! (not @p_279) :named @p_281))) :rule cong :premises (t73.t9)) -(step t73.t11 (cl (= @p_282 (! (and @p_277 @p_281) :named @p_283))) :rule cong :premises (t73.t6 t73.t10)) -(step t73.t12 (cl (= @p_284 (! (= @p_273 @p_283) :named @p_285))) :rule cong :premises (t73.t3 t73.t11)) -(step t73 (cl (! (= @p_271 (! (forall ((veriT_vr130 C$) (veriT_vr131 C$)) @p_285) :named @p_287)) :named @p_286)) :rule bind) -(step t74 (cl (not @p_286) (not @p_271) @p_287) :rule equiv_pos2) -(step t75 (cl @p_287) :rule th_resolution :premises (axiom51 t73 t74)) -(anchor :step t76 :args ((:= (veriT_vr130 C$) veriT_vr132) (:= (veriT_vr131 C$) veriT_vr133))) -(step t76.t1 (cl (! (= veriT_vr130 veriT_vr132) :named @p_289)) :rule refl) -(step t76.t2 (cl (! (= veriT_vr131 veriT_vr133) :named @p_290)) :rule refl) -(step t76.t3 (cl (= @p_273 (! (less$ veriT_vr132 veriT_vr133) :named @p_288))) :rule cong :premises (t76.t1 t76.t2)) -(step t76.t4 (cl @p_289) :rule refl) -(step t76.t5 (cl @p_290) :rule refl) -(step t76.t6 (cl (= @p_277 (! (less_eq$ veriT_vr132 veriT_vr133) :named @p_291))) :rule cong :premises (t76.t4 t76.t5)) -(step t76.t7 (cl @p_289) :rule refl) -(step t76.t8 (cl @p_290) :rule refl) -(step t76.t9 (cl (= @p_279 (! (= veriT_vr132 veriT_vr133) :named @p_292))) :rule cong :premises (t76.t7 t76.t8)) -(step t76.t10 (cl (= @p_281 (! (not @p_292) :named @p_293))) :rule cong :premises (t76.t9)) -(step t76.t11 (cl (= @p_283 (! (and @p_291 @p_293) :named @p_294))) :rule cong :premises (t76.t6 t76.t10)) -(step t76.t12 (cl (= @p_285 (! (= @p_288 @p_294) :named @p_295))) :rule cong :premises (t76.t3 t76.t11)) -(step t76 (cl (! (= @p_287 (! (forall ((veriT_vr132 C$) (veriT_vr133 C$)) @p_295) :named @p_297)) :named @p_296)) :rule bind) -(step t77 (cl (not @p_296) (not @p_287) @p_297) :rule equiv_pos2) -(step t78 (cl @p_297) :rule th_resolution :premises (t75 t76 t77)) -(anchor :step t79 :args ((:= (?v0 A$) veriT_vr134))) -(step t79.t1 (cl (! (= ?v0 veriT_vr134) :named @p_302)) :rule refl) -(step t79.t2 (cl (= @p_300 (! (member$a veriT_vr134 b$) :named @p_301))) :rule cong :premises (t79.t1)) -(step t79.t3 (cl @p_302) :rule refl) -(step t79.t4 (cl (= @p_303 (! (fun_app$a @p_4 veriT_vr134) :named @p_304))) :rule cong :premises (t79.t3)) -(step t79.t5 (cl (= @p_305 (! (less$ @p_304 @p_299) :named @p_306))) :rule cong :premises (t79.t4)) -(step t79.t6 (cl (= @p_307 (! (and @p_301 @p_306) :named @p_308))) :rule cong :premises (t79.t2 t79.t5)) -(step t79 (cl (= @p_298 (! (exists ((veriT_vr134 A$)) @p_308) :named @p_310))) :rule bind) -(step t80 (cl (! (= @p_309 (! (not @p_310) :named @p_312)) :named @p_311)) :rule cong :premises (t79)) -(step t81 (cl (! (not @p_311) :named @p_314) (! (not @p_309) :named @p_313) @p_312) :rule equiv_pos2) -(step t82 (cl (not @p_313) @p_298) :rule not_not) -(step t83 (cl @p_314 @p_298 @p_312) :rule th_resolution :premises (t82 t81)) -(step t84 (cl @p_312) :rule th_resolution :premises (axiom27 t80 t83)) -(anchor :step t85 :args ((:= (veriT_vr134 A$) veriT_vr135))) -(step t85.t1 (cl (! (= veriT_vr134 veriT_vr135) :named @p_316)) :rule refl) -(step t85.t2 (cl (= @p_301 (! (member$a veriT_vr135 b$) :named @p_315))) :rule cong :premises (t85.t1)) -(step t85.t3 (cl @p_316) :rule refl) -(step t85.t4 (cl (= @p_304 (! (fun_app$a @p_4 veriT_vr135) :named @p_317))) :rule cong :premises (t85.t3)) -(step t85.t5 (cl (= @p_306 (! (less$ @p_317 @p_299) :named @p_318))) :rule cong :premises (t85.t4)) -(step t85.t6 (cl (= @p_308 (! (and @p_315 @p_318) :named @p_319))) :rule cong :premises (t85.t2 t85.t5)) -(step t85 (cl (= @p_310 (! (exists ((veriT_vr135 A$)) @p_319) :named @p_320))) :rule bind) -(step t86 (cl (! (= @p_312 (! (not @p_320) :named @p_322)) :named @p_321)) :rule cong :premises (t85)) -(step t87 (cl (! (not @p_321) :named @p_324) (! (not @p_312) :named @p_323) @p_322) :rule equiv_pos2) -(step t88 (cl (not @p_323) @p_310) :rule not_not) -(step t89 (cl @p_324 @p_310 @p_322) :rule th_resolution :premises (t88 t87)) -(step t90 (cl @p_322) :rule th_resolution :premises (t84 t86 t89)) -(step t91 (cl (= @p_320 (! (not (! (forall ((veriT_vr135 A$)) (not @p_319)) :named @p_330)) :named @p_325))) :rule connective_def) -(step t92 (cl (! (= @p_322 (! (not @p_325) :named @p_327)) :named @p_326)) :rule cong :premises (t91)) -(step t93 (cl (! (not @p_326) :named @p_329) (! (not @p_322) :named @p_328) @p_327) :rule equiv_pos2) -(step t94 (cl (not @p_328) @p_320) :rule not_not) -(step t95 (cl @p_329 @p_320 @p_327) :rule th_resolution :premises (t94 t93)) -(step t96 (cl (not @p_327) @p_330) :rule not_not) -(step t97 (cl @p_329 @p_320 @p_330) :rule th_resolution :premises (t96 t95)) -(step t98 (cl @p_327) :rule th_resolution :premises (t90 t92 t97)) -(step t99 (cl @p_330) :rule th_resolution :premises (t96 t98)) -(step t100 (cl (or (! (not @p_203) :named @p_421) (! (forall ((veriT_vr94 B$) (veriT_vr95 A_b_fun$) (veriT_vr96 A$) (veriT_vr97 A_set$)) (or (not @p_192) (not @p_194) @p_200)) :named @p_422))) :rule qnt_cnf) -(step t101 (cl (or (! (not @p_222) :named @p_339) (! (= (! (= bot$ @p_6) :named @p_335) @p_331) :named @p_337))) :rule forall_inst :args ((:= veriT_vr116 g$) (:= veriT_vr117 b$))) -(step t102 (cl (or (! (not @p_120) :named @p_342) (! (=> @p_332 (! (finite$ @p_6) :named @p_334)) :named @p_341))) :rule forall_inst :args ((:= veriT_vr36 b$) (:= veriT_vr37 g$))) -(step t103 (cl (or (! (not @p_101) :named @p_344) (! (= @p_299 (! (fun_app$ f$ @p_333) :named @p_354)) :named @p_345))) :rule forall_inst :args ((:= veriT_vr23 f$) (:= veriT_vr24 g$) (:= veriT_vr25 @p_5))) -(step t104 (cl (or (! (not @p_32) :named @p_351) (! (=> (! (and @p_334 (! (not @p_335) :named @p_338)) :named @p_346) (! (member$ @p_336 @p_6) :named @p_350)) :named @p_349))) :rule forall_inst :args ((:= veriT_vr2 @p_6) (:= veriT_vr3 f$))) -(step t105 (cl (! (not @p_337) :named @p_340) @p_338 @p_331) :rule equiv_pos2) -(step t106 (cl @p_339 @p_337) :rule or :premises (t101)) -(step t107 (cl @p_340 @p_338) :rule resolution :premises (t105 axiom25)) -(step t108 (cl @p_337) :rule resolution :premises (t106 t63)) -(step t109 (cl @p_338) :rule resolution :premises (t107 t108)) -(step t110 (cl (! (not @p_341) :named @p_343) (not @p_332) @p_334) :rule implies_pos) -(step t111 (cl @p_342 @p_341) :rule or :premises (t102)) -(step t112 (cl @p_343 @p_334) :rule resolution :premises (t110 axiom24)) -(step t113 (cl @p_341) :rule resolution :premises (t111 t42)) -(step t114 (cl @p_334) :rule resolution :premises (t112 t113)) -(step t115 (cl @p_344 @p_345) :rule or :premises (t103)) -(step t116 (cl @p_345) :rule resolution :premises (t115 t36)) -(step t117 (cl @p_346 (! (not @p_334) :named @p_348) (! (not @p_338) :named @p_347)) :rule and_neg) -(step t118 (cl (not @p_347) @p_335) :rule not_not) -(step t119 (cl @p_346 @p_348 @p_335) :rule th_resolution :premises (t118 t117)) -(step t120 (cl (! (not @p_349) :named @p_352) (not @p_346) @p_350) :rule implies_pos) -(step t121 (cl @p_351 @p_349) :rule or :premises (t104)) -(step t122 (cl @p_346) :rule resolution :premises (t119 t109 t114)) -(step t123 (cl @p_352 @p_350) :rule resolution :premises (t120 t122)) -(step t124 (cl @p_349) :rule resolution :premises (t121 t21)) -(step t125 (cl @p_350) :rule resolution :premises (t123 t124)) -(step t126 (cl (or (! (not @p_270) :named @p_410) (! (=> (! (and @p_353 (! (= @p_354 (! (fun_app$ f$ @p_336) :named @p_406)) :named @p_408) @p_350 (! (member$ @p_333 @p_6) :named @p_405)) :named @p_407) @p_355) :named @p_409))) :rule forall_inst :args ((:= veriT_vr126 f$) (:= veriT_vr127 @p_6) (:= veriT_vr128 @p_336) (:= veriT_vr129 @p_333))) -(step t127 (cl (or (! (not @p_170) :named @p_401) (! (not (! (and @p_350 (! (forall ((veriT_vr65 A$)) (! (not (! (and (! (= @p_336 (! (fun_app$b g$ veriT_vr65) :named @p_359)) :named @p_361) (! (member$a veriT_vr65 b$) :named @p_364)) :named @p_366)) :named @p_368)) :named @p_358)) :named @p_370)) :named @p_356))) :rule forall_inst :args ((:= veriT_vr62 @p_336) (:= veriT_vr63 g$) (:= veriT_vr64 b$))) -(anchor :step t128) -(assume t128.h1 @p_356) -(anchor :step t128.t2 :args ((:= (veriT_vr65 A$) veriT_vr144))) -(step t128.t2.t1 (cl (! (= veriT_vr65 veriT_vr144) :named @p_363)) :rule refl) -(step t128.t2.t2 (cl (= @p_359 (! (fun_app$b g$ veriT_vr144) :named @p_360))) :rule cong :premises (t128.t2.t1)) -(step t128.t2.t3 (cl (= @p_361 (! (= @p_336 @p_360) :named @p_362))) :rule cong :premises (t128.t2.t2)) -(step t128.t2.t4 (cl @p_363) :rule refl) -(step t128.t2.t5 (cl (= @p_364 (! (member$a veriT_vr144 b$) :named @p_365))) :rule cong :premises (t128.t2.t4)) -(step t128.t2.t6 (cl (= @p_366 (! (and @p_362 @p_365) :named @p_367))) :rule cong :premises (t128.t2.t3 t128.t2.t5)) -(step t128.t2.t7 (cl (= @p_368 (! (not @p_367) :named @p_369))) :rule cong :premises (t128.t2.t6)) -(step t128.t2 (cl (= @p_358 (! (forall ((veriT_vr144 A$)) @p_369) :named @p_371))) :rule bind) -(step t128.t3 (cl (= @p_370 (! (and @p_350 @p_371) :named @p_372))) :rule cong :premises (t128.t2)) -(step t128.t4 (cl (! (= @p_356 (! (not @p_372) :named @p_375)) :named @p_373)) :rule cong :premises (t128.t3)) -(step t128.t5 (cl (! (not @p_373) :named @p_376) (! (not @p_356) :named @p_374) @p_375) :rule equiv_pos2) -(step t128.t6 (cl (! (not @p_374) :named @p_400) @p_370) :rule not_not) -(step t128.t7 (cl @p_376 @p_370 @p_375) :rule th_resolution :premises (t128.t6 t128.t5)) -(step t128.t8 (cl @p_375) :rule th_resolution :premises (t128.h1 t128.t4 t128.t7)) -(anchor :step t128.t9 :args ((:= (veriT_vr144 A$) veriT_vr145))) -(step t128.t9.t1 (cl (! (= veriT_vr144 veriT_vr145) :named @p_380)) :rule refl) -(step t128.t9.t2 (cl (= @p_360 @p_378)) :rule cong :premises (t128.t9.t1)) -(step t128.t9.t3 (cl (= @p_362 @p_379)) :rule cong :premises (t128.t9.t2)) -(step t128.t9.t4 (cl @p_380) :rule refl) -(step t128.t9.t5 (cl (= @p_365 @p_381)) :rule cong :premises (t128.t9.t4)) -(step t128.t9.t6 (cl (= @p_367 @p_382)) :rule cong :premises (t128.t9.t3 t128.t9.t5)) -(step t128.t9.t7 (cl (= @p_369 @p_377)) :rule cong :premises (t128.t9.t6)) -(step t128.t9 (cl (= @p_371 (! (forall ((veriT_vr145 A$)) @p_377) :named @p_383))) :rule bind) -(step t128.t10 (cl (= @p_372 (! (and @p_350 @p_383) :named @p_384))) :rule cong :premises (t128.t9)) -(step t128.t11 (cl (! (= @p_375 (! (not @p_384) :named @p_386)) :named @p_385)) :rule cong :premises (t128.t10)) -(step t128.t12 (cl (! (not @p_385) :named @p_388) (! (not @p_375) :named @p_387) @p_386) :rule equiv_pos2) -(step t128.t13 (cl (not @p_387) @p_372) :rule not_not) -(step t128.t14 (cl @p_388 @p_372 @p_386) :rule th_resolution :premises (t128.t13 t128.t12)) -(step t128.t15 (cl @p_386) :rule th_resolution :premises (t128.t8 t128.t11 t128.t14)) -(anchor :step t128.t16 :args ((:= (veriT_vr145 A$) veriT_sk0))) -(step t128.t16.t1 (cl (! (= veriT_vr145 veriT_sk0) :named @p_392)) :rule refl) -(step t128.t16.t2 (cl (= @p_378 (! (fun_app$b g$ veriT_sk0) :named @p_390))) :rule cong :premises (t128.t16.t1)) -(step t128.t16.t3 (cl (= @p_379 (! (= @p_336 @p_390) :named @p_391))) :rule cong :premises (t128.t16.t2)) -(step t128.t16.t4 (cl @p_392) :rule refl) -(step t128.t16.t5 (cl (= @p_381 (! (member$a veriT_sk0 b$) :named @p_393))) :rule cong :premises (t128.t16.t4)) -(step t128.t16.t6 (cl (= @p_382 (! (and @p_391 @p_393) :named @p_394))) :rule cong :premises (t128.t16.t3 t128.t16.t5)) -(step t128.t16.t7 (cl (= @p_377 (! (not @p_394) :named @p_389))) :rule cong :premises (t128.t16.t6)) -(step t128.t16 (cl (= @p_383 @p_389)) :rule sko_forall) -(step t128.t17 (cl (= @p_384 (! (and @p_350 @p_389) :named @p_395))) :rule cong :premises (t128.t16)) -(step t128.t18 (cl (! (= @p_386 (! (not @p_395) :named @p_396)) :named @p_397)) :rule cong :premises (t128.t17)) -(step t128.t19 (cl (! (not @p_397) :named @p_399) (! (not @p_386) :named @p_398) @p_396) :rule equiv_pos2) -(step t128.t20 (cl (not @p_398) @p_384) :rule not_not) -(step t128.t21 (cl @p_399 @p_384 @p_396) :rule th_resolution :premises (t128.t20 t128.t19)) -(step t128.t22 (cl @p_396) :rule th_resolution :premises (t128.t15 t128.t18 t128.t21)) -(step t128 (cl @p_374 @p_396) :rule subproof :discharge (h1)) -(step t129 (cl @p_400 @p_370) :rule not_not) -(step t130 (cl @p_370 @p_396) :rule th_resolution :premises (t129 t128)) -(step t131 (cl @p_401 @p_356) :rule or :premises (t127)) -(step t132 (cl (! (or @p_401 @p_396) :named @p_403) (! (not @p_401) :named @p_402)) :rule or_neg) -(step t133 (cl (not @p_402) @p_170) :rule not_not) -(step t134 (cl @p_403 @p_170) :rule th_resolution :premises (t133 t132)) -(step t135 (cl @p_403 (! (not @p_396) :named @p_404)) :rule or_neg) -(step t136 (cl (not @p_404) @p_395) :rule not_not) -(step t137 (cl @p_403 @p_395) :rule th_resolution :premises (t136 t135)) -(step t138 (cl @p_403) :rule th_resolution :premises (t131 t130 t134 t137)) -(step t139 (cl (or (! (not @p_76) :named @p_420) (! (=> (! (and @p_334 @p_338 @p_405) :named @p_417) (! (less_eq$ @p_406 @p_354) :named @p_419)) :named @p_418))) :rule forall_inst :args ((:= veriT_vr11 @p_6) (:= veriT_vr12 @p_333) (:= veriT_vr13 f$))) -(step t140 (cl @p_407 (not @p_353) (! (not @p_408) :named @p_411) (! (not @p_350) :named @p_415) (! (not @p_405) :named @p_412)) :rule and_neg) -(step t141 (cl (! (not @p_409) :named @p_413) (! (not @p_407) :named @p_414) @p_355) :rule implies_pos) -(step t142 (cl @p_410 @p_409) :rule or :premises (t126)) -(step t143 (cl @p_407 @p_411 @p_412) :rule resolution :premises (t140 axiom23 t125)) -(step t144 (cl @p_413 @p_414) :rule resolution :premises (t141 axiom52)) -(step t145 (cl @p_409) :rule resolution :premises (t142 t72)) -(step t146 (cl @p_414) :rule resolution :premises (t144 t145)) -(step t147 (cl @p_389 @p_391) :rule and_pos) -(step t148 (cl @p_389 @p_393) :rule and_pos) -(step t149 (cl @p_395 @p_415 (! (not @p_389) :named @p_416)) :rule and_neg) -(step t150 (cl (not @p_416) @p_394) :rule not_not) -(step t151 (cl @p_395 @p_415 @p_394) :rule th_resolution :premises (t150 t149)) -(step t152 (cl @p_401 @p_396) :rule or :premises (t138)) -(step t153 (cl @p_395 @p_394) :rule resolution :premises (t151 t125)) -(step t154 (cl @p_396) :rule resolution :premises (t152 t51)) -(step t155 (cl @p_394) :rule resolution :premises (t153 t154)) -(step t156 (cl @p_391) :rule resolution :premises (t147 t155)) -(step t157 (cl @p_393) :rule resolution :premises (t148 t155)) -(step t158 (cl @p_417 @p_348 @p_347 @p_412) :rule and_neg) -(step t159 (cl @p_417 @p_348 @p_335 @p_412) :rule th_resolution :premises (t118 t158)) -(step t160 (cl (not @p_418) (not @p_417) @p_419) :rule implies_pos) -(step t161 (cl @p_420 @p_418) :rule or :premises (t139)) -(step t162 (cl @p_417 @p_412) :rule resolution :premises (t159 t109 t114)) -(step t163 (cl @p_418) :rule resolution :premises (t161 t30)) -(step t164 (cl @p_421 @p_422) :rule or :premises (t100)) -(step t165 (cl (or (! (not @p_422) :named @p_424) (! (or (! (not (! (= @p_333 @p_333) :named @p_430)) :named @p_431) (! (not @p_423) :named @p_429) @p_405) :named @p_425))) :rule forall_inst :args ((:= veriT_vr94 @p_333) (:= veriT_vr95 g$) (:= veriT_vr96 @p_5) (:= veriT_vr97 b$))) -(step t166 (cl @p_424 @p_425) :rule or :premises (t165)) -(step t167 (cl (! (or @p_421 @p_425) :named @p_427) (! (not @p_421) :named @p_426)) :rule or_neg) -(step t168 (cl (not @p_426) @p_203) :rule not_not) -(step t169 (cl @p_427 @p_203) :rule th_resolution :premises (t168 t167)) -(step t170 (cl @p_427 (! (not @p_425) :named @p_428)) :rule or_neg) -(step t171 (cl @p_427) :rule th_resolution :premises (t164 t166 t169 t170)) -(anchor :step t172) -(assume t172.h1 @p_425) -(step t172.t2 (cl (= @p_430 true)) :rule eq_simplify) -(step t172.t3 (cl (= @p_431 (! (not true) :named @p_432))) :rule cong :premises (t172.t2)) -(step t172.t4 (cl (= @p_432 false)) :rule not_simplify) -(step t172.t5 (cl (= @p_431 false)) :rule trans :premises (t172.t3 t172.t4)) -(step t172.t6 (cl (= @p_425 (! (or false @p_429 @p_405) :named @p_433))) :rule cong :premises (t172.t5)) -(step t172.t7 (cl (= @p_433 (! (or @p_429 @p_405) :named @p_434))) :rule or_simplify) -(step t172.t8 (cl (! (= @p_425 @p_434) :named @p_435)) :rule trans :premises (t172.t6 t172.t7)) -(step t172.t9 (cl (not @p_435) @p_428 @p_434) :rule equiv_pos2) -(step t172.t10 (cl @p_434) :rule th_resolution :premises (t172.h1 t172.t8 t172.t9)) -(step t172 (cl @p_428 @p_434) :rule subproof :discharge (h1)) -(step t173 (cl @p_421 @p_425) :rule or :premises (t171)) -(step t174 (cl (! (or @p_421 @p_434) :named @p_436) @p_426) :rule or_neg) -(step t175 (cl @p_436 @p_203) :rule th_resolution :premises (t168 t174)) -(step t176 (cl @p_436 (! (not @p_434) :named @p_437)) :rule or_neg) -(step t177 (cl @p_436) :rule th_resolution :premises (t173 t172 t175 t176)) -(step t178 (cl @p_437 @p_429 @p_405) :rule or_pos) -(step t179 (cl @p_421 @p_434) :rule or :premises (t177)) -(step t180 (cl @p_437 @p_405) :rule resolution :premises (t178 axiom26)) -(step t181 (cl @p_434) :rule resolution :premises (t179 t57)) -(step t182 (cl @p_405) :rule resolution :premises (t180 t181)) -(step t183 (cl @p_411) :rule resolution :premises (t143 t182 t146)) -(step t184 (cl @p_417) :rule resolution :premises (t162 t182)) -(step t185 (cl @p_419) :rule resolution :premises (t160 t184 t163)) -(step t186 (cl (or @p_325 (! (not (! (and @p_393 (! (less$ (! (fun_app$a @p_4 veriT_sk0) :named @p_438) @p_299) :named @p_440)) :named @p_439)) :named @p_441))) :rule forall_inst :args ((:= veriT_vr135 veriT_sk0))) -(step t187 (cl (or (! (not @p_297) :named @p_448) (! (= (! (less$ @p_406 @p_354) :named @p_447) (! (and @p_419 @p_411) :named @p_443)) :named @p_446))) :rule forall_inst :args ((:= veriT_vr132 @p_406) (:= veriT_vr133 @p_354))) -(step t188 (cl (or @p_344 (! (= @p_438 (! (fun_app$ f$ @p_390) :named @p_451)) :named @p_450))) :rule forall_inst :args ((:= veriT_vr23 f$) (:= veriT_vr24 g$) (:= veriT_vr25 veriT_sk0))) -(step t189 (cl @p_439 (not @p_393) (! (not @p_440) :named @p_442)) :rule and_neg) -(step t190 (cl @p_325 @p_441) :rule or :premises (t186)) -(step t191 (cl @p_439 @p_442) :rule resolution :premises (t189 t157)) -(step t192 (cl @p_441) :rule resolution :premises (t190 t99)) -(step t193 (cl @p_442) :rule resolution :premises (t191 t192)) -(step t194 (cl @p_443 (! (not @p_419) :named @p_445) (! (not @p_411) :named @p_444)) :rule and_neg) -(step t195 (cl (not @p_444) @p_408) :rule not_not) -(step t196 (cl @p_443 @p_445 @p_408) :rule th_resolution :premises (t195 t194)) -(step t197 (cl (! (not @p_446) :named @p_449) @p_447 (not @p_443)) :rule equiv_pos1) -(step t198 (cl @p_448 @p_446) :rule or :premises (t187)) -(step t199 (cl @p_443) :rule resolution :premises (t196 t183 t185)) -(step t200 (cl @p_449 @p_447) :rule resolution :premises (t197 t199)) -(step t201 (cl @p_446) :rule resolution :premises (t198 t78)) -(step t202 (cl @p_447) :rule resolution :premises (t200 t201)) -(step t203 (cl @p_344 @p_450) :rule or :premises (t188)) -(step t204 (cl @p_450) :rule resolution :premises (t203 t36)) -(step t205 (cl (not (! (= @p_406 @p_438) :named @p_452)) (! (not @p_345) :named @p_457) (! (not @p_447) :named @p_458) @p_440) :rule eq_congruent_pred) -(step t206 (cl (not (! (= @p_406 @p_451) :named @p_453)) (! (not @p_450) :named @p_456) @p_452) :rule eq_transitive) -(step t207 (cl (not (! (= f$ f$) :named @p_454)) (! (not @p_391) :named @p_455) @p_453) :rule eq_congruent) -(step t208 (cl @p_454) :rule eq_reflexive) -(step t209 (cl @p_455 @p_453) :rule th_resolution :premises (t207 t208)) -(step t210 (cl @p_456 @p_452 @p_455) :rule th_resolution :premises (t206 t209)) -(step t211 (cl @p_457 @p_458 @p_440 @p_456 @p_455) :rule th_resolution :premises (t205 t210)) -(step t212 (cl) :rule resolution :premises (t211 t116 t156 t193 t202 t204)) -2c004ebfd8457fdbede51bb75b1997f1f1e2bc6d 791 0 -unsat -(assume axiom0 (! (forall ((?v0 Real)) (! (= (! (fun_app$ uuc$ ?v0) :named @p_9) (! (pair$ (! (times$ (! (- ?v0 (! (divide$ 1.0 2.0) :named @p_7)) :named @p_12) d$) :named @p_1) (! (diamond_y$ @p_1) :named @p_16)) :named @p_18)) :named @p_20)) :named @p_6)) -(assume axiom3 (! (forall ((?v0 Real)) (! (= (! (fun_app$ uub$ ?v0) :named @p_37) (! (pair$ (! (- (! (divide$ d$ 2.0) :named @p_3)) :named @p_2) (! (times$ (! (- (! (* 2.0 ?v0) :named @p_40) 1.0) :named @p_42) (! (diamond_y$ @p_2) :named @p_36)) :named @p_44)) :named @p_46)) :named @p_48)) :named @p_35)) -(assume axiom4 (! (< 0.0 d$) :named @p_453)) -(assume axiom5 (! (forall ((?v0 Real)) (! (= (! (diamond_y$ ?v0) :named @p_62) (! (- @p_3 (! (ite (! (< ?v0 0.0) :named @p_65) (! (- ?v0) :named @p_4) ?v0) :named @p_68)) :named @p_70)) :named @p_72)) :named @p_61)) -(assume axiom7 (! (forall ((?v0 Real) (?v1 Real) (?v2 Real)) (! (= (! (< (! (divide$ ?v0 ?v1) :named @p_5) (! (divide$ ?v2 ?v1) :named @p_88)) :named @p_90) (! (and (! (=> (! (< 0.0 ?v1) :named @p_92) (! (< ?v0 ?v2) :named @p_96)) :named @p_98) (! (and (! (=> (! (< ?v1 0.0) :named @p_100) (! (< ?v2 ?v0) :named @p_102)) :named @p_104) (! (not (! (= 0.0 ?v1) :named @p_106)) :named @p_108)) :named @p_110)) :named @p_112)) :named @p_114)) :named @p_85)) -(assume axiom8 (! (forall ((?v0 Real) (?v1 Real)) (! (= (! (divide$ @p_4 ?v1) :named @p_142) (! (- @p_5) :named @p_147)) :named @p_149)) :named @p_140)) -(assume axiom9 (! (forall ((?v0 Real) (?v1 Real)) (! (= (! (times$ @p_4 ?v1) :named @p_164) (! (- (! (times$ ?v0 ?v1) :named @p_168)) :named @p_170)) :named @p_172)) :named @p_162)) -(assume axiom10 (! (forall ((?v0 Real) (?v1 Real) (?v2 Real) (?v3 Real)) (! (= (! (= (! (pair$ ?v0 ?v1) :named @p_186) (! (pair$ ?v2 ?v3) :named @p_188)) :named @p_190) (! (and (! (= ?v0 ?v2) :named @p_194) (! (= ?v1 ?v3) :named @p_198)) :named @p_200)) :named @p_202)) :named @p_185)) -(assume axiom11 (! (not (! (=> (! (and (! (not (= uua$ uu$)) :named @p_226) (! (= uuc$ uub$) :named @p_227)) :named @p_220) false) :named @p_224)) :named @p_219)) +(assume a0 (! (forall ((?v0 Real)) (! (= (! (fun_app$ uuc$ ?v0) :named @p_9) (! (pair$ (! (times$ (! (- ?v0 (! (divide$ 1.0 2.0) :named @p_7)) :named @p_12) d$) :named @p_1) (! (diamond_y$ @p_1) :named @p_16)) :named @p_18)) :named @p_20)) :named @p_6)) +(assume a3 (! (forall ((?v0 Real)) (! (= (! (fun_app$ uub$ ?v0) :named @p_37) (! (pair$ (! (- (! (divide$ d$ 2.0) :named @p_3)) :named @p_2) (! (times$ (! (- (! (* 2.0 ?v0) :named @p_40) 1.0) :named @p_42) (! (diamond_y$ @p_2) :named @p_36)) :named @p_44)) :named @p_46)) :named @p_48)) :named @p_35)) +(assume a4 (! (< 0.0 d$) :named @p_453)) +(assume a5 (! (forall ((?v0 Real)) (! (= (! (diamond_y$ ?v0) :named @p_62) (! (- @p_3 (! (ite (! (< ?v0 0.0) :named @p_65) (! (- ?v0) :named @p_4) ?v0) :named @p_68)) :named @p_70)) :named @p_72)) :named @p_61)) +(assume a7 (! (forall ((?v0 Real) (?v1 Real) (?v2 Real)) (! (= (! (< (! (divide$ ?v0 ?v1) :named @p_5) (! (divide$ ?v2 ?v1) :named @p_88)) :named @p_90) (! (and (! (=> (! (< 0.0 ?v1) :named @p_92) (! (< ?v0 ?v2) :named @p_96)) :named @p_98) (! (and (! (=> (! (< ?v1 0.0) :named @p_100) (! (< ?v2 ?v0) :named @p_102)) :named @p_104) (! (not (! (= 0.0 ?v1) :named @p_106)) :named @p_108)) :named @p_110)) :named @p_112)) :named @p_114)) :named @p_85)) +(assume a8 (! (forall ((?v0 Real) (?v1 Real)) (! (= (! (divide$ @p_4 ?v1) :named @p_142) (! (- @p_5) :named @p_147)) :named @p_149)) :named @p_140)) +(assume a9 (! (forall ((?v0 Real) (?v1 Real)) (! (= (! (times$ @p_4 ?v1) :named @p_164) (! (- (! (times$ ?v0 ?v1) :named @p_168)) :named @p_170)) :named @p_172)) :named @p_162)) +(assume a10 (! (forall ((?v0 Real) (?v1 Real) (?v2 Real) (?v3 Real)) (! (= (! (= (! (pair$ ?v0 ?v1) :named @p_186) (! (pair$ ?v2 ?v3) :named @p_188)) :named @p_190) (! (and (! (= ?v0 ?v2) :named @p_194) (! (= ?v1 ?v3) :named @p_198)) :named @p_200)) :named @p_202)) :named @p_185)) +(assume a11 (! (not (! (=> (! (and (! (not (= uua$ uu$)) :named @p_226) (! (= uuc$ uub$) :named @p_227)) :named @p_220) false) :named @p_224)) :named @p_219)) (anchor :step t10 :args ((:= (?v0 Real) veriT_vr0))) (step t10.t1 (cl (! (= ?v0 veriT_vr0) :named @p_11)) :rule refl) (step t10.t2 (cl (= @p_9 (! (fun_app$ uuc$ veriT_vr0) :named @p_10))) :rule cong :premises (t10.t1)) (step t10.t3 (cl @p_11) :rule refl) (step t10.t4 (cl (! (= @p_12 (! (- veriT_vr0 @p_7) :named @p_13)) :named @p_14)) :rule cong :premises (t10.t3)) (step t10.t5 (cl (! (= @p_1 (! (times$ @p_13 d$) :named @p_8)) :named @p_15)) :rule cong :premises (t10.t4)) (step t10.t6 (cl @p_11) :rule refl) (step t10.t7 (cl @p_14) :rule cong :premises (t10.t6)) (step t10.t8 (cl @p_15) :rule cong :premises (t10.t7)) (step t10.t9 (cl (= @p_16 (! (diamond_y$ @p_8) :named @p_17))) :rule cong :premises (t10.t8)) (step t10.t10 (cl (= @p_18 (! (pair$ @p_8 @p_17) :named @p_19))) :rule cong :premises (t10.t5 t10.t9)) (step t10.t11 (cl (= @p_20 (! (= @p_10 @p_19) :named @p_21))) :rule cong :premises (t10.t2 t10.t10)) (step t10 (cl (! (= @p_6 (! (forall ((veriT_vr0 Real)) @p_21) :named @p_23)) :named @p_22)) :rule bind) (step t11 (cl (not @p_22) (not @p_6) @p_23) :rule equiv_pos2) -(step t12 (cl @p_23) :rule th_resolution :premises (axiom0 t10 t11)) +(step t12 (cl @p_23) :rule th_resolution :premises (a0 t10 t11)) (anchor :step t13 :args ((:= (veriT_vr0 Real) veriT_vr1))) (step t13.t1 (cl (! (= veriT_vr0 veriT_vr1) :named @p_26)) :rule refl) (step t13.t2 (cl (= @p_10 (! (fun_app$ uuc$ veriT_vr1) :named @p_25))) :rule cong :premises (t13.t1)) (step t13.t3 (cl @p_26) :rule refl) (step t13.t4 (cl (! (= @p_13 (! (- veriT_vr1 @p_7) :named @p_27)) :named @p_28)) :rule cong :premises (t13.t3)) (step t13.t5 (cl (! (= @p_8 (! (times$ @p_27 d$) :named @p_24)) :named @p_29)) :rule cong :premises (t13.t4)) (step t13.t6 (cl @p_26) :rule refl) (step t13.t7 (cl @p_28) :rule cong :premises (t13.t6)) (step t13.t8 (cl @p_29) :rule cong :premises (t13.t7)) (step t13.t9 (cl (= @p_17 (! (diamond_y$ @p_24) :named @p_30))) :rule cong :premises (t13.t8)) (step t13.t10 (cl (= @p_19 (! (pair$ @p_24 @p_30) :named @p_31))) :rule cong :premises (t13.t5 t13.t9)) (step t13.t11 (cl (= @p_21 (! (= @p_25 @p_31) :named @p_32))) :rule cong :premises (t13.t2 t13.t10)) (step t13 (cl (! (= @p_23 (! (forall ((veriT_vr1 Real)) @p_32) :named @p_34)) :named @p_33)) :rule bind) (step t14 (cl (not @p_33) (not @p_23) @p_34) :rule equiv_pos2) (step t15 (cl @p_34) :rule th_resolution :premises (t12 t13 t14)) (anchor :step t16 :args ((:= (?v0 Real) veriT_vr6))) (step t16.t1 (cl (! (= ?v0 veriT_vr6) :named @p_39)) :rule refl) (step t16.t2 (cl (= @p_37 (! (fun_app$ uub$ veriT_vr6) :named @p_38))) :rule cong :premises (t16.t1)) (step t16.t3 (cl @p_39) :rule refl) (step t16.t4 (cl (= @p_40 (! (* 2.0 veriT_vr6) :named @p_41))) :rule cong :premises (t16.t3)) (step t16.t5 (cl (= @p_42 (! (- @p_41 1.0) :named @p_43))) :rule cong :premises (t16.t4)) (step t16.t6 (cl (= @p_44 (! (times$ @p_43 @p_36) :named @p_45))) :rule cong :premises (t16.t5)) (step t16.t7 (cl (= @p_46 (! (pair$ @p_2 @p_45) :named @p_47))) :rule cong :premises (t16.t6)) (step t16.t8 (cl (= @p_48 (! (= @p_38 @p_47) :named @p_49))) :rule cong :premises (t16.t2 t16.t7)) (step t16 (cl (! (= @p_35 (! (forall ((veriT_vr6 Real)) @p_49) :named @p_51)) :named @p_50)) :rule bind) (step t17 (cl (not @p_50) (not @p_35) @p_51) :rule equiv_pos2) -(step t18 (cl @p_51) :rule th_resolution :premises (axiom3 t16 t17)) +(step t18 (cl @p_51) :rule th_resolution :premises (a3 t16 t17)) (anchor :step t19 :args ((:= (veriT_vr6 Real) veriT_vr7))) (step t19.t1 (cl (! (= veriT_vr6 veriT_vr7) :named @p_53)) :rule refl) (step t19.t2 (cl (= @p_38 (! (fun_app$ uub$ veriT_vr7) :named @p_52))) :rule cong :premises (t19.t1)) (step t19.t3 (cl @p_53) :rule refl) (step t19.t4 (cl (= @p_41 (! (* 2.0 veriT_vr7) :named @p_54))) :rule cong :premises (t19.t3)) (step t19.t5 (cl (= @p_43 (! (- @p_54 1.0) :named @p_55))) :rule cong :premises (t19.t4)) (step t19.t6 (cl (= @p_45 (! (times$ @p_55 @p_36) :named @p_56))) :rule cong :premises (t19.t5)) (step t19.t7 (cl (= @p_47 (! (pair$ @p_2 @p_56) :named @p_57))) :rule cong :premises (t19.t6)) (step t19.t8 (cl (= @p_49 (! (= @p_52 @p_57) :named @p_58))) :rule cong :premises (t19.t2 t19.t7)) (step t19 (cl (! (= @p_51 (! (forall ((veriT_vr7 Real)) @p_58) :named @p_60)) :named @p_59)) :rule bind) (step t20 (cl (not @p_59) (not @p_51) @p_60) :rule equiv_pos2) (step t21 (cl @p_60) :rule th_resolution :premises (t18 t19 t20)) (anchor :step t22 :args ((:= (?v0 Real) veriT_vr8))) (step t22.t1 (cl (! (= ?v0 veriT_vr8) :named @p_64)) :rule refl) (step t22.t2 (cl (= @p_62 (! (diamond_y$ veriT_vr8) :named @p_63))) :rule cong :premises (t22.t1)) (step t22.t3 (cl @p_64) :rule refl) (step t22.t4 (cl (= @p_65 (! (< veriT_vr8 0.0) :named @p_66))) :rule cong :premises (t22.t3)) (step t22.t5 (cl @p_64) :rule refl) (step t22.t6 (cl (= @p_4 (! (- veriT_vr8) :named @p_67))) :rule cong :premises (t22.t5)) (step t22.t7 (cl @p_64) :rule refl) (step t22.t8 (cl (= @p_68 (! (ite @p_66 @p_67 veriT_vr8) :named @p_69))) :rule cong :premises (t22.t4 t22.t6 t22.t7)) (step t22.t9 (cl (= @p_70 (! (- @p_3 @p_69) :named @p_71))) :rule cong :premises (t22.t8)) (step t22.t10 (cl (= @p_72 (! (= @p_63 @p_71) :named @p_73))) :rule cong :premises (t22.t2 t22.t9)) (step t22 (cl (! (= @p_61 (! (forall ((veriT_vr8 Real)) @p_73) :named @p_75)) :named @p_74)) :rule bind) (step t23 (cl (not @p_74) (not @p_61) @p_75) :rule equiv_pos2) -(step t24 (cl @p_75) :rule th_resolution :premises (axiom5 t22 t23)) +(step t24 (cl @p_75) :rule th_resolution :premises (a5 t22 t23)) (anchor :step t25 :args ((:= (veriT_vr8 Real) veriT_vr9))) (step t25.t1 (cl (! (= veriT_vr8 veriT_vr9) :named @p_77)) :rule refl) (step t25.t2 (cl (= @p_63 (! (diamond_y$ veriT_vr9) :named @p_76))) :rule cong :premises (t25.t1)) (step t25.t3 (cl @p_77) :rule refl) (step t25.t4 (cl (= @p_66 (! (< veriT_vr9 0.0) :named @p_78))) :rule cong :premises (t25.t3)) (step t25.t5 (cl @p_77) :rule refl) (step t25.t6 (cl (= @p_67 (! (- veriT_vr9) :named @p_79))) :rule cong :premises (t25.t5)) (step t25.t7 (cl @p_77) :rule refl) (step t25.t8 (cl (= @p_69 (! (ite @p_78 @p_79 veriT_vr9) :named @p_80))) :rule cong :premises (t25.t4 t25.t6 t25.t7)) (step t25.t9 (cl (= @p_71 (! (- @p_3 @p_80) :named @p_81))) :rule cong :premises (t25.t8)) (step t25.t10 (cl (= @p_73 (! (= @p_76 @p_81) :named @p_82))) :rule cong :premises (t25.t2 t25.t9)) (step t25 (cl (! (= @p_75 (! (forall ((veriT_vr9 Real)) @p_82) :named @p_84)) :named @p_83)) :rule bind) (step t26 (cl (not @p_83) (not @p_75) @p_84) :rule equiv_pos2) (step t27 (cl @p_84) :rule th_resolution :premises (t24 t25 t26)) (anchor :step t28 :args ((:= (?v0 Real) veriT_vr10) (:= (?v1 Real) veriT_vr11) (:= (?v2 Real) veriT_vr12))) (step t28.t1 (cl (! (= ?v0 veriT_vr10) :named @p_94)) :rule refl) (step t28.t2 (cl (! (= ?v1 veriT_vr11) :named @p_87)) :rule refl) (step t28.t3 (cl (= @p_5 (! (divide$ veriT_vr10 veriT_vr11) :named @p_86))) :rule cong :premises (t28.t1 t28.t2)) (step t28.t4 (cl (! (= ?v2 veriT_vr12) :named @p_95)) :rule refl) (step t28.t5 (cl @p_87) :rule refl) (step t28.t6 (cl (= @p_88 (! (divide$ veriT_vr12 veriT_vr11) :named @p_89))) :rule cong :premises (t28.t4 t28.t5)) (step t28.t7 (cl (= @p_90 (! (< @p_86 @p_89) :named @p_91))) :rule cong :premises (t28.t3 t28.t6)) (step t28.t8 (cl @p_87) :rule refl) (step t28.t9 (cl (= @p_92 (! (< 0.0 veriT_vr11) :named @p_93))) :rule cong :premises (t28.t8)) (step t28.t10 (cl @p_94) :rule refl) (step t28.t11 (cl @p_95) :rule refl) (step t28.t12 (cl (= @p_96 (! (< veriT_vr10 veriT_vr12) :named @p_97))) :rule cong :premises (t28.t10 t28.t11)) (step t28.t13 (cl (= @p_98 (! (=> @p_93 @p_97) :named @p_99))) :rule cong :premises (t28.t9 t28.t12)) (step t28.t14 (cl @p_87) :rule refl) (step t28.t15 (cl (= @p_100 (! (< veriT_vr11 0.0) :named @p_101))) :rule cong :premises (t28.t14)) (step t28.t16 (cl @p_95) :rule refl) (step t28.t17 (cl @p_94) :rule refl) (step t28.t18 (cl (= @p_102 (! (< veriT_vr12 veriT_vr10) :named @p_103))) :rule cong :premises (t28.t16 t28.t17)) (step t28.t19 (cl (= @p_104 (! (=> @p_101 @p_103) :named @p_105))) :rule cong :premises (t28.t15 t28.t18)) (step t28.t20 (cl @p_87) :rule refl) (step t28.t21 (cl (= @p_106 (! (= 0.0 veriT_vr11) :named @p_107))) :rule cong :premises (t28.t20)) (step t28.t22 (cl (= @p_108 (! (not @p_107) :named @p_109))) :rule cong :premises (t28.t21)) (step t28.t23 (cl (= @p_110 (! (and @p_105 @p_109) :named @p_111))) :rule cong :premises (t28.t19 t28.t22)) (step t28.t24 (cl (= @p_112 (! (and @p_99 @p_111) :named @p_113))) :rule cong :premises (t28.t13 t28.t23)) (step t28.t25 (cl (= @p_114 (! (= @p_91 @p_113) :named @p_115))) :rule cong :premises (t28.t7 t28.t24)) (step t28 (cl (! (= @p_85 (! (forall ((veriT_vr10 Real) (veriT_vr11 Real) (veriT_vr12 Real)) @p_115) :named @p_117)) :named @p_116)) :rule bind) (step t29 (cl (not @p_116) (not @p_85) @p_117) :rule equiv_pos2) -(step t30 (cl @p_117) :rule th_resolution :premises (axiom7 t28 t29)) +(step t30 (cl @p_117) :rule th_resolution :premises (a7 t28 t29)) (anchor :step t31 :args ((veriT_vr10 Real) (veriT_vr11 Real) (veriT_vr12 Real))) (step t31.t1 (cl (= @p_113 (! (and @p_99 @p_105 @p_109) :named @p_118))) :rule ac_simp) (step t31.t2 (cl (= @p_115 (! (= @p_91 @p_118) :named @p_119))) :rule cong :premises (t31.t1)) (step t31 (cl (! (= @p_117 (! (forall ((veriT_vr10 Real) (veriT_vr11 Real) (veriT_vr12 Real)) @p_119) :named @p_121)) :named @p_120)) :rule bind) (step t32 (cl (not @p_120) (not @p_117) @p_121) :rule equiv_pos2) (step t33 (cl @p_121) :rule th_resolution :premises (t30 t31 t32)) (anchor :step t34 :args ((:= (veriT_vr10 Real) veriT_vr13) (:= (veriT_vr11 Real) veriT_vr14) (:= (veriT_vr12 Real) veriT_vr15))) (step t34.t1 (cl (! (= veriT_vr10 veriT_vr13) :named @p_127)) :rule refl) (step t34.t2 (cl (! (= veriT_vr11 veriT_vr14) :named @p_123)) :rule refl) (step t34.t3 (cl (= @p_86 (! (divide$ veriT_vr13 veriT_vr14) :named @p_122))) :rule cong :premises (t34.t1 t34.t2)) (step t34.t4 (cl (! (= veriT_vr12 veriT_vr15) :named @p_128)) :rule refl) (step t34.t5 (cl @p_123) :rule refl) (step t34.t6 (cl (= @p_89 (! (divide$ veriT_vr15 veriT_vr14) :named @p_124))) :rule cong :premises (t34.t4 t34.t5)) (step t34.t7 (cl (= @p_91 (! (< @p_122 @p_124) :named @p_125))) :rule cong :premises (t34.t3 t34.t6)) (step t34.t8 (cl @p_123) :rule refl) (step t34.t9 (cl (= @p_93 (! (< 0.0 veriT_vr14) :named @p_126))) :rule cong :premises (t34.t8)) (step t34.t10 (cl @p_127) :rule refl) (step t34.t11 (cl @p_128) :rule refl) (step t34.t12 (cl (= @p_97 (! (< veriT_vr13 veriT_vr15) :named @p_129))) :rule cong :premises (t34.t10 t34.t11)) (step t34.t13 (cl (= @p_99 (! (=> @p_126 @p_129) :named @p_130))) :rule cong :premises (t34.t9 t34.t12)) (step t34.t14 (cl @p_123) :rule refl) (step t34.t15 (cl (= @p_101 (! (< veriT_vr14 0.0) :named @p_131))) :rule cong :premises (t34.t14)) (step t34.t16 (cl @p_128) :rule refl) (step t34.t17 (cl @p_127) :rule refl) (step t34.t18 (cl (= @p_103 (! (< veriT_vr15 veriT_vr13) :named @p_132))) :rule cong :premises (t34.t16 t34.t17)) (step t34.t19 (cl (= @p_105 (! (=> @p_131 @p_132) :named @p_133))) :rule cong :premises (t34.t15 t34.t18)) (step t34.t20 (cl @p_123) :rule refl) (step t34.t21 (cl (= @p_107 (! (= 0.0 veriT_vr14) :named @p_134))) :rule cong :premises (t34.t20)) (step t34.t22 (cl (= @p_109 (! (not @p_134) :named @p_135))) :rule cong :premises (t34.t21)) (step t34.t23 (cl (= @p_118 (! (and @p_130 @p_133 @p_135) :named @p_136))) :rule cong :premises (t34.t13 t34.t19 t34.t22)) (step t34.t24 (cl (= @p_119 (! (= @p_125 @p_136) :named @p_137))) :rule cong :premises (t34.t7 t34.t23)) (step t34 (cl (! (= @p_121 (! (forall ((veriT_vr13 Real) (veriT_vr14 Real) (veriT_vr15 Real)) @p_137) :named @p_139)) :named @p_138)) :rule bind) (step t35 (cl (not @p_138) (not @p_121) @p_139) :rule equiv_pos2) (step t36 (cl @p_139) :rule th_resolution :premises (t33 t34 t35)) (anchor :step t37 :args ((:= (?v0 Real) veriT_vr16) (:= (?v1 Real) veriT_vr17))) (step t37.t1 (cl (! (= ?v0 veriT_vr16) :named @p_144)) :rule refl) (step t37.t2 (cl (= @p_4 (! (- veriT_vr16) :named @p_141))) :rule cong :premises (t37.t1)) (step t37.t3 (cl (! (= ?v1 veriT_vr17) :named @p_145)) :rule refl) (step t37.t4 (cl (= @p_142 (! (divide$ @p_141 veriT_vr17) :named @p_143))) :rule cong :premises (t37.t2 t37.t3)) (step t37.t5 (cl @p_144) :rule refl) (step t37.t6 (cl @p_145) :rule refl) (step t37.t7 (cl (= @p_5 (! (divide$ veriT_vr16 veriT_vr17) :named @p_146))) :rule cong :premises (t37.t5 t37.t6)) (step t37.t8 (cl (= @p_147 (! (- @p_146) :named @p_148))) :rule cong :premises (t37.t7)) (step t37.t9 (cl (= @p_149 (! (= @p_143 @p_148) :named @p_150))) :rule cong :premises (t37.t4 t37.t8)) (step t37 (cl (! (= @p_140 (! (forall ((veriT_vr16 Real) (veriT_vr17 Real)) @p_150) :named @p_152)) :named @p_151)) :rule bind) (step t38 (cl (not @p_151) (not @p_140) @p_152) :rule equiv_pos2) -(step t39 (cl @p_152) :rule th_resolution :premises (axiom8 t37 t38)) +(step t39 (cl @p_152) :rule th_resolution :premises (a8 t37 t38)) (anchor :step t40 :args ((:= (veriT_vr16 Real) veriT_vr18) (:= (veriT_vr17 Real) veriT_vr19))) (step t40.t1 (cl (! (= veriT_vr16 veriT_vr18) :named @p_155)) :rule refl) (step t40.t2 (cl (= @p_141 (! (- veriT_vr18) :named @p_153))) :rule cong :premises (t40.t1)) (step t40.t3 (cl (! (= veriT_vr17 veriT_vr19) :named @p_156)) :rule refl) (step t40.t4 (cl (= @p_143 (! (divide$ @p_153 veriT_vr19) :named @p_154))) :rule cong :premises (t40.t2 t40.t3)) (step t40.t5 (cl @p_155) :rule refl) (step t40.t6 (cl @p_156) :rule refl) (step t40.t7 (cl (= @p_146 (! (divide$ veriT_vr18 veriT_vr19) :named @p_157))) :rule cong :premises (t40.t5 t40.t6)) (step t40.t8 (cl (= @p_148 (! (- @p_157) :named @p_158))) :rule cong :premises (t40.t7)) (step t40.t9 (cl (= @p_150 (! (= @p_154 @p_158) :named @p_159))) :rule cong :premises (t40.t4 t40.t8)) (step t40 (cl (! (= @p_152 (! (forall ((veriT_vr18 Real) (veriT_vr19 Real)) @p_159) :named @p_161)) :named @p_160)) :rule bind) (step t41 (cl (not @p_160) (not @p_152) @p_161) :rule equiv_pos2) (step t42 (cl @p_161) :rule th_resolution :premises (t39 t40 t41)) (anchor :step t43 :args ((:= (?v0 Real) veriT_vr20) (:= (?v1 Real) veriT_vr21))) (step t43.t1 (cl (! (= ?v0 veriT_vr20) :named @p_166)) :rule refl) (step t43.t2 (cl (= @p_4 (! (- veriT_vr20) :named @p_163))) :rule cong :premises (t43.t1)) (step t43.t3 (cl (! (= ?v1 veriT_vr21) :named @p_167)) :rule refl) (step t43.t4 (cl (= @p_164 (! (times$ @p_163 veriT_vr21) :named @p_165))) :rule cong :premises (t43.t2 t43.t3)) (step t43.t5 (cl @p_166) :rule refl) (step t43.t6 (cl @p_167) :rule refl) (step t43.t7 (cl (= @p_168 (! (times$ veriT_vr20 veriT_vr21) :named @p_169))) :rule cong :premises (t43.t5 t43.t6)) (step t43.t8 (cl (= @p_170 (! (- @p_169) :named @p_171))) :rule cong :premises (t43.t7)) (step t43.t9 (cl (= @p_172 (! (= @p_165 @p_171) :named @p_173))) :rule cong :premises (t43.t4 t43.t8)) (step t43 (cl (! (= @p_162 (! (forall ((veriT_vr20 Real) (veriT_vr21 Real)) @p_173) :named @p_175)) :named @p_174)) :rule bind) (step t44 (cl (not @p_174) (not @p_162) @p_175) :rule equiv_pos2) -(step t45 (cl @p_175) :rule th_resolution :premises (axiom9 t43 t44)) +(step t45 (cl @p_175) :rule th_resolution :premises (a9 t43 t44)) (anchor :step t46 :args ((:= (veriT_vr20 Real) veriT_vr22) (:= (veriT_vr21 Real) veriT_vr23))) (step t46.t1 (cl (! (= veriT_vr20 veriT_vr22) :named @p_178)) :rule refl) (step t46.t2 (cl (= @p_163 (! (- veriT_vr22) :named @p_176))) :rule cong :premises (t46.t1)) (step t46.t3 (cl (! (= veriT_vr21 veriT_vr23) :named @p_179)) :rule refl) (step t46.t4 (cl (= @p_165 (! (times$ @p_176 veriT_vr23) :named @p_177))) :rule cong :premises (t46.t2 t46.t3)) (step t46.t5 (cl @p_178) :rule refl) (step t46.t6 (cl @p_179) :rule refl) (step t46.t7 (cl (= @p_169 (! (times$ veriT_vr22 veriT_vr23) :named @p_180))) :rule cong :premises (t46.t5 t46.t6)) (step t46.t8 (cl (= @p_171 (! (- @p_180) :named @p_181))) :rule cong :premises (t46.t7)) (step t46.t9 (cl (= @p_173 (! (= @p_177 @p_181) :named @p_182))) :rule cong :premises (t46.t4 t46.t8)) (step t46 (cl (! (= @p_175 (! (forall ((veriT_vr22 Real) (veriT_vr23 Real)) @p_182) :named @p_184)) :named @p_183)) :rule bind) (step t47 (cl (not @p_183) (not @p_175) @p_184) :rule equiv_pos2) (step t48 (cl @p_184) :rule th_resolution :premises (t45 t46 t47)) (anchor :step t49 :args ((:= (?v0 Real) veriT_vr24) (:= (?v1 Real) veriT_vr25) (:= (?v2 Real) veriT_vr26) (:= (?v3 Real) veriT_vr27))) (step t49.t1 (cl (! (= ?v0 veriT_vr24) :named @p_192)) :rule refl) (step t49.t2 (cl (! (= ?v1 veriT_vr25) :named @p_196)) :rule refl) (step t49.t3 (cl (= @p_186 (! (pair$ veriT_vr24 veriT_vr25) :named @p_187))) :rule cong :premises (t49.t1 t49.t2)) (step t49.t4 (cl (! (= ?v2 veriT_vr26) :named @p_193)) :rule refl) (step t49.t5 (cl (! (= ?v3 veriT_vr27) :named @p_197)) :rule refl) (step t49.t6 (cl (= @p_188 (! (pair$ veriT_vr26 veriT_vr27) :named @p_189))) :rule cong :premises (t49.t4 t49.t5)) (step t49.t7 (cl (= @p_190 (! (= @p_187 @p_189) :named @p_191))) :rule cong :premises (t49.t3 t49.t6)) (step t49.t8 (cl @p_192) :rule refl) (step t49.t9 (cl @p_193) :rule refl) (step t49.t10 (cl (= @p_194 (! (= veriT_vr24 veriT_vr26) :named @p_195))) :rule cong :premises (t49.t8 t49.t9)) (step t49.t11 (cl @p_196) :rule refl) (step t49.t12 (cl @p_197) :rule refl) (step t49.t13 (cl (= @p_198 (! (= veriT_vr25 veriT_vr27) :named @p_199))) :rule cong :premises (t49.t11 t49.t12)) (step t49.t14 (cl (= @p_200 (! (and @p_195 @p_199) :named @p_201))) :rule cong :premises (t49.t10 t49.t13)) (step t49.t15 (cl (= @p_202 (! (= @p_191 @p_201) :named @p_203))) :rule cong :premises (t49.t7 t49.t14)) (step t49 (cl (! (= @p_185 (! (forall ((veriT_vr24 Real) (veriT_vr25 Real) (veriT_vr26 Real) (veriT_vr27 Real)) @p_203) :named @p_205)) :named @p_204)) :rule bind) (step t50 (cl (not @p_204) (not @p_185) @p_205) :rule equiv_pos2) -(step t51 (cl @p_205) :rule th_resolution :premises (axiom10 t49 t50)) +(step t51 (cl @p_205) :rule th_resolution :premises (a10 t49 t50)) (anchor :step t52 :args ((:= (veriT_vr24 Real) veriT_vr28) (:= (veriT_vr25 Real) veriT_vr29) (:= (veriT_vr26 Real) veriT_vr30) (:= (veriT_vr27 Real) veriT_vr31))) (step t52.t1 (cl (! (= veriT_vr24 veriT_vr28) :named @p_209)) :rule refl) (step t52.t2 (cl (! (= veriT_vr25 veriT_vr29) :named @p_212)) :rule refl) (step t52.t3 (cl (= @p_187 (! (pair$ veriT_vr28 veriT_vr29) :named @p_206))) :rule cong :premises (t52.t1 t52.t2)) (step t52.t4 (cl (! (= veriT_vr26 veriT_vr30) :named @p_210)) :rule refl) (step t52.t5 (cl (! (= veriT_vr27 veriT_vr31) :named @p_213)) :rule refl) (step t52.t6 (cl (= @p_189 (! (pair$ veriT_vr30 veriT_vr31) :named @p_207))) :rule cong :premises (t52.t4 t52.t5)) (step t52.t7 (cl (= @p_191 (! (= @p_206 @p_207) :named @p_208))) :rule cong :premises (t52.t3 t52.t6)) (step t52.t8 (cl @p_209) :rule refl) (step t52.t9 (cl @p_210) :rule refl) (step t52.t10 (cl (= @p_195 (! (= veriT_vr28 veriT_vr30) :named @p_211))) :rule cong :premises (t52.t8 t52.t9)) (step t52.t11 (cl @p_212) :rule refl) (step t52.t12 (cl @p_213) :rule refl) (step t52.t13 (cl (= @p_199 (! (= veriT_vr29 veriT_vr31) :named @p_214))) :rule cong :premises (t52.t11 t52.t12)) (step t52.t14 (cl (= @p_201 (! (and @p_211 @p_214) :named @p_215))) :rule cong :premises (t52.t10 t52.t13)) (step t52.t15 (cl (= @p_203 (! (= @p_208 @p_215) :named @p_216))) :rule cong :premises (t52.t7 t52.t14)) (step t52 (cl (! (= @p_205 (! (forall ((veriT_vr28 Real) (veriT_vr29 Real) (veriT_vr30 Real) (veriT_vr31 Real)) @p_216) :named @p_218)) :named @p_217)) :rule bind) (step t53 (cl (not @p_217) (not @p_205) @p_218) :rule equiv_pos2) (step t54 (cl @p_218) :rule th_resolution :premises (t51 t52 t53)) (step t55 (cl (! (= @p_219 (! (and @p_220 (! (not false) :named @p_228)) :named @p_222)) :named @p_221)) :rule bool_simplify) (step t56 (cl (! (not @p_221) :named @p_225) (! (not @p_219) :named @p_223) @p_222) :rule equiv_pos2) (step t57 (cl (not @p_223) @p_224) :rule not_not) (step t58 (cl @p_225 @p_224 @p_222) :rule th_resolution :premises (t57 t56)) -(step t59 (cl @p_222) :rule th_resolution :premises (axiom11 t55 t58)) +(step t59 (cl @p_222) :rule th_resolution :premises (a11 t55 t58)) (step t60 (cl (! (= @p_222 (! (and @p_226 @p_227 @p_228) :named @p_230)) :named @p_229)) :rule ac_simp) (step t61 (cl (not @p_229) (not @p_222) @p_230) :rule equiv_pos2) (step t62 (cl @p_230) :rule th_resolution :premises (t59 t60 t61)) (step t63 (cl (! (= @p_228 true) :named @p_379)) :rule not_simplify) (step t64 (cl (= @p_230 (! (and @p_226 @p_227 true) :named @p_231))) :rule cong :premises (t63)) (step t65 (cl (= @p_231 @p_220)) :rule and_simplify) (step t66 (cl (! (= @p_230 @p_220) :named @p_232)) :rule trans :premises (t64 t65)) (step t67 (cl (not @p_232) (not @p_230) @p_220) :rule equiv_pos2) (step t68 (cl @p_220) :rule th_resolution :premises (t62 t66 t67)) (step t69 (cl @p_227) :rule and :premises (t68)) (step t70 (cl (or (! (not @p_218) :named @p_244) (! (forall ((veriT_vr28 Real) (veriT_vr29 Real) (veriT_vr30 Real) (veriT_vr31 Real)) (or (not @p_208) @p_211)) :named @p_533))) :rule qnt_cnf) (step t71 (cl (or (! (not @p_161) :named @p_241) (! (= (! (divide$ (! (- 0.0) :named @p_236) d$) :named @p_237) (! (- (! (divide$ 0.0 d$) :named @p_234)) :named @p_235)) :named @p_233))) :rule forall_inst :args ((:= veriT_vr18 0.0) (:= veriT_vr19 d$))) (anchor :step t72) (assume t72.h1 @p_233) (step t72.t2 (cl (! (= 0.0 @p_236) :named @p_249)) :rule minus_simplify) (step t72.t3 (cl (= @p_234 @p_237)) :rule cong :premises (t72.t2)) (step t72.t4 (cl (! (= @p_233 (! (= @p_234 @p_235) :named @p_238)) :named @p_239)) :rule cong :premises (t72.t3)) (step t72.t5 (cl (not @p_239) (! (not @p_233) :named @p_240) @p_238) :rule equiv_pos2) (step t72.t6 (cl @p_238) :rule th_resolution :premises (t72.h1 t72.t4 t72.t5)) (step t72 (cl @p_240 @p_238) :rule subproof :discharge (h1)) (step t73 (cl @p_241 @p_233) :rule or :premises (t71)) (step t74 (cl (! (or @p_241 @p_238) :named @p_243) (! (not @p_241) :named @p_242)) :rule or_neg) (step t75 (cl (not @p_242) @p_161) :rule not_not) (step t76 (cl @p_243 @p_161) :rule th_resolution :premises (t75 t74)) (step t77 (cl @p_243 (! (not @p_238) :named @p_527)) :rule or_neg) (step t78 (cl @p_243) :rule th_resolution :premises (t73 t72 t76 t77)) (step t79 (cl (not (! (not (! (not @p_139) :named @p_282)) :named @p_302)) @p_139) :rule not_not) (step t80 (cl @p_241 @p_238) :rule or :premises (t78)) (step t81 (cl @p_238) :rule resolution :premises (t80 t42)) (step t82 (cl (not (! (not @p_244) :named @p_538)) @p_218) :rule not_not) (step t83 (cl (not (! (not (! (not @p_184) :named @p_245)) :named @p_254)) @p_184) :rule not_not) (step t84 (cl (or @p_245 (! (= (! (times$ @p_236 d$) :named @p_250) (! (- (! (times$ 0.0 d$) :named @p_247)) :named @p_248)) :named @p_246))) :rule forall_inst :args ((:= veriT_vr22 0.0) (:= veriT_vr23 d$))) (anchor :step t85) (assume t85.h1 @p_246) (step t85.t2 (cl @p_249) :rule minus_simplify) (step t85.t3 (cl (= @p_250 @p_247)) :rule cong :premises (t85.t2)) (step t85.t4 (cl (! (= @p_246 (! (= @p_247 @p_248) :named @p_251)) :named @p_252)) :rule cong :premises (t85.t3)) (step t85.t5 (cl (not @p_252) (! (not @p_246) :named @p_253) @p_251) :rule equiv_pos2) (step t85.t6 (cl @p_251) :rule th_resolution :premises (t85.h1 t85.t4 t85.t5)) (step t85 (cl @p_253 @p_251) :rule subproof :discharge (h1)) (step t86 (cl @p_245 @p_246) :rule or :premises (t84)) (step t87 (cl (! (or @p_245 @p_251) :named @p_255) @p_254) :rule or_neg) (step t88 (cl @p_255 @p_184) :rule th_resolution :premises (t83 t87)) (step t89 (cl @p_255 (! (not @p_251) :named @p_531)) :rule or_neg) (step t90 (cl @p_255) :rule th_resolution :premises (t86 t85 t88 t89)) (step t91 (cl (or @p_241 (! (= (! (divide$ (! (- @p_2) :named @p_258) 2.0) :named @p_259) (! (- (! (divide$ @p_2 2.0) :named @p_366)) :named @p_257)) :named @p_256))) :rule forall_inst :args ((:= veriT_vr18 @p_2) (:= veriT_vr19 2.0))) (anchor :step t92) (assume t92.h1 @p_256) (step t92.t2 (cl (! (= @p_3 @p_258) :named @p_267)) :rule minus_simplify) (step t92.t3 (cl (= @p_259 (! (divide$ @p_3 2.0) :named @p_260))) :rule cong :premises (t92.t2)) (step t92.t4 (cl (! (= @p_256 (! (= @p_257 @p_260) :named @p_261)) :named @p_262)) :rule cong :premises (t92.t3)) (step t92.t5 (cl (not @p_262) (! (not @p_256) :named @p_263) @p_261) :rule equiv_pos2) (step t92.t6 (cl @p_261) :rule th_resolution :premises (t92.h1 t92.t4 t92.t5)) (step t92 (cl @p_263 @p_261) :rule subproof :discharge (h1)) (step t93 (cl @p_241 @p_256) :rule or :premises (t91)) (step t94 (cl (! (or @p_241 @p_261) :named @p_264) @p_242) :rule or_neg) (step t95 (cl @p_264 @p_161) :rule th_resolution :premises (t75 t94)) (step t96 (cl @p_264 (! (not @p_261) :named @p_563)) :rule or_neg) (step t97 (cl @p_264) :rule th_resolution :premises (t93 t92 t95 t96)) (step t98 (cl (or @p_241 (! (= (! (divide$ @p_258 0.0) :named @p_268) (! (- (! (divide$ @p_2 0.0) :named @p_305)) :named @p_266)) :named @p_265))) :rule forall_inst :args ((:= veriT_vr18 @p_2) (:= veriT_vr19 0.0))) (anchor :step t99) (assume t99.h1 @p_265) (step t99.t2 (cl @p_267) :rule minus_simplify) (step t99.t3 (cl (= @p_268 (! (divide$ @p_3 0.0) :named @p_269))) :rule cong :premises (t99.t2)) (step t99.t4 (cl (! (= @p_265 (! (= @p_266 @p_269) :named @p_270)) :named @p_271)) :rule cong :premises (t99.t3)) (step t99.t5 (cl (not @p_271) (! (not @p_265) :named @p_272) @p_270) :rule equiv_pos2) (step t99.t6 (cl @p_270) :rule th_resolution :premises (t99.h1 t99.t4 t99.t5)) (step t99 (cl @p_272 @p_270) :rule subproof :discharge (h1)) (step t100 (cl @p_241 @p_265) :rule or :premises (t98)) (step t101 (cl (! (or @p_241 @p_270) :named @p_273) @p_242) :rule or_neg) (step t102 (cl @p_273 @p_161) :rule th_resolution :premises (t75 t101)) (step t103 (cl @p_273 (! (not @p_270) :named @p_528)) :rule or_neg) (step t104 (cl @p_273) :rule th_resolution :premises (t100 t99 t102 t103)) (step t105 (cl (or @p_241 (! (= (! (divide$ @p_235 2.0) :named @p_562) (! (- (! (divide$ @p_234 2.0) :named @p_552)) :named @p_558)) :named @p_495))) :rule forall_inst :args ((:= veriT_vr18 @p_234) (:= veriT_vr19 2.0))) (step t106 (cl (or @p_241 (! (= (! (divide$ @p_236 2.0) :named @p_277) (! (- (! (divide$ 0.0 2.0) :named @p_275)) :named @p_276)) :named @p_274))) :rule forall_inst :args ((:= veriT_vr18 0.0) (:= veriT_vr19 2.0))) (anchor :step t107) (assume t107.h1 @p_274) (step t107.t2 (cl @p_249) :rule minus_simplify) (step t107.t3 (cl (= @p_277 @p_275)) :rule cong :premises (t107.t2)) (step t107.t4 (cl (! (= @p_274 (! (= @p_275 @p_276) :named @p_278)) :named @p_279)) :rule cong :premises (t107.t3)) (step t107.t5 (cl (not @p_279) (! (not @p_274) :named @p_280) @p_278) :rule equiv_pos2) (step t107.t6 (cl @p_278) :rule th_resolution :premises (t107.h1 t107.t4 t107.t5)) (step t107 (cl @p_280 @p_278) :rule subproof :discharge (h1)) (step t108 (cl @p_241 @p_274) :rule or :premises (t106)) (step t109 (cl (! (or @p_241 @p_278) :named @p_281) @p_242) :rule or_neg) (step t110 (cl @p_281 @p_161) :rule th_resolution :premises (t75 t109)) (step t111 (cl @p_281 (! (not @p_278) :named @p_510)) :rule or_neg) (step t112 (cl @p_281) :rule th_resolution :premises (t108 t107 t110 t111)) (step t113 (cl (or @p_282 (! (= (! (< (! (divide$ @p_36 @p_36) :named @p_283) @p_283) :named @p_289) (! (and (! (=> (! (< 0.0 @p_36) :named @p_286) (! (< @p_36 @p_36) :named @p_284)) :named @p_290) (! (=> (! (< @p_36 0.0) :named @p_287) @p_284) :named @p_293) (! (not (! (= @p_36 0.0) :named @p_499)) :named @p_288)) :named @p_296)) :named @p_285))) :rule forall_inst :args ((:= veriT_vr13 @p_36) (:= veriT_vr14 @p_36) (:= veriT_vr15 @p_36))) (anchor :step t114) (assume t114.h1 @p_285) (step t114.t2 (cl (= @p_289 false)) :rule comp_simplify) (step t114.t3 (cl (= @p_284 false)) :rule comp_simplify) (step t114.t4 (cl (= @p_290 (! (=> @p_286 false) :named @p_291))) :rule cong :premises (t114.t3)) (step t114.t5 (cl (= @p_291 (! (not @p_286) :named @p_292))) :rule implies_simplify) (step t114.t6 (cl (= @p_290 @p_292)) :rule trans :premises (t114.t4 t114.t5)) (step t114.t7 (cl (= @p_293 (! (=> @p_287 false) :named @p_294))) :rule cong :premises (t114.t3)) (step t114.t8 (cl (= @p_294 (! (not @p_287) :named @p_295))) :rule implies_simplify) (step t114.t9 (cl (= @p_293 @p_295)) :rule trans :premises (t114.t7 t114.t8)) (step t114.t10 (cl (= @p_296 (! (and @p_292 @p_295 @p_288) :named @p_297))) :rule cong :premises (t114.t6 t114.t9)) (step t114.t11 (cl (= @p_285 (! (= false @p_297) :named @p_298))) :rule cong :premises (t114.t2 t114.t10)) (step t114.t12 (cl (= @p_298 (! (not @p_297) :named @p_299))) :rule equiv_simplify) (step t114.t13 (cl (! (= @p_285 @p_299) :named @p_300)) :rule trans :premises (t114.t11 t114.t12)) (step t114.t14 (cl (not @p_300) (! (not @p_285) :named @p_301) @p_299) :rule equiv_pos2) (step t114.t15 (cl @p_299) :rule th_resolution :premises (t114.h1 t114.t13 t114.t14)) (step t114 (cl @p_301 @p_299) :rule subproof :discharge (h1)) (step t115 (cl @p_282 @p_285) :rule or :premises (t113)) (step t116 (cl (! (or @p_282 @p_299) :named @p_303) @p_302) :rule or_neg) (step t117 (cl @p_303 @p_139) :rule th_resolution :premises (t79 t116)) (step t118 (cl @p_303 (! (not @p_299) :named @p_304)) :rule or_neg) (step t119 (cl (not @p_304) @p_297) :rule not_not) (step t120 (cl @p_303 @p_297) :rule th_resolution :premises (t119 t118)) (step t121 (cl @p_303) :rule th_resolution :premises (t115 t114 t117 t120)) (step t122 (cl (or @p_282 (! (= (! (< (! (divide$ (! (diamond_y$ @p_3) :named @p_306) 0.0) :named @p_328) @p_305) :named @p_309) (! (and (! (=> (! (< 0.0 0.0) :named @p_307) (! (< @p_306 @p_2) :named @p_311)) :named @p_310) (! (=> @p_307 (! (< @p_2 @p_306) :named @p_314)) :named @p_313) (! (not (! (= 0.0 0.0) :named @p_316)) :named @p_317)) :named @p_319)) :named @p_308))) :rule forall_inst :args ((:= veriT_vr13 @p_306) (:= veriT_vr14 0.0) (:= veriT_vr15 @p_2))) (anchor :step t123) (assume t123.h1 @p_308) (step t123.t2 (cl (! (= @p_307 false) :named @p_331)) :rule comp_simplify) (step t123.t3 (cl (! (= @p_310 (! (=> false @p_311) :named @p_312)) :named @p_392)) :rule cong :premises (t123.t2)) (step t123.t4 (cl (! (= @p_312 true) :named @p_393)) :rule implies_simplify) (step t123.t5 (cl (! (= @p_310 true) :named @p_394)) :rule trans :premises (t123.t3 t123.t4)) (step t123.t6 (cl (! (= @p_313 (! (=> false @p_314) :named @p_315)) :named @p_389)) :rule cong :premises (t123.t2)) (step t123.t7 (cl (! (= @p_315 true) :named @p_390)) :rule implies_simplify) (step t123.t8 (cl (! (= @p_313 true) :named @p_391)) :rule trans :premises (t123.t6 t123.t7)) (step t123.t9 (cl (! (= @p_316 true) :named @p_338)) :rule eq_simplify) (step t123.t10 (cl (! (= @p_317 (! (not true) :named @p_318)) :named @p_339)) :rule cong :premises (t123.t9)) (step t123.t11 (cl (! (= @p_318 false) :named @p_340)) :rule not_simplify) (step t123.t12 (cl (! (= @p_317 false) :named @p_341)) :rule trans :premises (t123.t10 t123.t11)) (step t123.t13 (cl (= @p_319 (! (and true true false) :named @p_320))) :rule cong :premises (t123.t5 t123.t8 t123.t12)) (step t123.t14 (cl (! (= @p_320 (! (and false) :named @p_321)) :named @p_343)) :rule and_simplify) (step t123.t15 (cl (! (= @p_321 false) :named @p_344)) :rule and_simplify) (step t123.t16 (cl (= @p_319 false)) :rule trans :premises (t123.t13 t123.t14 t123.t15)) (step t123.t17 (cl (= @p_308 (! (= @p_309 false) :named @p_322))) :rule cong :premises (t123.t16)) (step t123.t18 (cl (= @p_322 (! (not @p_309) :named @p_323))) :rule equiv_simplify) (step t123.t19 (cl (! (= @p_308 @p_323) :named @p_324)) :rule trans :premises (t123.t17 t123.t18)) (step t123.t20 (cl (not @p_324) (! (not @p_308) :named @p_325) @p_323) :rule equiv_pos2) (step t123.t21 (cl @p_323) :rule th_resolution :premises (t123.h1 t123.t19 t123.t20)) (step t123 (cl @p_325 @p_323) :rule subproof :discharge (h1)) (step t124 (cl @p_282 @p_308) :rule or :premises (t122)) (step t125 (cl (! (or @p_282 @p_323) :named @p_326) @p_302) :rule or_neg) (step t126 (cl @p_326 @p_139) :rule th_resolution :premises (t79 t125)) (step t127 (cl @p_326 (! (not @p_323) :named @p_327)) :rule or_neg) (step t128 (cl (not @p_327) @p_309) :rule not_not) (step t129 (cl @p_326 @p_309) :rule th_resolution :premises (t128 t127)) (step t130 (cl @p_326) :rule th_resolution :premises (t124 t123 t126 t129)) (step t131 (cl (or @p_282 (! (= (! (< @p_328 @p_269) :named @p_330) (! (and (! (=> @p_307 (! (< @p_306 @p_3) :named @p_333)) :named @p_332) (! (=> @p_307 (! (< @p_3 @p_306) :named @p_336)) :named @p_335) @p_317) :named @p_342)) :named @p_329))) :rule forall_inst :args ((:= veriT_vr13 @p_306) (:= veriT_vr14 0.0) (:= veriT_vr15 @p_3))) (anchor :step t132) (assume t132.h1 @p_329) (step t132.t2 (cl @p_331) :rule comp_simplify) (step t132.t3 (cl (! (= @p_332 (! (=> false @p_333) :named @p_334)) :named @p_427)) :rule cong :premises (t132.t2)) (step t132.t4 (cl (! (= @p_334 true) :named @p_428)) :rule implies_simplify) (step t132.t5 (cl (! (= @p_332 true) :named @p_429)) :rule trans :premises (t132.t3 t132.t4)) (step t132.t6 (cl (! (= @p_335 (! (=> false @p_336) :named @p_337)) :named @p_424)) :rule cong :premises (t132.t2)) (step t132.t7 (cl (! (= @p_337 true) :named @p_425)) :rule implies_simplify) (step t132.t8 (cl (! (= @p_335 true) :named @p_426)) :rule trans :premises (t132.t6 t132.t7)) (step t132.t9 (cl @p_338) :rule eq_simplify) (step t132.t10 (cl @p_339) :rule cong :premises (t132.t9)) (step t132.t11 (cl @p_340) :rule not_simplify) (step t132.t12 (cl @p_341) :rule trans :premises (t132.t10 t132.t11)) (step t132.t13 (cl (= @p_342 @p_320)) :rule cong :premises (t132.t5 t132.t8 t132.t12)) (step t132.t14 (cl @p_343) :rule and_simplify) (step t132.t15 (cl @p_344) :rule and_simplify) (step t132.t16 (cl (= @p_342 false)) :rule trans :premises (t132.t13 t132.t14 t132.t15)) (step t132.t17 (cl (= @p_329 (! (= @p_330 false) :named @p_345))) :rule cong :premises (t132.t16)) (step t132.t18 (cl (= @p_345 (! (not @p_330) :named @p_346))) :rule equiv_simplify) (step t132.t19 (cl (! (= @p_329 @p_346) :named @p_347)) :rule trans :premises (t132.t17 t132.t18)) (step t132.t20 (cl (not @p_347) (! (not @p_329) :named @p_348) @p_346) :rule equiv_pos2) (step t132.t21 (cl @p_346) :rule th_resolution :premises (t132.h1 t132.t19 t132.t20)) (step t132 (cl @p_348 @p_346) :rule subproof :discharge (h1)) (step t133 (cl @p_282 @p_329) :rule or :premises (t131)) (step t134 (cl (! (or @p_282 @p_346) :named @p_349) @p_302) :rule or_neg) (step t135 (cl @p_349 @p_139) :rule th_resolution :premises (t79 t134)) (step t136 (cl @p_349 (! (not @p_346) :named @p_350)) :rule or_neg) (step t137 (cl (not @p_350) @p_330) :rule not_not) (step t138 (cl @p_349 @p_330) :rule th_resolution :premises (t137 t136)) (step t139 (cl @p_349) :rule th_resolution :premises (t133 t132 t135 t138)) (step t140 (cl (or @p_282 (! (= (! (< @p_328 (! (divide$ 2.0 0.0) :named @p_437)) :named @p_352) (! (and (! (=> @p_307 (! (< @p_306 2.0) :named @p_354)) :named @p_353) (! (=> @p_307 (! (< 2.0 @p_306) :named @p_357)) :named @p_356) @p_317) :named @p_359)) :named @p_351))) :rule forall_inst :args ((:= veriT_vr13 @p_306) (:= veriT_vr14 0.0) (:= veriT_vr15 2.0))) (anchor :step t141) (assume t141.h1 @p_351) (step t141.t2 (cl @p_331) :rule comp_simplify) (step t141.t3 (cl (! (= @p_353 (! (=> false @p_354) :named @p_355)) :named @p_443)) :rule cong :premises (t141.t2)) (step t141.t4 (cl (! (= @p_355 true) :named @p_444)) :rule implies_simplify) (step t141.t5 (cl (! (= @p_353 true) :named @p_445)) :rule trans :premises (t141.t3 t141.t4)) (step t141.t6 (cl (! (= @p_356 (! (=> false @p_357) :named @p_358)) :named @p_440)) :rule cong :premises (t141.t2)) (step t141.t7 (cl (! (= @p_358 true) :named @p_441)) :rule implies_simplify) (step t141.t8 (cl (! (= @p_356 true) :named @p_442)) :rule trans :premises (t141.t6 t141.t7)) (step t141.t9 (cl @p_338) :rule eq_simplify) (step t141.t10 (cl @p_339) :rule cong :premises (t141.t9)) (step t141.t11 (cl @p_340) :rule not_simplify) (step t141.t12 (cl @p_341) :rule trans :premises (t141.t10 t141.t11)) (step t141.t13 (cl (= @p_359 @p_320)) :rule cong :premises (t141.t5 t141.t8 t141.t12)) (step t141.t14 (cl @p_343) :rule and_simplify) (step t141.t15 (cl @p_344) :rule and_simplify) (step t141.t16 (cl (= @p_359 false)) :rule trans :premises (t141.t13 t141.t14 t141.t15)) (step t141.t17 (cl (= @p_351 (! (= @p_352 false) :named @p_360))) :rule cong :premises (t141.t16)) (step t141.t18 (cl (= @p_360 (! (not @p_352) :named @p_361))) :rule equiv_simplify) (step t141.t19 (cl (! (= @p_351 @p_361) :named @p_362)) :rule trans :premises (t141.t17 t141.t18)) (step t141.t20 (cl (not @p_362) (! (not @p_351) :named @p_363) @p_361) :rule equiv_pos2) (step t141.t21 (cl @p_361) :rule th_resolution :premises (t141.h1 t141.t19 t141.t20)) (step t141 (cl @p_363 @p_361) :rule subproof :discharge (h1)) (step t142 (cl @p_282 @p_351) :rule or :premises (t140)) (step t143 (cl (! (or @p_282 @p_361) :named @p_364) @p_302) :rule or_neg) (step t144 (cl @p_364 @p_139) :rule th_resolution :premises (t79 t143)) (step t145 (cl @p_364 (! (not @p_361) :named @p_365)) :rule or_neg) (step t146 (cl (not @p_365) @p_352) :rule not_not) (step t147 (cl @p_364 @p_352) :rule th_resolution :premises (t146 t145)) (step t148 (cl @p_364) :rule th_resolution :premises (t142 t141 t144 t147)) (step t149 (cl (or @p_282 (! (= (! (< @p_366 @p_275) :named @p_368) (! (and (! (=> (! (< 0.0 2.0) :named @p_370) (! (< @p_2 0.0) :named @p_369)) :named @p_371) (! (=> (! (< 2.0 0.0) :named @p_373) (! (< 0.0 @p_2) :named @p_375)) :named @p_374) (! (not (! (= 2.0 0.0) :named @p_377)) :named @p_378)) :named @p_380)) :named @p_367))) :rule forall_inst :args ((:= veriT_vr13 @p_2) (:= veriT_vr14 2.0) (:= veriT_vr15 0.0))) (anchor :step t150) (assume t150.h1 @p_367) (step t150.t2 (cl (! (= @p_370 true) :named @p_405)) :rule comp_simplify) (step t150.t3 (cl (= @p_371 (! (=> true @p_369) :named @p_372))) :rule cong :premises (t150.t2)) (step t150.t4 (cl (= @p_372 @p_369)) :rule implies_simplify) (step t150.t5 (cl (= @p_371 @p_369)) :rule trans :premises (t150.t3 t150.t4)) (step t150.t6 (cl (! (= @p_373 false) :named @p_408)) :rule comp_simplify) (step t150.t7 (cl (= @p_374 (! (=> false @p_375) :named @p_376))) :rule cong :premises (t150.t6)) (step t150.t8 (cl (= @p_376 true)) :rule implies_simplify) (step t150.t9 (cl (= @p_374 true)) :rule trans :premises (t150.t7 t150.t8)) (step t150.t10 (cl (! (= @p_377 false) :named @p_412)) :rule eq_simplify) (step t150.t11 (cl (! (= @p_378 @p_228) :named @p_413)) :rule cong :premises (t150.t10)) (step t150.t12 (cl @p_379) :rule not_simplify) (step t150.t13 (cl (! (= @p_378 true) :named @p_414)) :rule trans :premises (t150.t11 t150.t12)) (step t150.t14 (cl (= @p_380 (! (and @p_369 true true) :named @p_381))) :rule cong :premises (t150.t5 t150.t9 t150.t13)) (step t150.t15 (cl (= @p_381 (! (and @p_369) :named @p_382))) :rule and_simplify) (step t150.t16 (cl (= @p_382 @p_369)) :rule and_simplify) (step t150.t17 (cl (= @p_380 @p_369)) :rule trans :premises (t150.t14 t150.t15 t150.t16)) (step t150.t18 (cl (! (= @p_367 (! (= @p_368 @p_369) :named @p_383)) :named @p_384)) :rule cong :premises (t150.t17)) (step t150.t19 (cl (not @p_384) (! (not @p_367) :named @p_385) @p_383) :rule equiv_pos2) (step t150.t20 (cl @p_383) :rule th_resolution :premises (t150.h1 t150.t18 t150.t19)) (step t150 (cl @p_385 @p_383) :rule subproof :discharge (h1)) (step t151 (cl @p_282 @p_367) :rule or :premises (t149)) (step t152 (cl (! (or @p_282 @p_383) :named @p_386) @p_302) :rule or_neg) (step t153 (cl @p_386 @p_139) :rule th_resolution :premises (t79 t152)) (step t154 (cl @p_386 (! (not @p_383) :named @p_500)) :rule or_neg) (step t155 (cl @p_386) :rule th_resolution :premises (t151 t150 t153 t154)) (step t156 (cl (or @p_282 (! (= (! (< @p_305 @p_328) :named @p_388) (! (and @p_313 @p_310 @p_317) :named @p_395)) :named @p_387))) :rule forall_inst :args ((:= veriT_vr13 @p_2) (:= veriT_vr14 0.0) (:= veriT_vr15 @p_306))) (anchor :step t157) (assume t157.h1 @p_387) (step t157.t2 (cl @p_331) :rule comp_simplify) (step t157.t3 (cl @p_389) :rule cong :premises (t157.t2)) (step t157.t4 (cl @p_390) :rule implies_simplify) (step t157.t5 (cl @p_391) :rule trans :premises (t157.t3 t157.t4)) (step t157.t6 (cl @p_392) :rule cong :premises (t157.t2)) (step t157.t7 (cl @p_393) :rule implies_simplify) (step t157.t8 (cl @p_394) :rule trans :premises (t157.t6 t157.t7)) (step t157.t9 (cl @p_338) :rule eq_simplify) (step t157.t10 (cl @p_339) :rule cong :premises (t157.t9)) (step t157.t11 (cl @p_340) :rule not_simplify) (step t157.t12 (cl @p_341) :rule trans :premises (t157.t10 t157.t11)) (step t157.t13 (cl (= @p_395 @p_320)) :rule cong :premises (t157.t5 t157.t8 t157.t12)) (step t157.t14 (cl @p_343) :rule and_simplify) (step t157.t15 (cl @p_344) :rule and_simplify) (step t157.t16 (cl (= @p_395 false)) :rule trans :premises (t157.t13 t157.t14 t157.t15)) (step t157.t17 (cl (= @p_387 (! (= @p_388 false) :named @p_396))) :rule cong :premises (t157.t16)) (step t157.t18 (cl (= @p_396 (! (not @p_388) :named @p_397))) :rule equiv_simplify) (step t157.t19 (cl (! (= @p_387 @p_397) :named @p_398)) :rule trans :premises (t157.t17 t157.t18)) (step t157.t20 (cl (not @p_398) (! (not @p_387) :named @p_399) @p_397) :rule equiv_pos2) (step t157.t21 (cl @p_397) :rule th_resolution :premises (t157.h1 t157.t19 t157.t20)) (step t157 (cl @p_399 @p_397) :rule subproof :discharge (h1)) (step t158 (cl @p_282 @p_387) :rule or :premises (t156)) (step t159 (cl (! (or @p_282 @p_397) :named @p_400) @p_302) :rule or_neg) (step t160 (cl @p_400 @p_139) :rule th_resolution :premises (t79 t159)) (step t161 (cl @p_400 (! (not @p_397) :named @p_401)) :rule or_neg) (step t162 (cl (not @p_401) @p_388) :rule not_not) (step t163 (cl @p_400 @p_388) :rule th_resolution :premises (t162 t161)) (step t164 (cl @p_400) :rule th_resolution :premises (t158 t157 t160 t163)) (step t165 (cl (or @p_282 (! (= (! (< @p_260 (! (divide$ @p_36 2.0) :named @p_516)) :named @p_403) (! (and (! (=> @p_370 (! (< @p_3 @p_36) :named @p_404)) :named @p_406) (! (=> @p_373 (! (< @p_36 @p_3) :named @p_410)) :named @p_409) @p_378) :named @p_415)) :named @p_402))) :rule forall_inst :args ((:= veriT_vr13 @p_3) (:= veriT_vr14 2.0) (:= veriT_vr15 @p_36))) (anchor :step t166) (assume t166.h1 @p_402) (step t166.t2 (cl @p_405) :rule comp_simplify) (step t166.t3 (cl (= @p_406 (! (=> true @p_404) :named @p_407))) :rule cong :premises (t166.t2)) (step t166.t4 (cl (= @p_407 @p_404)) :rule implies_simplify) (step t166.t5 (cl (= @p_406 @p_404)) :rule trans :premises (t166.t3 t166.t4)) (step t166.t6 (cl @p_408) :rule comp_simplify) (step t166.t7 (cl (= @p_409 (! (=> false @p_410) :named @p_411))) :rule cong :premises (t166.t6)) (step t166.t8 (cl (= @p_411 true)) :rule implies_simplify) (step t166.t9 (cl (= @p_409 true)) :rule trans :premises (t166.t7 t166.t8)) (step t166.t10 (cl @p_412) :rule eq_simplify) (step t166.t11 (cl @p_413) :rule cong :premises (t166.t10)) (step t166.t12 (cl @p_379) :rule not_simplify) (step t166.t13 (cl @p_414) :rule trans :premises (t166.t11 t166.t12)) (step t166.t14 (cl (= @p_415 (! (and @p_404 true true) :named @p_416))) :rule cong :premises (t166.t5 t166.t9 t166.t13)) (step t166.t15 (cl (= @p_416 (! (and @p_404) :named @p_417))) :rule and_simplify) (step t166.t16 (cl (= @p_417 @p_404)) :rule and_simplify) (step t166.t17 (cl (= @p_415 @p_404)) :rule trans :premises (t166.t14 t166.t15 t166.t16)) (step t166.t18 (cl (! (= @p_402 (! (= @p_403 @p_404) :named @p_418)) :named @p_419)) :rule cong :premises (t166.t17)) (step t166.t19 (cl (not @p_419) (! (not @p_402) :named @p_420) @p_418) :rule equiv_pos2) (step t166.t20 (cl @p_418) :rule th_resolution :premises (t166.h1 t166.t18 t166.t19)) (step t166 (cl @p_420 @p_418) :rule subproof :discharge (h1)) (step t167 (cl @p_282 @p_402) :rule or :premises (t165)) (step t168 (cl (! (or @p_282 @p_418) :named @p_421) @p_302) :rule or_neg) (step t169 (cl @p_421 @p_139) :rule th_resolution :premises (t79 t168)) (step t170 (cl @p_421 (! (not @p_418) :named @p_501)) :rule or_neg) (step t171 (cl @p_421) :rule th_resolution :premises (t167 t166 t169 t170)) (step t172 (cl (or @p_282 (! (= (! (< @p_269 @p_328) :named @p_423) (! (and @p_335 @p_332 @p_317) :named @p_430)) :named @p_422))) :rule forall_inst :args ((:= veriT_vr13 @p_3) (:= veriT_vr14 0.0) (:= veriT_vr15 @p_306))) (anchor :step t173) (assume t173.h1 @p_422) (step t173.t2 (cl @p_331) :rule comp_simplify) (step t173.t3 (cl @p_424) :rule cong :premises (t173.t2)) (step t173.t4 (cl @p_425) :rule implies_simplify) (step t173.t5 (cl @p_426) :rule trans :premises (t173.t3 t173.t4)) (step t173.t6 (cl @p_427) :rule cong :premises (t173.t2)) (step t173.t7 (cl @p_428) :rule implies_simplify) (step t173.t8 (cl @p_429) :rule trans :premises (t173.t6 t173.t7)) (step t173.t9 (cl @p_338) :rule eq_simplify) (step t173.t10 (cl @p_339) :rule cong :premises (t173.t9)) (step t173.t11 (cl @p_340) :rule not_simplify) (step t173.t12 (cl @p_341) :rule trans :premises (t173.t10 t173.t11)) (step t173.t13 (cl (= @p_430 @p_320)) :rule cong :premises (t173.t5 t173.t8 t173.t12)) (step t173.t14 (cl @p_343) :rule and_simplify) (step t173.t15 (cl @p_344) :rule and_simplify) (step t173.t16 (cl (= @p_430 false)) :rule trans :premises (t173.t13 t173.t14 t173.t15)) (step t173.t17 (cl (= @p_422 (! (= @p_423 false) :named @p_431))) :rule cong :premises (t173.t16)) (step t173.t18 (cl (= @p_431 (! (not @p_423) :named @p_432))) :rule equiv_simplify) (step t173.t19 (cl (! (= @p_422 @p_432) :named @p_433)) :rule trans :premises (t173.t17 t173.t18)) (step t173.t20 (cl (not @p_433) (! (not @p_422) :named @p_434) @p_432) :rule equiv_pos2) (step t173.t21 (cl @p_432) :rule th_resolution :premises (t173.h1 t173.t19 t173.t20)) (step t173 (cl @p_434 @p_432) :rule subproof :discharge (h1)) (step t174 (cl @p_282 @p_422) :rule or :premises (t172)) (step t175 (cl (! (or @p_282 @p_432) :named @p_435) @p_302) :rule or_neg) (step t176 (cl @p_435 @p_139) :rule th_resolution :premises (t79 t175)) (step t177 (cl @p_435 (! (not @p_432) :named @p_436)) :rule or_neg) (step t178 (cl (not @p_436) @p_423) :rule not_not) (step t179 (cl @p_435 @p_423) :rule th_resolution :premises (t178 t177)) (step t180 (cl @p_435) :rule th_resolution :premises (t174 t173 t176 t179)) (step t181 (cl (or @p_282 (! (= (! (< @p_437 @p_328) :named @p_439) (! (and @p_356 @p_353 @p_317) :named @p_446)) :named @p_438))) :rule forall_inst :args ((:= veriT_vr13 2.0) (:= veriT_vr14 0.0) (:= veriT_vr15 @p_306))) (anchor :step t182) (assume t182.h1 @p_438) (step t182.t2 (cl @p_331) :rule comp_simplify) (step t182.t3 (cl @p_440) :rule cong :premises (t182.t2)) (step t182.t4 (cl @p_441) :rule implies_simplify) (step t182.t5 (cl @p_442) :rule trans :premises (t182.t3 t182.t4)) (step t182.t6 (cl @p_443) :rule cong :premises (t182.t2)) (step t182.t7 (cl @p_444) :rule implies_simplify) (step t182.t8 (cl @p_445) :rule trans :premises (t182.t6 t182.t7)) (step t182.t9 (cl @p_338) :rule eq_simplify) (step t182.t10 (cl @p_339) :rule cong :premises (t182.t9)) (step t182.t11 (cl @p_340) :rule not_simplify) (step t182.t12 (cl @p_341) :rule trans :premises (t182.t10 t182.t11)) (step t182.t13 (cl (= @p_446 @p_320)) :rule cong :premises (t182.t5 t182.t8 t182.t12)) (step t182.t14 (cl @p_343) :rule and_simplify) (step t182.t15 (cl @p_344) :rule and_simplify) (step t182.t16 (cl (= @p_446 false)) :rule trans :premises (t182.t13 t182.t14 t182.t15)) (step t182.t17 (cl (= @p_438 (! (= @p_439 false) :named @p_447))) :rule cong :premises (t182.t16)) (step t182.t18 (cl (= @p_447 (! (not @p_439) :named @p_448))) :rule equiv_simplify) (step t182.t19 (cl (! (= @p_438 @p_448) :named @p_449)) :rule trans :premises (t182.t17 t182.t18)) (step t182.t20 (cl (not @p_449) (! (not @p_438) :named @p_450) @p_448) :rule equiv_pos2) (step t182.t21 (cl @p_448) :rule th_resolution :premises (t182.h1 t182.t19 t182.t20)) (step t182 (cl @p_450 @p_448) :rule subproof :discharge (h1)) (step t183 (cl @p_282 @p_438) :rule or :premises (t181)) (step t184 (cl (! (or @p_282 @p_448) :named @p_451) @p_302) :rule or_neg) (step t185 (cl @p_451 @p_139) :rule th_resolution :premises (t79 t184)) (step t186 (cl @p_451 (! (not @p_448) :named @p_452)) :rule or_neg) (step t187 (cl (not @p_452) @p_439) :rule not_not) (step t188 (cl @p_451 @p_439) :rule th_resolution :premises (t187 t186)) (step t189 (cl @p_451) :rule th_resolution :premises (t183 t182 t185 t188)) (step t190 (cl (or @p_282 (! (= (! (< @p_275 @p_3) :named @p_455) (! (and (! (=> @p_370 @p_453) :named @p_456) (! (=> @p_373 (! (< d$ 0.0) :named @p_459)) :named @p_458) @p_378) :named @p_461)) :named @p_454))) :rule forall_inst :args ((:= veriT_vr13 0.0) (:= veriT_vr14 2.0) (:= veriT_vr15 d$))) (anchor :step t191) (assume t191.h1 @p_454) (step t191.t2 (cl @p_405) :rule comp_simplify) (step t191.t3 (cl (= @p_456 (! (=> true @p_453) :named @p_457))) :rule cong :premises (t191.t2)) (step t191.t4 (cl (= @p_457 @p_453)) :rule implies_simplify) (step t191.t5 (cl (= @p_456 @p_453)) :rule trans :premises (t191.t3 t191.t4)) (step t191.t6 (cl @p_408) :rule comp_simplify) (step t191.t7 (cl (= @p_458 (! (=> false @p_459) :named @p_460))) :rule cong :premises (t191.t6)) (step t191.t8 (cl (= @p_460 true)) :rule implies_simplify) (step t191.t9 (cl (= @p_458 true)) :rule trans :premises (t191.t7 t191.t8)) (step t191.t10 (cl @p_412) :rule eq_simplify) (step t191.t11 (cl @p_413) :rule cong :premises (t191.t10)) (step t191.t12 (cl @p_379) :rule not_simplify) (step t191.t13 (cl @p_414) :rule trans :premises (t191.t11 t191.t12)) (step t191.t14 (cl (= @p_461 (! (and @p_453 true true) :named @p_462))) :rule cong :premises (t191.t5 t191.t9 t191.t13)) (step t191.t15 (cl (= @p_462 (! (and @p_453) :named @p_463))) :rule and_simplify) (step t191.t16 (cl (= @p_463 @p_453)) :rule and_simplify) (step t191.t17 (cl (= @p_461 @p_453)) :rule trans :premises (t191.t14 t191.t15 t191.t16)) (step t191.t18 (cl (! (= @p_454 (! (= @p_455 @p_453) :named @p_464)) :named @p_465)) :rule cong :premises (t191.t17)) (step t191.t19 (cl (not @p_465) (! (not @p_454) :named @p_466) @p_464) :rule equiv_pos2) (step t191.t20 (cl @p_464) :rule th_resolution :premises (t191.h1 t191.t18 t191.t19)) (step t191 (cl @p_466 @p_464) :rule subproof :discharge (h1)) (step t192 (cl @p_282 @p_454) :rule or :premises (t190)) (step t193 (cl (! (or @p_282 @p_464) :named @p_467) @p_302) :rule or_neg) (step t194 (cl @p_467 @p_139) :rule th_resolution :premises (t79 t193)) (step t195 (cl @p_467 (! (not @p_464) :named @p_502)) :rule or_neg) (step t196 (cl @p_467) :rule th_resolution :premises (t192 t191 t194 t195)) (step t197 (cl (not (! (not (! (not @p_84) :named @p_468)) :named @p_479)) @p_84) :rule not_not) (step t198 (cl (or @p_468 (! (= @p_36 (! (- @p_3 (! (ite @p_369 @p_258 @p_2) :named @p_471)) :named @p_472)) :named @p_469))) :rule forall_inst :args ((:= veriT_vr9 @p_2))) (anchor :step t199) (assume t199.h1 @p_469) (step t199.t2 (cl @p_267) :rule minus_simplify) (step t199.t3 (cl (= @p_471 (! (ite @p_369 @p_3 @p_2) :named @p_470))) :rule cong :premises (t199.t2)) (step t199.t4 (cl (= @p_472 (! (- @p_3 @p_470) :named @p_473))) :rule cong :premises (t199.t3)) (step t199.t5 (cl (! (= @p_469 (! (= @p_36 @p_473) :named @p_476)) :named @p_474)) :rule cong :premises (t199.t4)) (step t199.t6 (cl (not @p_474) (! (not @p_469) :named @p_475) @p_476) :rule equiv_pos2) (step t199.t7 (cl @p_476) :rule th_resolution :premises (t199.h1 t199.t5 t199.t6)) (step t199.t8 (cl (! (= @p_476 (! (and (! (= @p_36 (- @p_3 @p_470)) :named @p_504) (! (ite @p_369 (! (= @p_3 @p_470) :named @p_507) (= @p_2 @p_470)) :named @p_505)) :named @p_477)) :named @p_478)) :rule ite_intro) (step t199.t9 (cl (not @p_478) (not @p_476) @p_477) :rule equiv_pos2) (step t199.t10 (cl @p_477) :rule th_resolution :premises (t199.t7 t199.t8 t199.t9)) (step t199 (cl @p_475 @p_477) :rule subproof :discharge (h1)) (step t200 (cl @p_468 @p_469) :rule or :premises (t198)) (step t201 (cl (! (or @p_468 @p_477) :named @p_480) @p_479) :rule or_neg) (step t202 (cl @p_480 @p_84) :rule th_resolution :premises (t197 t201)) (step t203 (cl @p_480 (! (not @p_477) :named @p_503)) :rule or_neg) (step t204 (cl @p_480) :rule th_resolution :premises (t200 t199 t202 t203)) (step t205 (cl (or (! (not @p_60) :named @p_508) (! (= (! (fun_app$ uub$ @p_7) :named @p_543) (! (pair$ @p_2 (! (times$ (- (* 2.0 @p_7) 1.0) @p_36) :named @p_535)) :named @p_534)) :named @p_509))) :rule forall_inst :args ((:= veriT_vr7 @p_7))) (step t206 (cl (or (! (not @p_34) :named @p_492) (! (= (! (fun_app$ uuc$ @p_7) :named @p_483) (! (pair$ (! (times$ (! (- @p_7 @p_7) :named @p_484) d$) :named @p_481) (! (diamond_y$ @p_481) :named @p_485)) :named @p_487)) :named @p_482))) :rule forall_inst :args ((:= veriT_vr1 @p_7))) (anchor :step t207) (assume t207.h1 @p_482) (step t207.t2 (cl (= 0.0 @p_484)) :rule minus_simplify) (step t207.t3 (cl (= @p_247 @p_481)) :rule cong :premises (t207.t2)) (step t207.t4 (cl (= @p_485 (! (diamond_y$ @p_247) :named @p_486))) :rule cong :premises (t207.t3)) (step t207.t5 (cl (= @p_487 (! (pair$ @p_247 @p_486) :named @p_488))) :rule cong :premises (t207.t3 t207.t4)) (step t207.t6 (cl (! (= @p_482 (! (= @p_483 @p_488) :named @p_489)) :named @p_490)) :rule cong :premises (t207.t5)) (step t207.t7 (cl (not @p_490) (! (not @p_482) :named @p_491) @p_489) :rule equiv_pos2) (step t207.t8 (cl @p_489) :rule th_resolution :premises (t207.h1 t207.t6 t207.t7)) (step t207 (cl @p_491 @p_489) :rule subproof :discharge (h1)) (step t208 (cl @p_492 @p_482) :rule or :premises (t206)) (step t209 (cl (! (or @p_492 @p_489) :named @p_494) (! (not @p_492) :named @p_493)) :rule or_neg) (step t210 (cl (not @p_493) @p_34) :rule not_not) (step t211 (cl @p_494 @p_34) :rule th_resolution :premises (t210 t209)) (step t212 (cl @p_494 (! (not @p_489) :named @p_544)) :rule or_neg) (step t213 (cl @p_494) :rule th_resolution :premises (t208 t207 t211 t212)) (step t214 (cl @p_245 @p_251) :rule or :premises (t90)) (step t215 (cl @p_251) :rule resolution :premises (t214 t48)) (step t216 (cl @p_241 @p_261) :rule or :premises (t97)) (step t217 (cl @p_261) :rule resolution :premises (t216 t42)) (step t218 (cl @p_241 @p_270) :rule or :premises (t104)) (step t219 (cl @p_270) :rule resolution :premises (t218 t42)) (step t220 (cl @p_241 @p_495) :rule or :premises (t105)) (step t221 (cl @p_495) :rule resolution :premises (t220 t42)) (step t222 (cl @p_241 @p_278) :rule or :premises (t112)) (step t223 (cl @p_278) :rule resolution :premises (t222 t42)) (step t224 (cl @p_297 (! (not @p_292) :named @p_496) (! (not @p_295) :named @p_497) (! (not @p_288) :named @p_498)) :rule and_neg) (step t225 (cl (not @p_496) @p_286) :rule not_not) (step t226 (cl @p_297 @p_286 @p_497 @p_498) :rule th_resolution :premises (t225 t224)) (step t227 (cl (not @p_497) @p_287) :rule not_not) (step t228 (cl @p_297 @p_286 @p_287 @p_498) :rule th_resolution :premises (t227 t226)) (step t229 (cl (not @p_498) @p_499) :rule not_not) (step t230 (cl @p_297 @p_286 @p_287 @p_499) :rule th_resolution :premises (t229 t228)) (step t231 (cl @p_282 @p_299) :rule or :premises (t121)) (step t232 (cl @p_299) :rule resolution :premises (t231 t36)) (step t233 (cl @p_282 @p_323) :rule or :premises (t130)) (step t234 (cl @p_323) :rule resolution :premises (t233 t36)) (step t235 (cl @p_282 @p_346) :rule or :premises (t139)) (step t236 (cl @p_346) :rule resolution :premises (t235 t36)) (step t237 (cl @p_282 @p_361) :rule or :premises (t148)) (step t238 (cl @p_361) :rule resolution :premises (t237 t36)) (step t239 (cl @p_500 @p_368 (! (not @p_369) :named @p_506)) :rule equiv_pos1) (step t240 (cl @p_282 @p_383) :rule or :premises (t155)) (step t241 (cl @p_383) :rule resolution :premises (t240 t36)) (step t242 (cl @p_282 @p_397) :rule or :premises (t164)) (step t243 (cl @p_397) :rule resolution :premises (t242 t36)) (step t244 (cl @p_501 (! (not @p_403) :named @p_519) @p_404) :rule equiv_pos2) (step t245 (cl @p_282 @p_418) :rule or :premises (t171)) (step t246 (cl @p_418) :rule resolution :premises (t245 t36)) (step t247 (cl @p_282 @p_432) :rule or :premises (t180)) (step t248 (cl @p_432) :rule resolution :premises (t247 t36)) (step t249 (cl @p_282 @p_448) :rule or :premises (t189)) (step t250 (cl @p_448) :rule resolution :premises (t249 t36)) (step t251 (cl @p_502 @p_455 (not @p_453)) :rule equiv_pos1) (step t252 (cl @p_282 @p_464) :rule or :premises (t196)) -(step t253 (cl @p_502 @p_455) :rule resolution :premises (t251 axiom4)) +(step t253 (cl @p_502 @p_455) :rule resolution :premises (t251 a4)) (step t254 (cl @p_464) :rule resolution :premises (t252 t36)) (step t255 (cl @p_455) :rule resolution :premises (t253 t254)) (step t256 (cl @p_503 @p_504) :rule and_pos) (step t257 (cl (not @p_505) @p_506 @p_507) :rule ite_pos2) (step t258 (cl @p_503 @p_505) :rule and_pos) (step t259 (cl @p_468 @p_477) :rule or :premises (t204)) (step t260 (cl @p_477) :rule resolution :premises (t259 t27)) (step t261 (cl @p_504) :rule resolution :premises (t256 t260)) (step t262 (cl @p_505) :rule resolution :premises (t258 t260)) (step t263 (cl @p_508 @p_509) :rule or :premises (t205)) (step t264 (cl @p_509) :rule resolution :premises (t263 t21)) (step t265 (cl @p_492 @p_489) :rule or :premises (t213)) (step t266 (cl @p_489) :rule resolution :premises (t265 t15)) (step t267 (cl (! (= 2.0 2.0) :named @p_515)) :rule eq_reflexive) (step t268 (cl (not @p_455) @p_369 @p_510) :rule la_generic :args (2.0 2.0 1)) (step t269 (cl @p_369) :rule resolution :premises (t268 t223 t255)) (step t270 (cl @p_368) :rule resolution :premises (t239 t269 t241)) (step t271 (cl @p_507) :rule resolution :premises (t257 t269 t262)) (step t272 (cl (! (= @p_2 @p_2) :named @p_513)) :rule eq_reflexive) (step t273 (cl @p_295 (! (not @p_504) :named @p_511) (! (not @p_507) :named @p_512)) :rule la_generic :args (1.0 1 1)) (step t274 (cl @p_295) :rule resolution :premises (t273 t261 t271)) (step t275 (cl @p_292 @p_511 @p_512) :rule la_generic :args (1.0 (- 1) (- 1))) (step t276 (cl @p_292) :rule resolution :premises (t275 t261 t271)) (step t277 (cl @p_499) :rule resolution :premises (t230 t276 t232 t274)) (step t278 (cl (not @p_513) @p_288 (! (< @p_2 @p_36) :named @p_514) @p_506) :rule eq_congruent_pred) (step t279 (cl @p_288 @p_514 @p_506) :rule th_resolution :premises (t278 t272)) (step t280 (cl @p_514) :rule resolution :premises (t279 t277 t269)) (step t281 (cl @p_288 (! (not @p_515) :named @p_551) (! (= @p_516 @p_275) :named @p_517)) :rule eq_congruent) (step t282 (cl @p_288 @p_517) :rule th_resolution :premises (t281 t267)) (step t283 (cl (! (= @p_7 @p_7) :named @p_546)) :rule eq_reflexive) (step t284 (cl (! (not @p_404) :named @p_518) (not @p_514) @p_511 @p_512) :rule la_generic :args (1.0 1.0 (- 2) (- 2))) (step t285 (cl @p_518) :rule resolution :premises (t284 t280 t261 t271)) (step t286 (cl @p_519) :rule resolution :premises (t244 t285 t246)) (step t287 (cl (or (! (= @p_234 @p_437) :named @p_520) (! (not (! (<= @p_234 @p_437) :named @p_529)) :named @p_521) (! (not (! (<= @p_437 @p_234) :named @p_526)) :named @p_522))) :rule la_disequality) (step t288 (cl @p_520 @p_521 @p_522) :rule or :premises (t287)) (step t289 (cl (or (! (= @p_247 @p_437) :named @p_523) (! (not (! (<= @p_247 @p_437) :named @p_532)) :named @p_524) (! (not (! (<= @p_437 @p_247) :named @p_530)) :named @p_525))) :rule la_disequality) (step t290 (cl @p_523 @p_524 @p_525) :rule or :premises (t289)) (step t291 (cl @p_388 @p_423 @p_352 @p_526 @p_527 @p_528) :rule la_generic :args (1.0 1.0 2.0 2.0 1 1)) (step t292 (cl @p_526) :rule resolution :premises (t291 t81 t219 t238 t243 t248)) (step t293 (cl @p_309 @p_330 @p_439 @p_529 @p_527 @p_528) :rule la_generic :args (1.0 1.0 2.0 2.0 (- 1) (- 1))) (step t294 (cl @p_529) :rule resolution :premises (t293 t81 t219 t234 t236 t250)) (step t295 (cl @p_520) :rule resolution :premises (t288 t294 t292)) (step t296 (cl @p_388 @p_423 @p_352 @p_530 @p_531 @p_528) :rule la_generic :args (1.0 1.0 2.0 2.0 1 1)) (step t297 (cl @p_530) :rule resolution :premises (t296 t215 t219 t238 t243 t248)) (step t298 (cl @p_309 @p_330 @p_439 @p_532 @p_531 @p_528) :rule la_generic :args (1.0 1.0 2.0 2.0 (- 1) (- 1))) (step t299 (cl @p_532) :rule resolution :premises (t298 t215 t219 t234 t236 t250)) (step t300 (cl @p_523) :rule resolution :premises (t290 t299 t297)) (step t301 (cl @p_244 @p_533) :rule or :premises (t70)) (step t302 (cl (or (! (not @p_533) :named @p_536) (! (or (! (not (! (= @p_534 @p_488) :named @p_545)) :named @p_541) (! (= @p_2 @p_247) :named @p_542)) :named @p_537))) :rule forall_inst :args ((:= veriT_vr28 @p_247) (:= veriT_vr29 @p_486) (:= veriT_vr30 @p_2) (:= veriT_vr31 @p_535))) (step t303 (cl @p_536 @p_537) :rule or :premises (t302)) (step t304 (cl (! (or @p_244 @p_537) :named @p_539) @p_538) :rule or_neg) (step t305 (cl @p_539 @p_218) :rule th_resolution :premises (t82 t304)) (step t306 (cl @p_539 (! (not @p_537) :named @p_540)) :rule or_neg) (step t307 (cl @p_539) :rule th_resolution :premises (t301 t303 t305 t306)) (step t308 (cl @p_540 @p_541 @p_542) :rule or_pos) (step t309 (cl @p_244 @p_537) :rule or :premises (t307)) (step t310 (cl @p_537) :rule resolution :premises (t309 t54)) (step t311 (cl (! (not @p_509) :named @p_549) (not (! (= @p_543 @p_483) :named @p_547)) @p_544 @p_545) :rule eq_transitive) (step t312 (cl (! (not @p_227) :named @p_548) (not @p_546) @p_547) :rule eq_congruent) (step t313 (cl @p_548 @p_547) :rule th_resolution :premises (t312 t283)) (step t314 (cl @p_549 @p_544 @p_545 @p_548) :rule th_resolution :premises (t311 t313)) (step t315 (cl @p_545) :rule resolution :premises (t314 t69 t264 t266)) (step t316 (cl @p_542) :rule resolution :premises (t308 t315 t310)) (step t317 (cl (! (not @p_542) :named @p_555) (! (not @p_523) :named @p_556) (! (not @p_520) :named @p_557) (! (= @p_2 @p_234) :named @p_550)) :rule eq_transitive) (step t318 (cl (! (not @p_550) :named @p_553) @p_551 (! (= @p_366 @p_552) :named @p_554)) :rule eq_congruent) (step t319 (cl @p_553 @p_554) :rule th_resolution :premises (t318 t267)) (step t320 (cl @p_554 @p_555 @p_556 @p_557) :rule th_resolution :premises (t319 t317)) (step t321 (cl @p_555 @p_556 @p_557 @p_527 (! (= @p_2 @p_235) :named @p_565)) :rule eq_transitive) (step t322 (cl (not @p_554) (! (= @p_257 @p_558) :named @p_559)) :rule eq_congruent) (step t323 (cl @p_559 @p_555 @p_556 @p_557) :rule th_resolution :premises (t322 t320)) (step t324 (cl (! (not (! (= @p_366 @p_260) :named @p_564)) :named @p_560) (not @p_517) (! (not @p_368) :named @p_561) @p_403) :rule eq_congruent_pred) (step t325 (cl @p_560 @p_561 @p_403 @p_288) :rule th_resolution :premises (t324 t282)) (step t326 (cl (not (! (= @p_366 @p_562) :named @p_566)) (! (not @p_495) :named @p_568) (! (not @p_559) :named @p_569) @p_563 @p_564) :rule eq_transitive) (step t327 (cl (! (not @p_565) :named @p_567) @p_551 @p_566) :rule eq_congruent) (step t328 (cl @p_567 @p_566) :rule th_resolution :premises (t327 t267)) (step t329 (cl @p_566 @p_555 @p_556 @p_557 @p_527) :rule th_resolution :premises (t328 t321)) (step t330 (cl @p_568 @p_569 @p_563 @p_564 @p_555 @p_556 @p_557 @p_527) :rule th_resolution :premises (t326 t329)) (step t331 (cl @p_568 @p_563 @p_564 @p_555 @p_556 @p_557 @p_527 @p_555 @p_556 @p_557) :rule th_resolution :premises (t330 t323)) (step t332 (cl @p_568 @p_563 @p_564 @p_555 @p_556 @p_557 @p_527) :rule contraction :premises (t331)) (step t333 (cl @p_561 @p_403 @p_288 @p_568 @p_563 @p_555 @p_556 @p_557 @p_527) :rule th_resolution :premises (t325 t332)) (step t334 (cl) :rule resolution :premises (t333 t81 t217 t221 t277 t270 t286 t295 t300 t316)) -6120eaf40c2621e298051bc401bc258d4c6ef4d6 323 0 +f79704028180f39e90d9e958e4416fd1e60a60df 567 0 unsat -(assume axiom1 (! (not (! (=> (! (forall ((?v0 Real_a_fun$) (?v1 B_list$)) (! (= (! (=> (! (and (! (= (! (rec_join$ ?v1) :named @p_3) ?v0) :named @p_68) (! (and (! (=> (! (and (! (= ?v1 nil$) :named @p_4) (! (= uu$ ?v0) :named @p_72)) :named @p_74) false) :named @p_76) (! (and (! (forall ((?v2 B$)) (! (=> (! (and (! (= ?v1 (! (cons$ ?v2 nil$) :named @p_8)) :named @p_5) (! (= ?v0 (! (coeff_cube_to_path$ ?v2) :named @p_1)) :named @p_82)) :named @p_84) false) :named @p_86)) :named @p_78) (! (forall ((?v2 B$) (?v3 B$) (?v4 B_list$)) (! (=> (! (and (! (= ?v1 (! (cons$ ?v2 (! (cons$ ?v3 ?v4) :named @p_2)) :named @p_9)) :named @p_6) (! (= ?v0 (! (joinpaths$ @p_1 (! (rec_join$ @p_2) :named @p_95)) :named @p_7)) :named @p_97)) :named @p_99) false) :named @p_101)) :named @p_88)) :named @p_103)) :named @p_105)) :named @p_107) false) :named @p_109) (! (=> (! (and (! (= @p_3 @p_3) :named @p_112) (! (and (! (=> (! (and @p_4 (! (= uu$ @p_3) :named @p_115)) :named @p_117) false) :named @p_119) (! (and (! (forall ((?v2 B$)) (! (=> (! (and @p_5 (! (= @p_3 @p_1) :named @p_125)) :named @p_127) false) :named @p_129)) :named @p_121) (! (forall ((?v2 B$) (?v3 B$) (?v4 B_list$)) (! (=> (! (and @p_6 (! (= @p_3 @p_7) :named @p_137)) :named @p_139) false) :named @p_141)) :named @p_131)) :named @p_143)) :named @p_145)) :named @p_147) false) :named @p_149)) :named @p_151)) :named @p_53) (! (= (! (forall ((?v0 B_list$) (?v1 Real_a_fun$)) (! (=> (! (and (! (= (! (rec_join$ ?v0) :named @p_10) ?v1) :named @p_19) (! (and (! (=> (! (and (! (= nil$ ?v0) :named @p_11) (! (= uu$ ?v1) :named @p_20)) :named @p_22) false) :named @p_24) (! (and (! (forall ((?v2 B$)) (! (=> (! (and (! (= @p_8 ?v0) :named @p_17) (! (= @p_1 ?v1) :named @p_27)) :named @p_29) false) :named @p_31)) :named @p_25) (! (forall ((?v2 B$) (?v3 B$) (?v4 B_list$)) (! (=> (! (and (! (= @p_9 ?v0) :named @p_18) (! (= @p_7 ?v1) :named @p_35)) :named @p_37) false) :named @p_39)) :named @p_33)) :named @p_41)) :named @p_43)) :named @p_45) false) :named @p_47)) :named @p_14) (! (forall ((?v0 B_list$)) (! (=> (! (and (! (= @p_10 @p_10) :named @p_15) (! (and (! (=> (! (and @p_11 (! (= uu$ @p_10) :named @p_21)) :named @p_23) false) :named @p_16) (! (and (! (forall ((?v1 B$)) (! (=> (! (and (! (= ?v0 (! (cons$ ?v1 nil$) :named @p_162)) :named @p_163) (! (= @p_10 (! (coeff_cube_to_path$ ?v1) :named @p_12)) :named @p_165)) :named @p_166) false) :named @p_167)) :named @p_161) (! (forall ((?v1 B$) (?v2 B$) (?v3 B_list$)) (! (=> (! (and (! (= ?v0 (! (cons$ ?v1 (! (cons$ ?v2 ?v3) :named @p_13)) :named @p_169)) :named @p_170) (! (= @p_10 (! (joinpaths$ @p_12 (! (rec_join$ @p_13) :named @p_175)) :named @p_176)) :named @p_177)) :named @p_178) false) :named @p_179)) :named @p_168)) :named @p_180)) :named @p_181)) :named @p_182) false) :named @p_183)) :named @p_51)) :named @p_49)) :named @p_52)) :named @p_55)) +(define-fun veriT_sk0 () A$ (! (choice ((veriT_vr145 A$)) (not (! (not (! (and (! (= (! (arg_min_on$ f$ (! (image$b g$ b$) :named @p_6)) :named @p_336) (! (fun_app$b g$ veriT_vr145) :named @p_378)) :named @p_379) (! (member$a veriT_vr145 b$) :named @p_381)) :named @p_382)) :named @p_377))) :named @p_357)) +(assume a29 (! (forall ((?v0 B_set$) (?v1 B_c_fun$)) (! (=> (! (and (! (finite$ ?v0) :named @p_1) (! (not (! (= ?v0 bot$) :named @p_10)) :named @p_2)) :named @p_13) (! (member$ (! (arg_min_on$ ?v1 ?v0) :named @p_15) ?v0) :named @p_17)) :named @p_19)) :named @p_7)) +(assume a31 (! (forall ((?v0 B_set$) (?v1 B$) (?v2 B_c_fun$)) (! (=> (! (and @p_1 (! (and @p_2 (! (member$ ?v1 ?v0) :named @p_38)) :named @p_40)) :named @p_42) (! (less_eq$ (! (fun_app$ ?v2 (! (arg_min_on$ ?v2 ?v0) :named @p_45)) :named @p_47) (! (fun_app$ ?v2 ?v1) :named @p_50)) :named @p_52)) :named @p_54)) :named @p_33)) +(assume a33 (! (forall ((?v0 B_c_fun$) (?v1 A_b_fun$) (?v2 A$)) (! (= (! (fun_app$a (! (comp$ ?v0 ?v1) :named @p_78) ?v2) :named @p_80) (! (fun_app$ ?v0 (! (fun_app$b ?v1 ?v2) :named @p_3)) :named @p_86)) :named @p_88)) :named @p_77)) +(assume a36 (! (forall ((?v0 A_set$) (?v1 A_b_fun$)) (! (=> (! (finite$a ?v0) :named @p_103) (! (finite$ (! (image$b ?v1 ?v0) :named @p_106)) :named @p_108)) :named @p_110)) :named @p_102)) +(assume a40 (! (forall ((?v0 B$) (?v1 A_b_fun$) (?v2 A_set$)) (! (=> (! (and (! (member$ ?v0 (! (image$b ?v1 ?v2) :named @p_122)) :named @p_124) (! (forall ((?v3 A$)) (! (=> (! (and (! (= ?v0 (! (fun_app$b ?v1 ?v3) :named @p_130)) :named @p_132) (! (member$a ?v3 ?v2) :named @p_136)) :named @p_138) false) :named @p_140)) :named @p_126)) :named @p_142) false) :named @p_144)) :named @p_121)) +(assume a44 (! (forall ((?v0 B$) (?v1 A_b_fun$) (?v2 A$) (?v3 A_set$)) (! (=> (! (and (! (= @p_3 ?v0) :named @p_173) (! (member$a ?v2 ?v3) :named @p_176)) :named @p_178) (! (member$ ?v0 (! (image$b ?v1 ?v3) :named @p_183)) :named @p_185)) :named @p_187)) :named @p_171)) +(assume a48 (! (forall ((?v0 A_b_fun$) (?v1 A_set$)) (! (= (! (= bot$ (! (image$b ?v0 ?v1) :named @p_205)) :named @p_207) (! (= bot$a ?v1) :named @p_210)) :named @p_212)) :named @p_204)) +(assume a50 (! (forall ((?v0 B_c_fun$) (?v1 B_set$) (?v2 B$) (?v3 B$)) (! (=> (! (and (! (inj_on$ ?v0 ?v1) :named @p_224) (! (and (! (= (! (fun_app$ ?v0 ?v2) :named @p_227) (! (fun_app$ ?v0 ?v3) :named @p_229)) :named @p_231) (! (and (! (member$ ?v2 ?v1) :named @p_235) (! (member$ ?v3 ?v1) :named @p_238)) :named @p_240)) :named @p_242)) :named @p_244) (! (= ?v3 ?v2) :named @p_246)) :named @p_248)) :named @p_223)) +(assume a51 (! (forall ((?v0 C$) (?v1 C$)) (! (= (! (less$ ?v0 ?v1) :named @p_272) (! (and (! (less_eq$ ?v0 ?v1) :named @p_276) (! (not (! (= ?v0 ?v1) :named @p_278)) :named @p_280)) :named @p_282)) :named @p_284)) :named @p_271)) +(assume a23 (! (inj_on$ f$ @p_6) :named @p_353)) +(assume a24 (! (finite$a b$) :named @p_332)) +(assume a25 (not (! (= bot$a b$) :named @p_331))) +(assume a26 (! (member$a (! (arg_min_on$a (! (comp$ f$ g$) :named @p_4) b$) :named @p_5) b$) :named @p_423)) +(assume a27 (! (not (! (exists ((?v0 A$)) (! (and (! (member$a ?v0 b$) :named @p_300) (! (less$ (! (fun_app$a @p_4 ?v0) :named @p_303) (! (fun_app$a @p_4 @p_5) :named @p_299)) :named @p_305)) :named @p_307)) :named @p_298)) :named @p_309)) +(assume a52 (not (! (= @p_336 (! (fun_app$b g$ @p_5) :named @p_333)) :named @p_355))) +(anchor :step t16 :args ((:= (?v0 B_set$) veriT_vr0) (:= (?v1 B_c_fun$) veriT_vr1))) +(step t16.t1 (cl (! (= ?v0 veriT_vr0) :named @p_9)) :rule refl) +(step t16.t2 (cl (= @p_1 (! (finite$ veriT_vr0) :named @p_8))) :rule cong :premises (t16.t1)) +(step t16.t3 (cl @p_9) :rule refl) +(step t16.t4 (cl (= @p_10 (! (= bot$ veriT_vr0) :named @p_11))) :rule cong :premises (t16.t3)) +(step t16.t5 (cl (= @p_2 (! (not @p_11) :named @p_12))) :rule cong :premises (t16.t4)) +(step t16.t6 (cl (= @p_13 (! (and @p_8 @p_12) :named @p_14))) :rule cong :premises (t16.t2 t16.t5)) +(step t16.t7 (cl (= ?v1 veriT_vr1)) :rule refl) +(step t16.t8 (cl @p_9) :rule refl) +(step t16.t9 (cl (= @p_15 (! (arg_min_on$ veriT_vr1 veriT_vr0) :named @p_16))) :rule cong :premises (t16.t7 t16.t8)) +(step t16.t10 (cl @p_9) :rule refl) +(step t16.t11 (cl (= @p_17 (! (member$ @p_16 veriT_vr0) :named @p_18))) :rule cong :premises (t16.t9 t16.t10)) +(step t16.t12 (cl (= @p_19 (! (=> @p_14 @p_18) :named @p_20))) :rule cong :premises (t16.t6 t16.t11)) +(step t16 (cl (! (= @p_7 (! (forall ((veriT_vr0 B_set$) (veriT_vr1 B_c_fun$)) @p_20) :named @p_22)) :named @p_21)) :rule bind) +(step t17 (cl (not @p_21) (not @p_7) @p_22) :rule equiv_pos2) +(step t18 (cl @p_22) :rule th_resolution :premises (a29 t16 t17)) +(anchor :step t19 :args ((:= (veriT_vr0 B_set$) veriT_vr2) (:= (veriT_vr1 B_c_fun$) veriT_vr3))) +(step t19.t1 (cl (! (= veriT_vr0 veriT_vr2) :named @p_24)) :rule refl) +(step t19.t2 (cl (= @p_8 (! (finite$ veriT_vr2) :named @p_23))) :rule cong :premises (t19.t1)) +(step t19.t3 (cl @p_24) :rule refl) +(step t19.t4 (cl (= @p_11 (! (= bot$ veriT_vr2) :named @p_25))) :rule cong :premises (t19.t3)) +(step t19.t5 (cl (= @p_12 (! (not @p_25) :named @p_26))) :rule cong :premises (t19.t4)) +(step t19.t6 (cl (= @p_14 (! (and @p_23 @p_26) :named @p_27))) :rule cong :premises (t19.t2 t19.t5)) +(step t19.t7 (cl (= veriT_vr1 veriT_vr3)) :rule refl) +(step t19.t8 (cl @p_24) :rule refl) +(step t19.t9 (cl (= @p_16 (! (arg_min_on$ veriT_vr3 veriT_vr2) :named @p_28))) :rule cong :premises (t19.t7 t19.t8)) +(step t19.t10 (cl @p_24) :rule refl) +(step t19.t11 (cl (= @p_18 (! (member$ @p_28 veriT_vr2) :named @p_29))) :rule cong :premises (t19.t9 t19.t10)) +(step t19.t12 (cl (= @p_20 (! (=> @p_27 @p_29) :named @p_30))) :rule cong :premises (t19.t6 t19.t11)) +(step t19 (cl (! (= @p_22 (! (forall ((veriT_vr2 B_set$) (veriT_vr3 B_c_fun$)) @p_30) :named @p_32)) :named @p_31)) :rule bind) +(step t20 (cl (not @p_31) (not @p_22) @p_32) :rule equiv_pos2) +(step t21 (cl @p_32) :rule th_resolution :premises (t18 t19 t20)) +(anchor :step t22 :args ((:= (?v0 B_set$) veriT_vr8) (:= (?v1 B$) veriT_vr9) (:= (?v2 B_c_fun$) veriT_vr10))) +(step t22.t1 (cl (! (= ?v0 veriT_vr8) :named @p_35)) :rule refl) +(step t22.t2 (cl (= @p_1 (! (finite$ veriT_vr8) :named @p_34))) :rule cong :premises (t22.t1)) +(step t22.t3 (cl @p_35) :rule refl) +(step t22.t4 (cl (= @p_10 (! (= bot$ veriT_vr8) :named @p_36))) :rule cong :premises (t22.t3)) +(step t22.t5 (cl (= @p_2 (! (not @p_36) :named @p_37))) :rule cong :premises (t22.t4)) +(step t22.t6 (cl (! (= ?v1 veriT_vr9) :named @p_49)) :rule refl) +(step t22.t7 (cl @p_35) :rule refl) +(step t22.t8 (cl (= @p_38 (! (member$ veriT_vr9 veriT_vr8) :named @p_39))) :rule cong :premises (t22.t6 t22.t7)) +(step t22.t9 (cl (= @p_40 (! (and @p_37 @p_39) :named @p_41))) :rule cong :premises (t22.t5 t22.t8)) +(step t22.t10 (cl (= @p_42 (! (and @p_34 @p_41) :named @p_43))) :rule cong :premises (t22.t2 t22.t9)) +(step t22.t11 (cl (! (= ?v2 veriT_vr10) :named @p_44)) :rule refl) +(step t22.t12 (cl @p_44) :rule refl) +(step t22.t13 (cl @p_35) :rule refl) +(step t22.t14 (cl (= @p_45 (! (arg_min_on$ veriT_vr10 veriT_vr8) :named @p_46))) :rule cong :premises (t22.t12 t22.t13)) +(step t22.t15 (cl (= @p_47 (! (fun_app$ veriT_vr10 @p_46) :named @p_48))) :rule cong :premises (t22.t11 t22.t14)) +(step t22.t16 (cl @p_44) :rule refl) +(step t22.t17 (cl @p_49) :rule refl) +(step t22.t18 (cl (= @p_50 (! (fun_app$ veriT_vr10 veriT_vr9) :named @p_51))) :rule cong :premises (t22.t16 t22.t17)) +(step t22.t19 (cl (= @p_52 (! (less_eq$ @p_48 @p_51) :named @p_53))) :rule cong :premises (t22.t15 t22.t18)) +(step t22.t20 (cl (= @p_54 (! (=> @p_43 @p_53) :named @p_55))) :rule cong :premises (t22.t10 t22.t19)) +(step t22 (cl (! (= @p_33 (! (forall ((veriT_vr8 B_set$) (veriT_vr9 B$) (veriT_vr10 B_c_fun$)) @p_55) :named @p_57)) :named @p_56)) :rule bind) +(step t23 (cl (not @p_56) (not @p_33) @p_57) :rule equiv_pos2) +(step t24 (cl @p_57) :rule th_resolution :premises (a31 t22 t23)) +(anchor :step t25 :args ((veriT_vr8 B_set$) (veriT_vr9 B$) (veriT_vr10 B_c_fun$))) +(step t25.t1 (cl (= @p_43 (! (and @p_34 @p_37 @p_39) :named @p_58))) :rule ac_simp) +(step t25.t2 (cl (= @p_55 (! (=> @p_58 @p_53) :named @p_59))) :rule cong :premises (t25.t1)) +(step t25 (cl (! (= @p_57 (! (forall ((veriT_vr8 B_set$) (veriT_vr9 B$) (veriT_vr10 B_c_fun$)) @p_59) :named @p_61)) :named @p_60)) :rule bind) +(step t26 (cl (not @p_60) (not @p_57) @p_61) :rule equiv_pos2) +(step t27 (cl @p_61) :rule th_resolution :premises (t24 t25 t26)) +(anchor :step t28 :args ((:= (veriT_vr8 B_set$) veriT_vr11) (:= (veriT_vr9 B$) veriT_vr12) (:= (veriT_vr10 B_c_fun$) veriT_vr13))) +(step t28.t1 (cl (! (= veriT_vr8 veriT_vr11) :named @p_63)) :rule refl) +(step t28.t2 (cl (= @p_34 (! (finite$ veriT_vr11) :named @p_62))) :rule cong :premises (t28.t1)) +(step t28.t3 (cl @p_63) :rule refl) +(step t28.t4 (cl (= @p_36 (! (= bot$ veriT_vr11) :named @p_64))) :rule cong :premises (t28.t3)) +(step t28.t5 (cl (= @p_37 (! (not @p_64) :named @p_65))) :rule cong :premises (t28.t4)) +(step t28.t6 (cl (! (= veriT_vr9 veriT_vr12) :named @p_71)) :rule refl) +(step t28.t7 (cl @p_63) :rule refl) +(step t28.t8 (cl (= @p_39 (! (member$ veriT_vr12 veriT_vr11) :named @p_66))) :rule cong :premises (t28.t6 t28.t7)) +(step t28.t9 (cl (= @p_58 (! (and @p_62 @p_65 @p_66) :named @p_67))) :rule cong :premises (t28.t2 t28.t5 t28.t8)) +(step t28.t10 (cl (! (= veriT_vr10 veriT_vr13) :named @p_68)) :rule refl) +(step t28.t11 (cl @p_68) :rule refl) +(step t28.t12 (cl @p_63) :rule refl) +(step t28.t13 (cl (= @p_46 (! (arg_min_on$ veriT_vr13 veriT_vr11) :named @p_69))) :rule cong :premises (t28.t11 t28.t12)) +(step t28.t14 (cl (= @p_48 (! (fun_app$ veriT_vr13 @p_69) :named @p_70))) :rule cong :premises (t28.t10 t28.t13)) +(step t28.t15 (cl @p_68) :rule refl) +(step t28.t16 (cl @p_71) :rule refl) +(step t28.t17 (cl (= @p_51 (! (fun_app$ veriT_vr13 veriT_vr12) :named @p_72))) :rule cong :premises (t28.t15 t28.t16)) +(step t28.t18 (cl (= @p_53 (! (less_eq$ @p_70 @p_72) :named @p_73))) :rule cong :premises (t28.t14 t28.t17)) +(step t28.t19 (cl (= @p_59 (! (=> @p_67 @p_73) :named @p_74))) :rule cong :premises (t28.t9 t28.t18)) +(step t28 (cl (! (= @p_61 (! (forall ((veriT_vr11 B_set$) (veriT_vr12 B$) (veriT_vr13 B_c_fun$)) @p_74) :named @p_76)) :named @p_75)) :rule bind) +(step t29 (cl (not @p_75) (not @p_61) @p_76) :rule equiv_pos2) +(step t30 (cl @p_76) :rule th_resolution :premises (t27 t28 t29)) +(anchor :step t31 :args ((:= (?v0 B_c_fun$) veriT_vr20) (:= (?v1 A_b_fun$) veriT_vr21) (:= (?v2 A$) veriT_vr22))) +(step t31.t1 (cl (! (= ?v0 veriT_vr20) :named @p_82)) :rule refl) +(step t31.t2 (cl (! (= ?v1 veriT_vr21) :named @p_83)) :rule refl) +(step t31.t3 (cl (= @p_78 (! (comp$ veriT_vr20 veriT_vr21) :named @p_79))) :rule cong :premises (t31.t1 t31.t2)) +(step t31.t4 (cl (! (= ?v2 veriT_vr22) :named @p_84)) :rule refl) +(step t31.t5 (cl (= @p_80 (! (fun_app$a @p_79 veriT_vr22) :named @p_81))) :rule cong :premises (t31.t3 t31.t4)) +(step t31.t6 (cl @p_82) :rule refl) +(step t31.t7 (cl @p_83) :rule refl) +(step t31.t8 (cl @p_84) :rule refl) +(step t31.t9 (cl (= @p_3 (! (fun_app$b veriT_vr21 veriT_vr22) :named @p_85))) :rule cong :premises (t31.t7 t31.t8)) +(step t31.t10 (cl (= @p_86 (! (fun_app$ veriT_vr20 @p_85) :named @p_87))) :rule cong :premises (t31.t6 t31.t9)) +(step t31.t11 (cl (= @p_88 (! (= @p_81 @p_87) :named @p_89))) :rule cong :premises (t31.t5 t31.t10)) +(step t31 (cl (! (= @p_77 (! (forall ((veriT_vr20 B_c_fun$) (veriT_vr21 A_b_fun$) (veriT_vr22 A$)) @p_89) :named @p_91)) :named @p_90)) :rule bind) +(step t32 (cl (not @p_90) (not @p_77) @p_91) :rule equiv_pos2) +(step t33 (cl @p_91) :rule th_resolution :premises (a33 t31 t32)) +(anchor :step t34 :args ((:= (veriT_vr20 B_c_fun$) veriT_vr23) (:= (veriT_vr21 A_b_fun$) veriT_vr24) (:= (veriT_vr22 A$) veriT_vr25))) +(step t34.t1 (cl (! (= veriT_vr20 veriT_vr23) :named @p_94)) :rule refl) +(step t34.t2 (cl (! (= veriT_vr21 veriT_vr24) :named @p_95)) :rule refl) +(step t34.t3 (cl (= @p_79 (! (comp$ veriT_vr23 veriT_vr24) :named @p_92))) :rule cong :premises (t34.t1 t34.t2)) +(step t34.t4 (cl (! (= veriT_vr22 veriT_vr25) :named @p_96)) :rule refl) +(step t34.t5 (cl (= @p_81 (! (fun_app$a @p_92 veriT_vr25) :named @p_93))) :rule cong :premises (t34.t3 t34.t4)) +(step t34.t6 (cl @p_94) :rule refl) +(step t34.t7 (cl @p_95) :rule refl) +(step t34.t8 (cl @p_96) :rule refl) +(step t34.t9 (cl (= @p_85 (! (fun_app$b veriT_vr24 veriT_vr25) :named @p_97))) :rule cong :premises (t34.t7 t34.t8)) +(step t34.t10 (cl (= @p_87 (! (fun_app$ veriT_vr23 @p_97) :named @p_98))) :rule cong :premises (t34.t6 t34.t9)) +(step t34.t11 (cl (= @p_89 (! (= @p_93 @p_98) :named @p_99))) :rule cong :premises (t34.t5 t34.t10)) +(step t34 (cl (! (= @p_91 (! (forall ((veriT_vr23 B_c_fun$) (veriT_vr24 A_b_fun$) (veriT_vr25 A$)) @p_99) :named @p_101)) :named @p_100)) :rule bind) +(step t35 (cl (not @p_100) (not @p_91) @p_101) :rule equiv_pos2) +(step t36 (cl @p_101) :rule th_resolution :premises (t33 t34 t35)) +(anchor :step t37 :args ((:= (?v0 A_set$) veriT_vr34) (:= (?v1 A_b_fun$) veriT_vr35))) +(step t37.t1 (cl (! (= ?v0 veriT_vr34) :named @p_105)) :rule refl) +(step t37.t2 (cl (= @p_103 (! (finite$a veriT_vr34) :named @p_104))) :rule cong :premises (t37.t1)) +(step t37.t3 (cl (= ?v1 veriT_vr35)) :rule refl) +(step t37.t4 (cl @p_105) :rule refl) +(step t37.t5 (cl (= @p_106 (! (image$b veriT_vr35 veriT_vr34) :named @p_107))) :rule cong :premises (t37.t3 t37.t4)) +(step t37.t6 (cl (= @p_108 (! (finite$ @p_107) :named @p_109))) :rule cong :premises (t37.t5)) +(step t37.t7 (cl (= @p_110 (! (=> @p_104 @p_109) :named @p_111))) :rule cong :premises (t37.t2 t37.t6)) +(step t37 (cl (! (= @p_102 (! (forall ((veriT_vr34 A_set$) (veriT_vr35 A_b_fun$)) @p_111) :named @p_113)) :named @p_112)) :rule bind) +(step t38 (cl (not @p_112) (not @p_102) @p_113) :rule equiv_pos2) +(step t39 (cl @p_113) :rule th_resolution :premises (a36 t37 t38)) +(anchor :step t40 :args ((:= (veriT_vr34 A_set$) veriT_vr36) (:= (veriT_vr35 A_b_fun$) veriT_vr37))) +(step t40.t1 (cl (! (= veriT_vr34 veriT_vr36) :named @p_115)) :rule refl) +(step t40.t2 (cl (= @p_104 (! (finite$a veriT_vr36) :named @p_114))) :rule cong :premises (t40.t1)) +(step t40.t3 (cl (= veriT_vr35 veriT_vr37)) :rule refl) +(step t40.t4 (cl @p_115) :rule refl) +(step t40.t5 (cl (= @p_107 (! (image$b veriT_vr37 veriT_vr36) :named @p_116))) :rule cong :premises (t40.t3 t40.t4)) +(step t40.t6 (cl (= @p_109 (! (finite$ @p_116) :named @p_117))) :rule cong :premises (t40.t5)) +(step t40.t7 (cl (= @p_111 (! (=> @p_114 @p_117) :named @p_118))) :rule cong :premises (t40.t2 t40.t6)) +(step t40 (cl (! (= @p_113 (! (forall ((veriT_vr36 A_set$) (veriT_vr37 A_b_fun$)) @p_118) :named @p_120)) :named @p_119)) :rule bind) +(step t41 (cl (not @p_119) (not @p_113) @p_120) :rule equiv_pos2) +(step t42 (cl @p_120) :rule th_resolution :premises (t39 t40 t41)) +(anchor :step t43 :args ((:= (?v0 B$) veriT_vr58) (:= (?v1 A_b_fun$) veriT_vr59) (:= (?v2 A_set$) veriT_vr60))) +(step t43.t1 (cl (! (= ?v0 veriT_vr58) :named @p_128)) :rule refl) +(step t43.t2 (cl (! (= ?v1 veriT_vr59) :named @p_129)) :rule refl) +(step t43.t3 (cl (! (= ?v2 veriT_vr60) :named @p_135)) :rule refl) +(step t43.t4 (cl (= @p_122 (! (image$b veriT_vr59 veriT_vr60) :named @p_123))) :rule cong :premises (t43.t2 t43.t3)) +(step t43.t5 (cl (= @p_124 (! (member$ veriT_vr58 @p_123) :named @p_125))) :rule cong :premises (t43.t1 t43.t4)) +(anchor :step t43.t6 :args ((:= (?v3 A$) veriT_vr61))) +(step t43.t6.t1 (cl @p_128) :rule refl) +(step t43.t6.t2 (cl @p_129) :rule refl) +(step t43.t6.t3 (cl (! (= ?v3 veriT_vr61) :named @p_134)) :rule refl) +(step t43.t6.t4 (cl (= @p_130 (! (fun_app$b veriT_vr59 veriT_vr61) :named @p_131))) :rule cong :premises (t43.t6.t2 t43.t6.t3)) +(step t43.t6.t5 (cl (= @p_132 (! (= veriT_vr58 @p_131) :named @p_133))) :rule cong :premises (t43.t6.t1 t43.t6.t4)) +(step t43.t6.t6 (cl @p_134) :rule refl) +(step t43.t6.t7 (cl @p_135) :rule refl) +(step t43.t6.t8 (cl (= @p_136 (! (member$a veriT_vr61 veriT_vr60) :named @p_137))) :rule cong :premises (t43.t6.t6 t43.t6.t7)) +(step t43.t6.t9 (cl (= @p_138 (! (and @p_133 @p_137) :named @p_139))) :rule cong :premises (t43.t6.t5 t43.t6.t8)) +(step t43.t6.t10 (cl (= @p_140 (! (=> @p_139 false) :named @p_141))) :rule cong :premises (t43.t6.t9)) +(step t43.t6 (cl (= @p_126 (! (forall ((veriT_vr61 A$)) @p_141) :named @p_127))) :rule bind) +(step t43.t7 (cl (= @p_142 (! (and @p_125 @p_127) :named @p_143))) :rule cong :premises (t43.t5 t43.t6)) +(step t43.t8 (cl (= @p_144 (! (=> @p_143 false) :named @p_145))) :rule cong :premises (t43.t7)) +(step t43 (cl (! (= @p_121 (! (forall ((veriT_vr58 B$) (veriT_vr59 A_b_fun$) (veriT_vr60 A_set$)) @p_145) :named @p_147)) :named @p_146)) :rule bind) +(step t44 (cl (not @p_146) (not @p_121) @p_147) :rule equiv_pos2) +(step t45 (cl @p_147) :rule th_resolution :premises (a40 t43 t44)) +(anchor :step t46 :args ((veriT_vr58 B$) (veriT_vr59 A_b_fun$) (veriT_vr60 A_set$))) +(anchor :step t46.t1 :args ((veriT_vr61 A$))) +(step t46.t1.t1 (cl (= @p_141 (! (not @p_139) :named @p_149))) :rule implies_simplify) +(step t46.t1 (cl (= @p_127 (! (forall ((veriT_vr61 A$)) @p_149) :named @p_148))) :rule bind) +(step t46.t2 (cl (= @p_143 (! (and @p_125 @p_148) :named @p_150))) :rule cong :premises (t46.t1)) +(step t46.t3 (cl (= @p_145 (! (=> @p_150 false) :named @p_151))) :rule cong :premises (t46.t2)) +(step t46.t4 (cl (= @p_151 (! (not @p_150) :named @p_152))) :rule implies_simplify) +(step t46.t5 (cl (= @p_145 @p_152)) :rule trans :premises (t46.t3 t46.t4)) +(step t46 (cl (! (= @p_147 (! (forall ((veriT_vr58 B$) (veriT_vr59 A_b_fun$) (veriT_vr60 A_set$)) @p_152) :named @p_154)) :named @p_153)) :rule bind) +(step t47 (cl (not @p_153) (not @p_147) @p_154) :rule equiv_pos2) +(step t48 (cl @p_154) :rule th_resolution :premises (t45 t46 t47)) +(anchor :step t49 :args ((:= (veriT_vr58 B$) veriT_vr62) (:= (veriT_vr59 A_b_fun$) veriT_vr63) (:= (veriT_vr60 A_set$) veriT_vr64))) +(step t49.t1 (cl (! (= veriT_vr58 veriT_vr62) :named @p_158)) :rule refl) +(step t49.t2 (cl (! (= veriT_vr59 veriT_vr63) :named @p_159)) :rule refl) +(step t49.t3 (cl (! (= veriT_vr60 veriT_vr64) :named @p_163)) :rule refl) +(step t49.t4 (cl (= @p_123 (! (image$b veriT_vr63 veriT_vr64) :named @p_155))) :rule cong :premises (t49.t2 t49.t3)) +(step t49.t5 (cl (= @p_125 (! (member$ veriT_vr62 @p_155) :named @p_156))) :rule cong :premises (t49.t1 t49.t4)) +(anchor :step t49.t6 :args ((:= (veriT_vr61 A$) veriT_vr65))) +(step t49.t6.t1 (cl @p_158) :rule refl) +(step t49.t6.t2 (cl @p_159) :rule refl) +(step t49.t6.t3 (cl (! (= veriT_vr61 veriT_vr65) :named @p_162)) :rule refl) +(step t49.t6.t4 (cl (= @p_131 (! (fun_app$b veriT_vr63 veriT_vr65) :named @p_160))) :rule cong :premises (t49.t6.t2 t49.t6.t3)) +(step t49.t6.t5 (cl (= @p_133 (! (= veriT_vr62 @p_160) :named @p_161))) :rule cong :premises (t49.t6.t1 t49.t6.t4)) +(step t49.t6.t6 (cl @p_162) :rule refl) +(step t49.t6.t7 (cl @p_163) :rule refl) +(step t49.t6.t8 (cl (= @p_137 (! (member$a veriT_vr65 veriT_vr64) :named @p_164))) :rule cong :premises (t49.t6.t6 t49.t6.t7)) +(step t49.t6.t9 (cl (= @p_139 (! (and @p_161 @p_164) :named @p_165))) :rule cong :premises (t49.t6.t5 t49.t6.t8)) +(step t49.t6.t10 (cl (= @p_149 (! (not @p_165) :named @p_166))) :rule cong :premises (t49.t6.t9)) +(step t49.t6 (cl (= @p_148 (! (forall ((veriT_vr65 A$)) @p_166) :named @p_157))) :rule bind) +(step t49.t7 (cl (= @p_150 (! (and @p_156 @p_157) :named @p_167))) :rule cong :premises (t49.t5 t49.t6)) +(step t49.t8 (cl (= @p_152 (! (not @p_167) :named @p_168))) :rule cong :premises (t49.t7)) +(step t49 (cl (! (= @p_154 (! (forall ((veriT_vr62 B$) (veriT_vr63 A_b_fun$) (veriT_vr64 A_set$)) @p_168) :named @p_170)) :named @p_169)) :rule bind) +(step t50 (cl (not @p_169) (not @p_154) @p_170) :rule equiv_pos2) +(step t51 (cl @p_170) :rule th_resolution :premises (t48 t49 t50)) +(anchor :step t52 :args ((:= (?v0 B$) veriT_vr90) (:= (?v1 A_b_fun$) veriT_vr91) (:= (?v2 A$) veriT_vr92) (:= (?v3 A_set$) veriT_vr93))) +(step t52.t1 (cl (! (= ?v1 veriT_vr91) :named @p_181)) :rule refl) +(step t52.t2 (cl (! (= ?v2 veriT_vr92) :named @p_175)) :rule refl) +(step t52.t3 (cl (= @p_3 (! (fun_app$b veriT_vr91 veriT_vr92) :named @p_172))) :rule cong :premises (t52.t1 t52.t2)) +(step t52.t4 (cl (! (= ?v0 veriT_vr90) :named @p_180)) :rule refl) +(step t52.t5 (cl (= @p_173 (! (= veriT_vr90 @p_172) :named @p_174))) :rule cong :premises (t52.t3 t52.t4)) +(step t52.t6 (cl @p_175) :rule refl) +(step t52.t7 (cl (! (= ?v3 veriT_vr93) :named @p_182)) :rule refl) +(step t52.t8 (cl (= @p_176 (! (member$a veriT_vr92 veriT_vr93) :named @p_177))) :rule cong :premises (t52.t6 t52.t7)) +(step t52.t9 (cl (= @p_178 (! (and @p_174 @p_177) :named @p_179))) :rule cong :premises (t52.t5 t52.t8)) +(step t52.t10 (cl @p_180) :rule refl) +(step t52.t11 (cl @p_181) :rule refl) +(step t52.t12 (cl @p_182) :rule refl) +(step t52.t13 (cl (= @p_183 (! (image$b veriT_vr91 veriT_vr93) :named @p_184))) :rule cong :premises (t52.t11 t52.t12)) +(step t52.t14 (cl (= @p_185 (! (member$ veriT_vr90 @p_184) :named @p_186))) :rule cong :premises (t52.t10 t52.t13)) +(step t52.t15 (cl (= @p_187 (! (=> @p_179 @p_186) :named @p_188))) :rule cong :premises (t52.t9 t52.t14)) +(step t52 (cl (! (= @p_171 (! (forall ((veriT_vr90 B$) (veriT_vr91 A_b_fun$) (veriT_vr92 A$) (veriT_vr93 A_set$)) @p_188) :named @p_190)) :named @p_189)) :rule bind) +(step t53 (cl (not @p_189) (not @p_171) @p_190) :rule equiv_pos2) +(step t54 (cl @p_190) :rule th_resolution :premises (a44 t52 t53)) +(anchor :step t55 :args ((:= (veriT_vr90 B$) veriT_vr94) (:= (veriT_vr91 A_b_fun$) veriT_vr95) (:= (veriT_vr92 A$) veriT_vr96) (:= (veriT_vr93 A_set$) veriT_vr97))) +(step t55.t1 (cl (! (= veriT_vr90 veriT_vr94) :named @p_196)) :rule refl) +(step t55.t2 (cl (! (= veriT_vr91 veriT_vr95) :named @p_197)) :rule refl) +(step t55.t3 (cl (! (= veriT_vr92 veriT_vr96) :named @p_193)) :rule refl) +(step t55.t4 (cl (= @p_172 (! (fun_app$b veriT_vr95 veriT_vr96) :named @p_191))) :rule cong :premises (t55.t2 t55.t3)) +(step t55.t5 (cl (= @p_174 (! (= veriT_vr94 @p_191) :named @p_192))) :rule cong :premises (t55.t1 t55.t4)) +(step t55.t6 (cl @p_193) :rule refl) +(step t55.t7 (cl (! (= veriT_vr93 veriT_vr97) :named @p_198)) :rule refl) +(step t55.t8 (cl (= @p_177 (! (member$a veriT_vr96 veriT_vr97) :named @p_194))) :rule cong :premises (t55.t6 t55.t7)) +(step t55.t9 (cl (= @p_179 (! (and @p_192 @p_194) :named @p_195))) :rule cong :premises (t55.t5 t55.t8)) +(step t55.t10 (cl @p_196) :rule refl) +(step t55.t11 (cl @p_197) :rule refl) +(step t55.t12 (cl @p_198) :rule refl) +(step t55.t13 (cl (= @p_184 (! (image$b veriT_vr95 veriT_vr97) :named @p_199))) :rule cong :premises (t55.t11 t55.t12)) +(step t55.t14 (cl (= @p_186 (! (member$ veriT_vr94 @p_199) :named @p_200))) :rule cong :premises (t55.t10 t55.t13)) +(step t55.t15 (cl (= @p_188 (! (=> @p_195 @p_200) :named @p_201))) :rule cong :premises (t55.t9 t55.t14)) +(step t55 (cl (! (= @p_190 (! (forall ((veriT_vr94 B$) (veriT_vr95 A_b_fun$) (veriT_vr96 A$) (veriT_vr97 A_set$)) @p_201) :named @p_203)) :named @p_202)) :rule bind) +(step t56 (cl (not @p_202) (not @p_190) @p_203) :rule equiv_pos2) +(step t57 (cl @p_203) :rule th_resolution :premises (t54 t55 t56)) +(anchor :step t58 :args ((:= (?v0 A_b_fun$) veriT_vr114) (:= (?v1 A_set$) veriT_vr115))) +(step t58.t1 (cl (= ?v0 veriT_vr114)) :rule refl) +(step t58.t2 (cl (! (= ?v1 veriT_vr115) :named @p_209)) :rule refl) +(step t58.t3 (cl (= @p_205 (! (image$b veriT_vr114 veriT_vr115) :named @p_206))) :rule cong :premises (t58.t1 t58.t2)) +(step t58.t4 (cl (= @p_207 (! (= bot$ @p_206) :named @p_208))) :rule cong :premises (t58.t3)) +(step t58.t5 (cl @p_209) :rule refl) +(step t58.t6 (cl (= @p_210 (! (= bot$a veriT_vr115) :named @p_211))) :rule cong :premises (t58.t5)) +(step t58.t7 (cl (= @p_212 (! (= @p_208 @p_211) :named @p_213))) :rule cong :premises (t58.t4 t58.t6)) +(step t58 (cl (! (= @p_204 (! (forall ((veriT_vr114 A_b_fun$) (veriT_vr115 A_set$)) @p_213) :named @p_215)) :named @p_214)) :rule bind) +(step t59 (cl (not @p_214) (not @p_204) @p_215) :rule equiv_pos2) +(step t60 (cl @p_215) :rule th_resolution :premises (a48 t58 t59)) +(anchor :step t61 :args ((:= (veriT_vr114 A_b_fun$) veriT_vr116) (:= (veriT_vr115 A_set$) veriT_vr117))) +(step t61.t1 (cl (= veriT_vr114 veriT_vr116)) :rule refl) +(step t61.t2 (cl (! (= veriT_vr115 veriT_vr117) :named @p_218)) :rule refl) +(step t61.t3 (cl (= @p_206 (! (image$b veriT_vr116 veriT_vr117) :named @p_216))) :rule cong :premises (t61.t1 t61.t2)) +(step t61.t4 (cl (= @p_208 (! (= bot$ @p_216) :named @p_217))) :rule cong :premises (t61.t3)) +(step t61.t5 (cl @p_218) :rule refl) +(step t61.t6 (cl (= @p_211 (! (= bot$a veriT_vr117) :named @p_219))) :rule cong :premises (t61.t5)) +(step t61.t7 (cl (= @p_213 (! (= @p_217 @p_219) :named @p_220))) :rule cong :premises (t61.t4 t61.t6)) +(step t61 (cl (! (= @p_215 (! (forall ((veriT_vr116 A_b_fun$) (veriT_vr117 A_set$)) @p_220) :named @p_222)) :named @p_221)) :rule bind) +(step t62 (cl (not @p_221) (not @p_215) @p_222) :rule equiv_pos2) +(step t63 (cl @p_222) :rule th_resolution :premises (t60 t61 t62)) +(anchor :step t64 :args ((:= (?v0 B_c_fun$) veriT_vr122) (:= (?v1 B_set$) veriT_vr123) (:= (?v2 B$) veriT_vr124) (:= (?v3 B$) veriT_vr125))) +(step t64.t1 (cl (! (= ?v0 veriT_vr122) :named @p_226)) :rule refl) +(step t64.t2 (cl (! (= ?v1 veriT_vr123) :named @p_234)) :rule refl) +(step t64.t3 (cl (= @p_224 (! (inj_on$ veriT_vr122 veriT_vr123) :named @p_225))) :rule cong :premises (t64.t1 t64.t2)) +(step t64.t4 (cl @p_226) :rule refl) +(step t64.t5 (cl (! (= ?v2 veriT_vr124) :named @p_233)) :rule refl) +(step t64.t6 (cl (= @p_227 (! (fun_app$ veriT_vr122 veriT_vr124) :named @p_228))) :rule cong :premises (t64.t4 t64.t5)) +(step t64.t7 (cl @p_226) :rule refl) +(step t64.t8 (cl (! (= ?v3 veriT_vr125) :named @p_237)) :rule refl) +(step t64.t9 (cl (= @p_229 (! (fun_app$ veriT_vr122 veriT_vr125) :named @p_230))) :rule cong :premises (t64.t7 t64.t8)) +(step t64.t10 (cl (= @p_231 (! (= @p_228 @p_230) :named @p_232))) :rule cong :premises (t64.t6 t64.t9)) +(step t64.t11 (cl @p_233) :rule refl) +(step t64.t12 (cl @p_234) :rule refl) +(step t64.t13 (cl (= @p_235 (! (member$ veriT_vr124 veriT_vr123) :named @p_236))) :rule cong :premises (t64.t11 t64.t12)) +(step t64.t14 (cl @p_237) :rule refl) +(step t64.t15 (cl @p_234) :rule refl) +(step t64.t16 (cl (= @p_238 (! (member$ veriT_vr125 veriT_vr123) :named @p_239))) :rule cong :premises (t64.t14 t64.t15)) +(step t64.t17 (cl (= @p_240 (! (and @p_236 @p_239) :named @p_241))) :rule cong :premises (t64.t13 t64.t16)) +(step t64.t18 (cl (= @p_242 (! (and @p_232 @p_241) :named @p_243))) :rule cong :premises (t64.t10 t64.t17)) +(step t64.t19 (cl (= @p_244 (! (and @p_225 @p_243) :named @p_245))) :rule cong :premises (t64.t3 t64.t18)) +(step t64.t20 (cl @p_237) :rule refl) +(step t64.t21 (cl @p_233) :rule refl) +(step t64.t22 (cl (= @p_246 (! (= veriT_vr124 veriT_vr125) :named @p_247))) :rule cong :premises (t64.t20 t64.t21)) +(step t64.t23 (cl (= @p_248 (! (=> @p_245 @p_247) :named @p_249))) :rule cong :premises (t64.t19 t64.t22)) +(step t64 (cl (! (= @p_223 (! (forall ((veriT_vr122 B_c_fun$) (veriT_vr123 B_set$) (veriT_vr124 B$) (veriT_vr125 B$)) @p_249) :named @p_251)) :named @p_250)) :rule bind) +(step t65 (cl (not @p_250) (not @p_223) @p_251) :rule equiv_pos2) +(step t66 (cl @p_251) :rule th_resolution :premises (a50 t64 t65)) +(anchor :step t67 :args ((veriT_vr122 B_c_fun$) (veriT_vr123 B_set$) (veriT_vr124 B$) (veriT_vr125 B$))) +(step t67.t1 (cl (= @p_245 (! (and @p_225 @p_232 @p_236 @p_239) :named @p_252))) :rule ac_simp) +(step t67.t2 (cl (= @p_249 (! (=> @p_252 @p_247) :named @p_253))) :rule cong :premises (t67.t1)) +(step t67 (cl (! (= @p_251 (! (forall ((veriT_vr122 B_c_fun$) (veriT_vr123 B_set$) (veriT_vr124 B$) (veriT_vr125 B$)) @p_253) :named @p_255)) :named @p_254)) :rule bind) +(step t68 (cl (not @p_254) (not @p_251) @p_255) :rule equiv_pos2) +(step t69 (cl @p_255) :rule th_resolution :premises (t66 t67 t68)) +(anchor :step t70 :args ((:= (veriT_vr122 B_c_fun$) veriT_vr126) (:= (veriT_vr123 B_set$) veriT_vr127) (:= (veriT_vr124 B$) veriT_vr128) (:= (veriT_vr125 B$) veriT_vr129))) +(step t70.t1 (cl (! (= veriT_vr122 veriT_vr126) :named @p_257)) :rule refl) +(step t70.t2 (cl (! (= veriT_vr123 veriT_vr127) :named @p_262)) :rule refl) +(step t70.t3 (cl (= @p_225 (! (inj_on$ veriT_vr126 veriT_vr127) :named @p_256))) :rule cong :premises (t70.t1 t70.t2)) +(step t70.t4 (cl @p_257) :rule refl) +(step t70.t5 (cl (! (= veriT_vr124 veriT_vr128) :named @p_261)) :rule refl) +(step t70.t6 (cl (= @p_228 (! (fun_app$ veriT_vr126 veriT_vr128) :named @p_258))) :rule cong :premises (t70.t4 t70.t5)) +(step t70.t7 (cl @p_257) :rule refl) +(step t70.t8 (cl (! (= veriT_vr125 veriT_vr129) :named @p_264)) :rule refl) +(step t70.t9 (cl (= @p_230 (! (fun_app$ veriT_vr126 veriT_vr129) :named @p_259))) :rule cong :premises (t70.t7 t70.t8)) +(step t70.t10 (cl (= @p_232 (! (= @p_258 @p_259) :named @p_260))) :rule cong :premises (t70.t6 t70.t9)) +(step t70.t11 (cl @p_261) :rule refl) +(step t70.t12 (cl @p_262) :rule refl) +(step t70.t13 (cl (= @p_236 (! (member$ veriT_vr128 veriT_vr127) :named @p_263))) :rule cong :premises (t70.t11 t70.t12)) +(step t70.t14 (cl @p_264) :rule refl) +(step t70.t15 (cl @p_262) :rule refl) +(step t70.t16 (cl (= @p_239 (! (member$ veriT_vr129 veriT_vr127) :named @p_265))) :rule cong :premises (t70.t14 t70.t15)) +(step t70.t17 (cl (= @p_252 (! (and @p_256 @p_260 @p_263 @p_265) :named @p_266))) :rule cong :premises (t70.t3 t70.t10 t70.t13 t70.t16)) +(step t70.t18 (cl @p_261) :rule refl) +(step t70.t19 (cl @p_264) :rule refl) +(step t70.t20 (cl (= @p_247 (! (= veriT_vr128 veriT_vr129) :named @p_267))) :rule cong :premises (t70.t18 t70.t19)) +(step t70.t21 (cl (= @p_253 (! (=> @p_266 @p_267) :named @p_268))) :rule cong :premises (t70.t17 t70.t20)) +(step t70 (cl (! (= @p_255 (! (forall ((veriT_vr126 B_c_fun$) (veriT_vr127 B_set$) (veriT_vr128 B$) (veriT_vr129 B$)) @p_268) :named @p_270)) :named @p_269)) :rule bind) +(step t71 (cl (not @p_269) (not @p_255) @p_270) :rule equiv_pos2) +(step t72 (cl @p_270) :rule th_resolution :premises (t69 t70 t71)) +(anchor :step t73 :args ((:= (?v0 C$) veriT_vr130) (:= (?v1 C$) veriT_vr131))) +(step t73.t1 (cl (! (= ?v0 veriT_vr130) :named @p_274)) :rule refl) +(step t73.t2 (cl (! (= ?v1 veriT_vr131) :named @p_275)) :rule refl) +(step t73.t3 (cl (= @p_272 (! (less$ veriT_vr130 veriT_vr131) :named @p_273))) :rule cong :premises (t73.t1 t73.t2)) +(step t73.t4 (cl @p_274) :rule refl) +(step t73.t5 (cl @p_275) :rule refl) +(step t73.t6 (cl (= @p_276 (! (less_eq$ veriT_vr130 veriT_vr131) :named @p_277))) :rule cong :premises (t73.t4 t73.t5)) +(step t73.t7 (cl @p_274) :rule refl) +(step t73.t8 (cl @p_275) :rule refl) +(step t73.t9 (cl (= @p_278 (! (= veriT_vr130 veriT_vr131) :named @p_279))) :rule cong :premises (t73.t7 t73.t8)) +(step t73.t10 (cl (= @p_280 (! (not @p_279) :named @p_281))) :rule cong :premises (t73.t9)) +(step t73.t11 (cl (= @p_282 (! (and @p_277 @p_281) :named @p_283))) :rule cong :premises (t73.t6 t73.t10)) +(step t73.t12 (cl (= @p_284 (! (= @p_273 @p_283) :named @p_285))) :rule cong :premises (t73.t3 t73.t11)) +(step t73 (cl (! (= @p_271 (! (forall ((veriT_vr130 C$) (veriT_vr131 C$)) @p_285) :named @p_287)) :named @p_286)) :rule bind) +(step t74 (cl (not @p_286) (not @p_271) @p_287) :rule equiv_pos2) +(step t75 (cl @p_287) :rule th_resolution :premises (a51 t73 t74)) +(anchor :step t76 :args ((:= (veriT_vr130 C$) veriT_vr132) (:= (veriT_vr131 C$) veriT_vr133))) +(step t76.t1 (cl (! (= veriT_vr130 veriT_vr132) :named @p_289)) :rule refl) +(step t76.t2 (cl (! (= veriT_vr131 veriT_vr133) :named @p_290)) :rule refl) +(step t76.t3 (cl (= @p_273 (! (less$ veriT_vr132 veriT_vr133) :named @p_288))) :rule cong :premises (t76.t1 t76.t2)) +(step t76.t4 (cl @p_289) :rule refl) +(step t76.t5 (cl @p_290) :rule refl) +(step t76.t6 (cl (= @p_277 (! (less_eq$ veriT_vr132 veriT_vr133) :named @p_291))) :rule cong :premises (t76.t4 t76.t5)) +(step t76.t7 (cl @p_289) :rule refl) +(step t76.t8 (cl @p_290) :rule refl) +(step t76.t9 (cl (= @p_279 (! (= veriT_vr132 veriT_vr133) :named @p_292))) :rule cong :premises (t76.t7 t76.t8)) +(step t76.t10 (cl (= @p_281 (! (not @p_292) :named @p_293))) :rule cong :premises (t76.t9)) +(step t76.t11 (cl (= @p_283 (! (and @p_291 @p_293) :named @p_294))) :rule cong :premises (t76.t6 t76.t10)) +(step t76.t12 (cl (= @p_285 (! (= @p_288 @p_294) :named @p_295))) :rule cong :premises (t76.t3 t76.t11)) +(step t76 (cl (! (= @p_287 (! (forall ((veriT_vr132 C$) (veriT_vr133 C$)) @p_295) :named @p_297)) :named @p_296)) :rule bind) +(step t77 (cl (not @p_296) (not @p_287) @p_297) :rule equiv_pos2) +(step t78 (cl @p_297) :rule th_resolution :premises (t75 t76 t77)) +(anchor :step t79 :args ((:= (?v0 A$) veriT_vr134))) +(step t79.t1 (cl (! (= ?v0 veriT_vr134) :named @p_302)) :rule refl) +(step t79.t2 (cl (= @p_300 (! (member$a veriT_vr134 b$) :named @p_301))) :rule cong :premises (t79.t1)) +(step t79.t3 (cl @p_302) :rule refl) +(step t79.t4 (cl (= @p_303 (! (fun_app$a @p_4 veriT_vr134) :named @p_304))) :rule cong :premises (t79.t3)) +(step t79.t5 (cl (= @p_305 (! (less$ @p_304 @p_299) :named @p_306))) :rule cong :premises (t79.t4)) +(step t79.t6 (cl (= @p_307 (! (and @p_301 @p_306) :named @p_308))) :rule cong :premises (t79.t2 t79.t5)) +(step t79 (cl (= @p_298 (! (exists ((veriT_vr134 A$)) @p_308) :named @p_310))) :rule bind) +(step t80 (cl (! (= @p_309 (! (not @p_310) :named @p_312)) :named @p_311)) :rule cong :premises (t79)) +(step t81 (cl (! (not @p_311) :named @p_314) (! (not @p_309) :named @p_313) @p_312) :rule equiv_pos2) +(step t82 (cl (not @p_313) @p_298) :rule not_not) +(step t83 (cl @p_314 @p_298 @p_312) :rule th_resolution :premises (t82 t81)) +(step t84 (cl @p_312) :rule th_resolution :premises (a27 t80 t83)) +(anchor :step t85 :args ((:= (veriT_vr134 A$) veriT_vr135))) +(step t85.t1 (cl (! (= veriT_vr134 veriT_vr135) :named @p_316)) :rule refl) +(step t85.t2 (cl (= @p_301 (! (member$a veriT_vr135 b$) :named @p_315))) :rule cong :premises (t85.t1)) +(step t85.t3 (cl @p_316) :rule refl) +(step t85.t4 (cl (= @p_304 (! (fun_app$a @p_4 veriT_vr135) :named @p_317))) :rule cong :premises (t85.t3)) +(step t85.t5 (cl (= @p_306 (! (less$ @p_317 @p_299) :named @p_318))) :rule cong :premises (t85.t4)) +(step t85.t6 (cl (= @p_308 (! (and @p_315 @p_318) :named @p_319))) :rule cong :premises (t85.t2 t85.t5)) +(step t85 (cl (= @p_310 (! (exists ((veriT_vr135 A$)) @p_319) :named @p_320))) :rule bind) +(step t86 (cl (! (= @p_312 (! (not @p_320) :named @p_322)) :named @p_321)) :rule cong :premises (t85)) +(step t87 (cl (! (not @p_321) :named @p_324) (! (not @p_312) :named @p_323) @p_322) :rule equiv_pos2) +(step t88 (cl (not @p_323) @p_310) :rule not_not) +(step t89 (cl @p_324 @p_310 @p_322) :rule th_resolution :premises (t88 t87)) +(step t90 (cl @p_322) :rule th_resolution :premises (t84 t86 t89)) +(step t91 (cl (= @p_320 (! (not (! (forall ((veriT_vr135 A$)) (not @p_319)) :named @p_330)) :named @p_325))) :rule connective_def) +(step t92 (cl (! (= @p_322 (! (not @p_325) :named @p_327)) :named @p_326)) :rule cong :premises (t91)) +(step t93 (cl (! (not @p_326) :named @p_329) (! (not @p_322) :named @p_328) @p_327) :rule equiv_pos2) +(step t94 (cl (not @p_328) @p_320) :rule not_not) +(step t95 (cl @p_329 @p_320 @p_327) :rule th_resolution :premises (t94 t93)) +(step t96 (cl (not @p_327) @p_330) :rule not_not) +(step t97 (cl @p_329 @p_320 @p_330) :rule th_resolution :premises (t96 t95)) +(step t98 (cl @p_327) :rule th_resolution :premises (t90 t92 t97)) +(step t99 (cl @p_330) :rule th_resolution :premises (t96 t98)) +(step t100 (cl (or (! (not @p_203) :named @p_421) (! (forall ((veriT_vr94 B$) (veriT_vr95 A_b_fun$) (veriT_vr96 A$) (veriT_vr97 A_set$)) (or (not @p_192) (not @p_194) @p_200)) :named @p_422))) :rule qnt_cnf) +(step t101 (cl (or (! (not @p_222) :named @p_339) (! (= (! (= bot$ @p_6) :named @p_335) @p_331) :named @p_337))) :rule forall_inst :args ((:= veriT_vr116 g$) (:= veriT_vr117 b$))) +(step t102 (cl (or (! (not @p_120) :named @p_342) (! (=> @p_332 (! (finite$ @p_6) :named @p_334)) :named @p_341))) :rule forall_inst :args ((:= veriT_vr36 b$) (:= veriT_vr37 g$))) +(step t103 (cl (or (! (not @p_101) :named @p_344) (! (= @p_299 (! (fun_app$ f$ @p_333) :named @p_354)) :named @p_345))) :rule forall_inst :args ((:= veriT_vr23 f$) (:= veriT_vr24 g$) (:= veriT_vr25 @p_5))) +(step t104 (cl (or (! (not @p_32) :named @p_351) (! (=> (! (and @p_334 (! (not @p_335) :named @p_338)) :named @p_346) (! (member$ @p_336 @p_6) :named @p_350)) :named @p_349))) :rule forall_inst :args ((:= veriT_vr2 @p_6) (:= veriT_vr3 f$))) +(step t105 (cl (! (not @p_337) :named @p_340) @p_338 @p_331) :rule equiv_pos2) +(step t106 (cl @p_339 @p_337) :rule or :premises (t101)) +(step t107 (cl @p_340 @p_338) :rule resolution :premises (t105 a25)) +(step t108 (cl @p_337) :rule resolution :premises (t106 t63)) +(step t109 (cl @p_338) :rule resolution :premises (t107 t108)) +(step t110 (cl (! (not @p_341) :named @p_343) (not @p_332) @p_334) :rule implies_pos) +(step t111 (cl @p_342 @p_341) :rule or :premises (t102)) +(step t112 (cl @p_343 @p_334) :rule resolution :premises (t110 a24)) +(step t113 (cl @p_341) :rule resolution :premises (t111 t42)) +(step t114 (cl @p_334) :rule resolution :premises (t112 t113)) +(step t115 (cl @p_344 @p_345) :rule or :premises (t103)) +(step t116 (cl @p_345) :rule resolution :premises (t115 t36)) +(step t117 (cl @p_346 (! (not @p_334) :named @p_348) (! (not @p_338) :named @p_347)) :rule and_neg) +(step t118 (cl (not @p_347) @p_335) :rule not_not) +(step t119 (cl @p_346 @p_348 @p_335) :rule th_resolution :premises (t118 t117)) +(step t120 (cl (! (not @p_349) :named @p_352) (not @p_346) @p_350) :rule implies_pos) +(step t121 (cl @p_351 @p_349) :rule or :premises (t104)) +(step t122 (cl @p_346) :rule resolution :premises (t119 t109 t114)) +(step t123 (cl @p_352 @p_350) :rule resolution :premises (t120 t122)) +(step t124 (cl @p_349) :rule resolution :premises (t121 t21)) +(step t125 (cl @p_350) :rule resolution :premises (t123 t124)) +(step t126 (cl (or (! (not @p_270) :named @p_410) (! (=> (! (and @p_353 (! (= @p_354 (! (fun_app$ f$ @p_336) :named @p_406)) :named @p_408) @p_350 (! (member$ @p_333 @p_6) :named @p_405)) :named @p_407) @p_355) :named @p_409))) :rule forall_inst :args ((:= veriT_vr126 f$) (:= veriT_vr127 @p_6) (:= veriT_vr128 @p_336) (:= veriT_vr129 @p_333))) +(step t127 (cl (or (! (not @p_170) :named @p_401) (! (not (! (and @p_350 (! (forall ((veriT_vr65 A$)) (! (not (! (and (! (= @p_336 (! (fun_app$b g$ veriT_vr65) :named @p_359)) :named @p_361) (! (member$a veriT_vr65 b$) :named @p_364)) :named @p_366)) :named @p_368)) :named @p_358)) :named @p_370)) :named @p_356))) :rule forall_inst :args ((:= veriT_vr62 @p_336) (:= veriT_vr63 g$) (:= veriT_vr64 b$))) +(anchor :step t128) +(assume t128.h1 @p_356) +(anchor :step t128.t2 :args ((:= (veriT_vr65 A$) veriT_vr144))) +(step t128.t2.t1 (cl (! (= veriT_vr65 veriT_vr144) :named @p_363)) :rule refl) +(step t128.t2.t2 (cl (= @p_359 (! (fun_app$b g$ veriT_vr144) :named @p_360))) :rule cong :premises (t128.t2.t1)) +(step t128.t2.t3 (cl (= @p_361 (! (= @p_336 @p_360) :named @p_362))) :rule cong :premises (t128.t2.t2)) +(step t128.t2.t4 (cl @p_363) :rule refl) +(step t128.t2.t5 (cl (= @p_364 (! (member$a veriT_vr144 b$) :named @p_365))) :rule cong :premises (t128.t2.t4)) +(step t128.t2.t6 (cl (= @p_366 (! (and @p_362 @p_365) :named @p_367))) :rule cong :premises (t128.t2.t3 t128.t2.t5)) +(step t128.t2.t7 (cl (= @p_368 (! (not @p_367) :named @p_369))) :rule cong :premises (t128.t2.t6)) +(step t128.t2 (cl (= @p_358 (! (forall ((veriT_vr144 A$)) @p_369) :named @p_371))) :rule bind) +(step t128.t3 (cl (= @p_370 (! (and @p_350 @p_371) :named @p_372))) :rule cong :premises (t128.t2)) +(step t128.t4 (cl (! (= @p_356 (! (not @p_372) :named @p_375)) :named @p_373)) :rule cong :premises (t128.t3)) +(step t128.t5 (cl (! (not @p_373) :named @p_376) (! (not @p_356) :named @p_374) @p_375) :rule equiv_pos2) +(step t128.t6 (cl (! (not @p_374) :named @p_400) @p_370) :rule not_not) +(step t128.t7 (cl @p_376 @p_370 @p_375) :rule th_resolution :premises (t128.t6 t128.t5)) +(step t128.t8 (cl @p_375) :rule th_resolution :premises (t128.h1 t128.t4 t128.t7)) +(anchor :step t128.t9 :args ((:= (veriT_vr144 A$) veriT_vr145))) +(step t128.t9.t1 (cl (! (= veriT_vr144 veriT_vr145) :named @p_380)) :rule refl) +(step t128.t9.t2 (cl (= @p_360 @p_378)) :rule cong :premises (t128.t9.t1)) +(step t128.t9.t3 (cl (= @p_362 @p_379)) :rule cong :premises (t128.t9.t2)) +(step t128.t9.t4 (cl @p_380) :rule refl) +(step t128.t9.t5 (cl (= @p_365 @p_381)) :rule cong :premises (t128.t9.t4)) +(step t128.t9.t6 (cl (= @p_367 @p_382)) :rule cong :premises (t128.t9.t3 t128.t9.t5)) +(step t128.t9.t7 (cl (= @p_369 @p_377)) :rule cong :premises (t128.t9.t6)) +(step t128.t9 (cl (= @p_371 (! (forall ((veriT_vr145 A$)) @p_377) :named @p_383))) :rule bind) +(step t128.t10 (cl (= @p_372 (! (and @p_350 @p_383) :named @p_384))) :rule cong :premises (t128.t9)) +(step t128.t11 (cl (! (= @p_375 (! (not @p_384) :named @p_386)) :named @p_385)) :rule cong :premises (t128.t10)) +(step t128.t12 (cl (! (not @p_385) :named @p_388) (! (not @p_375) :named @p_387) @p_386) :rule equiv_pos2) +(step t128.t13 (cl (not @p_387) @p_372) :rule not_not) +(step t128.t14 (cl @p_388 @p_372 @p_386) :rule th_resolution :premises (t128.t13 t128.t12)) +(step t128.t15 (cl @p_386) :rule th_resolution :premises (t128.t8 t128.t11 t128.t14)) +(anchor :step t128.t16 :args ((:= (veriT_vr145 A$) veriT_sk0))) +(step t128.t16.t1 (cl (! (= veriT_vr145 veriT_sk0) :named @p_392)) :rule refl) +(step t128.t16.t2 (cl (= @p_378 (! (fun_app$b g$ veriT_sk0) :named @p_390))) :rule cong :premises (t128.t16.t1)) +(step t128.t16.t3 (cl (= @p_379 (! (= @p_336 @p_390) :named @p_391))) :rule cong :premises (t128.t16.t2)) +(step t128.t16.t4 (cl @p_392) :rule refl) +(step t128.t16.t5 (cl (= @p_381 (! (member$a veriT_sk0 b$) :named @p_393))) :rule cong :premises (t128.t16.t4)) +(step t128.t16.t6 (cl (= @p_382 (! (and @p_391 @p_393) :named @p_394))) :rule cong :premises (t128.t16.t3 t128.t16.t5)) +(step t128.t16.t7 (cl (= @p_377 (! (not @p_394) :named @p_389))) :rule cong :premises (t128.t16.t6)) +(step t128.t16 (cl (= @p_383 @p_389)) :rule sko_forall) +(step t128.t17 (cl (= @p_384 (! (and @p_350 @p_389) :named @p_395))) :rule cong :premises (t128.t16)) +(step t128.t18 (cl (! (= @p_386 (! (not @p_395) :named @p_396)) :named @p_397)) :rule cong :premises (t128.t17)) +(step t128.t19 (cl (! (not @p_397) :named @p_399) (! (not @p_386) :named @p_398) @p_396) :rule equiv_pos2) +(step t128.t20 (cl (not @p_398) @p_384) :rule not_not) +(step t128.t21 (cl @p_399 @p_384 @p_396) :rule th_resolution :premises (t128.t20 t128.t19)) +(step t128.t22 (cl @p_396) :rule th_resolution :premises (t128.t15 t128.t18 t128.t21)) +(step t128 (cl @p_374 @p_396) :rule subproof :discharge (h1)) +(step t129 (cl @p_400 @p_370) :rule not_not) +(step t130 (cl @p_370 @p_396) :rule th_resolution :premises (t129 t128)) +(step t131 (cl @p_401 @p_356) :rule or :premises (t127)) +(step t132 (cl (! (or @p_401 @p_396) :named @p_403) (! (not @p_401) :named @p_402)) :rule or_neg) +(step t133 (cl (not @p_402) @p_170) :rule not_not) +(step t134 (cl @p_403 @p_170) :rule th_resolution :premises (t133 t132)) +(step t135 (cl @p_403 (! (not @p_396) :named @p_404)) :rule or_neg) +(step t136 (cl (not @p_404) @p_395) :rule not_not) +(step t137 (cl @p_403 @p_395) :rule th_resolution :premises (t136 t135)) +(step t138 (cl @p_403) :rule th_resolution :premises (t131 t130 t134 t137)) +(step t139 (cl (or (! (not @p_76) :named @p_420) (! (=> (! (and @p_334 @p_338 @p_405) :named @p_417) (! (less_eq$ @p_406 @p_354) :named @p_419)) :named @p_418))) :rule forall_inst :args ((:= veriT_vr11 @p_6) (:= veriT_vr12 @p_333) (:= veriT_vr13 f$))) +(step t140 (cl @p_407 (not @p_353) (! (not @p_408) :named @p_411) (! (not @p_350) :named @p_415) (! (not @p_405) :named @p_412)) :rule and_neg) +(step t141 (cl (! (not @p_409) :named @p_413) (! (not @p_407) :named @p_414) @p_355) :rule implies_pos) +(step t142 (cl @p_410 @p_409) :rule or :premises (t126)) +(step t143 (cl @p_407 @p_411 @p_412) :rule resolution :premises (t140 a23 t125)) +(step t144 (cl @p_413 @p_414) :rule resolution :premises (t141 a52)) +(step t145 (cl @p_409) :rule resolution :premises (t142 t72)) +(step t146 (cl @p_414) :rule resolution :premises (t144 t145)) +(step t147 (cl @p_389 @p_391) :rule and_pos) +(step t148 (cl @p_389 @p_393) :rule and_pos) +(step t149 (cl @p_395 @p_415 (! (not @p_389) :named @p_416)) :rule and_neg) +(step t150 (cl (not @p_416) @p_394) :rule not_not) +(step t151 (cl @p_395 @p_415 @p_394) :rule th_resolution :premises (t150 t149)) +(step t152 (cl @p_401 @p_396) :rule or :premises (t138)) +(step t153 (cl @p_395 @p_394) :rule resolution :premises (t151 t125)) +(step t154 (cl @p_396) :rule resolution :premises (t152 t51)) +(step t155 (cl @p_394) :rule resolution :premises (t153 t154)) +(step t156 (cl @p_391) :rule resolution :premises (t147 t155)) +(step t157 (cl @p_393) :rule resolution :premises (t148 t155)) +(step t158 (cl @p_417 @p_348 @p_347 @p_412) :rule and_neg) +(step t159 (cl @p_417 @p_348 @p_335 @p_412) :rule th_resolution :premises (t118 t158)) +(step t160 (cl (not @p_418) (not @p_417) @p_419) :rule implies_pos) +(step t161 (cl @p_420 @p_418) :rule or :premises (t139)) +(step t162 (cl @p_417 @p_412) :rule resolution :premises (t159 t109 t114)) +(step t163 (cl @p_418) :rule resolution :premises (t161 t30)) +(step t164 (cl @p_421 @p_422) :rule or :premises (t100)) +(step t165 (cl (or (! (not @p_422) :named @p_424) (! (or (! (not (! (= @p_333 @p_333) :named @p_430)) :named @p_431) (! (not @p_423) :named @p_429) @p_405) :named @p_425))) :rule forall_inst :args ((:= veriT_vr94 @p_333) (:= veriT_vr95 g$) (:= veriT_vr96 @p_5) (:= veriT_vr97 b$))) +(step t166 (cl @p_424 @p_425) :rule or :premises (t165)) +(step t167 (cl (! (or @p_421 @p_425) :named @p_427) (! (not @p_421) :named @p_426)) :rule or_neg) +(step t168 (cl (not @p_426) @p_203) :rule not_not) +(step t169 (cl @p_427 @p_203) :rule th_resolution :premises (t168 t167)) +(step t170 (cl @p_427 (! (not @p_425) :named @p_428)) :rule or_neg) +(step t171 (cl @p_427) :rule th_resolution :premises (t164 t166 t169 t170)) +(anchor :step t172) +(assume t172.h1 @p_425) +(step t172.t2 (cl (= @p_430 true)) :rule eq_simplify) +(step t172.t3 (cl (= @p_431 (! (not true) :named @p_432))) :rule cong :premises (t172.t2)) +(step t172.t4 (cl (= @p_432 false)) :rule not_simplify) +(step t172.t5 (cl (= @p_431 false)) :rule trans :premises (t172.t3 t172.t4)) +(step t172.t6 (cl (= @p_425 (! (or false @p_429 @p_405) :named @p_433))) :rule cong :premises (t172.t5)) +(step t172.t7 (cl (= @p_433 (! (or @p_429 @p_405) :named @p_434))) :rule or_simplify) +(step t172.t8 (cl (! (= @p_425 @p_434) :named @p_435)) :rule trans :premises (t172.t6 t172.t7)) +(step t172.t9 (cl (not @p_435) @p_428 @p_434) :rule equiv_pos2) +(step t172.t10 (cl @p_434) :rule th_resolution :premises (t172.h1 t172.t8 t172.t9)) +(step t172 (cl @p_428 @p_434) :rule subproof :discharge (h1)) +(step t173 (cl @p_421 @p_425) :rule or :premises (t171)) +(step t174 (cl (! (or @p_421 @p_434) :named @p_436) @p_426) :rule or_neg) +(step t175 (cl @p_436 @p_203) :rule th_resolution :premises (t168 t174)) +(step t176 (cl @p_436 (! (not @p_434) :named @p_437)) :rule or_neg) +(step t177 (cl @p_436) :rule th_resolution :premises (t173 t172 t175 t176)) +(step t178 (cl @p_437 @p_429 @p_405) :rule or_pos) +(step t179 (cl @p_421 @p_434) :rule or :premises (t177)) +(step t180 (cl @p_437 @p_405) :rule resolution :premises (t178 a26)) +(step t181 (cl @p_434) :rule resolution :premises (t179 t57)) +(step t182 (cl @p_405) :rule resolution :premises (t180 t181)) +(step t183 (cl @p_411) :rule resolution :premises (t143 t182 t146)) +(step t184 (cl @p_417) :rule resolution :premises (t162 t182)) +(step t185 (cl @p_419) :rule resolution :premises (t160 t184 t163)) +(step t186 (cl (or @p_325 (! (not (! (and @p_393 (! (less$ (! (fun_app$a @p_4 veriT_sk0) :named @p_438) @p_299) :named @p_440)) :named @p_439)) :named @p_441))) :rule forall_inst :args ((:= veriT_vr135 veriT_sk0))) +(step t187 (cl (or (! (not @p_297) :named @p_448) (! (= (! (less$ @p_406 @p_354) :named @p_447) (! (and @p_419 @p_411) :named @p_443)) :named @p_446))) :rule forall_inst :args ((:= veriT_vr132 @p_406) (:= veriT_vr133 @p_354))) +(step t188 (cl (or @p_344 (! (= @p_438 (! (fun_app$ f$ @p_390) :named @p_451)) :named @p_450))) :rule forall_inst :args ((:= veriT_vr23 f$) (:= veriT_vr24 g$) (:= veriT_vr25 veriT_sk0))) +(step t189 (cl @p_439 (not @p_393) (! (not @p_440) :named @p_442)) :rule and_neg) +(step t190 (cl @p_325 @p_441) :rule or :premises (t186)) +(step t191 (cl @p_439 @p_442) :rule resolution :premises (t189 t157)) +(step t192 (cl @p_441) :rule resolution :premises (t190 t99)) +(step t193 (cl @p_442) :rule resolution :premises (t191 t192)) +(step t194 (cl @p_443 (! (not @p_419) :named @p_445) (! (not @p_411) :named @p_444)) :rule and_neg) +(step t195 (cl (not @p_444) @p_408) :rule not_not) +(step t196 (cl @p_443 @p_445 @p_408) :rule th_resolution :premises (t195 t194)) +(step t197 (cl (! (not @p_446) :named @p_449) @p_447 (not @p_443)) :rule equiv_pos1) +(step t198 (cl @p_448 @p_446) :rule or :premises (t187)) +(step t199 (cl @p_443) :rule resolution :premises (t196 t183 t185)) +(step t200 (cl @p_449 @p_447) :rule resolution :premises (t197 t199)) +(step t201 (cl @p_446) :rule resolution :premises (t198 t78)) +(step t202 (cl @p_447) :rule resolution :premises (t200 t201)) +(step t203 (cl @p_344 @p_450) :rule or :premises (t188)) +(step t204 (cl @p_450) :rule resolution :premises (t203 t36)) +(step t205 (cl (not (! (= @p_406 @p_438) :named @p_452)) (! (not @p_345) :named @p_457) (! (not @p_447) :named @p_458) @p_440) :rule eq_congruent_pred) +(step t206 (cl (not (! (= @p_406 @p_451) :named @p_453)) (! (not @p_450) :named @p_456) @p_452) :rule eq_transitive) +(step t207 (cl (not (! (= f$ f$) :named @p_454)) (! (not @p_391) :named @p_455) @p_453) :rule eq_congruent) +(step t208 (cl @p_454) :rule eq_reflexive) +(step t209 (cl @p_455 @p_453) :rule th_resolution :premises (t207 t208)) +(step t210 (cl @p_456 @p_452 @p_455) :rule th_resolution :premises (t206 t209)) +(step t211 (cl @p_457 @p_458 @p_440 @p_456 @p_455) :rule th_resolution :premises (t205 t210)) +(step t212 (cl) :rule resolution :premises (t211 t116 t156 t193 t202 t204)) +ba9da4ba7350e0a8fc453119da89963e8ee28018 323 0 +unsat +(assume a1 (! (not (! (=> (! (forall ((?v0 Real_a_fun$) (?v1 B_list$)) (! (= (! (=> (! (and (! (= (! (rec_join$ ?v1) :named @p_3) ?v0) :named @p_68) (! (and (! (=> (! (and (! (= ?v1 nil$) :named @p_4) (! (= uu$ ?v0) :named @p_72)) :named @p_74) false) :named @p_76) (! (and (! (forall ((?v2 B$)) (! (=> (! (and (! (= ?v1 (! (cons$ ?v2 nil$) :named @p_8)) :named @p_5) (! (= ?v0 (! (coeff_cube_to_path$ ?v2) :named @p_1)) :named @p_82)) :named @p_84) false) :named @p_86)) :named @p_78) (! (forall ((?v2 B$) (?v3 B$) (?v4 B_list$)) (! (=> (! (and (! (= ?v1 (! (cons$ ?v2 (! (cons$ ?v3 ?v4) :named @p_2)) :named @p_9)) :named @p_6) (! (= ?v0 (! (joinpaths$ @p_1 (! (rec_join$ @p_2) :named @p_95)) :named @p_7)) :named @p_97)) :named @p_99) false) :named @p_101)) :named @p_88)) :named @p_103)) :named @p_105)) :named @p_107) false) :named @p_109) (! (=> (! (and (! (= @p_3 @p_3) :named @p_112) (! (and (! (=> (! (and @p_4 (! (= uu$ @p_3) :named @p_115)) :named @p_117) false) :named @p_119) (! (and (! (forall ((?v2 B$)) (! (=> (! (and @p_5 (! (= @p_3 @p_1) :named @p_125)) :named @p_127) false) :named @p_129)) :named @p_121) (! (forall ((?v2 B$) (?v3 B$) (?v4 B_list$)) (! (=> (! (and @p_6 (! (= @p_3 @p_7) :named @p_137)) :named @p_139) false) :named @p_141)) :named @p_131)) :named @p_143)) :named @p_145)) :named @p_147) false) :named @p_149)) :named @p_151)) :named @p_53) (! (= (! (forall ((?v0 B_list$) (?v1 Real_a_fun$)) (! (=> (! (and (! (= (! (rec_join$ ?v0) :named @p_10) ?v1) :named @p_19) (! (and (! (=> (! (and (! (= nil$ ?v0) :named @p_11) (! (= uu$ ?v1) :named @p_20)) :named @p_22) false) :named @p_24) (! (and (! (forall ((?v2 B$)) (! (=> (! (and (! (= @p_8 ?v0) :named @p_17) (! (= @p_1 ?v1) :named @p_27)) :named @p_29) false) :named @p_31)) :named @p_25) (! (forall ((?v2 B$) (?v3 B$) (?v4 B_list$)) (! (=> (! (and (! (= @p_9 ?v0) :named @p_18) (! (= @p_7 ?v1) :named @p_35)) :named @p_37) false) :named @p_39)) :named @p_33)) :named @p_41)) :named @p_43)) :named @p_45) false) :named @p_47)) :named @p_14) (! (forall ((?v0 B_list$)) (! (=> (! (and (! (= @p_10 @p_10) :named @p_15) (! (and (! (=> (! (and @p_11 (! (= uu$ @p_10) :named @p_21)) :named @p_23) false) :named @p_16) (! (and (! (forall ((?v1 B$)) (! (=> (! (and (! (= ?v0 (! (cons$ ?v1 nil$) :named @p_162)) :named @p_163) (! (= @p_10 (! (coeff_cube_to_path$ ?v1) :named @p_12)) :named @p_165)) :named @p_166) false) :named @p_167)) :named @p_161) (! (forall ((?v1 B$) (?v2 B$) (?v3 B_list$)) (! (=> (! (and (! (= ?v0 (! (cons$ ?v1 (! (cons$ ?v2 ?v3) :named @p_13)) :named @p_169)) :named @p_170) (! (= @p_10 (! (joinpaths$ @p_12 (! (rec_join$ @p_13) :named @p_175)) :named @p_176)) :named @p_177)) :named @p_178) false) :named @p_179)) :named @p_168)) :named @p_180)) :named @p_181)) :named @p_182) false) :named @p_183)) :named @p_51)) :named @p_49)) :named @p_52)) :named @p_55)) (anchor :step t2 :args ((?v0 B_list$) (:= (?v1 Real_a_fun$) @p_10))) (step t2.t1 (cl @p_19) :rule refl) (step t2.t2 (cl (= @p_19 @p_15)) :rule cong :premises (t2.t1)) (step t2.t3 (cl @p_19) :rule refl) (step t2.t4 (cl (= @p_20 @p_21)) :rule cong :premises (t2.t3)) (step t2.t5 (cl (= @p_22 @p_23)) :rule cong :premises (t2.t4)) (step t2.t6 (cl (= @p_24 @p_16)) :rule cong :premises (t2.t5)) (anchor :step t2.t7 :args ((?v2 B$))) (step t2.t7.t1 (cl @p_19) :rule refl) (step t2.t7.t2 (cl (= @p_27 (! (= @p_1 @p_10) :named @p_28))) :rule cong :premises (t2.t7.t1)) (step t2.t7.t3 (cl (= @p_29 (! (and @p_17 @p_28) :named @p_30))) :rule cong :premises (t2.t7.t2)) (step t2.t7.t4 (cl (= @p_31 (! (=> @p_30 false) :named @p_32))) :rule cong :premises (t2.t7.t3)) (step t2.t7 (cl (= @p_25 (! (forall ((?v2 B$)) @p_32) :named @p_26))) :rule bind) (anchor :step t2.t8 :args ((?v2 B$) (?v3 B$) (?v4 B_list$))) (step t2.t8.t1 (cl @p_19) :rule refl) (step t2.t8.t2 (cl (= @p_35 (! (= @p_7 @p_10) :named @p_36))) :rule cong :premises (t2.t8.t1)) (step t2.t8.t3 (cl (= @p_37 (! (and @p_18 @p_36) :named @p_38))) :rule cong :premises (t2.t8.t2)) (step t2.t8.t4 (cl (= @p_39 (! (=> @p_38 false) :named @p_40))) :rule cong :premises (t2.t8.t3)) (step t2.t8 (cl (= @p_33 (! (forall ((?v2 B$) (?v3 B$) (?v4 B_list$)) @p_40) :named @p_34))) :rule bind) (step t2.t9 (cl (= @p_41 (! (and @p_26 @p_34) :named @p_42))) :rule cong :premises (t2.t7 t2.t8)) (step t2.t10 (cl (= @p_43 (! (and @p_16 @p_42) :named @p_44))) :rule cong :premises (t2.t6 t2.t9)) (step t2.t11 (cl (= @p_45 (! (and @p_15 @p_44) :named @p_46))) :rule cong :premises (t2.t2 t2.t10)) (step t2.t12 (cl (= @p_47 (! (=> @p_46 false) :named @p_48))) :rule cong :premises (t2.t11)) (step t2 (cl (= @p_14 (! (forall ((?v0 B_list$)) @p_48) :named @p_50))) :rule onepoint) (step t3 (cl (= @p_49 (! (= @p_50 @p_51) :named @p_54))) :rule cong :premises (t2)) (step t4 (cl (= @p_52 (! (=> @p_53 @p_54) :named @p_56))) :rule cong :premises (t3)) (step t5 (cl (! (= @p_55 (! (not @p_56) :named @p_58)) :named @p_57)) :rule cong :premises (t4)) (step t6 (cl (! (not @p_57) :named @p_60) (! (not @p_55) :named @p_59) @p_58) :rule equiv_pos2) (step t7 (cl (not @p_59) @p_52) :rule not_not) (step t8 (cl @p_60 @p_52 @p_58) :rule th_resolution :premises (t7 t6)) -(step t9 (cl @p_58) :rule th_resolution :premises (axiom1 t5 t8)) +(step t9 (cl @p_58) :rule th_resolution :premises (a1 t5 t8)) (anchor :step t10 :args ((:= (?v0 Real_a_fun$) veriT_vr2) (:= (?v1 B_list$) veriT_vr3))) (step t10.t1 (cl (! (= ?v1 veriT_vr3) :named @p_70)) :rule refl) (step t10.t2 (cl (! (= @p_3 (! (rec_join$ veriT_vr3) :named @p_63)) :named @p_111)) :rule cong :premises (t10.t1)) (step t10.t3 (cl (! (= ?v0 veriT_vr2) :named @p_71)) :rule refl) (step t10.t4 (cl (= @p_68 (! (= veriT_vr2 @p_63) :named @p_69))) :rule cong :premises (t10.t2 t10.t3)) (step t10.t5 (cl @p_70) :rule refl) (step t10.t6 (cl (! (= @p_4 (! (= nil$ veriT_vr3) :named @p_64)) :named @p_114)) :rule cong :premises (t10.t5)) (step t10.t7 (cl @p_71) :rule refl) (step t10.t8 (cl (= @p_72 (! (= uu$ veriT_vr2) :named @p_73))) :rule cong :premises (t10.t7)) (step t10.t9 (cl (= @p_74 (! (and @p_64 @p_73) :named @p_75))) :rule cong :premises (t10.t6 t10.t8)) (step t10.t10 (cl (= @p_76 (! (=> @p_75 false) :named @p_77))) :rule cong :premises (t10.t9)) (anchor :step t10.t11 :args ((:= (?v2 B$) veriT_vr4))) (step t10.t11.t1 (cl @p_70) :rule refl) (step t10.t11.t2 (cl (! (= ?v2 veriT_vr4) :named @p_81)) :rule refl) (step t10.t11.t3 (cl (! (= @p_8 (! (cons$ veriT_vr4 nil$) :named @p_80)) :named @p_123)) :rule cong :premises (t10.t11.t2)) (step t10.t11.t4 (cl (! (= @p_5 (! (= veriT_vr3 @p_80) :named @p_65)) :named @p_124)) :rule cong :premises (t10.t11.t1 t10.t11.t3)) (step t10.t11.t5 (cl @p_71) :rule refl) (step t10.t11.t6 (cl @p_81) :rule refl) (step t10.t11.t7 (cl (! (= @p_1 (! (coeff_cube_to_path$ veriT_vr4) :named @p_61)) :named @p_91)) :rule cong :premises (t10.t11.t6)) (step t10.t11.t8 (cl (= @p_82 (! (= veriT_vr2 @p_61) :named @p_83))) :rule cong :premises (t10.t11.t5 t10.t11.t7)) (step t10.t11.t9 (cl (= @p_84 (! (and @p_65 @p_83) :named @p_85))) :rule cong :premises (t10.t11.t4 t10.t11.t8)) (step t10.t11.t10 (cl (= @p_86 (! (=> @p_85 false) :named @p_87))) :rule cong :premises (t10.t11.t9)) (step t10.t11 (cl (= @p_78 (! (forall ((veriT_vr4 B$)) @p_87) :named @p_79))) :rule bind) (anchor :step t10.t12 :args ((:= (?v2 B$) veriT_vr4) (:= (?v3 B$) veriT_vr5) (:= (?v4 B_list$) veriT_vr6))) (step t10.t12.t1 (cl @p_70) :rule refl) (step t10.t12.t2 (cl @p_81) :rule refl) (step t10.t12.t3 (cl (! (= ?v3 veriT_vr5) :named @p_92)) :rule refl) (step t10.t12.t4 (cl (! (= ?v4 veriT_vr6) :named @p_93)) :rule refl) (step t10.t12.t5 (cl (! (= @p_2 (! (cons$ veriT_vr5 veriT_vr6) :named @p_62)) :named @p_94)) :rule cong :premises (t10.t12.t3 t10.t12.t4)) (step t10.t12.t6 (cl (! (= @p_9 (! (cons$ veriT_vr4 @p_62) :named @p_90)) :named @p_133)) :rule cong :premises (t10.t12.t2 t10.t12.t5)) (step t10.t12.t7 (cl (! (= @p_6 (! (= veriT_vr3 @p_90) :named @p_66)) :named @p_134)) :rule cong :premises (t10.t12.t1 t10.t12.t6)) (step t10.t12.t8 (cl @p_71) :rule refl) (step t10.t12.t9 (cl @p_81) :rule refl) (step t10.t12.t10 (cl @p_91) :rule cong :premises (t10.t12.t9)) (step t10.t12.t11 (cl @p_92) :rule refl) (step t10.t12.t12 (cl @p_93) :rule refl) (step t10.t12.t13 (cl @p_94) :rule cong :premises (t10.t12.t11 t10.t12.t12)) (step t10.t12.t14 (cl (! (= @p_95 (! (rec_join$ @p_62) :named @p_96)) :named @p_135)) :rule cong :premises (t10.t12.t13)) (step t10.t12.t15 (cl (! (= @p_7 (! (joinpaths$ @p_61 @p_96) :named @p_67)) :named @p_136)) :rule cong :premises (t10.t12.t10 t10.t12.t14)) (step t10.t12.t16 (cl (= @p_97 (! (= veriT_vr2 @p_67) :named @p_98))) :rule cong :premises (t10.t12.t8 t10.t12.t15)) (step t10.t12.t17 (cl (= @p_99 (! (and @p_66 @p_98) :named @p_100))) :rule cong :premises (t10.t12.t7 t10.t12.t16)) (step t10.t12.t18 (cl (= @p_101 (! (=> @p_100 false) :named @p_102))) :rule cong :premises (t10.t12.t17)) (step t10.t12 (cl (= @p_88 (! (forall ((veriT_vr4 B$) (veriT_vr5 B$) (veriT_vr6 B_list$)) @p_102) :named @p_89))) :rule bind) (step t10.t13 (cl (= @p_103 (! (and @p_79 @p_89) :named @p_104))) :rule cong :premises (t10.t11 t10.t12)) (step t10.t14 (cl (= @p_105 (! (and @p_77 @p_104) :named @p_106))) :rule cong :premises (t10.t10 t10.t13)) (step t10.t15 (cl (= @p_107 (! (and @p_69 @p_106) :named @p_108))) :rule cong :premises (t10.t4 t10.t14)) (step t10.t16 (cl (= @p_109 (! (=> @p_108 false) :named @p_110))) :rule cong :premises (t10.t15)) (step t10.t17 (cl @p_70) :rule refl) (step t10.t18 (cl @p_111) :rule cong :premises (t10.t17)) (step t10.t19 (cl @p_70) :rule refl) (step t10.t20 (cl @p_111) :rule cong :premises (t10.t19)) (step t10.t21 (cl (= @p_112 (! (= @p_63 @p_63) :named @p_113))) :rule cong :premises (t10.t18 t10.t20)) (step t10.t22 (cl @p_70) :rule refl) (step t10.t23 (cl @p_114) :rule cong :premises (t10.t22)) (step t10.t24 (cl @p_70) :rule refl) (step t10.t25 (cl @p_111) :rule cong :premises (t10.t24)) (step t10.t26 (cl (= @p_115 (! (= uu$ @p_63) :named @p_116))) :rule cong :premises (t10.t25)) (step t10.t27 (cl (= @p_117 (! (and @p_64 @p_116) :named @p_118))) :rule cong :premises (t10.t23 t10.t26)) (step t10.t28 (cl (= @p_119 (! (=> @p_118 false) :named @p_120))) :rule cong :premises (t10.t27)) (anchor :step t10.t29 :args ((:= (?v2 B$) veriT_vr4))) (step t10.t29.t1 (cl @p_70) :rule refl) (step t10.t29.t2 (cl @p_81) :rule refl) (step t10.t29.t3 (cl @p_123) :rule cong :premises (t10.t29.t2)) (step t10.t29.t4 (cl @p_124) :rule cong :premises (t10.t29.t1 t10.t29.t3)) (step t10.t29.t5 (cl @p_70) :rule refl) (step t10.t29.t6 (cl @p_111) :rule cong :premises (t10.t29.t5)) (step t10.t29.t7 (cl @p_81) :rule refl) (step t10.t29.t8 (cl @p_91) :rule cong :premises (t10.t29.t7)) (step t10.t29.t9 (cl (= @p_125 (! (= @p_63 @p_61) :named @p_126))) :rule cong :premises (t10.t29.t6 t10.t29.t8)) (step t10.t29.t10 (cl (= @p_127 (! (and @p_65 @p_126) :named @p_128))) :rule cong :premises (t10.t29.t4 t10.t29.t9)) (step t10.t29.t11 (cl (= @p_129 (! (=> @p_128 false) :named @p_130))) :rule cong :premises (t10.t29.t10)) (step t10.t29 (cl (= @p_121 (! (forall ((veriT_vr4 B$)) @p_130) :named @p_122))) :rule bind) (anchor :step t10.t30 :args ((:= (?v2 B$) veriT_vr4) (:= (?v3 B$) veriT_vr5) (:= (?v4 B_list$) veriT_vr6))) (step t10.t30.t1 (cl @p_70) :rule refl) (step t10.t30.t2 (cl @p_81) :rule refl) (step t10.t30.t3 (cl @p_92) :rule refl) (step t10.t30.t4 (cl @p_93) :rule refl) (step t10.t30.t5 (cl @p_94) :rule cong :premises (t10.t30.t3 t10.t30.t4)) (step t10.t30.t6 (cl @p_133) :rule cong :premises (t10.t30.t2 t10.t30.t5)) (step t10.t30.t7 (cl @p_134) :rule cong :premises (t10.t30.t1 t10.t30.t6)) (step t10.t30.t8 (cl @p_70) :rule refl) (step t10.t30.t9 (cl @p_111) :rule cong :premises (t10.t30.t8)) (step t10.t30.t10 (cl @p_81) :rule refl) (step t10.t30.t11 (cl @p_91) :rule cong :premises (t10.t30.t10)) (step t10.t30.t12 (cl @p_92) :rule refl) (step t10.t30.t13 (cl @p_93) :rule refl) (step t10.t30.t14 (cl @p_94) :rule cong :premises (t10.t30.t12 t10.t30.t13)) (step t10.t30.t15 (cl @p_135) :rule cong :premises (t10.t30.t14)) (step t10.t30.t16 (cl @p_136) :rule cong :premises (t10.t30.t11 t10.t30.t15)) (step t10.t30.t17 (cl (= @p_137 (! (= @p_63 @p_67) :named @p_138))) :rule cong :premises (t10.t30.t9 t10.t30.t16)) (step t10.t30.t18 (cl (= @p_139 (! (and @p_66 @p_138) :named @p_140))) :rule cong :premises (t10.t30.t7 t10.t30.t17)) (step t10.t30.t19 (cl (= @p_141 (! (=> @p_140 false) :named @p_142))) :rule cong :premises (t10.t30.t18)) (step t10.t30 (cl (= @p_131 (! (forall ((veriT_vr4 B$) (veriT_vr5 B$) (veriT_vr6 B_list$)) @p_142) :named @p_132))) :rule bind) (step t10.t31 (cl (= @p_143 (! (and @p_122 @p_132) :named @p_144))) :rule cong :premises (t10.t29 t10.t30)) (step t10.t32 (cl (= @p_145 (! (and @p_120 @p_144) :named @p_146))) :rule cong :premises (t10.t28 t10.t31)) (step t10.t33 (cl (= @p_147 (! (and @p_113 @p_146) :named @p_148))) :rule cong :premises (t10.t21 t10.t32)) (step t10.t34 (cl (= @p_149 (! (=> @p_148 false) :named @p_150))) :rule cong :premises (t10.t33)) (step t10.t35 (cl (= @p_151 (! (= @p_110 @p_150) :named @p_152))) :rule cong :premises (t10.t16 t10.t34)) (step t10 (cl (= @p_53 (! (forall ((veriT_vr2 Real_a_fun$) (veriT_vr3 B_list$)) @p_152) :named @p_184))) :rule bind) (anchor :step t11 :args ((:= (?v0 B_list$) veriT_vr3))) (step t11.t1 (cl (! (= ?v0 veriT_vr3) :named @p_153)) :rule refl) (step t11.t2 (cl (! (= @p_10 @p_63) :named @p_154)) :rule cong :premises (t11.t1)) (step t11.t3 (cl @p_153) :rule refl) (step t11.t4 (cl @p_154) :rule cong :premises (t11.t3)) (step t11.t5 (cl (! (= @p_15 @p_113) :named @p_156)) :rule cong :premises (t11.t2 t11.t4)) (step t11.t6 (cl @p_153) :rule refl) (step t11.t7 (cl (! (= @p_11 @p_64) :named @p_157)) :rule cong :premises (t11.t6)) (step t11.t8 (cl @p_153) :rule refl) (step t11.t9 (cl @p_154) :rule cong :premises (t11.t8)) (step t11.t10 (cl (! (= @p_21 @p_116) :named @p_158)) :rule cong :premises (t11.t9)) (step t11.t11 (cl (! (= @p_23 @p_118) :named @p_159)) :rule cong :premises (t11.t7 t11.t10)) (step t11.t12 (cl (! (= @p_16 @p_120) :named @p_160)) :rule cong :premises (t11.t11)) (anchor :step t11.t13 :args ((:= (?v2 B$) veriT_vr4))) (step t11.t13.t1 (cl @p_81) :rule refl) (step t11.t13.t2 (cl @p_123) :rule cong :premises (t11.t13.t1)) (step t11.t13.t3 (cl @p_153) :rule refl) (step t11.t13.t4 (cl (= @p_17 @p_65)) :rule cong :premises (t11.t13.t2 t11.t13.t3)) (step t11.t13.t5 (cl @p_81) :rule refl) (step t11.t13.t6 (cl @p_91) :rule cong :premises (t11.t13.t5)) (step t11.t13.t7 (cl @p_153) :rule refl) (step t11.t13.t8 (cl @p_154) :rule cong :premises (t11.t13.t7)) (step t11.t13.t9 (cl (= @p_28 @p_126)) :rule cong :premises (t11.t13.t6 t11.t13.t8)) (step t11.t13.t10 (cl (= @p_30 @p_128)) :rule cong :premises (t11.t13.t4 t11.t13.t9)) (step t11.t13.t11 (cl (= @p_32 @p_130)) :rule cong :premises (t11.t13.t10)) (step t11.t13 (cl (= @p_26 @p_122)) :rule bind) (anchor :step t11.t14 :args ((:= (?v2 B$) veriT_vr4) (:= (?v3 B$) veriT_vr5) (:= (?v4 B_list$) veriT_vr6))) (step t11.t14.t1 (cl @p_81) :rule refl) (step t11.t14.t2 (cl @p_92) :rule refl) (step t11.t14.t3 (cl @p_93) :rule refl) (step t11.t14.t4 (cl @p_94) :rule cong :premises (t11.t14.t2 t11.t14.t3)) (step t11.t14.t5 (cl @p_133) :rule cong :premises (t11.t14.t1 t11.t14.t4)) (step t11.t14.t6 (cl @p_153) :rule refl) (step t11.t14.t7 (cl (= @p_18 @p_66)) :rule cong :premises (t11.t14.t5 t11.t14.t6)) (step t11.t14.t8 (cl @p_81) :rule refl) (step t11.t14.t9 (cl @p_91) :rule cong :premises (t11.t14.t8)) (step t11.t14.t10 (cl @p_92) :rule refl) (step t11.t14.t11 (cl @p_93) :rule refl) (step t11.t14.t12 (cl @p_94) :rule cong :premises (t11.t14.t10 t11.t14.t11)) (step t11.t14.t13 (cl @p_135) :rule cong :premises (t11.t14.t12)) (step t11.t14.t14 (cl @p_136) :rule cong :premises (t11.t14.t9 t11.t14.t13)) (step t11.t14.t15 (cl @p_153) :rule refl) (step t11.t14.t16 (cl @p_154) :rule cong :premises (t11.t14.t15)) (step t11.t14.t17 (cl (= @p_36 @p_138)) :rule cong :premises (t11.t14.t14 t11.t14.t16)) (step t11.t14.t18 (cl (= @p_38 @p_140)) :rule cong :premises (t11.t14.t7 t11.t14.t17)) (step t11.t14.t19 (cl (= @p_40 @p_142)) :rule cong :premises (t11.t14.t18)) (step t11.t14 (cl (= @p_34 @p_132)) :rule bind) (step t11.t15 (cl (= @p_42 @p_144)) :rule cong :premises (t11.t13 t11.t14)) (step t11.t16 (cl (= @p_44 @p_146)) :rule cong :premises (t11.t12 t11.t15)) (step t11.t17 (cl (= @p_46 @p_148)) :rule cong :premises (t11.t5 t11.t16)) (step t11.t18 (cl (= @p_48 @p_150)) :rule cong :premises (t11.t17)) (step t11 (cl (= @p_50 (! (forall ((veriT_vr3 B_list$)) @p_150) :named @p_155))) :rule bind) (anchor :step t12 :args ((:= (?v0 B_list$) veriT_vr3))) (step t12.t1 (cl @p_153) :rule refl) (step t12.t2 (cl @p_154) :rule cong :premises (t12.t1)) (step t12.t3 (cl @p_153) :rule refl) (step t12.t4 (cl @p_154) :rule cong :premises (t12.t3)) (step t12.t5 (cl @p_156) :rule cong :premises (t12.t2 t12.t4)) (step t12.t6 (cl @p_153) :rule refl) (step t12.t7 (cl @p_157) :rule cong :premises (t12.t6)) (step t12.t8 (cl @p_153) :rule refl) (step t12.t9 (cl @p_154) :rule cong :premises (t12.t8)) (step t12.t10 (cl @p_158) :rule cong :premises (t12.t9)) (step t12.t11 (cl @p_159) :rule cong :premises (t12.t7 t12.t10)) (step t12.t12 (cl @p_160) :rule cong :premises (t12.t11)) (anchor :step t12.t13 :args ((:= (?v1 B$) veriT_vr4))) (step t12.t13.t1 (cl @p_153) :rule refl) (step t12.t13.t2 (cl (! (= ?v1 veriT_vr4) :named @p_164)) :rule refl) (step t12.t13.t3 (cl (= @p_162 @p_80)) :rule cong :premises (t12.t13.t2)) (step t12.t13.t4 (cl (= @p_163 @p_65)) :rule cong :premises (t12.t13.t1 t12.t13.t3)) (step t12.t13.t5 (cl @p_153) :rule refl) (step t12.t13.t6 (cl @p_154) :rule cong :premises (t12.t13.t5)) (step t12.t13.t7 (cl @p_164) :rule refl) (step t12.t13.t8 (cl (! (= @p_12 @p_61) :named @p_171)) :rule cong :premises (t12.t13.t7)) (step t12.t13.t9 (cl (= @p_165 @p_126)) :rule cong :premises (t12.t13.t6 t12.t13.t8)) (step t12.t13.t10 (cl (= @p_166 @p_128)) :rule cong :premises (t12.t13.t4 t12.t13.t9)) (step t12.t13.t11 (cl (= @p_167 @p_130)) :rule cong :premises (t12.t13.t10)) (step t12.t13 (cl (= @p_161 @p_122)) :rule bind) (anchor :step t12.t14 :args ((:= (?v1 B$) veriT_vr4) (:= (?v2 B$) veriT_vr5) (:= (?v3 B_list$) veriT_vr6))) (step t12.t14.t1 (cl @p_153) :rule refl) (step t12.t14.t2 (cl @p_164) :rule refl) (step t12.t14.t3 (cl (! (= ?v2 veriT_vr5) :named @p_172)) :rule refl) (step t12.t14.t4 (cl (! (= ?v3 veriT_vr6) :named @p_173)) :rule refl) (step t12.t14.t5 (cl (! (= @p_13 @p_62) :named @p_174)) :rule cong :premises (t12.t14.t3 t12.t14.t4)) (step t12.t14.t6 (cl (= @p_169 @p_90)) :rule cong :premises (t12.t14.t2 t12.t14.t5)) (step t12.t14.t7 (cl (= @p_170 @p_66)) :rule cong :premises (t12.t14.t1 t12.t14.t6)) (step t12.t14.t8 (cl @p_153) :rule refl) (step t12.t14.t9 (cl @p_154) :rule cong :premises (t12.t14.t8)) (step t12.t14.t10 (cl @p_164) :rule refl) (step t12.t14.t11 (cl @p_171) :rule cong :premises (t12.t14.t10)) (step t12.t14.t12 (cl @p_172) :rule refl) (step t12.t14.t13 (cl @p_173) :rule refl) (step t12.t14.t14 (cl @p_174) :rule cong :premises (t12.t14.t12 t12.t14.t13)) (step t12.t14.t15 (cl (= @p_175 @p_96)) :rule cong :premises (t12.t14.t14)) (step t12.t14.t16 (cl (= @p_176 @p_67)) :rule cong :premises (t12.t14.t11 t12.t14.t15)) (step t12.t14.t17 (cl (= @p_177 @p_138)) :rule cong :premises (t12.t14.t9 t12.t14.t16)) (step t12.t14.t18 (cl (= @p_178 @p_140)) :rule cong :premises (t12.t14.t7 t12.t14.t17)) (step t12.t14.t19 (cl (= @p_179 @p_142)) :rule cong :premises (t12.t14.t18)) (step t12.t14 (cl (= @p_168 @p_132)) :rule bind) (step t12.t15 (cl (= @p_180 @p_144)) :rule cong :premises (t12.t13 t12.t14)) (step t12.t16 (cl (= @p_181 @p_146)) :rule cong :premises (t12.t12 t12.t15)) (step t12.t17 (cl (= @p_182 @p_148)) :rule cong :premises (t12.t5 t12.t16)) (step t12.t18 (cl (= @p_183 @p_150)) :rule cong :premises (t12.t17)) (step t12 (cl (= @p_51 @p_155)) :rule bind) (step t13 (cl (= @p_54 (! (= @p_155 @p_155) :named @p_185))) :rule cong :premises (t11 t12)) (step t14 (cl (= @p_56 (! (=> @p_184 @p_185) :named @p_186))) :rule cong :premises (t10 t13)) (step t15 (cl (! (= @p_58 (! (not @p_186) :named @p_188)) :named @p_187)) :rule cong :premises (t14)) (step t16 (cl (! (not @p_187) :named @p_190) (! (not @p_58) :named @p_189) @p_188) :rule equiv_pos2) (step t17 (cl (not @p_189) @p_56) :rule not_not) (step t18 (cl @p_190 @p_56 @p_188) :rule th_resolution :premises (t17 t16)) (step t19 (cl @p_188) :rule th_resolution :premises (t9 t15 t18)) (step t20 (cl (! (= @p_188 (! (and @p_184 (! (not @p_185) :named @p_203)) :named @p_192)) :named @p_191)) :rule bool_simplify) (step t21 (cl (! (not @p_191) :named @p_194) (! (not @p_188) :named @p_193) @p_192) :rule equiv_pos2) (step t22 (cl (not @p_193) @p_186) :rule not_not) (step t23 (cl @p_194 @p_186 @p_192) :rule th_resolution :premises (t22 t21)) (step t24 (cl @p_192) :rule th_resolution :premises (t19 t20 t23)) (anchor :step t25 :args ((veriT_vr2 Real_a_fun$) (veriT_vr3 B_list$))) (step t25.t1 (cl (= @p_108 (! (and @p_69 @p_77 @p_79 @p_89) :named @p_195))) :rule ac_simp) (step t25.t2 (cl (= @p_110 (! (=> @p_195 false) :named @p_196))) :rule cong :premises (t25.t1)) (step t25.t3 (cl (! (= @p_148 (! (and @p_113 @p_120 @p_122 @p_132) :named @p_197)) :named @p_200)) :rule ac_simp) (step t25.t4 (cl (! (= @p_150 (! (=> @p_197 false) :named @p_198)) :named @p_201)) :rule cong :premises (t25.t3)) (step t25.t5 (cl (= @p_152 (! (= @p_196 @p_198) :named @p_199))) :rule cong :premises (t25.t2 t25.t4)) (step t25 (cl (= @p_184 (! (forall ((veriT_vr2 Real_a_fun$) (veriT_vr3 B_list$)) @p_199) :named @p_205))) :rule bind) (anchor :step t26 :args ((veriT_vr3 B_list$))) (step t26.t1 (cl @p_200) :rule ac_simp) (step t26.t2 (cl @p_201) :rule cong :premises (t26.t1)) (step t26 (cl (= @p_155 (! (forall ((veriT_vr3 B_list$)) @p_198) :named @p_202))) :rule bind) (step t27 (cl (= @p_185 (! (= @p_202 @p_202) :named @p_204))) :rule cong :premises (t26 t26)) (step t28 (cl (= @p_203 (! (not @p_204) :named @p_206))) :rule cong :premises (t27)) (step t29 (cl (! (= @p_192 (! (and @p_205 @p_206) :named @p_208)) :named @p_207)) :rule ac_simp :premises (t25 t28)) (step t30 (cl (not @p_207) (not @p_192) @p_208) :rule equiv_pos2) (step t31 (cl @p_208) :rule th_resolution :premises (t24 t29 t30)) (anchor :step t32 :args ((veriT_vr2 Real_a_fun$) (veriT_vr3 B_list$))) (step t32.t1 (cl (= @p_77 (! (not @p_75) :named @p_209))) :rule implies_simplify) (anchor :step t32.t2 :args ((veriT_vr4 B$))) (step t32.t2.t1 (cl (= @p_87 (! (not @p_85) :named @p_211))) :rule implies_simplify) (step t32.t2 (cl (= @p_79 (! (forall ((veriT_vr4 B$)) @p_211) :named @p_210))) :rule bind) (anchor :step t32.t3 :args ((veriT_vr4 B$) (veriT_vr5 B$) (veriT_vr6 B_list$))) (step t32.t3.t1 (cl (= @p_102 (! (not @p_100) :named @p_213))) :rule implies_simplify) (step t32.t3 (cl (= @p_89 (! (forall ((veriT_vr4 B$) (veriT_vr5 B$) (veriT_vr6 B_list$)) @p_213) :named @p_212))) :rule bind) (step t32.t4 (cl (= @p_195 (! (and @p_69 @p_209 @p_210 @p_212) :named @p_214))) :rule cong :premises (t32.t1 t32.t2 t32.t3)) (step t32.t5 (cl (= @p_196 (! (=> @p_214 false) :named @p_215))) :rule cong :premises (t32.t4)) (step t32.t6 (cl (= @p_215 (! (not @p_214) :named @p_216))) :rule implies_simplify) (step t32.t7 (cl (= @p_196 @p_216)) :rule trans :premises (t32.t5 t32.t6)) (step t32.t8 (cl (! (= @p_113 true) :named @p_228)) :rule eq_simplify) (step t32.t9 (cl (! (= @p_120 (! (not @p_118) :named @p_217)) :named @p_229)) :rule implies_simplify) (anchor :step t32.t10 :args ((veriT_vr4 B$))) (step t32.t10.t1 (cl (! (= @p_130 (! (not @p_128) :named @p_219)) :named @p_231)) :rule implies_simplify) (step t32.t10 (cl (! (= @p_122 (! (forall ((veriT_vr4 B$)) @p_219) :named @p_218)) :named @p_230)) :rule bind) (anchor :step t32.t11 :args ((veriT_vr4 B$) (veriT_vr5 B$) (veriT_vr6 B_list$))) (step t32.t11.t1 (cl (! (= @p_142 (! (not @p_140) :named @p_221)) :named @p_233)) :rule implies_simplify) (step t32.t11 (cl (! (= @p_132 (! (forall ((veriT_vr4 B$) (veriT_vr5 B$) (veriT_vr6 B_list$)) @p_221) :named @p_220)) :named @p_232)) :rule bind) (step t32.t12 (cl (! (= @p_197 (! (and true @p_217 @p_218 @p_220) :named @p_222)) :named @p_234)) :rule cong :premises (t32.t8 t32.t9 t32.t10 t32.t11)) (step t32.t13 (cl (! (= @p_222 (! (and @p_217 @p_218 @p_220) :named @p_223)) :named @p_235)) :rule and_simplify) (step t32.t14 (cl (! (= @p_197 @p_223) :named @p_236)) :rule trans :premises (t32.t12 t32.t13)) (step t32.t15 (cl (! (= @p_198 (! (=> @p_223 false) :named @p_224)) :named @p_237)) :rule cong :premises (t32.t14)) (step t32.t16 (cl (! (= @p_224 (! (not @p_223) :named @p_225)) :named @p_238)) :rule implies_simplify) (step t32.t17 (cl (! (= @p_198 @p_225) :named @p_239)) :rule trans :premises (t32.t15 t32.t16)) (step t32.t18 (cl (= @p_199 (! (= @p_216 @p_225) :named @p_226))) :rule cong :premises (t32.t7 t32.t17)) (step t32.t19 (cl (= @p_226 (! (= @p_214 @p_223) :named @p_227))) :rule equiv_simplify) (step t32.t20 (cl (= @p_199 @p_227)) :rule trans :premises (t32.t18 t32.t19)) (step t32 (cl (= @p_205 (! (forall ((veriT_vr2 Real_a_fun$) (veriT_vr3 B_list$)) @p_227) :named @p_243))) :rule bind) (anchor :step t33 :args ((veriT_vr3 B_list$))) (step t33.t1 (cl @p_228) :rule eq_simplify) (step t33.t2 (cl @p_229) :rule implies_simplify) (anchor :step t33.t3 :args ((veriT_vr4 B$))) (step t33.t3.t1 (cl @p_231) :rule implies_simplify) (step t33.t3 (cl @p_230) :rule bind) (anchor :step t33.t4 :args ((veriT_vr4 B$) (veriT_vr5 B$) (veriT_vr6 B_list$))) (step t33.t4.t1 (cl @p_233) :rule implies_simplify) (step t33.t4 (cl @p_232) :rule bind) (step t33.t5 (cl @p_234) :rule cong :premises (t33.t1 t33.t2 t33.t3 t33.t4)) (step t33.t6 (cl @p_235) :rule and_simplify) (step t33.t7 (cl @p_236) :rule trans :premises (t33.t5 t33.t6)) (step t33.t8 (cl @p_237) :rule cong :premises (t33.t7)) (step t33.t9 (cl @p_238) :rule implies_simplify) (step t33.t10 (cl @p_239) :rule trans :premises (t33.t8 t33.t9)) (step t33 (cl (= @p_202 (! (forall ((veriT_vr3 B_list$)) @p_225) :named @p_240))) :rule bind) (step t34 (cl (= @p_204 (! (= @p_240 @p_240) :named @p_241))) :rule cong :premises (t33 t33)) (step t35 (cl (= @p_241 true)) :rule equiv_simplify) (step t36 (cl (= @p_204 true)) :rule trans :premises (t34 t35)) (step t37 (cl (= @p_206 (! (not true) :named @p_242))) :rule cong :premises (t36)) (step t38 (cl (= @p_242 false)) :rule not_simplify) (step t39 (cl (= @p_206 false)) :rule trans :premises (t37 t38)) (step t40 (cl (= @p_208 (! (and @p_243 false) :named @p_244))) :rule cong :premises (t32 t39)) (step t41 (cl (= @p_244 false)) :rule and_simplify) (step t42 (cl (! (= @p_208 false) :named @p_245)) :rule trans :premises (t40 t41)) (step t43 (cl (not @p_245) (not @p_208) false) :rule equiv_pos2) (step t44 (cl false) :rule th_resolution :premises (t31 t42 t43)) (step t45 (cl (not false)) :rule false) (step t46 (cl) :rule resolution :premises (t44 t45)) -f76f257aace4d1c925379d3446177d02a43e00b9 36 0 +2da165964e2359aec5a20e66969cc8494006e9ba 36 0 unsat -(assume axiom4 (! (forall ((?v0 Int)) (! (and (! (pred$e ?v0) :named @p_4) (! (or (! (pred$d (! (cons$d ?v0 nil$d) :named @p_7)) :named @p_1) (! (not @p_1) :named @p_11)) :named @p_13)) :named @p_15)) :named @p_2)) -(assume axiom5 (not (! (pred$e 1) :named @p_26))) +(assume a4 (! (forall ((?v0 Int)) (! (and (! (pred$e ?v0) :named @p_4) (! (or (! (pred$d (! (cons$d ?v0 nil$d) :named @p_7)) :named @p_1) (! (not @p_1) :named @p_11)) :named @p_13)) :named @p_15)) :named @p_2)) +(assume a5 (not (! (pred$e 1) :named @p_26))) (anchor :step t3 :args ((:= (?v0 Int) veriT_vr8))) (step t3.t1 (cl (! (= ?v0 veriT_vr8) :named @p_6)) :rule refl) (step t3.t2 (cl (= @p_4 (! (pred$e veriT_vr8) :named @p_5))) :rule cong :premises (t3.t1)) (step t3.t3 (cl @p_6) :rule refl) (step t3.t4 (cl (! (= @p_7 (! (cons$d veriT_vr8 nil$d) :named @p_8)) :named @p_9)) :rule cong :premises (t3.t3)) (step t3.t5 (cl (! (= @p_1 (! (pred$d @p_8) :named @p_3)) :named @p_10)) :rule cong :premises (t3.t4)) (step t3.t6 (cl @p_6) :rule refl) (step t3.t7 (cl @p_9) :rule cong :premises (t3.t6)) (step t3.t8 (cl @p_10) :rule cong :premises (t3.t7)) (step t3.t9 (cl (= @p_11 (! (not @p_3) :named @p_12))) :rule cong :premises (t3.t8)) (step t3.t10 (cl (= @p_13 (! (or @p_3 @p_12) :named @p_14))) :rule cong :premises (t3.t5 t3.t9)) (step t3.t11 (cl (= @p_15 (! (and @p_5 @p_14) :named @p_16))) :rule cong :premises (t3.t2 t3.t10)) (step t3 (cl (! (= @p_2 (! (forall ((veriT_vr8 Int)) @p_16) :named @p_18)) :named @p_17)) :rule bind) (step t4 (cl (not @p_17) (not @p_2) @p_18) :rule equiv_pos2) -(step t5 (cl @p_18) :rule th_resolution :premises (axiom4 t3 t4)) +(step t5 (cl @p_18) :rule th_resolution :premises (a4 t3 t4)) (anchor :step t6 :args ((veriT_vr8 Int))) (step t6.t1 (cl (= @p_14 true)) :rule or_simplify) (step t6.t2 (cl (= @p_16 (! (and @p_5 true) :named @p_19))) :rule cong :premises (t6.t1)) (step t6.t3 (cl (= @p_19 (! (and @p_5) :named @p_20))) :rule and_simplify) (step t6.t4 (cl (= @p_20 @p_5)) :rule and_simplify) (step t6.t5 (cl (= @p_16 @p_5)) :rule trans :premises (t6.t2 t6.t3 t6.t4)) (step t6 (cl (! (= @p_18 (! (forall ((veriT_vr8 Int)) @p_5) :named @p_22)) :named @p_21)) :rule bind) (step t7 (cl (not @p_21) (not @p_18) @p_22) :rule equiv_pos2) (step t8 (cl @p_22) :rule th_resolution :premises (t5 t6 t7)) (anchor :step t9 :args ((:= (veriT_vr8 Int) veriT_vr9))) (step t9.t1 (cl (= veriT_vr8 veriT_vr9)) :rule refl) (step t9.t2 (cl (= @p_5 (! (pred$e veriT_vr9) :named @p_23))) :rule cong :premises (t9.t1)) (step t9 (cl (! (= @p_22 (! (forall ((veriT_vr9 Int)) @p_23) :named @p_25)) :named @p_24)) :rule bind) (step t10 (cl (not @p_24) (not @p_22) @p_25) :rule equiv_pos2) (step t11 (cl @p_25) :rule th_resolution :premises (t8 t9 t10)) (step t12 (cl (or (! (not @p_25) :named @p_27) @p_26)) :rule forall_inst :args ((:= veriT_vr9 1))) (step t13 (cl @p_27 @p_26) :rule or :premises (t12)) -(step t14 (cl) :rule resolution :premises (t13 t11 axiom5)) -9aecf5ce2acf5c9a6a97abe747fcd03e35b92209 158 0 +(step t14 (cl) :rule resolution :premises (t13 t11 a5)) +f9bb7f97f8819ceceaefe0cdf934d0eda3431a5b 158 0 unsat -(assume axiom0 (! (forall ((?v0 Int)) (! (= (! (g$ (! (some$ ?v0) :named @p_5)) :named @p_7) (! (g$a (! (cons$ ?v0 nil$) :named @p_10)) :named @p_12)) :named @p_14)) :named @p_4)) -(assume axiom1 (forall ((?v0 Bool)) (= (g$b (some$a ?v0)) (g$c (cons$a ?v0 nil$a))))) -(assume axiom6 (! (forall ((?v0 Bool_list$)) (! (= (! (g$c ?v0) :named @p_27) (! (size$ ?v0) :named @p_30)) :named @p_32)) :named @p_26)) -(assume axiom7 (! (forall ((?v0 Int_list$)) (! (= (! (g$a ?v0) :named @p_43) (! (size$a ?v0) :named @p_46)) :named @p_48)) :named @p_42)) -(assume axiom12 (! (= zero$ (! (size$ nil$a) :named @p_118)) :named @p_143)) -(assume axiom13 (! (= zero$ (! (size$a nil$) :named @p_133)) :named @p_144)) -(assume axiom14 (forall ((?v0 Bool) (?v1 Bool_list$)) (= (size$ (cons$a ?v0 ?v1)) (! (plus$ (! (size$ ?v1) :named @p_60) (! (suc$ zero$) :named @p_1)) :named @p_3)))) -(assume axiom15 (! (forall ((?v0 Int) (?v1 Int_list$)) (! (= (! (size$a (! (cons$ ?v0 ?v1) :named @p_96)) :named @p_98) (! (plus$ (! (size$a ?v1) :named @p_101) @p_1) :named @p_103)) :named @p_105)) :named @p_95)) -(assume axiom16 (not (! (= (! (g$ (some$ 3)) :named @p_124) (! (g$b (some$a true)) :named @p_2)) :named @p_141))) -(step t10 (cl (and (= (g$b (some$a false)) (g$c (! (cons$a false nil$a) :named @p_119))) (! (= @p_2 (! (g$c (! (cons$a true nil$a) :named @p_121)) :named @p_122)) :named @p_117))) :rule bfun_elim :premises (axiom1)) -(step t11 (cl (! (forall ((?v1 Bool_list$)) (! (and (! (= @p_3 (! (size$ (! (cons$a false ?v1) :named @p_63)) :named @p_65)) :named @p_67) (! (= @p_3 (! (size$ (! (cons$a true ?v1) :named @p_71)) :named @p_73)) :named @p_75)) :named @p_77)) :named @p_58)) :rule bfun_elim :premises (axiom14)) +(assume a0 (! (forall ((?v0 Int)) (! (= (! (g$ (! (some$ ?v0) :named @p_5)) :named @p_7) (! (g$a (! (cons$ ?v0 nil$) :named @p_10)) :named @p_12)) :named @p_14)) :named @p_4)) +(assume a1 (forall ((?v0 Bool)) (= (g$b (some$a ?v0)) (g$c (cons$a ?v0 nil$a))))) +(assume a6 (! (forall ((?v0 Bool_list$)) (! (= (! (g$c ?v0) :named @p_27) (! (size$ ?v0) :named @p_30)) :named @p_32)) :named @p_26)) +(assume a7 (! (forall ((?v0 Int_list$)) (! (= (! (g$a ?v0) :named @p_43) (! (size$a ?v0) :named @p_46)) :named @p_48)) :named @p_42)) +(assume a12 (! (= zero$ (! (size$ nil$a) :named @p_118)) :named @p_143)) +(assume a13 (! (= zero$ (! (size$a nil$) :named @p_133)) :named @p_144)) +(assume a14 (forall ((?v0 Bool) (?v1 Bool_list$)) (= (size$ (cons$a ?v0 ?v1)) (! (plus$ (! (size$ ?v1) :named @p_60) (! (suc$ zero$) :named @p_1)) :named @p_3)))) +(assume a15 (! (forall ((?v0 Int) (?v1 Int_list$)) (! (= (! (size$a (! (cons$ ?v0 ?v1) :named @p_96)) :named @p_98) (! (plus$ (! (size$a ?v1) :named @p_101) @p_1) :named @p_103)) :named @p_105)) :named @p_95)) +(assume a16 (not (! (= (! (g$ (some$ 3)) :named @p_124) (! (g$b (some$a true)) :named @p_2)) :named @p_141))) +(step t10 (cl (and (= (g$b (some$a false)) (g$c (! (cons$a false nil$a) :named @p_119))) (! (= @p_2 (! (g$c (! (cons$a true nil$a) :named @p_121)) :named @p_122)) :named @p_117))) :rule bfun_elim :premises (a1)) +(step t11 (cl (! (forall ((?v1 Bool_list$)) (! (and (! (= @p_3 (! (size$ (! (cons$a false ?v1) :named @p_63)) :named @p_65)) :named @p_67) (! (= @p_3 (! (size$ (! (cons$a true ?v1) :named @p_71)) :named @p_73)) :named @p_75)) :named @p_77)) :named @p_58)) :rule bfun_elim :premises (a14)) (anchor :step t12 :args ((:= (?v0 Int) veriT_vr0))) (step t12.t1 (cl (! (= ?v0 veriT_vr0) :named @p_9)) :rule refl) (step t12.t2 (cl (= @p_5 (! (some$ veriT_vr0) :named @p_6))) :rule cong :premises (t12.t1)) (step t12.t3 (cl (= @p_7 (! (g$ @p_6) :named @p_8))) :rule cong :premises (t12.t2)) (step t12.t4 (cl @p_9) :rule refl) (step t12.t5 (cl (= @p_10 (! (cons$ veriT_vr0 nil$) :named @p_11))) :rule cong :premises (t12.t4)) (step t12.t6 (cl (= @p_12 (! (g$a @p_11) :named @p_13))) :rule cong :premises (t12.t5)) (step t12.t7 (cl (= @p_14 (! (= @p_8 @p_13) :named @p_15))) :rule cong :premises (t12.t3 t12.t6)) (step t12 (cl (! (= @p_4 (! (forall ((veriT_vr0 Int)) @p_15) :named @p_17)) :named @p_16)) :rule bind) (step t13 (cl (not @p_16) (not @p_4) @p_17) :rule equiv_pos2) -(step t14 (cl @p_17) :rule th_resolution :premises (axiom0 t12 t13)) +(step t14 (cl @p_17) :rule th_resolution :premises (a0 t12 t13)) (anchor :step t15 :args ((:= (veriT_vr0 Int) veriT_vr1))) (step t15.t1 (cl (! (= veriT_vr0 veriT_vr1) :named @p_20)) :rule refl) (step t15.t2 (cl (= @p_6 (! (some$ veriT_vr1) :named @p_18))) :rule cong :premises (t15.t1)) (step t15.t3 (cl (= @p_8 (! (g$ @p_18) :named @p_19))) :rule cong :premises (t15.t2)) (step t15.t4 (cl @p_20) :rule refl) (step t15.t5 (cl (= @p_11 (! (cons$ veriT_vr1 nil$) :named @p_21))) :rule cong :premises (t15.t4)) (step t15.t6 (cl (= @p_13 (! (g$a @p_21) :named @p_22))) :rule cong :premises (t15.t5)) (step t15.t7 (cl (= @p_15 (! (= @p_19 @p_22) :named @p_23))) :rule cong :premises (t15.t3 t15.t6)) (step t15 (cl (! (= @p_17 (! (forall ((veriT_vr1 Int)) @p_23) :named @p_25)) :named @p_24)) :rule bind) (step t16 (cl (not @p_24) (not @p_17) @p_25) :rule equiv_pos2) (step t17 (cl @p_25) :rule th_resolution :premises (t14 t15 t16)) (anchor :step t18 :args ((:= (?v0 Bool_list$) veriT_vr2))) (step t18.t1 (cl (! (= ?v0 veriT_vr2) :named @p_29)) :rule refl) (step t18.t2 (cl (= @p_27 (! (g$c veriT_vr2) :named @p_28))) :rule cong :premises (t18.t1)) (step t18.t3 (cl @p_29) :rule refl) (step t18.t4 (cl (= @p_30 (! (size$ veriT_vr2) :named @p_31))) :rule cong :premises (t18.t3)) (step t18.t5 (cl (= @p_32 (! (= @p_28 @p_31) :named @p_33))) :rule cong :premises (t18.t2 t18.t4)) (step t18 (cl (! (= @p_26 (! (forall ((veriT_vr2 Bool_list$)) @p_33) :named @p_35)) :named @p_34)) :rule bind) (step t19 (cl (not @p_34) (not @p_26) @p_35) :rule equiv_pos2) -(step t20 (cl @p_35) :rule th_resolution :premises (axiom6 t18 t19)) +(step t20 (cl @p_35) :rule th_resolution :premises (a6 t18 t19)) (anchor :step t21 :args ((:= (veriT_vr2 Bool_list$) veriT_vr3))) (step t21.t1 (cl (! (= veriT_vr2 veriT_vr3) :named @p_37)) :rule refl) (step t21.t2 (cl (= @p_28 (! (g$c veriT_vr3) :named @p_36))) :rule cong :premises (t21.t1)) (step t21.t3 (cl @p_37) :rule refl) (step t21.t4 (cl (= @p_31 (! (size$ veriT_vr3) :named @p_38))) :rule cong :premises (t21.t3)) (step t21.t5 (cl (= @p_33 (! (= @p_36 @p_38) :named @p_39))) :rule cong :premises (t21.t2 t21.t4)) (step t21 (cl (! (= @p_35 (! (forall ((veriT_vr3 Bool_list$)) @p_39) :named @p_41)) :named @p_40)) :rule bind) (step t22 (cl (not @p_40) (not @p_35) @p_41) :rule equiv_pos2) (step t23 (cl @p_41) :rule th_resolution :premises (t20 t21 t22)) (anchor :step t24 :args ((:= (?v0 Int_list$) veriT_vr4))) (step t24.t1 (cl (! (= ?v0 veriT_vr4) :named @p_45)) :rule refl) (step t24.t2 (cl (= @p_43 (! (g$a veriT_vr4) :named @p_44))) :rule cong :premises (t24.t1)) (step t24.t3 (cl @p_45) :rule refl) (step t24.t4 (cl (= @p_46 (! (size$a veriT_vr4) :named @p_47))) :rule cong :premises (t24.t3)) (step t24.t5 (cl (= @p_48 (! (= @p_44 @p_47) :named @p_49))) :rule cong :premises (t24.t2 t24.t4)) (step t24 (cl (! (= @p_42 (! (forall ((veriT_vr4 Int_list$)) @p_49) :named @p_51)) :named @p_50)) :rule bind) (step t25 (cl (not @p_50) (not @p_42) @p_51) :rule equiv_pos2) -(step t26 (cl @p_51) :rule th_resolution :premises (axiom7 t24 t25)) +(step t26 (cl @p_51) :rule th_resolution :premises (a7 t24 t25)) (anchor :step t27 :args ((:= (veriT_vr4 Int_list$) veriT_vr5))) (step t27.t1 (cl (! (= veriT_vr4 veriT_vr5) :named @p_53)) :rule refl) (step t27.t2 (cl (= @p_44 (! (g$a veriT_vr5) :named @p_52))) :rule cong :premises (t27.t1)) (step t27.t3 (cl @p_53) :rule refl) (step t27.t4 (cl (= @p_47 (! (size$a veriT_vr5) :named @p_54))) :rule cong :premises (t27.t3)) (step t27.t5 (cl (= @p_49 (! (= @p_52 @p_54) :named @p_55))) :rule cong :premises (t27.t2 t27.t4)) (step t27 (cl (! (= @p_51 (! (forall ((veriT_vr5 Int_list$)) @p_55) :named @p_57)) :named @p_56)) :rule bind) (step t28 (cl (not @p_56) (not @p_51) @p_57) :rule equiv_pos2) (step t29 (cl @p_57) :rule th_resolution :premises (t26 t27 t28)) (anchor :step t30 :args ((:= (?v1 Bool_list$) veriT_vr20))) (step t30.t1 (cl (! (= ?v1 veriT_vr20) :named @p_62)) :rule refl) (step t30.t2 (cl (! (= @p_60 (! (size$ veriT_vr20) :named @p_61)) :named @p_69)) :rule cong :premises (t30.t1)) (step t30.t3 (cl (! (= @p_3 (! (plus$ @p_61 @p_1) :named @p_59)) :named @p_70)) :rule cong :premises (t30.t2)) (step t30.t4 (cl @p_62) :rule refl) (step t30.t5 (cl (= @p_63 (! (cons$a false veriT_vr20) :named @p_64))) :rule cong :premises (t30.t4)) (step t30.t6 (cl (= @p_65 (! (size$ @p_64) :named @p_66))) :rule cong :premises (t30.t5)) (step t30.t7 (cl (= @p_67 (! (= @p_59 @p_66) :named @p_68))) :rule cong :premises (t30.t3 t30.t6)) (step t30.t8 (cl @p_62) :rule refl) (step t30.t9 (cl @p_69) :rule cong :premises (t30.t8)) (step t30.t10 (cl @p_70) :rule cong :premises (t30.t9)) (step t30.t11 (cl @p_62) :rule refl) (step t30.t12 (cl (= @p_71 (! (cons$a true veriT_vr20) :named @p_72))) :rule cong :premises (t30.t11)) (step t30.t13 (cl (= @p_73 (! (size$ @p_72) :named @p_74))) :rule cong :premises (t30.t12)) (step t30.t14 (cl (= @p_75 (! (= @p_59 @p_74) :named @p_76))) :rule cong :premises (t30.t10 t30.t13)) (step t30.t15 (cl (= @p_77 (! (and @p_68 @p_76) :named @p_78))) :rule cong :premises (t30.t7 t30.t14)) (step t30 (cl (! (= @p_58 (! (forall ((veriT_vr20 Bool_list$)) @p_78) :named @p_80)) :named @p_79)) :rule bind) (step t31 (cl (not @p_79) (not @p_58) @p_80) :rule equiv_pos2) (step t32 (cl @p_80) :rule th_resolution :premises (t11 t30 t31)) (anchor :step t33 :args ((:= (veriT_vr20 Bool_list$) veriT_vr21))) (step t33.t1 (cl (! (= veriT_vr20 veriT_vr21) :named @p_83)) :rule refl) (step t33.t2 (cl (! (= @p_61 (! (size$ veriT_vr21) :named @p_82)) :named @p_87)) :rule cong :premises (t33.t1)) (step t33.t3 (cl (! (= @p_59 (! (plus$ @p_82 @p_1) :named @p_81)) :named @p_88)) :rule cong :premises (t33.t2)) (step t33.t4 (cl @p_83) :rule refl) (step t33.t5 (cl (= @p_64 (! (cons$a false veriT_vr21) :named @p_84))) :rule cong :premises (t33.t4)) (step t33.t6 (cl (= @p_66 (! (size$ @p_84) :named @p_85))) :rule cong :premises (t33.t5)) (step t33.t7 (cl (= @p_68 (! (= @p_81 @p_85) :named @p_86))) :rule cong :premises (t33.t3 t33.t6)) (step t33.t8 (cl @p_83) :rule refl) (step t33.t9 (cl @p_87) :rule cong :premises (t33.t8)) (step t33.t10 (cl @p_88) :rule cong :premises (t33.t9)) (step t33.t11 (cl @p_83) :rule refl) (step t33.t12 (cl (= @p_72 (! (cons$a true veriT_vr21) :named @p_89))) :rule cong :premises (t33.t11)) (step t33.t13 (cl (= @p_74 (! (size$ @p_89) :named @p_90))) :rule cong :premises (t33.t12)) (step t33.t14 (cl (= @p_76 (! (= @p_81 @p_90) :named @p_91))) :rule cong :premises (t33.t10 t33.t13)) (step t33.t15 (cl (= @p_78 (! (and @p_86 @p_91) :named @p_92))) :rule cong :premises (t33.t7 t33.t14)) (step t33 (cl (! (= @p_80 (! (forall ((veriT_vr21 Bool_list$)) @p_92) :named @p_94)) :named @p_93)) :rule bind) (step t34 (cl (not @p_93) (not @p_80) @p_94) :rule equiv_pos2) (step t35 (cl @p_94) :rule th_resolution :premises (t32 t33 t34)) (anchor :step t36 :args ((:= (?v0 Int) veriT_vr22) (:= (?v1 Int_list$) veriT_vr23))) (step t36.t1 (cl (= ?v0 veriT_vr22)) :rule refl) (step t36.t2 (cl (! (= ?v1 veriT_vr23) :named @p_100)) :rule refl) (step t36.t3 (cl (= @p_96 (! (cons$ veriT_vr22 veriT_vr23) :named @p_97))) :rule cong :premises (t36.t1 t36.t2)) (step t36.t4 (cl (= @p_98 (! (size$a @p_97) :named @p_99))) :rule cong :premises (t36.t3)) (step t36.t5 (cl @p_100) :rule refl) (step t36.t6 (cl (= @p_101 (! (size$a veriT_vr23) :named @p_102))) :rule cong :premises (t36.t5)) (step t36.t7 (cl (= @p_103 (! (plus$ @p_102 @p_1) :named @p_104))) :rule cong :premises (t36.t6)) (step t36.t8 (cl (= @p_105 (! (= @p_99 @p_104) :named @p_106))) :rule cong :premises (t36.t4 t36.t7)) (step t36 (cl (! (= @p_95 (! (forall ((veriT_vr22 Int) (veriT_vr23 Int_list$)) @p_106) :named @p_108)) :named @p_107)) :rule bind) (step t37 (cl (not @p_107) (not @p_95) @p_108) :rule equiv_pos2) -(step t38 (cl @p_108) :rule th_resolution :premises (axiom15 t36 t37)) +(step t38 (cl @p_108) :rule th_resolution :premises (a15 t36 t37)) (anchor :step t39 :args ((:= (veriT_vr22 Int) veriT_vr24) (:= (veriT_vr23 Int_list$) veriT_vr25))) (step t39.t1 (cl (= veriT_vr22 veriT_vr24)) :rule refl) (step t39.t2 (cl (! (= veriT_vr23 veriT_vr25) :named @p_111)) :rule refl) (step t39.t3 (cl (= @p_97 (! (cons$ veriT_vr24 veriT_vr25) :named @p_109))) :rule cong :premises (t39.t1 t39.t2)) (step t39.t4 (cl (= @p_99 (! (size$a @p_109) :named @p_110))) :rule cong :premises (t39.t3)) (step t39.t5 (cl @p_111) :rule refl) (step t39.t6 (cl (= @p_102 (! (size$a veriT_vr25) :named @p_112))) :rule cong :premises (t39.t5)) (step t39.t7 (cl (= @p_104 (! (plus$ @p_112 @p_1) :named @p_113))) :rule cong :premises (t39.t6)) (step t39.t8 (cl (= @p_106 (! (= @p_110 @p_113) :named @p_114))) :rule cong :premises (t39.t4 t39.t7)) (step t39 (cl (! (= @p_108 (! (forall ((veriT_vr24 Int) (veriT_vr25 Int_list$)) @p_114) :named @p_116)) :named @p_115)) :rule bind) (step t40 (cl (not @p_115) (not @p_108) @p_116) :rule equiv_pos2) (step t41 (cl @p_116) :rule th_resolution :premises (t38 t39 t40)) (step t42 (cl @p_117) :rule and :premises (t10)) (step t43 (cl (or (! (not @p_94) :named @p_127) (! (and (= (! (plus$ @p_118 @p_1) :named @p_120) (size$ @p_119)) (! (= @p_120 (! (size$ @p_121) :named @p_123)) :named @p_126)) :named @p_125))) :rule forall_inst :args ((:= veriT_vr21 nil$a))) (step t44 (cl (or (! (not @p_41) :named @p_128) (! (= @p_122 @p_123) :named @p_129))) :rule forall_inst :args ((:= veriT_vr3 @p_121))) (step t45 (cl (or (! (not @p_25) :named @p_130) (! (= @p_124 (! (g$a (! (cons$ 3 nil$) :named @p_132)) :named @p_134)) :named @p_131))) :rule forall_inst :args ((:= veriT_vr1 3))) (step t46 (cl (not @p_125) @p_126) :rule and_pos) (step t47 (cl @p_127 @p_125) :rule or :premises (t43)) (step t48 (cl @p_125) :rule resolution :premises (t47 t35)) (step t49 (cl @p_126) :rule resolution :premises (t46 t48)) (step t50 (cl @p_128 @p_129) :rule or :premises (t44)) (step t51 (cl @p_129) :rule resolution :premises (t50 t23)) (step t52 (cl @p_130 @p_131) :rule or :premises (t45)) (step t53 (cl @p_131) :rule resolution :premises (t52 t17)) (step t54 (cl (or (! (not @p_116) :named @p_136) (! (= (! (size$a @p_132) :named @p_135) (! (plus$ @p_133 @p_1) :named @p_140)) :named @p_137))) :rule forall_inst :args ((:= veriT_vr24 3) (:= veriT_vr25 nil$))) (step t55 (cl (or (! (not @p_57) :named @p_138) (! (= @p_134 @p_135) :named @p_139))) :rule forall_inst :args ((:= veriT_vr5 @p_132))) (step t56 (cl @p_136 @p_137) :rule or :premises (t54)) (step t57 (cl @p_137) :rule resolution :premises (t56 t41)) (step t58 (cl @p_138 @p_139) :rule or :premises (t55)) (step t59 (cl @p_139) :rule resolution :premises (t58 t29)) (step t60 (cl (! (not @p_131) :named @p_150) (! (not @p_139) :named @p_151) (! (not @p_137) :named @p_152) (not (! (= @p_120 @p_140) :named @p_142)) (! (not @p_126) :named @p_153) (! (not @p_129) :named @p_154) (! (not @p_117) :named @p_155) @p_141) :rule eq_transitive) (step t61 (cl (not (! (= @p_118 @p_133) :named @p_145)) (! (not (! (= @p_1 @p_1) :named @p_149)) :named @p_146) @p_142) :rule eq_congruent) (step t62 (cl (! (not @p_143) :named @p_147) (! (not @p_144) :named @p_148) @p_145) :rule eq_transitive) (step t63 (cl @p_146 @p_142 @p_147 @p_148) :rule th_resolution :premises (t61 t62)) (step t64 (cl @p_149) :rule eq_reflexive) (step t65 (cl @p_142 @p_147 @p_148) :rule th_resolution :premises (t63 t64)) (step t66 (cl @p_150 @p_151 @p_152 @p_153 @p_154 @p_155 @p_141 @p_147 @p_148) :rule th_resolution :premises (t60 t65)) -(step t67 (cl) :rule resolution :premises (t66 t42 axiom12 axiom13 axiom16 t49 t51 t53 t57 t59)) -1a2d4d1ee4565edc7b401dfc82d8d10a78382c1c 910 0 +(step t67 (cl) :rule resolution :premises (t66 t42 a12 a13 a16 t49 t51 t53 t57 t59)) +79bb70ff288db1936aaccee9c58bb4c098292b28 543 0 unsat -(define-fun veriT_sk0 () V$ (! (choice ((veriT_vr65 V$)) (not (! (not (! (= x2$ (! (rraise$ veriT_vr65) :named @p_401)) :named @p_402)) :named @p_400))) :named @p_414)) -(define-fun veriT_sk1 () Abort$ (! (choice ((veriT_vr66 Abort$)) (not (! (not (! (= x2$ (! (rabort$ veriT_vr66) :named @p_404)) :named @p_405)) :named @p_403))) :named @p_418)) -(define-fun veriT_sk3 () V_list_v_result$ (! (choice ((veriT_vr73 V_list_v_result$)) (! (= (! (fun_evaluate$ st$a env$ (cons$ e$ nil$)) :named @p_3) (! (pair$ (! (fst$ @p_3) :named @p_378) veriT_vr73) :named @p_461)) :named @p_460)) :named @p_465)) -(define-fun veriT_sk11 () V_list_v_result$ (! (choice ((veriT_vr108 V_list_v_result$)) (! (= (! (fix_clock$ st$a @p_3) :named @p_470) (! (pair$ st$ veriT_vr108) :named @p_503)) :named @p_502)) :named @p_515)) -(assume axiom0 (! (forall ((?v0 V$)) (! (= (! (fun_app$ uua$ ?v0) :named @p_9) (! (fun_app$ (! (fun_evaluate_match$ st$ env$ ?v0 pes$) :named @p_12) ?v0) :named @p_14)) :named @p_16)) :named @p_8)) -(assume axiom1 (! (forall ((?v0 Abort$)) (! (= (! (fun_app$a uub$ ?v0) :named @p_28) (! (pair$ st$ (! (rerr$ (! (rabort$ ?v0) :named @p_31)) :named @p_33)) :named @p_35)) :named @p_37)) :named @p_27)) -(assume axiom2 (! (forall ((?v0 Astate$) (?v1 Astate$) (?v2 Nat$)) (! (= (! (fun_app$b (! (uu$ ?v0 ?v1) :named @p_5) ?v2) :named @p_53) (! (ite (! (less_eq$ (! (clock$ ?v1) :named @p_1) (! (clock$ ?v0) :named @p_2)) :named @p_57) @p_1 @p_2) :named @p_61)) :named @p_63)) :named @p_49)) -(assume axiom3 (! (= @p_470 (! (pair$ st$ r$) :named @p_609)) :named @p_628)) -(assume axiom4 (! (less_eq$ (! (clock$ @p_378) :named @p_371) (! (clock$ st$a) :named @p_7)) :named @p_369)) -(assume axiom5 (! (forall ((?v0 Nat$) (?v1 Nat$) (?v2 Nat$)) (! (=> (! (and (! (less_eq$ ?v0 ?v1) :named @p_81) (! (less_eq$ ?v2 ?v0) :named @p_84)) :named @p_86) (! (less_eq$ ?v2 ?v1) :named @p_90)) :named @p_92)) :named @p_80)) -(assume axiom6 (! (forall ((?v0 Astate$) (?v1 Astate_v_list_v_result_prod$)) (! (= (! (= ?v0 (! (fst$ ?v1) :named @p_107)) :named @p_109) (! (exists ((?v2 V_list_v_result$)) (! (= ?v1 (! (pair$ ?v0 ?v2) :named @p_115)) :named @p_117)) :named @p_111)) :named @p_119)) :named @p_106)) -(assume axiom7 (! (forall ((?v0 V_error_result$)) (! (=> (! (and (! (forall ((?v1 V$)) (! (=> (! (= ?v0 (! (rraise$ ?v1) :named @p_174)) :named @p_6) false) :named @p_177)) :named @p_172) (! (forall ((?v1 Abort$)) (! (=> (! (= ?v0 (! (rabort$ ?v1) :named @p_182)) :named @p_184) false) :named @p_186)) :named @p_179)) :named @p_188) false) :named @p_190)) :named @p_171)) -(assume axiom8 (! (forall ((?v0 V_astate_v_list_v_result_prod_fun$) (?v1 Abort_astate_v_list_v_result_prod_fun$) (?v2 V$)) (! (= (! (case_error_result$ ?v0 ?v1 (! (rraise$ ?v2) :named @p_217)) :named @p_219) (! (fun_app$ ?v0 ?v2) :named @p_223)) :named @p_225)) :named @p_216)) -(assume axiom9 (! (forall ((?v0 V_astate_v_list_v_result_prod_fun$) (?v1 Abort_astate_v_list_v_result_prod_fun$) (?v2 Abort$)) (! (= (! (case_error_result$ ?v0 ?v1 (! (rabort$ ?v2) :named @p_238)) :named @p_240) (! (fun_app$a ?v1 ?v2) :named @p_244)) :named @p_246)) :named @p_237)) -(assume axiom10 (! (forall ((?v0 Astate$) (?v1 Astate$) (?v2 V_list_v_result$) (?v3 Astate$)) (! (=> (! (= (! (fix_clock$ ?v0 (! (pair$ ?v1 ?v2) :named @p_259)) :named @p_4) (! (pair$ ?v3 ?v2) :named @p_263)) :named @p_265) (! (less_eq$ (! (clock$ ?v3) :named @p_268) @p_1) :named @p_272)) :named @p_274)) :named @p_258)) -(assume axiom11 (! (forall ((?v0 Astate$) (?v1 Astate$) (?v2 V_list_v_result$)) (! (= @p_4 (! (pair$ (! (update_clock$ @p_5 ?v1) :named @p_297) ?v2) :named @p_300)) :named @p_302)) :named @p_291)) -(assume axiom12 (! (forall ((?v0 V_error_result$) (?v1 V$)) (! (=> (! (and (! (= r$ (! (rerr$ ?v0) :named @p_319)) :named @p_321) @p_6) :named @p_326) (! (less_eq$ (! (clock$ (! (fst$ (! (fun_app$ (! (fun_evaluate_match$ st$ env$ ?v1 pes$) :named @p_329) ?v1) :named @p_331)) :named @p_333)) :named @p_335) (! (clock$ st$) :named @p_318)) :named @p_337)) :named @p_339)) :named @p_317)) -(assume axiom13 (! (not (! (=> (! (= r$ (! (rerr$ x2$) :named @p_615)) :named @p_359) (! (less_eq$ (! (clock$ (! (fst$ (! (case_error_result$ uua$ uub$ x2$) :named @p_602)) :named @p_530)) :named @p_370) @p_7) :named @p_360)) :named @p_364)) :named @p_358)) -(anchor :step t15 :args ((:= (?v0 V$) veriT_vr0))) -(step t15.t1 (cl (! (= ?v0 veriT_vr0) :named @p_11)) :rule refl) -(step t15.t2 (cl (= @p_9 (! (fun_app$ uua$ veriT_vr0) :named @p_10))) :rule cong :premises (t15.t1)) -(step t15.t3 (cl @p_11) :rule refl) -(step t15.t4 (cl (= @p_12 (! (fun_evaluate_match$ st$ env$ veriT_vr0 pes$) :named @p_13))) :rule cong :premises (t15.t3)) -(step t15.t5 (cl @p_11) :rule refl) -(step t15.t6 (cl (= @p_14 (! (fun_app$ @p_13 veriT_vr0) :named @p_15))) :rule cong :premises (t15.t4 t15.t5)) -(step t15.t7 (cl (= @p_16 (! (= @p_10 @p_15) :named @p_17))) :rule cong :premises (t15.t2 t15.t6)) -(step t15 (cl (! (= @p_8 (! (forall ((veriT_vr0 V$)) @p_17) :named @p_19)) :named @p_18)) :rule bind) -(step t16 (cl (not @p_18) (not @p_8) @p_19) :rule equiv_pos2) -(step t17 (cl @p_19) :rule th_resolution :premises (axiom0 t15 t16)) -(anchor :step t18 :args ((:= (veriT_vr0 V$) veriT_vr1))) -(step t18.t1 (cl (! (= veriT_vr0 veriT_vr1) :named @p_21)) :rule refl) -(step t18.t2 (cl (= @p_10 (! (fun_app$ uua$ veriT_vr1) :named @p_20))) :rule cong :premises (t18.t1)) -(step t18.t3 (cl @p_21) :rule refl) -(step t18.t4 (cl (= @p_13 (! (fun_evaluate_match$ st$ env$ veriT_vr1 pes$) :named @p_22))) :rule cong :premises (t18.t3)) -(step t18.t5 (cl @p_21) :rule refl) -(step t18.t6 (cl (= @p_15 (! (fun_app$ @p_22 veriT_vr1) :named @p_23))) :rule cong :premises (t18.t4 t18.t5)) -(step t18.t7 (cl (= @p_17 (! (= @p_20 @p_23) :named @p_24))) :rule cong :premises (t18.t2 t18.t6)) -(step t18 (cl (! (= @p_19 (! (forall ((veriT_vr1 V$)) @p_24) :named @p_26)) :named @p_25)) :rule bind) -(step t19 (cl (not @p_25) (not @p_19) @p_26) :rule equiv_pos2) -(step t20 (cl @p_26) :rule th_resolution :premises (t17 t18 t19)) -(anchor :step t21 :args ((:= (?v0 Abort$) veriT_vr2))) -(step t21.t1 (cl (! (= ?v0 veriT_vr2) :named @p_30)) :rule refl) -(step t21.t2 (cl (= @p_28 (! (fun_app$a uub$ veriT_vr2) :named @p_29))) :rule cong :premises (t21.t1)) -(step t21.t3 (cl @p_30) :rule refl) -(step t21.t4 (cl (= @p_31 (! (rabort$ veriT_vr2) :named @p_32))) :rule cong :premises (t21.t3)) -(step t21.t5 (cl (= @p_33 (! (rerr$ @p_32) :named @p_34))) :rule cong :premises (t21.t4)) -(step t21.t6 (cl (= @p_35 (! (pair$ st$ @p_34) :named @p_36))) :rule cong :premises (t21.t5)) -(step t21.t7 (cl (= @p_37 (! (= @p_29 @p_36) :named @p_38))) :rule cong :premises (t21.t2 t21.t6)) -(step t21 (cl (! (= @p_27 (! (forall ((veriT_vr2 Abort$)) @p_38) :named @p_40)) :named @p_39)) :rule bind) -(step t22 (cl (not @p_39) (not @p_27) @p_40) :rule equiv_pos2) -(step t23 (cl @p_40) :rule th_resolution :premises (axiom1 t21 t22)) -(anchor :step t24 :args ((:= (veriT_vr2 Abort$) veriT_vr3))) -(step t24.t1 (cl (! (= veriT_vr2 veriT_vr3) :named @p_42)) :rule refl) -(step t24.t2 (cl (= @p_29 (! (fun_app$a uub$ veriT_vr3) :named @p_41))) :rule cong :premises (t24.t1)) -(step t24.t3 (cl @p_42) :rule refl) -(step t24.t4 (cl (= @p_32 (! (rabort$ veriT_vr3) :named @p_43))) :rule cong :premises (t24.t3)) -(step t24.t5 (cl (= @p_34 (! (rerr$ @p_43) :named @p_44))) :rule cong :premises (t24.t4)) -(step t24.t6 (cl (= @p_36 (! (pair$ st$ @p_44) :named @p_45))) :rule cong :premises (t24.t5)) -(step t24.t7 (cl (= @p_38 (! (= @p_41 @p_45) :named @p_46))) :rule cong :premises (t24.t2 t24.t6)) -(step t24 (cl (! (= @p_40 (! (forall ((veriT_vr3 Abort$)) @p_46) :named @p_48)) :named @p_47)) :rule bind) -(step t25 (cl (not @p_47) (not @p_40) @p_48) :rule equiv_pos2) -(step t26 (cl @p_48) :rule th_resolution :premises (t23 t24 t25)) -(anchor :step t27 :args ((:= (?v0 Astate$) veriT_vr4) (:= (?v1 Astate$) veriT_vr5) (:= (?v2 Nat$) veriT_vr6))) -(step t27.t1 (cl (! (= ?v0 veriT_vr4) :named @p_56)) :rule refl) -(step t27.t2 (cl (! (= ?v1 veriT_vr5) :named @p_55)) :rule refl) -(step t27.t3 (cl (= @p_5 (! (uu$ veriT_vr4 veriT_vr5) :named @p_52))) :rule cong :premises (t27.t1 t27.t2)) -(step t27.t4 (cl (= ?v2 veriT_vr6)) :rule refl) -(step t27.t5 (cl (= @p_53 (! (fun_app$b @p_52 veriT_vr6) :named @p_54))) :rule cong :premises (t27.t3 t27.t4)) -(step t27.t6 (cl @p_55) :rule refl) -(step t27.t7 (cl (! (= @p_1 (! (clock$ veriT_vr5) :named @p_50)) :named @p_59)) :rule cong :premises (t27.t6)) -(step t27.t8 (cl @p_56) :rule refl) -(step t27.t9 (cl (! (= @p_2 (! (clock$ veriT_vr4) :named @p_51)) :named @p_60)) :rule cong :premises (t27.t8)) -(step t27.t10 (cl (= @p_57 (! (less_eq$ @p_50 @p_51) :named @p_58))) :rule cong :premises (t27.t7 t27.t9)) -(step t27.t11 (cl @p_55) :rule refl) -(step t27.t12 (cl @p_59) :rule cong :premises (t27.t11)) -(step t27.t13 (cl @p_56) :rule refl) -(step t27.t14 (cl @p_60) :rule cong :premises (t27.t13)) -(step t27.t15 (cl (= @p_61 (! (ite @p_58 @p_50 @p_51) :named @p_62))) :rule cong :premises (t27.t10 t27.t12 t27.t14)) -(step t27.t16 (cl (= @p_63 (! (= @p_54 @p_62) :named @p_64))) :rule cong :premises (t27.t5 t27.t15)) -(step t27 (cl (! (= @p_49 (! (forall ((veriT_vr4 Astate$) (veriT_vr5 Astate$) (veriT_vr6 Nat$)) @p_64) :named @p_66)) :named @p_65)) :rule bind) -(step t28 (cl (not @p_65) (not @p_49) @p_66) :rule equiv_pos2) -(step t29 (cl @p_66) :rule th_resolution :premises (axiom2 t27 t28)) -(anchor :step t30 :args ((:= (veriT_vr4 Astate$) veriT_vr7) (:= (veriT_vr5 Astate$) veriT_vr8) (:= (veriT_vr6 Nat$) veriT_vr9))) -(step t30.t1 (cl (! (= veriT_vr4 veriT_vr7) :named @p_72)) :rule refl) -(step t30.t2 (cl (! (= veriT_vr5 veriT_vr8) :named @p_71)) :rule refl) -(step t30.t3 (cl (= @p_52 (! (uu$ veriT_vr7 veriT_vr8) :named @p_69))) :rule cong :premises (t30.t1 t30.t2)) -(step t30.t4 (cl (= veriT_vr6 veriT_vr9)) :rule refl) -(step t30.t5 (cl (= @p_54 (! (fun_app$b @p_69 veriT_vr9) :named @p_70))) :rule cong :premises (t30.t3 t30.t4)) -(step t30.t6 (cl @p_71) :rule refl) -(step t30.t7 (cl (! (= @p_50 (! (clock$ veriT_vr8) :named @p_67)) :named @p_74)) :rule cong :premises (t30.t6)) -(step t30.t8 (cl @p_72) :rule refl) -(step t30.t9 (cl (! (= @p_51 (! (clock$ veriT_vr7) :named @p_68)) :named @p_75)) :rule cong :premises (t30.t8)) -(step t30.t10 (cl (= @p_58 (! (less_eq$ @p_67 @p_68) :named @p_73))) :rule cong :premises (t30.t7 t30.t9)) -(step t30.t11 (cl @p_71) :rule refl) -(step t30.t12 (cl @p_74) :rule cong :premises (t30.t11)) -(step t30.t13 (cl @p_72) :rule refl) -(step t30.t14 (cl @p_75) :rule cong :premises (t30.t13)) -(step t30.t15 (cl (= @p_62 (! (ite @p_73 @p_67 @p_68) :named @p_76))) :rule cong :premises (t30.t10 t30.t12 t30.t14)) -(step t30.t16 (cl (= @p_64 (! (= @p_70 @p_76) :named @p_77))) :rule cong :premises (t30.t5 t30.t15)) -(step t30 (cl (! (= @p_66 (! (forall ((veriT_vr7 Astate$) (veriT_vr8 Astate$) (veriT_vr9 Nat$)) @p_77) :named @p_79)) :named @p_78)) :rule bind) -(step t31 (cl (not @p_78) (not @p_66) @p_79) :rule equiv_pos2) -(step t32 (cl @p_79) :rule th_resolution :premises (t29 t30 t31)) -(anchor :step t33 :args ((:= (?v0 Nat$) veriT_vr10) (:= (?v1 Nat$) veriT_vr11) (:= (?v2 Nat$) veriT_vr12))) -(step t33.t1 (cl (! (= ?v0 veriT_vr10) :named @p_83)) :rule refl) -(step t33.t2 (cl (! (= ?v1 veriT_vr11) :named @p_89)) :rule refl) -(step t33.t3 (cl (= @p_81 (! (less_eq$ veriT_vr10 veriT_vr11) :named @p_82))) :rule cong :premises (t33.t1 t33.t2)) -(step t33.t4 (cl (! (= ?v2 veriT_vr12) :named @p_88)) :rule refl) -(step t33.t5 (cl @p_83) :rule refl) -(step t33.t6 (cl (= @p_84 (! (less_eq$ veriT_vr12 veriT_vr10) :named @p_85))) :rule cong :premises (t33.t4 t33.t5)) -(step t33.t7 (cl (= @p_86 (! (and @p_82 @p_85) :named @p_87))) :rule cong :premises (t33.t3 t33.t6)) -(step t33.t8 (cl @p_88) :rule refl) -(step t33.t9 (cl @p_89) :rule refl) -(step t33.t10 (cl (= @p_90 (! (less_eq$ veriT_vr12 veriT_vr11) :named @p_91))) :rule cong :premises (t33.t8 t33.t9)) -(step t33.t11 (cl (= @p_92 (! (=> @p_87 @p_91) :named @p_93))) :rule cong :premises (t33.t7 t33.t10)) -(step t33 (cl (! (= @p_80 (! (forall ((veriT_vr10 Nat$) (veriT_vr11 Nat$) (veriT_vr12 Nat$)) @p_93) :named @p_95)) :named @p_94)) :rule bind) -(step t34 (cl (not @p_94) (not @p_80) @p_95) :rule equiv_pos2) -(step t35 (cl @p_95) :rule th_resolution :premises (axiom5 t33 t34)) -(anchor :step t36 :args ((:= (veriT_vr10 Nat$) veriT_vr13) (:= (veriT_vr11 Nat$) veriT_vr14) (:= (veriT_vr12 Nat$) veriT_vr15))) -(step t36.t1 (cl (! (= veriT_vr10 veriT_vr13) :named @p_97)) :rule refl) -(step t36.t2 (cl (! (= veriT_vr11 veriT_vr14) :named @p_101)) :rule refl) -(step t36.t3 (cl (= @p_82 (! (less_eq$ veriT_vr13 veriT_vr14) :named @p_96))) :rule cong :premises (t36.t1 t36.t2)) -(step t36.t4 (cl (! (= veriT_vr12 veriT_vr15) :named @p_100)) :rule refl) -(step t36.t5 (cl @p_97) :rule refl) -(step t36.t6 (cl (= @p_85 (! (less_eq$ veriT_vr15 veriT_vr13) :named @p_98))) :rule cong :premises (t36.t4 t36.t5)) -(step t36.t7 (cl (= @p_87 (! (and @p_96 @p_98) :named @p_99))) :rule cong :premises (t36.t3 t36.t6)) -(step t36.t8 (cl @p_100) :rule refl) -(step t36.t9 (cl @p_101) :rule refl) -(step t36.t10 (cl (= @p_91 (! (less_eq$ veriT_vr15 veriT_vr14) :named @p_102))) :rule cong :premises (t36.t8 t36.t9)) -(step t36.t11 (cl (= @p_93 (! (=> @p_99 @p_102) :named @p_103))) :rule cong :premises (t36.t7 t36.t10)) -(step t36 (cl (! (= @p_95 (! (forall ((veriT_vr13 Nat$) (veriT_vr14 Nat$) (veriT_vr15 Nat$)) @p_103) :named @p_105)) :named @p_104)) :rule bind) -(step t37 (cl (not @p_104) (not @p_95) @p_105) :rule equiv_pos2) -(step t38 (cl @p_105) :rule th_resolution :premises (t35 t36 t37)) -(anchor :step t39 :args ((:= (?v0 Astate$) veriT_vr16) (:= (?v1 Astate_v_list_v_result_prod$) veriT_vr17))) -(step t39.t1 (cl (! (= ?v0 veriT_vr16) :named @p_114)) :rule refl) -(step t39.t2 (cl (! (= ?v1 veriT_vr17) :named @p_113)) :rule refl) -(step t39.t3 (cl (= @p_107 (! (fst$ veriT_vr17) :named @p_108))) :rule cong :premises (t39.t2)) -(step t39.t4 (cl (= @p_109 (! (= veriT_vr16 @p_108) :named @p_110))) :rule cong :premises (t39.t1 t39.t3)) -(anchor :step t39.t5 :args ((:= (?v2 V_list_v_result$) veriT_vr18))) -(step t39.t5.t1 (cl @p_113) :rule refl) -(step t39.t5.t2 (cl @p_114) :rule refl) -(step t39.t5.t3 (cl (= ?v2 veriT_vr18)) :rule refl) -(step t39.t5.t4 (cl (= @p_115 (! (pair$ veriT_vr16 veriT_vr18) :named @p_116))) :rule cong :premises (t39.t5.t2 t39.t5.t3)) -(step t39.t5.t5 (cl (= @p_117 (! (= veriT_vr17 @p_116) :named @p_118))) :rule cong :premises (t39.t5.t1 t39.t5.t4)) -(step t39.t5 (cl (= @p_111 (! (exists ((veriT_vr18 V_list_v_result$)) @p_118) :named @p_112))) :rule bind) -(step t39.t6 (cl (= @p_119 (! (= @p_110 @p_112) :named @p_120))) :rule cong :premises (t39.t4 t39.t5)) -(step t39 (cl (! (= @p_106 (! (forall ((veriT_vr16 Astate$) (veriT_vr17 Astate_v_list_v_result_prod$)) @p_120) :named @p_122)) :named @p_121)) :rule bind) -(step t40 (cl (not @p_121) (not @p_106) @p_122) :rule equiv_pos2) -(step t41 (cl @p_122) :rule th_resolution :premises (axiom6 t39 t40)) -(anchor :step t42 :args ((veriT_vr16 Astate$) (veriT_vr17 Astate_v_list_v_result_prod$))) -(step t42.t1 (cl (= @p_120 (! (and (! (=> @p_110 @p_112) :named @p_133) (! (=> @p_112 @p_110) :named @p_140)) :named @p_123))) :rule connective_def) -(step t42 (cl (! (= @p_122 (! (forall ((veriT_vr16 Astate$) (veriT_vr17 Astate_v_list_v_result_prod$)) @p_123) :named @p_125)) :named @p_124)) :rule bind) -(step t43 (cl (not @p_124) (not @p_122) @p_125) :rule equiv_pos2) -(step t44 (cl @p_125) :rule th_resolution :premises (t41 t42 t43)) -(anchor :step t45 :args ((:= (veriT_vr16 Astate$) veriT_vr19) (:= (veriT_vr17 Astate_v_list_v_result_prod$) veriT_vr20))) -(step t45.t1 (cl (! (= veriT_vr16 veriT_vr19) :named @p_130)) :rule refl) -(step t45.t2 (cl (! (= veriT_vr17 veriT_vr20) :named @p_129)) :rule refl) -(step t45.t3 (cl (! (= @p_108 (! (fst$ veriT_vr20) :named @p_127)) :named @p_138)) :rule cong :premises (t45.t2)) -(step t45.t4 (cl (! (= @p_110 (! (= veriT_vr19 @p_127) :named @p_126)) :named @p_139)) :rule cong :premises (t45.t1 t45.t3)) -(anchor :step t45.t5 :args ((:= (veriT_vr18 V_list_v_result$) veriT_vr21))) -(step t45.t5.t1 (cl @p_129) :rule refl) -(step t45.t5.t2 (cl @p_130) :rule refl) -(step t45.t5.t3 (cl (= veriT_vr18 veriT_vr21)) :rule refl) -(step t45.t5.t4 (cl (= @p_116 (! (pair$ veriT_vr19 veriT_vr21) :named @p_131))) :rule cong :premises (t45.t5.t2 t45.t5.t3)) -(step t45.t5.t5 (cl (= @p_118 (! (= veriT_vr20 @p_131) :named @p_132))) :rule cong :premises (t45.t5.t1 t45.t5.t4)) -(step t45.t5 (cl (= @p_112 (! (exists ((veriT_vr21 V_list_v_result$)) @p_132) :named @p_128))) :rule bind) -(step t45.t6 (cl (= @p_133 (! (=> @p_126 @p_128) :named @p_134))) :rule cong :premises (t45.t4 t45.t5)) -(anchor :step t45.t7 :args ((:= (veriT_vr18 V_list_v_result$) veriT_vr22))) -(step t45.t7.t1 (cl @p_129) :rule refl) -(step t45.t7.t2 (cl @p_130) :rule refl) -(step t45.t7.t3 (cl (= veriT_vr18 veriT_vr22)) :rule refl) -(step t45.t7.t4 (cl (= @p_116 (! (pair$ veriT_vr19 veriT_vr22) :named @p_136))) :rule cong :premises (t45.t7.t2 t45.t7.t3)) -(step t45.t7.t5 (cl (= @p_118 (! (= veriT_vr20 @p_136) :named @p_137))) :rule cong :premises (t45.t7.t1 t45.t7.t4)) -(step t45.t7 (cl (= @p_112 (! (exists ((veriT_vr22 V_list_v_result$)) @p_137) :named @p_135))) :rule bind) -(step t45.t8 (cl @p_130) :rule refl) -(step t45.t9 (cl @p_129) :rule refl) -(step t45.t10 (cl @p_138) :rule cong :premises (t45.t9)) -(step t45.t11 (cl @p_139) :rule cong :premises (t45.t8 t45.t10)) -(step t45.t12 (cl (= @p_140 (! (=> @p_135 @p_126) :named @p_141))) :rule cong :premises (t45.t7 t45.t11)) -(step t45.t13 (cl (= @p_123 (! (and @p_134 @p_141) :named @p_142))) :rule cong :premises (t45.t6 t45.t12)) -(step t45 (cl (! (= @p_125 (! (forall ((veriT_vr19 Astate$) (veriT_vr20 Astate_v_list_v_result_prod$)) @p_142) :named @p_144)) :named @p_143)) :rule bind) -(step t46 (cl (not @p_143) (not @p_125) @p_144) :rule equiv_pos2) -(step t47 (cl @p_144) :rule th_resolution :premises (t44 t45 t46)) -(anchor :step t48 :args ((:= (veriT_vr19 Astate$) veriT_vr23) (:= (veriT_vr20 Astate_v_list_v_result_prod$) veriT_vr24))) -(step t48.t1 (cl (! (= veriT_vr19 veriT_vr23) :named @p_149)) :rule refl) -(step t48.t2 (cl (! (= veriT_vr20 veriT_vr24) :named @p_148)) :rule refl) -(step t48.t3 (cl (! (= @p_127 (! (fst$ veriT_vr24) :named @p_147)) :named @p_153)) :rule cong :premises (t48.t2)) -(step t48.t4 (cl (! (= @p_126 (! (= veriT_vr23 @p_147) :named @p_146)) :named @p_154)) :rule cong :premises (t48.t1 t48.t3)) -(anchor :step t48.t5 :args ((:= (veriT_vr21 V_list_v_result$) veriT_vr25))) -(step t48.t5.t1 (cl @p_148) :rule refl) -(step t48.t5.t2 (cl @p_149) :rule refl) -(step t48.t5.t3 (cl (= veriT_vr21 veriT_vr25)) :rule refl) -(step t48.t5.t4 (cl (= @p_131 (! (pair$ veriT_vr23 veriT_vr25) :named @p_150))) :rule cong :premises (t48.t5.t2 t48.t5.t3)) -(step t48.t5.t5 (cl (= @p_132 (! (= veriT_vr24 @p_150) :named @p_151))) :rule cong :premises (t48.t5.t1 t48.t5.t4)) -(step t48.t5 (cl (= @p_128 (! (exists ((veriT_vr25 V_list_v_result$)) @p_151) :named @p_145))) :rule bind) -(step t48.t6 (cl (= @p_134 (! (=> @p_146 @p_145) :named @p_152))) :rule cong :premises (t48.t4 t48.t5)) -(anchor :step t48.t7 :args ((:= (veriT_vr22 V_list_v_result$) veriT_vr25))) -(step t48.t7.t1 (cl @p_148) :rule refl) -(step t48.t7.t2 (cl @p_149) :rule refl) -(step t48.t7.t3 (cl (= veriT_vr22 veriT_vr25)) :rule refl) -(step t48.t7.t4 (cl (= @p_136 @p_150)) :rule cong :premises (t48.t7.t2 t48.t7.t3)) -(step t48.t7.t5 (cl (= @p_137 @p_151)) :rule cong :premises (t48.t7.t1 t48.t7.t4)) -(step t48.t7 (cl (= @p_135 @p_145)) :rule bind) -(step t48.t8 (cl @p_149) :rule refl) -(step t48.t9 (cl @p_148) :rule refl) -(step t48.t10 (cl @p_153) :rule cong :premises (t48.t9)) -(step t48.t11 (cl @p_154) :rule cong :premises (t48.t8 t48.t10)) -(step t48.t12 (cl (= @p_141 (! (=> @p_145 @p_146) :named @p_155))) :rule cong :premises (t48.t7 t48.t11)) -(step t48.t13 (cl (= @p_142 (! (and @p_152 @p_155) :named @p_156))) :rule cong :premises (t48.t6 t48.t12)) -(step t48 (cl (! (= @p_144 (! (forall ((veriT_vr23 Astate$) (veriT_vr24 Astate_v_list_v_result_prod$)) @p_156) :named @p_158)) :named @p_157)) :rule bind) -(step t49 (cl (not @p_157) (not @p_144) @p_158) :rule equiv_pos2) -(step t50 (cl @p_158) :rule th_resolution :premises (t47 t48 t49)) -(anchor :step t51 :args ((:= (veriT_vr23 Astate$) veriT_vr23) (:= (veriT_vr24 Astate_v_list_v_result_prod$) veriT_vr24))) -(anchor :step t51.t1 :args ((:= (veriT_vr25 V_list_v_result$) veriT_vr26))) -(step t51.t1.t1 (cl (= veriT_vr25 veriT_vr26)) :rule refl) -(step t51.t1.t2 (cl (= @p_150 (! (pair$ veriT_vr23 veriT_vr26) :named @p_160))) :rule cong :premises (t51.t1.t1)) -(step t51.t1.t3 (cl (= @p_151 (! (= veriT_vr24 @p_160) :named @p_161))) :rule cong :premises (t51.t1.t2)) -(step t51.t1 (cl (= @p_145 (! (exists ((veriT_vr26 V_list_v_result$)) @p_161) :named @p_159))) :rule bind) -(step t51.t2 (cl (= @p_155 (! (=> @p_159 @p_146) :named @p_162))) :rule cong :premises (t51.t1)) -(step t51.t3 (cl (= @p_156 (! (and @p_152 @p_162) :named @p_163))) :rule cong :premises (t51.t2)) -(step t51 (cl (! (= @p_158 (! (forall ((veriT_vr23 Astate$) (veriT_vr24 Astate_v_list_v_result_prod$)) @p_163) :named @p_165)) :named @p_164)) :rule bind) -(step t52 (cl (not @p_164) (not @p_158) @p_165) :rule equiv_pos2) -(step t53 (cl @p_165) :rule th_resolution :premises (t50 t51 t52)) -(anchor :step t54 :args ((veriT_vr23 Astate$) (veriT_vr24 Astate_v_list_v_result_prod$))) -(step t54.t1 (cl (= @p_159 (! (not (forall ((veriT_vr26 V_list_v_result$)) (! (not @p_161) :named @p_367))) :named @p_166))) :rule connective_def) -(step t54.t2 (cl (= @p_162 (! (=> @p_166 @p_146) :named @p_167))) :rule cong :premises (t54.t1)) -(step t54.t3 (cl (= @p_163 (! (and @p_152 @p_167) :named @p_168))) :rule cong :premises (t54.t2)) -(step t54 (cl (! (= @p_165 (! (forall ((veriT_vr23 Astate$) (veriT_vr24 Astate_v_list_v_result_prod$)) @p_168) :named @p_170)) :named @p_169)) :rule bind) -(step t55 (cl (not @p_169) (not @p_165) @p_170) :rule equiv_pos2) -(step t56 (cl @p_170) :rule th_resolution :premises (t53 t54 t55)) -(anchor :step t57 :args ((:= (?v0 V_error_result$) veriT_vr27))) -(anchor :step t57.t1 :args ((:= (?v1 V$) veriT_vr28))) -(step t57.t1.t1 (cl (! (= ?v0 veriT_vr27) :named @p_181)) :rule refl) -(step t57.t1.t2 (cl (= ?v1 veriT_vr28)) :rule refl) -(step t57.t1.t3 (cl (= @p_174 (! (rraise$ veriT_vr28) :named @p_175))) :rule cong :premises (t57.t1.t2)) -(step t57.t1.t4 (cl (= @p_6 (! (= veriT_vr27 @p_175) :named @p_176))) :rule cong :premises (t57.t1.t1 t57.t1.t3)) -(step t57.t1.t5 (cl (= @p_177 (! (=> @p_176 false) :named @p_178))) :rule cong :premises (t57.t1.t4)) -(step t57.t1 (cl (= @p_172 (! (forall ((veriT_vr28 V$)) @p_178) :named @p_173))) :rule bind) -(anchor :step t57.t2 :args ((:= (?v1 Abort$) veriT_vr29))) -(step t57.t2.t1 (cl @p_181) :rule refl) -(step t57.t2.t2 (cl (= ?v1 veriT_vr29)) :rule refl) -(step t57.t2.t3 (cl (= @p_182 (! (rabort$ veriT_vr29) :named @p_183))) :rule cong :premises (t57.t2.t2)) -(step t57.t2.t4 (cl (= @p_184 (! (= veriT_vr27 @p_183) :named @p_185))) :rule cong :premises (t57.t2.t1 t57.t2.t3)) -(step t57.t2.t5 (cl (= @p_186 (! (=> @p_185 false) :named @p_187))) :rule cong :premises (t57.t2.t4)) -(step t57.t2 (cl (= @p_179 (! (forall ((veriT_vr29 Abort$)) @p_187) :named @p_180))) :rule bind) -(step t57.t3 (cl (= @p_188 (! (and @p_173 @p_180) :named @p_189))) :rule cong :premises (t57.t1 t57.t2)) -(step t57.t4 (cl (= @p_190 (! (=> @p_189 false) :named @p_191))) :rule cong :premises (t57.t3)) -(step t57 (cl (! (= @p_171 (! (forall ((veriT_vr27 V_error_result$)) @p_191) :named @p_193)) :named @p_192)) :rule bind) -(step t58 (cl (not @p_192) (not @p_171) @p_193) :rule equiv_pos2) -(step t59 (cl @p_193) :rule th_resolution :premises (axiom7 t57 t58)) -(anchor :step t60 :args ((veriT_vr27 V_error_result$))) -(anchor :step t60.t1 :args ((veriT_vr28 V$))) -(step t60.t1.t1 (cl (= @p_178 (! (not @p_176) :named @p_195))) :rule implies_simplify) -(step t60.t1 (cl (= @p_173 (! (forall ((veriT_vr28 V$)) @p_195) :named @p_194))) :rule bind) -(anchor :step t60.t2 :args ((veriT_vr29 Abort$))) -(step t60.t2.t1 (cl (= @p_187 (! (not @p_185) :named @p_197))) :rule implies_simplify) -(step t60.t2 (cl (= @p_180 (! (forall ((veriT_vr29 Abort$)) @p_197) :named @p_196))) :rule bind) -(step t60.t3 (cl (= @p_189 (! (and @p_194 @p_196) :named @p_198))) :rule cong :premises (t60.t1 t60.t2)) -(step t60.t4 (cl (= @p_191 (! (=> @p_198 false) :named @p_199))) :rule cong :premises (t60.t3)) -(step t60.t5 (cl (= @p_199 (! (not @p_198) :named @p_200))) :rule implies_simplify) -(step t60.t6 (cl (= @p_191 @p_200)) :rule trans :premises (t60.t4 t60.t5)) -(step t60 (cl (! (= @p_193 (! (forall ((veriT_vr27 V_error_result$)) @p_200) :named @p_202)) :named @p_201)) :rule bind) -(step t61 (cl (not @p_201) (not @p_193) @p_202) :rule equiv_pos2) -(step t62 (cl @p_202) :rule th_resolution :premises (t59 t60 t61)) -(anchor :step t63 :args ((:= (veriT_vr27 V_error_result$) veriT_vr30))) -(anchor :step t63.t1 :args ((:= (veriT_vr28 V$) veriT_vr31))) -(step t63.t1.t1 (cl (! (= veriT_vr27 veriT_vr30) :named @p_208)) :rule refl) -(step t63.t1.t2 (cl (= veriT_vr28 veriT_vr31)) :rule refl) -(step t63.t1.t3 (cl (= @p_175 (! (rraise$ veriT_vr31) :named @p_204))) :rule cong :premises (t63.t1.t2)) -(step t63.t1.t4 (cl (= @p_176 (! (= veriT_vr30 @p_204) :named @p_205))) :rule cong :premises (t63.t1.t1 t63.t1.t3)) -(step t63.t1.t5 (cl (= @p_195 (! (not @p_205) :named @p_206))) :rule cong :premises (t63.t1.t4)) -(step t63.t1 (cl (= @p_194 (! (forall ((veriT_vr31 V$)) @p_206) :named @p_203))) :rule bind) -(anchor :step t63.t2 :args ((:= (veriT_vr29 Abort$) veriT_vr32))) -(step t63.t2.t1 (cl @p_208) :rule refl) -(step t63.t2.t2 (cl (= veriT_vr29 veriT_vr32)) :rule refl) -(step t63.t2.t3 (cl (= @p_183 (! (rabort$ veriT_vr32) :named @p_209))) :rule cong :premises (t63.t2.t2)) -(step t63.t2.t4 (cl (= @p_185 (! (= veriT_vr30 @p_209) :named @p_210))) :rule cong :premises (t63.t2.t1 t63.t2.t3)) -(step t63.t2.t5 (cl (= @p_197 (! (not @p_210) :named @p_211))) :rule cong :premises (t63.t2.t4)) -(step t63.t2 (cl (= @p_196 (! (forall ((veriT_vr32 Abort$)) @p_211) :named @p_207))) :rule bind) -(step t63.t3 (cl (= @p_198 (! (and @p_203 @p_207) :named @p_212))) :rule cong :premises (t63.t1 t63.t2)) -(step t63.t4 (cl (= @p_200 (! (not @p_212) :named @p_213))) :rule cong :premises (t63.t3)) -(step t63 (cl (! (= @p_202 (! (forall ((veriT_vr30 V_error_result$)) @p_213) :named @p_215)) :named @p_214)) :rule bind) -(step t64 (cl (not @p_214) (not @p_202) @p_215) :rule equiv_pos2) -(step t65 (cl @p_215) :rule th_resolution :premises (t62 t63 t64)) -(anchor :step t66 :args ((:= (?v0 V_astate_v_list_v_result_prod_fun$) veriT_vr33) (:= (?v1 Abort_astate_v_list_v_result_prod_fun$) veriT_vr34) (:= (?v2 V$) veriT_vr35))) -(step t66.t1 (cl (! (= ?v0 veriT_vr33) :named @p_221)) :rule refl) -(step t66.t2 (cl (= ?v1 veriT_vr34)) :rule refl) -(step t66.t3 (cl (! (= ?v2 veriT_vr35) :named @p_222)) :rule refl) -(step t66.t4 (cl (= @p_217 (! (rraise$ veriT_vr35) :named @p_218))) :rule cong :premises (t66.t3)) -(step t66.t5 (cl (= @p_219 (! (case_error_result$ veriT_vr33 veriT_vr34 @p_218) :named @p_220))) :rule cong :premises (t66.t1 t66.t2 t66.t4)) -(step t66.t6 (cl @p_221) :rule refl) -(step t66.t7 (cl @p_222) :rule refl) -(step t66.t8 (cl (= @p_223 (! (fun_app$ veriT_vr33 veriT_vr35) :named @p_224))) :rule cong :premises (t66.t6 t66.t7)) -(step t66.t9 (cl (= @p_225 (! (= @p_220 @p_224) :named @p_226))) :rule cong :premises (t66.t5 t66.t8)) -(step t66 (cl (! (= @p_216 (! (forall ((veriT_vr33 V_astate_v_list_v_result_prod_fun$) (veriT_vr34 Abort_astate_v_list_v_result_prod_fun$) (veriT_vr35 V$)) @p_226) :named @p_228)) :named @p_227)) :rule bind) -(step t67 (cl (not @p_227) (not @p_216) @p_228) :rule equiv_pos2) -(step t68 (cl @p_228) :rule th_resolution :premises (axiom8 t66 t67)) -(anchor :step t69 :args ((:= (veriT_vr33 V_astate_v_list_v_result_prod_fun$) veriT_vr36) (:= (veriT_vr34 Abort_astate_v_list_v_result_prod_fun$) veriT_vr37) (:= (veriT_vr35 V$) veriT_vr38))) -(step t69.t1 (cl (! (= veriT_vr33 veriT_vr36) :named @p_231)) :rule refl) -(step t69.t2 (cl (= veriT_vr34 veriT_vr37)) :rule refl) -(step t69.t3 (cl (! (= veriT_vr35 veriT_vr38) :named @p_232)) :rule refl) -(step t69.t4 (cl (= @p_218 (! (rraise$ veriT_vr38) :named @p_229))) :rule cong :premises (t69.t3)) -(step t69.t5 (cl (= @p_220 (! (case_error_result$ veriT_vr36 veriT_vr37 @p_229) :named @p_230))) :rule cong :premises (t69.t1 t69.t2 t69.t4)) -(step t69.t6 (cl @p_231) :rule refl) -(step t69.t7 (cl @p_232) :rule refl) -(step t69.t8 (cl (= @p_224 (! (fun_app$ veriT_vr36 veriT_vr38) :named @p_233))) :rule cong :premises (t69.t6 t69.t7)) -(step t69.t9 (cl (= @p_226 (! (= @p_230 @p_233) :named @p_234))) :rule cong :premises (t69.t5 t69.t8)) -(step t69 (cl (! (= @p_228 (! (forall ((veriT_vr36 V_astate_v_list_v_result_prod_fun$) (veriT_vr37 Abort_astate_v_list_v_result_prod_fun$) (veriT_vr38 V$)) @p_234) :named @p_236)) :named @p_235)) :rule bind) -(step t70 (cl (not @p_235) (not @p_228) @p_236) :rule equiv_pos2) -(step t71 (cl @p_236) :rule th_resolution :premises (t68 t69 t70)) -(anchor :step t72 :args ((:= (?v0 V_astate_v_list_v_result_prod_fun$) veriT_vr39) (:= (?v1 Abort_astate_v_list_v_result_prod_fun$) veriT_vr40) (:= (?v2 Abort$) veriT_vr41))) -(step t72.t1 (cl (= ?v0 veriT_vr39)) :rule refl) -(step t72.t2 (cl (! (= ?v1 veriT_vr40) :named @p_242)) :rule refl) -(step t72.t3 (cl (! (= ?v2 veriT_vr41) :named @p_243)) :rule refl) -(step t72.t4 (cl (= @p_238 (! (rabort$ veriT_vr41) :named @p_239))) :rule cong :premises (t72.t3)) -(step t72.t5 (cl (= @p_240 (! (case_error_result$ veriT_vr39 veriT_vr40 @p_239) :named @p_241))) :rule cong :premises (t72.t1 t72.t2 t72.t4)) -(step t72.t6 (cl @p_242) :rule refl) -(step t72.t7 (cl @p_243) :rule refl) -(step t72.t8 (cl (= @p_244 (! (fun_app$a veriT_vr40 veriT_vr41) :named @p_245))) :rule cong :premises (t72.t6 t72.t7)) -(step t72.t9 (cl (= @p_246 (! (= @p_241 @p_245) :named @p_247))) :rule cong :premises (t72.t5 t72.t8)) -(step t72 (cl (! (= @p_237 (! (forall ((veriT_vr39 V_astate_v_list_v_result_prod_fun$) (veriT_vr40 Abort_astate_v_list_v_result_prod_fun$) (veriT_vr41 Abort$)) @p_247) :named @p_249)) :named @p_248)) :rule bind) -(step t73 (cl (not @p_248) (not @p_237) @p_249) :rule equiv_pos2) -(step t74 (cl @p_249) :rule th_resolution :premises (axiom9 t72 t73)) -(anchor :step t75 :args ((:= (veriT_vr39 V_astate_v_list_v_result_prod_fun$) veriT_vr42) (:= (veriT_vr40 Abort_astate_v_list_v_result_prod_fun$) veriT_vr43) (:= (veriT_vr41 Abort$) veriT_vr44))) -(step t75.t1 (cl (= veriT_vr39 veriT_vr42)) :rule refl) -(step t75.t2 (cl (! (= veriT_vr40 veriT_vr43) :named @p_252)) :rule refl) -(step t75.t3 (cl (! (= veriT_vr41 veriT_vr44) :named @p_253)) :rule refl) -(step t75.t4 (cl (= @p_239 (! (rabort$ veriT_vr44) :named @p_250))) :rule cong :premises (t75.t3)) -(step t75.t5 (cl (= @p_241 (! (case_error_result$ veriT_vr42 veriT_vr43 @p_250) :named @p_251))) :rule cong :premises (t75.t1 t75.t2 t75.t4)) -(step t75.t6 (cl @p_252) :rule refl) -(step t75.t7 (cl @p_253) :rule refl) -(step t75.t8 (cl (= @p_245 (! (fun_app$a veriT_vr43 veriT_vr44) :named @p_254))) :rule cong :premises (t75.t6 t75.t7)) -(step t75.t9 (cl (= @p_247 (! (= @p_251 @p_254) :named @p_255))) :rule cong :premises (t75.t5 t75.t8)) -(step t75 (cl (! (= @p_249 (! (forall ((veriT_vr42 V_astate_v_list_v_result_prod_fun$) (veriT_vr43 Abort_astate_v_list_v_result_prod_fun$) (veriT_vr44 Abort$)) @p_255) :named @p_257)) :named @p_256)) :rule bind) -(step t76 (cl (not @p_256) (not @p_249) @p_257) :rule equiv_pos2) -(step t77 (cl @p_257) :rule th_resolution :premises (t74 t75 t76)) -(anchor :step t78 :args ((:= (?v0 Astate$) veriT_vr45) (:= (?v1 Astate$) veriT_vr46) (:= (?v2 V_list_v_result$) veriT_vr47) (:= (?v3 Astate$) veriT_vr48))) -(step t78.t1 (cl (= ?v0 veriT_vr45)) :rule refl) -(step t78.t2 (cl (! (= ?v1 veriT_vr46) :named @p_270)) :rule refl) -(step t78.t3 (cl (! (= ?v2 veriT_vr47) :named @p_262)) :rule refl) -(step t78.t4 (cl (= @p_259 (! (pair$ veriT_vr46 veriT_vr47) :named @p_260))) :rule cong :premises (t78.t2 t78.t3)) -(step t78.t5 (cl (= @p_4 (! (fix_clock$ veriT_vr45 @p_260) :named @p_261))) :rule cong :premises (t78.t1 t78.t4)) -(step t78.t6 (cl (! (= ?v3 veriT_vr48) :named @p_267)) :rule refl) -(step t78.t7 (cl @p_262) :rule refl) -(step t78.t8 (cl (= @p_263 (! (pair$ veriT_vr48 veriT_vr47) :named @p_264))) :rule cong :premises (t78.t6 t78.t7)) -(step t78.t9 (cl (= @p_265 (! (= @p_261 @p_264) :named @p_266))) :rule cong :premises (t78.t5 t78.t8)) -(step t78.t10 (cl @p_267) :rule refl) -(step t78.t11 (cl (= @p_268 (! (clock$ veriT_vr48) :named @p_269))) :rule cong :premises (t78.t10)) -(step t78.t12 (cl @p_270) :rule refl) -(step t78.t13 (cl (= @p_1 (! (clock$ veriT_vr46) :named @p_271))) :rule cong :premises (t78.t12)) -(step t78.t14 (cl (= @p_272 (! (less_eq$ @p_269 @p_271) :named @p_273))) :rule cong :premises (t78.t11 t78.t13)) -(step t78.t15 (cl (= @p_274 (! (=> @p_266 @p_273) :named @p_275))) :rule cong :premises (t78.t9 t78.t14)) -(step t78 (cl (! (= @p_258 (! (forall ((veriT_vr45 Astate$) (veriT_vr46 Astate$) (veriT_vr47 V_list_v_result$) (veriT_vr48 Astate$)) @p_275) :named @p_277)) :named @p_276)) :rule bind) -(step t79 (cl (not @p_276) (not @p_258) @p_277) :rule equiv_pos2) -(step t80 (cl @p_277) :rule th_resolution :premises (axiom10 t78 t79)) -(anchor :step t81 :args ((:= (veriT_vr45 Astate$) veriT_vr49) (:= (veriT_vr46 Astate$) veriT_vr50) (:= (veriT_vr47 V_list_v_result$) veriT_vr51) (:= (veriT_vr48 Astate$) veriT_vr52))) -(step t81.t1 (cl (= veriT_vr45 veriT_vr49)) :rule refl) -(step t81.t2 (cl (! (= veriT_vr46 veriT_vr50) :named @p_285)) :rule refl) -(step t81.t3 (cl (! (= veriT_vr47 veriT_vr51) :named @p_280)) :rule refl) -(step t81.t4 (cl (= @p_260 (! (pair$ veriT_vr50 veriT_vr51) :named @p_278))) :rule cong :premises (t81.t2 t81.t3)) -(step t81.t5 (cl (= @p_261 (! (fix_clock$ veriT_vr49 @p_278) :named @p_279))) :rule cong :premises (t81.t1 t81.t4)) -(step t81.t6 (cl (! (= veriT_vr48 veriT_vr52) :named @p_283)) :rule refl) -(step t81.t7 (cl @p_280) :rule refl) -(step t81.t8 (cl (= @p_264 (! (pair$ veriT_vr52 veriT_vr51) :named @p_281))) :rule cong :premises (t81.t6 t81.t7)) -(step t81.t9 (cl (= @p_266 (! (= @p_279 @p_281) :named @p_282))) :rule cong :premises (t81.t5 t81.t8)) -(step t81.t10 (cl @p_283) :rule refl) -(step t81.t11 (cl (= @p_269 (! (clock$ veriT_vr52) :named @p_284))) :rule cong :premises (t81.t10)) -(step t81.t12 (cl @p_285) :rule refl) -(step t81.t13 (cl (= @p_271 (! (clock$ veriT_vr50) :named @p_286))) :rule cong :premises (t81.t12)) -(step t81.t14 (cl (= @p_273 (! (less_eq$ @p_284 @p_286) :named @p_287))) :rule cong :premises (t81.t11 t81.t13)) -(step t81.t15 (cl (= @p_275 (! (=> @p_282 @p_287) :named @p_288))) :rule cong :premises (t81.t9 t81.t14)) -(step t81 (cl (! (= @p_277 (! (forall ((veriT_vr49 Astate$) (veriT_vr50 Astate$) (veriT_vr51 V_list_v_result$) (veriT_vr52 Astate$)) @p_288) :named @p_290)) :named @p_289)) :rule bind) -(step t82 (cl (not @p_289) (not @p_277) @p_290) :rule equiv_pos2) -(step t83 (cl @p_290) :rule th_resolution :premises (t80 t81 t82)) -(anchor :step t84 :args ((:= (?v0 Astate$) veriT_vr53) (:= (?v1 Astate$) veriT_vr54) (:= (?v2 V_list_v_result$) veriT_vr55))) -(step t84.t1 (cl (! (= ?v0 veriT_vr53) :named @p_294)) :rule refl) -(step t84.t2 (cl (! (= ?v1 veriT_vr54) :named @p_295)) :rule refl) -(step t84.t3 (cl (! (= ?v2 veriT_vr55) :named @p_299)) :rule refl) -(step t84.t4 (cl (= @p_259 (! (pair$ veriT_vr54 veriT_vr55) :named @p_292))) :rule cong :premises (t84.t2 t84.t3)) -(step t84.t5 (cl (= @p_4 (! (fix_clock$ veriT_vr53 @p_292) :named @p_293))) :rule cong :premises (t84.t1 t84.t4)) -(step t84.t6 (cl @p_294) :rule refl) -(step t84.t7 (cl @p_295) :rule refl) -(step t84.t8 (cl (= @p_5 (! (uu$ veriT_vr53 veriT_vr54) :named @p_296))) :rule cong :premises (t84.t6 t84.t7)) -(step t84.t9 (cl @p_295) :rule refl) -(step t84.t10 (cl (= @p_297 (! (update_clock$ @p_296 veriT_vr54) :named @p_298))) :rule cong :premises (t84.t8 t84.t9)) -(step t84.t11 (cl @p_299) :rule refl) -(step t84.t12 (cl (= @p_300 (! (pair$ @p_298 veriT_vr55) :named @p_301))) :rule cong :premises (t84.t10 t84.t11)) -(step t84.t13 (cl (= @p_302 (! (= @p_293 @p_301) :named @p_303))) :rule cong :premises (t84.t5 t84.t12)) -(step t84 (cl (! (= @p_291 (! (forall ((veriT_vr53 Astate$) (veriT_vr54 Astate$) (veriT_vr55 V_list_v_result$)) @p_303) :named @p_305)) :named @p_304)) :rule bind) -(step t85 (cl (not @p_304) (not @p_291) @p_305) :rule equiv_pos2) -(step t86 (cl @p_305) :rule th_resolution :premises (axiom11 t84 t85)) -(anchor :step t87 :args ((:= (veriT_vr53 Astate$) veriT_vr56) (:= (veriT_vr54 Astate$) veriT_vr57) (:= (veriT_vr55 V_list_v_result$) veriT_vr58))) -(step t87.t1 (cl (! (= veriT_vr53 veriT_vr56) :named @p_308)) :rule refl) -(step t87.t2 (cl (! (= veriT_vr54 veriT_vr57) :named @p_309)) :rule refl) -(step t87.t3 (cl (! (= veriT_vr55 veriT_vr58) :named @p_312)) :rule refl) -(step t87.t4 (cl (= @p_292 (! (pair$ veriT_vr57 veriT_vr58) :named @p_306))) :rule cong :premises (t87.t2 t87.t3)) -(step t87.t5 (cl (= @p_293 (! (fix_clock$ veriT_vr56 @p_306) :named @p_307))) :rule cong :premises (t87.t1 t87.t4)) -(step t87.t6 (cl @p_308) :rule refl) -(step t87.t7 (cl @p_309) :rule refl) -(step t87.t8 (cl (= @p_296 (! (uu$ veriT_vr56 veriT_vr57) :named @p_310))) :rule cong :premises (t87.t6 t87.t7)) -(step t87.t9 (cl @p_309) :rule refl) -(step t87.t10 (cl (= @p_298 (! (update_clock$ @p_310 veriT_vr57) :named @p_311))) :rule cong :premises (t87.t8 t87.t9)) -(step t87.t11 (cl @p_312) :rule refl) -(step t87.t12 (cl (= @p_301 (! (pair$ @p_311 veriT_vr58) :named @p_313))) :rule cong :premises (t87.t10 t87.t11)) -(step t87.t13 (cl (= @p_303 (! (= @p_307 @p_313) :named @p_314))) :rule cong :premises (t87.t5 t87.t12)) -(step t87 (cl (! (= @p_305 (! (forall ((veriT_vr56 Astate$) (veriT_vr57 Astate$) (veriT_vr58 V_list_v_result$)) @p_314) :named @p_316)) :named @p_315)) :rule bind) -(step t88 (cl (not @p_315) (not @p_305) @p_316) :rule equiv_pos2) -(step t89 (cl @p_316) :rule th_resolution :premises (t86 t87 t88)) -(anchor :step t90 :args ((:= (?v0 V_error_result$) veriT_vr59) (:= (?v1 V$) veriT_vr60))) -(step t90.t1 (cl (! (= ?v0 veriT_vr59) :named @p_323)) :rule refl) -(step t90.t2 (cl (= @p_319 (! (rerr$ veriT_vr59) :named @p_320))) :rule cong :premises (t90.t1)) -(step t90.t3 (cl (= @p_321 (! (= r$ @p_320) :named @p_322))) :rule cong :premises (t90.t2)) -(step t90.t4 (cl @p_323) :rule refl) -(step t90.t5 (cl (! (= ?v1 veriT_vr60) :named @p_328)) :rule refl) -(step t90.t6 (cl (= @p_174 (! (rraise$ veriT_vr60) :named @p_324))) :rule cong :premises (t90.t5)) -(step t90.t7 (cl (= @p_6 (! (= veriT_vr59 @p_324) :named @p_325))) :rule cong :premises (t90.t4 t90.t6)) -(step t90.t8 (cl (= @p_326 (! (and @p_322 @p_325) :named @p_327))) :rule cong :premises (t90.t3 t90.t7)) -(step t90.t9 (cl @p_328) :rule refl) -(step t90.t10 (cl (= @p_329 (! (fun_evaluate_match$ st$ env$ veriT_vr60 pes$) :named @p_330))) :rule cong :premises (t90.t9)) -(step t90.t11 (cl @p_328) :rule refl) -(step t90.t12 (cl (= @p_331 (! (fun_app$ @p_330 veriT_vr60) :named @p_332))) :rule cong :premises (t90.t10 t90.t11)) -(step t90.t13 (cl (= @p_333 (! (fst$ @p_332) :named @p_334))) :rule cong :premises (t90.t12)) -(step t90.t14 (cl (= @p_335 (! (clock$ @p_334) :named @p_336))) :rule cong :premises (t90.t13)) -(step t90.t15 (cl (= @p_337 (! (less_eq$ @p_336 @p_318) :named @p_338))) :rule cong :premises (t90.t14)) -(step t90.t16 (cl (= @p_339 (! (=> @p_327 @p_338) :named @p_340))) :rule cong :premises (t90.t8 t90.t15)) -(step t90 (cl (! (= @p_317 (! (forall ((veriT_vr59 V_error_result$) (veriT_vr60 V$)) @p_340) :named @p_342)) :named @p_341)) :rule bind) -(step t91 (cl (not @p_341) (not @p_317) @p_342) :rule equiv_pos2) -(step t92 (cl @p_342) :rule th_resolution :premises (axiom12 t90 t91)) -(anchor :step t93 :args ((:= (veriT_vr59 V_error_result$) veriT_vr61) (:= (veriT_vr60 V$) veriT_vr62))) -(step t93.t1 (cl (! (= veriT_vr59 veriT_vr61) :named @p_345)) :rule refl) -(step t93.t2 (cl (= @p_320 (! (rerr$ veriT_vr61) :named @p_343))) :rule cong :premises (t93.t1)) -(step t93.t3 (cl (= @p_322 (! (= r$ @p_343) :named @p_344))) :rule cong :premises (t93.t2)) -(step t93.t4 (cl @p_345) :rule refl) -(step t93.t5 (cl (! (= veriT_vr60 veriT_vr62) :named @p_349)) :rule refl) -(step t93.t6 (cl (= @p_324 (! (rraise$ veriT_vr62) :named @p_346))) :rule cong :premises (t93.t5)) -(step t93.t7 (cl (= @p_325 (! (= veriT_vr61 @p_346) :named @p_347))) :rule cong :premises (t93.t4 t93.t6)) -(step t93.t8 (cl (= @p_327 (! (and @p_344 @p_347) :named @p_348))) :rule cong :premises (t93.t3 t93.t7)) -(step t93.t9 (cl @p_349) :rule refl) -(step t93.t10 (cl (= @p_330 (! (fun_evaluate_match$ st$ env$ veriT_vr62 pes$) :named @p_350))) :rule cong :premises (t93.t9)) -(step t93.t11 (cl @p_349) :rule refl) -(step t93.t12 (cl (= @p_332 (! (fun_app$ @p_350 veriT_vr62) :named @p_351))) :rule cong :premises (t93.t10 t93.t11)) -(step t93.t13 (cl (= @p_334 (! (fst$ @p_351) :named @p_352))) :rule cong :premises (t93.t12)) -(step t93.t14 (cl (= @p_336 (! (clock$ @p_352) :named @p_353))) :rule cong :premises (t93.t13)) -(step t93.t15 (cl (= @p_338 (! (less_eq$ @p_353 @p_318) :named @p_354))) :rule cong :premises (t93.t14)) -(step t93.t16 (cl (= @p_340 (! (=> @p_348 @p_354) :named @p_355))) :rule cong :premises (t93.t8 t93.t15)) -(step t93 (cl (! (= @p_342 (! (forall ((veriT_vr61 V_error_result$) (veriT_vr62 V$)) @p_355) :named @p_357)) :named @p_356)) :rule bind) -(step t94 (cl (not @p_356) (not @p_342) @p_357) :rule equiv_pos2) -(step t95 (cl @p_357) :rule th_resolution :premises (t92 t93 t94)) -(step t96 (cl (! (= @p_358 (! (and @p_359 (! (not @p_360) :named @p_366)) :named @p_362)) :named @p_361)) :rule bool_simplify) -(step t97 (cl (! (not @p_361) :named @p_365) (! (not @p_358) :named @p_363) @p_362) :rule equiv_pos2) -(step t98 (cl (not @p_363) @p_364) :rule not_not) -(step t99 (cl @p_365 @p_364 @p_362) :rule th_resolution :premises (t98 t97)) -(step t100 (cl @p_362) :rule th_resolution :premises (axiom13 t96 t99)) -(step t101 (cl @p_359) :rule and :premises (t100)) -(step t102 (cl @p_366) :rule and :premises (t100)) -(step t103 (cl (or (! (not @p_105) :named @p_368) (! (forall ((veriT_vr13 Nat$) (veriT_vr14 Nat$) (veriT_vr15 Nat$)) (or (not @p_96) (not @p_98) @p_102)) :named @p_573))) :rule qnt_cnf) -(step t104 (cl (or (! (not @p_170) :named @p_431) (! (forall ((veriT_vr23 Astate$) (veriT_vr24 Astate_v_list_v_result_prod$) (veriT_vr26 V_list_v_result$)) (or @p_367 @p_146)) :named @p_629))) :rule qnt_cnf) -(step t105 (cl (or @p_368 (! (=> (! (and @p_369 (! (less_eq$ @p_370 @p_371) :named @p_373)) :named @p_372) @p_360) :named @p_374))) :rule forall_inst :args ((:= veriT_vr13 @p_371) (:= veriT_vr14 @p_7) (:= veriT_vr15 @p_370))) -(step t106 (cl @p_372 (! (not @p_369) :named @p_574) (! (not @p_373) :named @p_375)) :rule and_neg) -(step t107 (cl (! (not @p_374) :named @p_376) (! (not @p_372) :named @p_377) @p_360) :rule implies_pos) -(step t108 (cl @p_368 @p_374) :rule or :premises (t105)) -(step t109 (cl @p_372 @p_375) :rule resolution :premises (t106 axiom4)) -(step t110 (cl @p_376 @p_377) :rule resolution :premises (t107 t102)) -(step t111 (cl @p_374) :rule resolution :premises (t108 t38)) -(step t112 (cl @p_377) :rule resolution :premises (t110 t111)) -(step t113 (cl @p_375) :rule resolution :premises (t109 t112)) -(step t114 (cl (not (! (not @p_368) :named @p_578)) @p_105) :rule not_not) -(step t115 (cl (or (! (not @p_316) :named @p_547) (! (= (fix_clock$ st$a (pair$ @p_378 r$)) (pair$ (! (update_clock$ (uu$ st$a @p_378) @p_378) :named @p_561) r$)) :named @p_548))) :rule forall_inst :args ((:= veriT_vr56 st$a) (:= veriT_vr57 @p_378) (:= veriT_vr58 r$))) -(step t116 (cl (or (! (not @p_215) :named @p_427) (! (not (! (and (! (forall ((veriT_vr31 V$)) (! (not (! (= x2$ @p_204) :named @p_382)) :named @p_384)) :named @p_380) (! (forall ((veriT_vr32 Abort$)) (! (not (! (= x2$ @p_209) :named @p_388)) :named @p_390)) :named @p_386)) :named @p_392)) :named @p_379))) :rule forall_inst :args ((:= veriT_vr30 x2$))) -(anchor :step t117) -(assume t117.h1 @p_379) -(anchor :step t117.t2 :args ((:= (veriT_vr31 V$) veriT_vr63))) -(step t117.t2.t1 (cl (= veriT_vr31 veriT_vr63)) :rule refl) -(step t117.t2.t2 (cl (= @p_204 (! (rraise$ veriT_vr63) :named @p_381))) :rule cong :premises (t117.t2.t1)) -(step t117.t2.t3 (cl (= @p_382 (! (= x2$ @p_381) :named @p_383))) :rule cong :premises (t117.t2.t2)) -(step t117.t2.t4 (cl (= @p_384 (! (not @p_383) :named @p_385))) :rule cong :premises (t117.t2.t3)) -(step t117.t2 (cl (= @p_380 (! (forall ((veriT_vr63 V$)) @p_385) :named @p_393))) :rule bind) -(anchor :step t117.t3 :args ((:= (veriT_vr32 Abort$) veriT_vr64))) -(step t117.t3.t1 (cl (= veriT_vr32 veriT_vr64)) :rule refl) -(step t117.t3.t2 (cl (= @p_209 (! (rabort$ veriT_vr64) :named @p_387))) :rule cong :premises (t117.t3.t1)) -(step t117.t3.t3 (cl (= @p_388 (! (= x2$ @p_387) :named @p_389))) :rule cong :premises (t117.t3.t2)) -(step t117.t3.t4 (cl (= @p_390 (! (not @p_389) :named @p_391))) :rule cong :premises (t117.t3.t3)) -(step t117.t3 (cl (= @p_386 (! (forall ((veriT_vr64 Abort$)) @p_391) :named @p_394))) :rule bind) -(step t117.t4 (cl (= @p_392 (! (and @p_393 @p_394) :named @p_395))) :rule cong :premises (t117.t2 t117.t3)) -(step t117.t5 (cl (! (= @p_379 (! (not @p_395) :named @p_398)) :named @p_396)) :rule cong :premises (t117.t4)) -(step t117.t6 (cl (! (not @p_396) :named @p_399) (! (not @p_379) :named @p_397) @p_398) :rule equiv_pos2) -(step t117.t7 (cl (! (not @p_397) :named @p_426) @p_392) :rule not_not) -(step t117.t8 (cl @p_399 @p_392 @p_398) :rule th_resolution :premises (t117.t7 t117.t6)) -(step t117.t9 (cl @p_398) :rule th_resolution :premises (t117.h1 t117.t5 t117.t8)) -(anchor :step t117.t10 :args ((:= (veriT_vr63 V$) veriT_vr65))) -(step t117.t10.t1 (cl (= veriT_vr63 veriT_vr65)) :rule refl) -(step t117.t10.t2 (cl (= @p_381 @p_401)) :rule cong :premises (t117.t10.t1)) -(step t117.t10.t3 (cl (= @p_383 @p_402)) :rule cong :premises (t117.t10.t2)) -(step t117.t10.t4 (cl (= @p_385 @p_400)) :rule cong :premises (t117.t10.t3)) -(step t117.t10 (cl (= @p_393 (! (forall ((veriT_vr65 V$)) @p_400) :named @p_406))) :rule bind) -(anchor :step t117.t11 :args ((:= (veriT_vr64 Abort$) veriT_vr66))) -(step t117.t11.t1 (cl (= veriT_vr64 veriT_vr66)) :rule refl) -(step t117.t11.t2 (cl (= @p_387 @p_404)) :rule cong :premises (t117.t11.t1)) -(step t117.t11.t3 (cl (= @p_389 @p_405)) :rule cong :premises (t117.t11.t2)) -(step t117.t11.t4 (cl (= @p_391 @p_403)) :rule cong :premises (t117.t11.t3)) -(step t117.t11 (cl (= @p_394 (! (forall ((veriT_vr66 Abort$)) @p_403) :named @p_407))) :rule bind) -(step t117.t12 (cl (= @p_395 (! (and @p_406 @p_407) :named @p_408))) :rule cong :premises (t117.t10 t117.t11)) -(step t117.t13 (cl (! (= @p_398 (! (not @p_408) :named @p_410)) :named @p_409)) :rule cong :premises (t117.t12)) -(step t117.t14 (cl (! (not @p_409) :named @p_412) (! (not @p_398) :named @p_411) @p_410) :rule equiv_pos2) -(step t117.t15 (cl (not @p_411) @p_395) :rule not_not) -(step t117.t16 (cl @p_412 @p_395 @p_410) :rule th_resolution :premises (t117.t15 t117.t14)) -(step t117.t17 (cl @p_410) :rule th_resolution :premises (t117.t9 t117.t13 t117.t16)) -(anchor :step t117.t18 :args ((:= (veriT_vr65 V$) veriT_sk0))) -(step t117.t18.t1 (cl (= veriT_vr65 veriT_sk0)) :rule refl) -(step t117.t18.t2 (cl (= @p_401 (! (rraise$ veriT_sk0) :named @p_415))) :rule cong :premises (t117.t18.t1)) -(step t117.t18.t3 (cl (= @p_402 (! (= x2$ @p_415) :named @p_416))) :rule cong :premises (t117.t18.t2)) -(step t117.t18.t4 (cl (= @p_400 (! (not @p_416) :named @p_413))) :rule cong :premises (t117.t18.t3)) -(step t117.t18 (cl (= @p_406 @p_413)) :rule sko_forall) -(anchor :step t117.t19 :args ((:= (veriT_vr66 Abort$) veriT_sk1))) -(step t117.t19.t1 (cl (= veriT_vr66 veriT_sk1)) :rule refl) -(step t117.t19.t2 (cl (= @p_404 (! (rabort$ veriT_sk1) :named @p_419))) :rule cong :premises (t117.t19.t1)) -(step t117.t19.t3 (cl (= @p_405 (! (= x2$ @p_419) :named @p_420))) :rule cong :premises (t117.t19.t2)) -(step t117.t19.t4 (cl (= @p_403 (! (not @p_420) :named @p_417))) :rule cong :premises (t117.t19.t3)) -(step t117.t19 (cl (= @p_407 @p_417)) :rule sko_forall) -(step t117.t20 (cl (= @p_408 (! (and @p_413 @p_417) :named @p_421))) :rule cong :premises (t117.t18 t117.t19)) -(step t117.t21 (cl (! (= @p_410 (! (not @p_421) :named @p_422)) :named @p_423)) :rule cong :premises (t117.t20)) -(step t117.t22 (cl (! (not @p_423) :named @p_425) (! (not @p_410) :named @p_424) @p_422) :rule equiv_pos2) -(step t117.t23 (cl (not @p_424) @p_408) :rule not_not) -(step t117.t24 (cl @p_425 @p_408 @p_422) :rule th_resolution :premises (t117.t23 t117.t22)) -(step t117.t25 (cl @p_422) :rule th_resolution :premises (t117.t17 t117.t21 t117.t24)) -(step t117 (cl @p_397 @p_422) :rule subproof :discharge (h1)) -(step t118 (cl @p_426 @p_392) :rule not_not) -(step t119 (cl @p_392 @p_422) :rule th_resolution :premises (t118 t117)) -(step t120 (cl @p_427 @p_379) :rule or :premises (t116)) -(step t121 (cl (! (or @p_427 @p_422) :named @p_429) (! (not @p_427) :named @p_428)) :rule or_neg) -(step t122 (cl (not @p_428) @p_215) :rule not_not) -(step t123 (cl @p_429 @p_215) :rule th_resolution :premises (t122 t121)) -(step t124 (cl @p_429 (! (not @p_422) :named @p_430)) :rule or_neg) -(step t125 (cl (not @p_430) @p_421) :rule not_not) -(step t126 (cl @p_429 @p_421) :rule th_resolution :premises (t125 t124)) -(step t127 (cl @p_429) :rule th_resolution :premises (t120 t119 t123 t126)) -(step t128 (cl (not (! (not @p_431) :named @p_468)) @p_170) :rule not_not) -(step t129 (cl (or @p_431 (! (and (! (=> (! (= @p_378 @p_378) :named @p_432) (! (exists ((veriT_vr25 V_list_v_result$)) (! (= @p_3 (! (pair$ @p_378 veriT_vr25) :named @p_435)) :named @p_437)) :named @p_434)) :named @p_439) (! (=> (! (not (! (forall ((veriT_vr26 V_list_v_result$)) (! (not (! (= @p_3 (! (pair$ @p_378 veriT_vr26) :named @p_442)) :named @p_443)) :named @p_444)) :named @p_441)) :named @p_446) @p_432) :named @p_448)) :named @p_433))) :rule forall_inst :args ((:= veriT_vr23 @p_378) (:= veriT_vr24 @p_3))) -(anchor :step t130) -(assume t130.h1 @p_433) -(anchor :step t130.t2 :args ((:= (veriT_vr25 V_list_v_result$) veriT_vr72))) -(step t130.t2.t1 (cl (= veriT_vr25 veriT_vr72)) :rule refl) -(step t130.t2.t2 (cl (= @p_435 (! (pair$ @p_378 veriT_vr72) :named @p_436))) :rule cong :premises (t130.t2.t1)) -(step t130.t2.t3 (cl (= @p_437 (! (= @p_3 @p_436) :named @p_438))) :rule cong :premises (t130.t2.t2)) -(step t130.t2 (cl (= @p_434 (! (exists ((veriT_vr72 V_list_v_result$)) @p_438) :named @p_440))) :rule bind) -(step t130.t3 (cl (= @p_439 (! (=> @p_432 @p_440) :named @p_450))) :rule cong :premises (t130.t2)) -(anchor :step t130.t4 :args ((:= (veriT_vr26 V_list_v_result$) veriT_vr72))) -(step t130.t4.t1 (cl (= veriT_vr26 veriT_vr72)) :rule refl) -(step t130.t4.t2 (cl (= @p_442 @p_436)) :rule cong :premises (t130.t4.t1)) -(step t130.t4.t3 (cl (= @p_443 @p_438)) :rule cong :premises (t130.t4.t2)) -(step t130.t4.t4 (cl (= @p_444 (! (not @p_438) :named @p_445))) :rule cong :premises (t130.t4.t3)) -(step t130.t4 (cl (= @p_441 (! (forall ((veriT_vr72 V_list_v_result$)) @p_445) :named @p_447))) :rule bind) -(step t130.t5 (cl (= @p_446 (! (not @p_447) :named @p_449))) :rule cong :premises (t130.t4)) -(step t130.t6 (cl (= @p_448 (! (=> @p_449 @p_432) :named @p_451))) :rule cong :premises (t130.t5)) -(step t130.t7 (cl (! (= @p_433 (! (and @p_450 @p_451) :named @p_454)) :named @p_452)) :rule cong :premises (t130.t3 t130.t6)) -(step t130.t8 (cl (not @p_452) (! (not @p_433) :named @p_453) @p_454) :rule equiv_pos2) -(step t130.t9 (cl @p_454) :rule th_resolution :premises (t130.h1 t130.t7 t130.t8)) -(step t130.t10 (cl (= @p_432 true)) :rule eq_simplify) -(step t130.t11 (cl (= @p_450 (! (=> true @p_440) :named @p_455))) :rule cong :premises (t130.t10)) -(step t130.t12 (cl (= @p_455 @p_440)) :rule implies_simplify) -(step t130.t13 (cl (= @p_450 @p_440)) :rule trans :premises (t130.t11 t130.t12)) -(step t130.t14 (cl (= @p_451 (! (=> @p_449 true) :named @p_456))) :rule cong :premises (t130.t10)) -(step t130.t15 (cl (= @p_456 true)) :rule implies_simplify) -(step t130.t16 (cl (= @p_451 true)) :rule trans :premises (t130.t14 t130.t15)) -(step t130.t17 (cl (= @p_454 (! (and @p_440 true) :named @p_457))) :rule cong :premises (t130.t13 t130.t16)) -(step t130.t18 (cl (= @p_457 (! (and @p_440) :named @p_458))) :rule and_simplify) -(step t130.t19 (cl (= @p_458 @p_440)) :rule and_simplify) -(step t130.t20 (cl (! (= @p_454 @p_440) :named @p_459)) :rule trans :premises (t130.t17 t130.t18 t130.t19)) -(step t130.t21 (cl (not @p_459) (not @p_454) @p_440) :rule equiv_pos2) -(step t130.t22 (cl @p_440) :rule th_resolution :premises (t130.t9 t130.t20 t130.t21)) -(anchor :step t130.t23 :args ((:= (veriT_vr72 V_list_v_result$) veriT_vr73))) -(step t130.t23.t1 (cl (= veriT_vr72 veriT_vr73)) :rule refl) -(step t130.t23.t2 (cl (= @p_436 @p_461)) :rule cong :premises (t130.t23.t1)) -(step t130.t23.t3 (cl (= @p_438 @p_460)) :rule cong :premises (t130.t23.t2)) -(step t130.t23 (cl (! (= @p_440 (! (exists ((veriT_vr73 V_list_v_result$)) @p_460) :named @p_463)) :named @p_462)) :rule bind) -(step t130.t24 (cl (not @p_462) (not @p_440) @p_463) :rule equiv_pos2) -(step t130.t25 (cl @p_463) :rule th_resolution :premises (t130.t22 t130.t23 t130.t24)) -(anchor :step t130.t26 :args ((:= (veriT_vr73 V_list_v_result$) veriT_sk3))) -(step t130.t26.t1 (cl (= veriT_vr73 veriT_sk3)) :rule refl) -(step t130.t26.t2 (cl (= @p_461 (! (pair$ @p_378 veriT_sk3) :named @p_466))) :rule cong :premises (t130.t26.t1)) -(step t130.t26.t3 (cl (= @p_460 (! (= @p_3 @p_466) :named @p_464))) :rule cong :premises (t130.t26.t2)) -(step t130.t26 (cl (! (= @p_463 @p_464) :named @p_467)) :rule sko_ex) -(step t130.t27 (cl (not @p_467) (not @p_463) @p_464) :rule equiv_pos2) -(step t130.t28 (cl @p_464) :rule th_resolution :premises (t130.t25 t130.t26 t130.t27)) -(step t130 (cl @p_453 @p_464) :rule subproof :discharge (h1)) -(step t131 (cl @p_431 @p_433) :rule or :premises (t129)) -(step t132 (cl (! (or @p_431 @p_464) :named @p_469) @p_468) :rule or_neg) -(step t133 (cl @p_469 @p_170) :rule th_resolution :premises (t128 t132)) -(step t134 (cl @p_469 (! (not @p_464) :named @p_595)) :rule or_neg) -(step t135 (cl @p_469) :rule th_resolution :premises (t131 t130 t133 t134)) -(step t136 (cl (or @p_431 (! (and (! (=> (! (= st$ (! (fst$ @p_470) :named @p_650)) :named @p_471) (! (exists ((veriT_vr25 V_list_v_result$)) (! (= @p_470 (! (pair$ st$ veriT_vr25) :named @p_474)) :named @p_476)) :named @p_473)) :named @p_478) (! (=> (! (not (! (forall ((veriT_vr26 V_list_v_result$)) (! (not (! (= @p_470 (! (pair$ st$ veriT_vr26) :named @p_481)) :named @p_482)) :named @p_483)) :named @p_480)) :named @p_485) @p_471) :named @p_487)) :named @p_472))) :rule forall_inst :args ((:= veriT_vr23 st$) (:= veriT_vr24 @p_470))) -(anchor :step t137) -(assume t137.h1 @p_472) -(anchor :step t137.t2 :args ((:= (veriT_vr25 V_list_v_result$) veriT_vr106))) -(step t137.t2.t1 (cl (= veriT_vr25 veriT_vr106)) :rule refl) -(step t137.t2.t2 (cl (= @p_474 (! (pair$ st$ veriT_vr106) :named @p_475))) :rule cong :premises (t137.t2.t1)) -(step t137.t2.t3 (cl (= @p_476 (! (= @p_470 @p_475) :named @p_477))) :rule cong :premises (t137.t2.t2)) -(step t137.t2 (cl (= @p_473 (! (exists ((veriT_vr106 V_list_v_result$)) @p_477) :named @p_479))) :rule bind) -(step t137.t3 (cl (= @p_478 (! (=> @p_471 @p_479) :named @p_489))) :rule cong :premises (t137.t2)) -(anchor :step t137.t4 :args ((:= (veriT_vr26 V_list_v_result$) veriT_vr106))) -(step t137.t4.t1 (cl (= veriT_vr26 veriT_vr106)) :rule refl) -(step t137.t4.t2 (cl (= @p_481 @p_475)) :rule cong :premises (t137.t4.t1)) -(step t137.t4.t3 (cl (= @p_482 @p_477)) :rule cong :premises (t137.t4.t2)) -(step t137.t4.t4 (cl (= @p_483 (! (not @p_477) :named @p_484))) :rule cong :premises (t137.t4.t3)) -(step t137.t4 (cl (= @p_480 (! (forall ((veriT_vr106 V_list_v_result$)) @p_484) :named @p_486))) :rule bind) -(step t137.t5 (cl (= @p_485 (! (not @p_486) :named @p_488))) :rule cong :premises (t137.t4)) -(step t137.t6 (cl (= @p_487 (! (=> @p_488 @p_471) :named @p_490))) :rule cong :premises (t137.t5)) -(step t137.t7 (cl (! (= @p_472 (! (and @p_489 @p_490) :named @p_493)) :named @p_491)) :rule cong :premises (t137.t3 t137.t6)) -(step t137.t8 (cl (not @p_491) (! (not @p_472) :named @p_492) @p_493) :rule equiv_pos2) -(step t137.t9 (cl @p_493) :rule th_resolution :premises (t137.h1 t137.t7 t137.t8)) -(anchor :step t137.t10 :args ((:= (veriT_vr106 V_list_v_result$) veriT_vr107))) -(step t137.t10.t1 (cl (= veriT_vr106 veriT_vr107)) :rule refl) -(step t137.t10.t2 (cl (= @p_475 (! (pair$ st$ veriT_vr107) :named @p_494))) :rule cong :premises (t137.t10.t1)) -(step t137.t10.t3 (cl (= @p_477 (! (= @p_470 @p_494) :named @p_495))) :rule cong :premises (t137.t10.t2)) -(step t137.t10.t4 (cl (= @p_484 (! (not @p_495) :named @p_496))) :rule cong :premises (t137.t10.t3)) -(step t137.t10 (cl (= @p_486 (! (forall ((veriT_vr107 V_list_v_result$)) @p_496) :named @p_497))) :rule bind) -(step t137.t11 (cl (= @p_488 (! (not @p_497) :named @p_498))) :rule cong :premises (t137.t10)) -(step t137.t12 (cl (= @p_490 (! (=> @p_498 @p_471) :named @p_499))) :rule cong :premises (t137.t11)) -(step t137.t13 (cl (! (= @p_493 (! (and @p_489 @p_499) :named @p_501)) :named @p_500)) :rule cong :premises (t137.t12)) -(step t137.t14 (cl (not @p_500) (not @p_493) @p_501) :rule equiv_pos2) -(step t137.t15 (cl @p_501) :rule th_resolution :premises (t137.t9 t137.t13 t137.t14)) -(anchor :step t137.t16 :args ((:= (veriT_vr106 V_list_v_result$) veriT_vr108))) -(step t137.t16.t1 (cl (= veriT_vr106 veriT_vr108)) :rule refl) -(step t137.t16.t2 (cl (= @p_475 @p_503)) :rule cong :premises (t137.t16.t1)) -(step t137.t16.t3 (cl (= @p_477 @p_502)) :rule cong :premises (t137.t16.t2)) -(step t137.t16 (cl (= @p_479 (! (exists ((veriT_vr108 V_list_v_result$)) @p_502) :named @p_504))) :rule bind) -(step t137.t17 (cl (= @p_489 (! (=> @p_471 @p_504) :named @p_510))) :rule cong :premises (t137.t16)) -(anchor :step t137.t18 :args ((:= (veriT_vr107 V_list_v_result$) veriT_vr109))) -(step t137.t18.t1 (cl (= veriT_vr107 veriT_vr109)) :rule refl) -(step t137.t18.t2 (cl (= @p_494 (! (pair$ st$ veriT_vr109) :named @p_505))) :rule cong :premises (t137.t18.t1)) -(step t137.t18.t3 (cl (= @p_495 (! (= @p_470 @p_505) :named @p_506))) :rule cong :premises (t137.t18.t2)) -(step t137.t18.t4 (cl (= @p_496 (! (not @p_506) :named @p_507))) :rule cong :premises (t137.t18.t3)) -(step t137.t18 (cl (= @p_497 (! (forall ((veriT_vr109 V_list_v_result$)) @p_507) :named @p_508))) :rule bind) -(step t137.t19 (cl (= @p_498 (! (not @p_508) :named @p_509))) :rule cong :premises (t137.t18)) -(step t137.t20 (cl (= @p_499 (! (=> @p_509 @p_471) :named @p_511))) :rule cong :premises (t137.t19)) -(step t137.t21 (cl (! (= @p_501 (! (and @p_510 @p_511) :named @p_513)) :named @p_512)) :rule cong :premises (t137.t17 t137.t20)) -(step t137.t22 (cl (not @p_512) (not @p_501) @p_513) :rule equiv_pos2) -(step t137.t23 (cl @p_513) :rule th_resolution :premises (t137.t15 t137.t21 t137.t22)) -(anchor :step t137.t24 :args ((:= (veriT_vr108 V_list_v_result$) veriT_sk11))) -(step t137.t24.t1 (cl (= veriT_vr108 veriT_sk11)) :rule refl) -(step t137.t24.t2 (cl (= @p_503 (! (pair$ st$ veriT_sk11) :named @p_516))) :rule cong :premises (t137.t24.t1)) -(step t137.t24.t3 (cl (= @p_502 (! (= @p_470 @p_516) :named @p_514))) :rule cong :premises (t137.t24.t2)) -(step t137.t24 (cl (= @p_504 @p_514)) :rule sko_ex) -(step t137.t25 (cl (= @p_510 (! (=> @p_471 @p_514) :named @p_517))) :rule cong :premises (t137.t24)) -(step t137.t26 (cl (! (= @p_513 (! (and @p_517 @p_511) :named @p_519)) :named @p_518)) :rule cong :premises (t137.t25)) -(step t137.t27 (cl (not @p_518) (not @p_513) @p_519) :rule equiv_pos2) -(step t137.t28 (cl @p_519) :rule th_resolution :premises (t137.t23 t137.t26 t137.t27)) -(anchor :step t137.t29 :args ((:= (veriT_vr109 V_list_v_result$) veriT_vr110))) -(step t137.t29.t1 (cl (= veriT_vr109 veriT_vr110)) :rule refl) -(step t137.t29.t2 (cl (= @p_505 (! (pair$ st$ veriT_vr110) :named @p_521))) :rule cong :premises (t137.t29.t1)) -(step t137.t29.t3 (cl (= @p_506 (! (= @p_470 @p_521) :named @p_522))) :rule cong :premises (t137.t29.t2)) -(step t137.t29.t4 (cl (= @p_507 (! (not @p_522) :named @p_523))) :rule cong :premises (t137.t29.t3)) -(step t137.t29 (cl (= @p_508 (! (forall ((veriT_vr110 V_list_v_result$)) @p_523) :named @p_520))) :rule bind) -(step t137.t30 (cl (= @p_509 (! (not @p_520) :named @p_524))) :rule cong :premises (t137.t29)) -(step t137.t31 (cl (= @p_511 (! (=> @p_524 @p_471) :named @p_525))) :rule cong :premises (t137.t30)) -(step t137.t32 (cl (! (= @p_519 (! (and @p_517 @p_525) :named @p_526)) :named @p_527)) :rule cong :premises (t137.t31)) -(step t137.t33 (cl (not @p_527) (not @p_519) @p_526) :rule equiv_pos2) -(step t137.t34 (cl @p_526) :rule th_resolution :premises (t137.t28 t137.t32 t137.t33)) -(step t137 (cl @p_492 @p_526) :rule subproof :discharge (h1)) -(step t138 (cl @p_431 @p_472) :rule or :premises (t136)) -(step t139 (cl (! (or @p_431 @p_526) :named @p_528) @p_468) :rule or_neg) -(step t140 (cl @p_528 @p_170) :rule th_resolution :premises (t128 t139)) -(step t141 (cl @p_528 (! (not @p_526) :named @p_553)) :rule or_neg) -(step t142 (cl @p_528) :rule th_resolution :premises (t138 t137 t140 t141)) -(step t143 (cl (not (! (not (! (not @p_79) :named @p_529)) :named @p_537)) @p_79) :rule not_not) -(step t144 (cl (or @p_529 (! (= (! (fun_app$b (! (uu$ @p_378 @p_530) :named @p_655) @p_371) :named @p_532) (! (ite @p_373 @p_370 @p_371) :named @p_533)) :named @p_531))) :rule forall_inst :args ((:= veriT_vr7 @p_378) (:= veriT_vr8 @p_530) (:= veriT_vr9 @p_371))) -(anchor :step t145) -(assume t145.h1 @p_531) -(step t145.t2 (cl (! (= @p_531 (! (and (! (= @p_532 @p_533) :named @p_555) (! (ite @p_373 (= @p_370 @p_533) (! (= @p_371 @p_533) :named @p_557)) :named @p_556)) :named @p_534)) :named @p_535)) :rule ite_intro) -(step t145.t3 (cl (not @p_535) (! (not @p_531) :named @p_536) @p_534) :rule equiv_pos2) -(step t145.t4 (cl @p_534) :rule th_resolution :premises (t145.h1 t145.t2 t145.t3)) -(step t145 (cl @p_536 @p_534) :rule subproof :discharge (h1)) -(step t146 (cl @p_529 @p_531) :rule or :premises (t144)) -(step t147 (cl (! (or @p_529 @p_534) :named @p_538) @p_537) :rule or_neg) -(step t148 (cl @p_538 @p_79) :rule th_resolution :premises (t143 t147)) -(step t149 (cl @p_538 (! (not @p_534) :named @p_554)) :rule or_neg) -(step t150 (cl @p_538) :rule th_resolution :premises (t146 t145 t148 t149)) -(step t151 (cl (or @p_529 (! (= (! (fun_app$b (! (uu$ @p_378 st$) :named @p_656) @p_371) :named @p_540) (! (ite (! (less_eq$ @p_318 @p_371) :named @p_542) @p_318 @p_371) :named @p_541)) :named @p_539))) :rule forall_inst :args ((:= veriT_vr7 @p_378) (:= veriT_vr8 st$) (:= veriT_vr9 @p_371))) -(anchor :step t152) -(assume t152.h1 @p_539) -(step t152.t2 (cl (! (= @p_539 (! (and (! (= @p_540 @p_541) :named @p_560) (ite @p_542 (! (= @p_318 @p_541) :named @p_662) (= @p_371 @p_541))) :named @p_543)) :named @p_544)) :rule ite_intro) -(step t152.t3 (cl (not @p_544) (! (not @p_539) :named @p_545) @p_543) :rule equiv_pos2) -(step t152.t4 (cl @p_543) :rule th_resolution :premises (t152.h1 t152.t2 t152.t3)) -(step t152 (cl @p_545 @p_543) :rule subproof :discharge (h1)) -(step t153 (cl @p_529 @p_539) :rule or :premises (t151)) -(step t154 (cl (! (or @p_529 @p_543) :named @p_546) @p_537) :rule or_neg) -(step t155 (cl @p_546 @p_79) :rule th_resolution :premises (t143 t154)) -(step t156 (cl @p_546 (! (not @p_543) :named @p_559)) :rule or_neg) -(step t157 (cl @p_546) :rule th_resolution :premises (t153 t152 t155 t156)) -(step t158 (cl @p_547 @p_548) :rule or :premises (t115)) -(step t159 (cl @p_548) :rule resolution :premises (t158 t89)) -(step t160 (cl @p_421 (! (not @p_413) :named @p_549) (! (not @p_417) :named @p_550)) :rule and_neg) -(step t161 (cl (not @p_549) @p_416) :rule not_not) -(step t162 (cl @p_421 @p_416 @p_550) :rule th_resolution :premises (t161 t160)) -(step t163 (cl (not @p_550) @p_420) :rule not_not) -(step t164 (cl @p_421 @p_416 @p_420) :rule th_resolution :premises (t163 t162)) -(step t165 (cl @p_427 @p_422) :rule or :premises (t127)) -(step t166 (cl @p_422) :rule resolution :premises (t165 t65)) -(step t167 (cl @p_431 @p_464) :rule or :premises (t135)) -(step t168 (cl @p_464) :rule resolution :premises (t167 t56)) -(step t169 (cl (! (not @p_525) :named @p_552) (! (not @p_524) :named @p_551) @p_471) :rule implies_pos) -(step t170 (cl (not @p_551) @p_520) :rule not_not) -(step t171 (cl @p_552 @p_520 @p_471) :rule th_resolution :premises (t170 t169)) -(step t172 (cl @p_553 @p_525) :rule and_pos) -(step t173 (cl @p_431 @p_526) :rule or :premises (t142)) -(step t174 (cl @p_526) :rule resolution :premises (t173 t56)) -(step t175 (cl @p_525) :rule resolution :premises (t172 t174)) -(step t176 (cl @p_554 @p_555) :rule and_pos) -(step t177 (cl (! (not @p_556) :named @p_558) @p_373 @p_557) :rule ite_pos1) -(step t178 (cl @p_554 @p_556) :rule and_pos) -(step t179 (cl @p_529 @p_534) :rule or :premises (t150)) -(step t180 (cl @p_558 @p_557) :rule resolution :premises (t177 t113)) -(step t181 (cl @p_534) :rule resolution :premises (t179 t32)) -(step t182 (cl @p_555) :rule resolution :premises (t176 t181)) -(step t183 (cl @p_556) :rule resolution :premises (t178 t181)) -(step t184 (cl @p_557) :rule resolution :premises (t180 t183)) -(step t185 (cl @p_559 @p_560) :rule and_pos) -(step t186 (cl @p_529 @p_543) :rule or :premises (t157)) -(step t187 (cl @p_543) :rule resolution :premises (t186 t32)) -(step t188 (cl @p_560) :rule resolution :premises (t185 t187)) -(step t189 (cl (! (not (! (= st$ @p_530) :named @p_651)) :named @p_654) (! (= @p_318 @p_370) :named @p_663)) :rule eq_congruent) -(step t190 (cl (or (! (not @p_357) :named @p_565) (! (=> (! (and @p_359 @p_416) :named @p_562) (! (less_eq$ (! (clock$ (! (fst$ (! (fun_app$ (fun_evaluate_match$ st$ env$ veriT_sk0 pes$) veriT_sk0) :named @p_583)) :named @p_618)) :named @p_619) @p_318) :named @p_564)) :named @p_563))) :rule forall_inst :args ((:= veriT_vr61 x2$) (:= veriT_vr62 veriT_sk0))) -(step t191 (cl (or @p_547 (! (= (! (fix_clock$ st$a @p_466) :named @p_596) (! (pair$ @p_561 veriT_sk3) :named @p_676)) :named @p_566))) :rule forall_inst :args ((:= veriT_vr56 st$a) (:= veriT_vr57 @p_378) (:= veriT_vr58 veriT_sk3))) -(step t192 (cl (or (! (not @p_290) :named @p_569) (! (=> @p_548 (! (less_eq$ (! (clock$ @p_561) :named @p_575) @p_371) :named @p_568)) :named @p_567))) :rule forall_inst :args ((:= veriT_vr49 st$a) (:= veriT_vr50 @p_378) (:= veriT_vr51 r$) (:= veriT_vr52 @p_561))) -(step t193 (cl (or (! (not @p_236) :named @p_571) (! (= (! (case_error_result$ uua$ uub$ @p_415) :named @p_621) (! (fun_app$ uua$ veriT_sk0) :named @p_584)) :named @p_572))) :rule forall_inst :args ((:= veriT_vr36 uua$) (:= veriT_vr37 uub$) (:= veriT_vr38 veriT_sk0))) -(step t194 (cl @p_562 (! (not @p_359) :named @p_614) @p_413) :rule and_neg) -(step t195 (cl (not @p_563) (not @p_562) @p_564) :rule implies_pos) -(step t196 (cl @p_565 @p_563) :rule or :premises (t190)) -(step t197 (cl @p_562 @p_413) :rule resolution :premises (t194 t101)) -(step t198 (cl @p_563) :rule resolution :premises (t196 t95)) -(step t199 (cl @p_547 @p_566) :rule or :premises (t191)) -(step t200 (cl @p_566) :rule resolution :premises (t199 t89)) -(step t201 (cl (! (not @p_567) :named @p_570) (not @p_548) @p_568) :rule implies_pos) -(step t202 (cl @p_569 @p_567) :rule or :premises (t192)) -(step t203 (cl @p_570 @p_568) :rule resolution :premises (t201 t159)) -(step t204 (cl @p_567) :rule resolution :premises (t202 t83)) -(step t205 (cl @p_568) :rule resolution :premises (t203 t204)) -(step t206 (cl @p_571 @p_572) :rule or :premises (t193)) -(step t207 (cl @p_572) :rule resolution :premises (t206 t71)) -(step t208 (cl @p_368 @p_573) :rule or :premises (t103)) -(step t209 (cl (or (! (not @p_573) :named @p_576) (! (or @p_574 (! (not @p_568) :named @p_581) (! (less_eq$ @p_575 @p_7) :named @p_582)) :named @p_577))) :rule forall_inst :args ((:= veriT_vr13 @p_371) (:= veriT_vr14 @p_7) (:= veriT_vr15 @p_575))) -(step t210 (cl @p_576 @p_577) :rule or :premises (t209)) -(step t211 (cl (! (or @p_368 @p_577) :named @p_579) @p_578) :rule or_neg) -(step t212 (cl @p_579 @p_105) :rule th_resolution :premises (t114 t211)) -(step t213 (cl @p_579 (! (not @p_577) :named @p_580)) :rule or_neg) -(step t214 (cl @p_579) :rule th_resolution :premises (t208 t210 t212 t213)) -(step t215 (cl @p_580 @p_574 @p_581 @p_582) :rule or_pos) -(step t216 (cl @p_368 @p_577) :rule or :premises (t214)) -(step t217 (cl @p_580 @p_582) :rule resolution :premises (t215 axiom4 t205)) -(step t218 (cl @p_577) :rule resolution :premises (t216 t38)) -(step t219 (cl @p_582) :rule resolution :premises (t217 t218)) -(step t220 (cl (or (! (not @p_257) :named @p_585) (! (= (! (case_error_result$ uua$ uub$ @p_419) :named @p_603) (! (fun_app$a uub$ veriT_sk1) :named @p_599)) :named @p_586))) :rule forall_inst :args ((:= veriT_vr42 uua$) (:= veriT_vr43 uub$) (:= veriT_vr44 veriT_sk1))) -(step t221 (cl (or @p_368 (! (=> (! (and @p_582 (! (less_eq$ @p_370 @p_575) :named @p_588)) :named @p_587) @p_360) :named @p_589))) :rule forall_inst :args ((:= veriT_vr13 @p_575) (:= veriT_vr14 @p_7) (:= veriT_vr15 @p_370))) -(step t222 (cl (or (! (not @p_26) :named @p_593) (! (= @p_583 @p_584) :named @p_594))) :rule forall_inst :args ((:= veriT_vr1 veriT_sk0))) -(step t223 (cl @p_585 @p_586) :rule or :premises (t220)) -(step t224 (cl @p_586) :rule resolution :premises (t223 t77)) -(step t225 (cl @p_587 (not @p_582) (! (not @p_588) :named @p_590)) :rule and_neg) -(step t226 (cl (! (not @p_589) :named @p_591) (! (not @p_587) :named @p_592) @p_360) :rule implies_pos) -(step t227 (cl @p_368 @p_589) :rule or :premises (t221)) -(step t228 (cl @p_587 @p_590) :rule resolution :premises (t225 t219)) -(step t229 (cl @p_591 @p_592) :rule resolution :premises (t226 t102)) -(step t230 (cl @p_589) :rule resolution :premises (t227 t38)) -(step t231 (cl @p_592) :rule resolution :premises (t229 t230)) -(step t232 (cl @p_590) :rule resolution :premises (t228 t231)) -(step t233 (cl @p_593 @p_594) :rule or :premises (t222)) -(step t234 (cl @p_594) :rule resolution :premises (t233 t20)) -(step t235 (cl (not (! (= st$a st$a) :named @p_597)) @p_595 (! (= @p_470 @p_596) :named @p_598)) :rule eq_congruent) -(step t236 (cl @p_597) :rule eq_reflexive) -(step t237 (cl @p_595 @p_598) :rule th_resolution :premises (t235 t236)) -(step t238 (cl (or (! (not @p_48) :named @p_600) (! (= @p_599 (! (pair$ st$ (! (rerr$ @p_419) :named @p_608)) :named @p_610)) :named @p_601))) :rule forall_inst :args ((:= veriT_vr3 veriT_sk1))) -(step t239 (cl @p_600 @p_601) :rule or :premises (t238)) -(step t240 (cl @p_601) :rule resolution :premises (t239 t26)) -(step t241 (cl (! (not (! (= uua$ uua$) :named @p_604)) :named @p_623) (! (not (! (= uub$ uub$) :named @p_607)) :named @p_605) @p_417 (! (= @p_602 @p_603) :named @p_606)) :rule eq_congruent) -(step t242 (cl @p_604) :rule eq_reflexive) -(step t243 (cl @p_605 @p_417 @p_606) :rule th_resolution :premises (t241 t242)) -(step t244 (cl @p_607) :rule eq_reflexive) -(step t245 (cl @p_417 @p_606) :rule th_resolution :premises (t243 t244)) -(step t246 (cl (not (! (= st$ st$) :named @p_611)) (! (not (! (= r$ @p_608) :named @p_616)) :named @p_612) (! (= @p_609 @p_610) :named @p_613)) :rule eq_congruent) -(step t247 (cl @p_611) :rule eq_reflexive) -(step t248 (cl @p_612 @p_613) :rule th_resolution :premises (t246 t247)) -(step t249 (cl @p_614 (not (! (= @p_615 @p_608) :named @p_617)) @p_616) :rule eq_transitive) -(step t250 (cl @p_417 @p_617) :rule eq_congruent) -(step t251 (cl @p_614 @p_616 @p_417) :rule th_resolution :premises (t249 t250)) -(step t252 (cl @p_613 @p_614 @p_417) :rule th_resolution :premises (t248 t251)) -(step t253 (cl (not (! (= @p_530 @p_618) :named @p_620)) (! (= @p_370 @p_619) :named @p_627)) :rule eq_congruent) -(step t254 (cl (not (! (= @p_602 @p_583) :named @p_622)) @p_620) :rule eq_congruent) -(step t255 (cl (not (! (= @p_602 @p_621) :named @p_624)) (! (not @p_572) :named @p_625) (! (not @p_594) :named @p_626) @p_622) :rule eq_transitive) -(step t256 (cl @p_623 @p_605 @p_413 @p_624) :rule eq_congruent) -(step t257 (cl @p_605 @p_413 @p_624) :rule th_resolution :premises (t256 t242)) -(step t258 (cl @p_413 @p_624) :rule th_resolution :premises (t257 t244)) -(step t259 (cl @p_625 @p_626 @p_622 @p_413) :rule th_resolution :premises (t255 t258)) -(step t260 (cl @p_620 @p_625 @p_626 @p_413) :rule th_resolution :premises (t254 t259)) -(step t261 (cl @p_627 @p_625 @p_626 @p_413) :rule th_resolution :premises (t253 t260)) -(step t262 (cl (or @p_524 (! (not @p_628) :named @p_630))) :rule forall_inst :args ((:= veriT_vr110 r$))) -(step t263 (cl @p_431 @p_629) :rule or :premises (t104)) -(step t264 (cl @p_524 @p_630) :rule or :premises (t262)) -(step t265 (cl @p_524) :rule resolution :premises (t264 axiom3)) -(step t266 (cl @p_471) :rule resolution :premises (t171 t265 t175)) -(step t267 (cl (or @p_529 (! (= (! (fun_app$b (! (uu$ @p_378 @p_561) :named @p_631) (! (clock$ (update_clock$ @p_631 @p_561)) :named @p_632)) :named @p_634) (! (ite @p_568 @p_575 @p_371) :named @p_635)) :named @p_633))) :rule forall_inst :args ((:= veriT_vr7 @p_378) (:= veriT_vr8 @p_561) (:= veriT_vr9 @p_632))) -(anchor :step t268) -(assume t268.h1 @p_633) -(step t268.t2 (cl (! (= @p_633 (! (and (= @p_634 @p_635) (! (ite @p_568 (! (= @p_575 @p_635) :named @p_647) (= @p_371 @p_635)) :named @p_646)) :named @p_636)) :named @p_637)) :rule ite_intro) -(step t268.t3 (cl (not @p_637) (! (not @p_633) :named @p_638) @p_636) :rule equiv_pos2) -(step t268.t4 (cl @p_636) :rule th_resolution :premises (t268.h1 t268.t2 t268.t3)) -(step t268 (cl @p_638 @p_636) :rule subproof :discharge (h1)) -(step t269 (cl @p_529 @p_633) :rule or :premises (t267)) -(step t270 (cl (! (or @p_529 @p_636) :named @p_639) @p_537) :rule or_neg) -(step t271 (cl @p_639 @p_79) :rule th_resolution :premises (t143 t270)) -(step t272 (cl @p_639 (! (not @p_636) :named @p_648)) :rule or_neg) -(step t273 (cl @p_639) :rule th_resolution :premises (t269 t268 t271 t272)) -(step t274 (cl (or @p_529 (! (= @p_635 (! (fun_app$b @p_631 @p_371) :named @p_641)) :named @p_640))) :rule forall_inst :args ((:= veriT_vr7 @p_378) (:= veriT_vr8 @p_561) (:= veriT_vr9 @p_371))) -(anchor :step t275) -(assume t275.h1 @p_640) -(step t275.t2 (cl (! (= @p_640 (! (= @p_635 @p_641) :named @p_642)) :named @p_643)) :rule ite_intro) -(step t275.t3 (cl (not @p_643) (! (not @p_640) :named @p_644) @p_642) :rule equiv_pos2) -(step t275.t4 (cl @p_642) :rule th_resolution :premises (t275.h1 t275.t2 t275.t3)) -(step t275 (cl @p_644 @p_642) :rule subproof :discharge (h1)) -(step t276 (cl @p_529 @p_640) :rule or :premises (t274)) -(step t277 (cl (! (or @p_529 @p_642) :named @p_645) @p_537) :rule or_neg) -(step t278 (cl @p_645 @p_79) :rule th_resolution :premises (t143 t277)) -(step t279 (cl @p_645 (! (not @p_642) :named @p_696)) :rule or_neg) -(step t280 (cl @p_645) :rule th_resolution :premises (t276 t275 t278 t279)) -(step t281 (cl (! (not @p_646) :named @p_649) @p_581 @p_647) :rule ite_pos2) -(step t282 (cl @p_648 @p_646) :rule and_pos) -(step t283 (cl @p_529 @p_636) :rule or :premises (t273)) -(step t284 (cl @p_649 @p_647) :rule resolution :premises (t281 t205)) -(step t285 (cl @p_636) :rule resolution :premises (t283 t32)) -(step t286 (cl @p_646) :rule resolution :premises (t282 t285)) -(step t287 (cl @p_647) :rule resolution :premises (t284 t286)) -(step t288 (cl @p_529 @p_642) :rule or :premises (t280)) -(step t289 (cl @p_642) :rule resolution :premises (t288 t32)) -(step t290 (cl (! (= @p_371 @p_371) :named @p_671)) :rule eq_reflexive) -(step t291 (cl (! (not @p_471) :named @p_661) (not (! (= @p_530 @p_650) :named @p_652)) @p_651) :rule eq_transitive) -(step t292 (cl (not (! (= @p_470 @p_602) :named @p_653)) @p_652) :rule eq_congruent) -(step t293 (cl @p_630 (not @p_613) (! (not @p_601) :named @p_657) (! (not @p_586) :named @p_658) (! (not @p_606) :named @p_659) @p_653) :rule eq_transitive) -(step t294 (cl (! (not @p_432) :named @p_674) @p_654 (! (= @p_655 @p_656) :named @p_670)) :rule eq_congruent) -(step t295 (cl @p_432) :rule eq_reflexive) -(step t296 (cl @p_630 @p_657 @p_658 @p_659 @p_653 @p_614 @p_417) :rule th_resolution :premises (t293 t252)) -(step t297 (cl @p_630 @p_657 @p_658 @p_653 @p_614 @p_417 @p_417) :rule th_resolution :premises (t296 t245)) -(step t298 (cl @p_630 @p_657 @p_658 @p_653 @p_614 @p_417) :rule contraction :premises (t297)) -(step t299 (cl @p_652 @p_630 @p_657 @p_658 @p_614 @p_417) :rule th_resolution :premises (t292 t298)) -(step t300 (cl (not (! (= @p_371 @p_370) :named @p_664)) (! (not (! (= @p_7 @p_7) :named @p_660)) :named @p_675) @p_574 @p_360) :rule eq_congruent_pred) -(step t301 (cl @p_660) :rule eq_reflexive) -(step t302 (cl @p_661 @p_651 @p_630 @p_657 @p_658 @p_614 @p_417) :rule th_resolution :premises (t291 t299)) -(step t303 (cl (! (not @p_557) :named @p_665) (! (not @p_555) :named @p_666) (! (not (! (= @p_532 @p_540) :named @p_672)) :named @p_667) (! (not @p_560) :named @p_668) (! (not @p_662) :named @p_669) (not @p_663) @p_664) :rule eq_transitive) -(step t304 (cl @p_663 @p_661 @p_630 @p_657 @p_658 @p_614 @p_417) :rule th_resolution :premises (t189 t302)) -(step t305 (cl @p_665 @p_666 @p_667 @p_668 @p_669 @p_664 @p_661 @p_630 @p_657 @p_658 @p_614 @p_417) :rule th_resolution :premises (t303 t304)) -(step t306 (cl (! (not @p_670) :named @p_673) (! (not @p_671) :named @p_699) @p_672) :rule eq_congruent) -(step t307 (cl @p_673 @p_672) :rule th_resolution :premises (t306 t290)) -(step t308 (cl @p_674 @p_670 @p_661 @p_630 @p_657 @p_658 @p_614 @p_417) :rule th_resolution :premises (t294 t302)) -(step t309 (cl @p_670 @p_661 @p_630 @p_657 @p_658 @p_614 @p_417) :rule th_resolution :premises (t308 t295)) -(step t310 (cl @p_672 @p_661 @p_630 @p_657 @p_658 @p_614 @p_417) :rule th_resolution :premises (t307 t309)) -(step t311 (cl @p_665 @p_666 @p_668 @p_669 @p_664 @p_661 @p_630 @p_657 @p_658 @p_614 @p_417 @p_661 @p_630 @p_657 @p_658 @p_614 @p_417) :rule th_resolution :premises (t305 t310)) -(step t312 (cl @p_665 @p_666 @p_668 @p_669 @p_664 @p_661 @p_630 @p_657 @p_658 @p_614 @p_417) :rule contraction :premises (t311)) -(step t313 (cl @p_675 @p_574 @p_360 @p_665 @p_666 @p_668 @p_669 @p_661 @p_630 @p_657 @p_658 @p_614 @p_417) :rule th_resolution :premises (t300 t312)) -(step t314 (cl @p_574 @p_360 @p_665 @p_666 @p_668 @p_669 @p_661 @p_630 @p_657 @p_658 @p_614 @p_417) :rule th_resolution :premises (t313 t301)) -(step t315 (cl @p_669 @p_417) :rule resolution :premises (t314 axiom3 axiom4 t101 t102 t266 t182 t184 t188 t224 t240)) -(step t316 (cl (or (! (not @p_629) :named @p_677) (! (or (! (not (! (= @p_676 @p_676) :named @p_682)) :named @p_683) (! (= @p_561 (! (fst$ @p_676) :named @p_691)) :named @p_681)) :named @p_678))) :rule forall_inst :args ((:= veriT_vr23 @p_561) (:= veriT_vr24 @p_676) (:= veriT_vr26 veriT_sk3))) -(step t317 (cl @p_677 @p_678) :rule or :premises (t316)) -(step t318 (cl (! (or @p_431 @p_678) :named @p_679) @p_468) :rule or_neg) -(step t319 (cl @p_679 @p_170) :rule th_resolution :premises (t128 t318)) -(step t320 (cl @p_679 (! (not @p_678) :named @p_680)) :rule or_neg) -(step t321 (cl @p_679) :rule th_resolution :premises (t263 t317 t319 t320)) -(anchor :step t322) -(assume t322.h1 @p_678) -(step t322.t2 (cl (= @p_682 true)) :rule eq_simplify) -(step t322.t3 (cl (= @p_683 (! (not true) :named @p_684))) :rule cong :premises (t322.t2)) -(step t322.t4 (cl (= @p_684 false)) :rule not_simplify) -(step t322.t5 (cl (= @p_683 false)) :rule trans :premises (t322.t3 t322.t4)) -(step t322.t6 (cl (= @p_678 (! (or false @p_681) :named @p_685))) :rule cong :premises (t322.t5)) -(step t322.t7 (cl (= @p_685 (! (or @p_681) :named @p_686))) :rule or_simplify) -(step t322.t8 (cl (= @p_686 @p_681)) :rule or_simplify) -(step t322.t9 (cl (! (= @p_678 @p_681) :named @p_687)) :rule trans :premises (t322.t6 t322.t7 t322.t8)) -(step t322.t10 (cl (not @p_687) @p_680 @p_681) :rule equiv_pos2) -(step t322.t11 (cl @p_681) :rule th_resolution :premises (t322.h1 t322.t9 t322.t10)) -(step t322 (cl @p_680 @p_681) :rule subproof :discharge (h1)) -(step t323 (cl @p_431 @p_678) :rule or :premises (t321)) -(step t324 (cl (! (or @p_431 @p_681) :named @p_688) @p_468) :rule or_neg) -(step t325 (cl @p_688 @p_170) :rule th_resolution :premises (t128 t324)) -(step t326 (cl @p_688 (! (not @p_681) :named @p_693)) :rule or_neg) -(step t327 (cl @p_688) :rule th_resolution :premises (t323 t322 t325 t326)) -(step t328 (cl @p_431 @p_681) :rule or :premises (t327)) -(step t329 (cl @p_681) :rule resolution :premises (t328 t56)) -(step t330 (cl (not @p_598) (! (not @p_566) :named @p_689) (! (= @p_470 @p_676) :named @p_690)) :rule eq_transitive) -(step t331 (cl @p_689 @p_690 @p_595) :rule th_resolution :premises (t330 t237)) -(step t332 (cl (not @p_690) (! (= @p_650 @p_691) :named @p_692)) :rule eq_congruent) -(step t333 (cl @p_692 @p_689 @p_595) :rule th_resolution :premises (t332 t331)) -(step t334 (cl @p_661 (not @p_692) @p_693 (! (= st$ @p_561) :named @p_694)) :rule eq_transitive) -(step t335 (cl @p_661 @p_693 @p_694 @p_689 @p_595) :rule th_resolution :premises (t334 t333)) -(step t336 (cl (! (not @p_694) :named @p_702) (! (= @p_318 @p_575) :named @p_695)) :rule eq_congruent) -(step t337 (cl @p_695 @p_661 @p_693 @p_689 @p_595) :rule th_resolution :premises (t336 t335)) -(step t338 (cl (! (not @p_695) :named @p_704) (! (not @p_647) :named @p_697) @p_696 (! (not (! (= @p_540 @p_641) :named @p_700)) :named @p_698) @p_668 @p_662) :rule eq_transitive) -(step t339 (cl @p_697 @p_696 @p_698 @p_668 @p_662 @p_661 @p_693 @p_689 @p_595) :rule th_resolution :premises (t338 t337)) -(step t340 (cl (! (not (! (= @p_656 @p_631) :named @p_703)) :named @p_701) @p_699 @p_700) :rule eq_congruent) -(step t341 (cl @p_701 @p_700) :rule th_resolution :premises (t340 t290)) -(step t342 (cl @p_674 @p_702 @p_703) :rule eq_congruent) -(step t343 (cl @p_702 @p_703) :rule th_resolution :premises (t342 t295)) -(step t344 (cl @p_703 @p_661 @p_693 @p_689 @p_595) :rule th_resolution :premises (t343 t335)) -(step t345 (cl @p_700 @p_661 @p_693 @p_689 @p_595) :rule th_resolution :premises (t341 t344)) -(step t346 (cl @p_697 @p_696 @p_668 @p_662 @p_661 @p_693 @p_689 @p_595 @p_661 @p_693 @p_689 @p_595) :rule th_resolution :premises (t339 t345)) -(step t347 (cl @p_697 @p_696 @p_668 @p_662 @p_661 @p_693 @p_689 @p_595) :rule contraction :premises (t346)) -(step t348 (cl @p_662) :rule resolution :premises (t347 t266 t188 t200 t287 t289 t168 t329)) -(step t349 (cl @p_417) :rule resolution :premises (t315 t348)) -(step t350 (cl @p_416) :rule resolution :premises (t164 t349 t166)) -(step t351 (cl @p_562) :rule resolution :premises (t197 t350)) -(step t352 (cl @p_564) :rule resolution :premises (t195 t351 t198)) -(step t353 (cl (not @p_627) @p_704 (! (not @p_564) :named @p_705) @p_588) :rule eq_congruent_pred) -(step t354 (cl @p_704 @p_705 @p_588 @p_625 @p_626 @p_413) :rule th_resolution :premises (t353 t261)) -(step t355 (cl @p_705 @p_588 @p_625 @p_626 @p_413 @p_661 @p_693 @p_689 @p_595) :rule th_resolution :premises (t354 t337)) -(step t356 (cl) :rule resolution :premises (t355 t350 t168 t266 t352 t200 t207 t232 t234 t329)) -eae55ce4deb2476399eb5222073e987ca2cc4536 3015 0 +(define-fun veriT_sk0 () Exp$ (! (choice ((veriT_vr40 Exp$)) (not (! (=> (! (member$ veriT_vr40 (! (myset$ z$) :named @p_199)) :named @p_278) (! (not (! (forall ((veriT_vr41 FreeExp$)) (! (not (! (= veriT_vr40 (! (fun_app$ uu$ veriT_vr41) :named @p_281)) :named @p_282)) :named @p_283)) :named @p_279)) :named @p_284)) :named @p_277))) :named @p_201)) +(define-fun veriT_sk1 () FreeExp_list$ (! (choice ((veriT_vr42 FreeExp_list$)) (! (= z$ (! (map2$ uu$ veriT_vr42) :named @p_286)) :named @p_285)) :named @p_301)) +(define-fun veriT_sk2 () FreeExp$ (! (choice ((veriT_vr48 FreeExp$)) (not (! (not (! (= veriT_sk0 (! (abs_Exp$ (! (myImage$ exprel$ (! (insert$ veriT_vr48 bot$) :named @p_356)) :named @p_357)) :named @p_358)) :named @p_359)) :named @p_355))) :named @p_366)) +(assume a0 (! (forall ((?v0 FreeExp$)) (! (= (! (fun_app$ uu$ ?v0) :named @p_3) (! (abs_Exp$ (! (myImage$ exprel$ (! (insert$ ?v0 bot$) :named @p_6)) :named @p_8)) :named @p_10)) :named @p_12)) :named @p_2)) +(assume a1 (! (forall ((?v0 FreeExp_list$)) (! (= (! (abs_ExpList$ ?v0) :named @p_1) (! (map2$ uu$ ?v0) :named @p_27)) :named @p_29)) :named @p_24)) +(assume a2 (! (forall ((?v0 Exp$)) (! (=> (! (forall ((?v1 FreeExp$)) (! (=> (! (= ?v0 (! (abs_Exp$ (! (myImage$ exprel$ (! (insert$ ?v1 bot$) :named @p_42)) :named @p_44)) :named @p_46)) :named @p_48) false) :named @p_50)) :named @p_40) false) :named @p_52)) :named @p_39)) +(assume a3 (! (forall ((?v0 Exp_list$) (?v1 FreeExp_exp_fun$)) (! (= (! (exists ((?v2 FreeExp_list$)) (! (= ?v0 (! (map2$ ?v1 ?v2) :named @p_74)) :named @p_76)) :named @p_72) (! (forall ((?v2 Exp$)) (! (=> (! (member$ ?v2 (! (myset$ ?v0) :named @p_81)) :named @p_83) (! (exists ((?v3 FreeExp$)) (! (= ?v2 (! (fun_app$ ?v1 ?v3) :named @p_89)) :named @p_91)) :named @p_85)) :named @p_93)) :named @p_78)) :named @p_95)) :named @p_71)) +(assume a4 (! (not (! (exists ((?v0 FreeExp_list$)) (! (= @p_1 z$) :named @p_178)) :named @p_176)) :named @p_180)) +(anchor :step t6 :args ((:= (?v0 FreeExp$) veriT_vr0))) +(step t6.t1 (cl (! (= ?v0 veriT_vr0) :named @p_5)) :rule refl) +(step t6.t2 (cl (= @p_3 (! (fun_app$ uu$ veriT_vr0) :named @p_4))) :rule cong :premises (t6.t1)) +(step t6.t3 (cl @p_5) :rule refl) +(step t6.t4 (cl (= @p_6 (! (insert$ veriT_vr0 bot$) :named @p_7))) :rule cong :premises (t6.t3)) +(step t6.t5 (cl (= @p_8 (! (myImage$ exprel$ @p_7) :named @p_9))) :rule cong :premises (t6.t4)) +(step t6.t6 (cl (= @p_10 (! (abs_Exp$ @p_9) :named @p_11))) :rule cong :premises (t6.t5)) +(step t6.t7 (cl (= @p_12 (! (= @p_4 @p_11) :named @p_13))) :rule cong :premises (t6.t2 t6.t6)) +(step t6 (cl (! (= @p_2 (! (forall ((veriT_vr0 FreeExp$)) @p_13) :named @p_15)) :named @p_14)) :rule bind) +(step t7 (cl (not @p_14) (not @p_2) @p_15) :rule equiv_pos2) +(step t8 (cl @p_15) :rule th_resolution :premises (a0 t6 t7)) +(anchor :step t9 :args ((:= (veriT_vr0 FreeExp$) veriT_vr1))) +(step t9.t1 (cl (! (= veriT_vr0 veriT_vr1) :named @p_17)) :rule refl) +(step t9.t2 (cl (= @p_4 (! (fun_app$ uu$ veriT_vr1) :named @p_16))) :rule cong :premises (t9.t1)) +(step t9.t3 (cl @p_17) :rule refl) +(step t9.t4 (cl (= @p_7 (! (insert$ veriT_vr1 bot$) :named @p_18))) :rule cong :premises (t9.t3)) +(step t9.t5 (cl (= @p_9 (! (myImage$ exprel$ @p_18) :named @p_19))) :rule cong :premises (t9.t4)) +(step t9.t6 (cl (= @p_11 (! (abs_Exp$ @p_19) :named @p_20))) :rule cong :premises (t9.t5)) +(step t9.t7 (cl (= @p_13 (! (= @p_16 @p_20) :named @p_21))) :rule cong :premises (t9.t2 t9.t6)) +(step t9 (cl (! (= @p_15 (! (forall ((veriT_vr1 FreeExp$)) @p_21) :named @p_23)) :named @p_22)) :rule bind) +(step t10 (cl (not @p_22) (not @p_15) @p_23) :rule equiv_pos2) +(step t11 (cl @p_23) :rule th_resolution :premises (t8 t9 t10)) +(anchor :step t12 :args ((:= (?v0 FreeExp_list$) veriT_vr2))) +(step t12.t1 (cl (! (= ?v0 veriT_vr2) :named @p_26)) :rule refl) +(step t12.t2 (cl (= @p_1 (! (abs_ExpList$ veriT_vr2) :named @p_25))) :rule cong :premises (t12.t1)) +(step t12.t3 (cl @p_26) :rule refl) +(step t12.t4 (cl (= @p_27 (! (map2$ uu$ veriT_vr2) :named @p_28))) :rule cong :premises (t12.t3)) +(step t12.t5 (cl (= @p_29 (! (= @p_25 @p_28) :named @p_30))) :rule cong :premises (t12.t2 t12.t4)) +(step t12 (cl (! (= @p_24 (! (forall ((veriT_vr2 FreeExp_list$)) @p_30) :named @p_32)) :named @p_31)) :rule bind) +(step t13 (cl (not @p_31) (not @p_24) @p_32) :rule equiv_pos2) +(step t14 (cl @p_32) :rule th_resolution :premises (a1 t12 t13)) +(anchor :step t15 :args ((:= (veriT_vr2 FreeExp_list$) veriT_vr3))) +(step t15.t1 (cl (! (= veriT_vr2 veriT_vr3) :named @p_34)) :rule refl) +(step t15.t2 (cl (= @p_25 (! (abs_ExpList$ veriT_vr3) :named @p_33))) :rule cong :premises (t15.t1)) +(step t15.t3 (cl @p_34) :rule refl) +(step t15.t4 (cl (= @p_28 (! (map2$ uu$ veriT_vr3) :named @p_35))) :rule cong :premises (t15.t3)) +(step t15.t5 (cl (= @p_30 (! (= @p_33 @p_35) :named @p_36))) :rule cong :premises (t15.t2 t15.t4)) +(step t15 (cl (! (= @p_32 (! (forall ((veriT_vr3 FreeExp_list$)) @p_36) :named @p_38)) :named @p_37)) :rule bind) +(step t16 (cl (not @p_37) (not @p_32) @p_38) :rule equiv_pos2) +(step t17 (cl @p_38) :rule th_resolution :premises (t14 t15 t16)) +(anchor :step t18 :args ((:= (?v0 Exp$) veriT_vr4))) +(anchor :step t18.t1 :args ((:= (?v1 FreeExp$) veriT_vr5))) +(step t18.t1.t1 (cl (= ?v0 veriT_vr4)) :rule refl) +(step t18.t1.t2 (cl (= ?v1 veriT_vr5)) :rule refl) +(step t18.t1.t3 (cl (= @p_42 (! (insert$ veriT_vr5 bot$) :named @p_43))) :rule cong :premises (t18.t1.t2)) +(step t18.t1.t4 (cl (= @p_44 (! (myImage$ exprel$ @p_43) :named @p_45))) :rule cong :premises (t18.t1.t3)) +(step t18.t1.t5 (cl (= @p_46 (! (abs_Exp$ @p_45) :named @p_47))) :rule cong :premises (t18.t1.t4)) +(step t18.t1.t6 (cl (= @p_48 (! (= veriT_vr4 @p_47) :named @p_49))) :rule cong :premises (t18.t1.t1 t18.t1.t5)) +(step t18.t1.t7 (cl (= @p_50 (! (=> @p_49 false) :named @p_51))) :rule cong :premises (t18.t1.t6)) +(step t18.t1 (cl (= @p_40 (! (forall ((veriT_vr5 FreeExp$)) @p_51) :named @p_41))) :rule bind) +(step t18.t2 (cl (= @p_52 (! (=> @p_41 false) :named @p_53))) :rule cong :premises (t18.t1)) +(step t18 (cl (! (= @p_39 (! (forall ((veriT_vr4 Exp$)) @p_53) :named @p_55)) :named @p_54)) :rule bind) +(step t19 (cl (not @p_54) (not @p_39) @p_55) :rule equiv_pos2) +(step t20 (cl @p_55) :rule th_resolution :premises (a2 t18 t19)) +(anchor :step t21 :args ((veriT_vr4 Exp$))) +(anchor :step t21.t1 :args ((veriT_vr5 FreeExp$))) +(step t21.t1.t1 (cl (= @p_51 (! (not @p_49) :named @p_57))) :rule implies_simplify) +(step t21.t1 (cl (= @p_41 (! (forall ((veriT_vr5 FreeExp$)) @p_57) :named @p_56))) :rule bind) +(step t21.t2 (cl (= @p_53 (! (=> @p_56 false) :named @p_58))) :rule cong :premises (t21.t1)) +(step t21.t3 (cl (= @p_58 (! (not @p_56) :named @p_59))) :rule implies_simplify) +(step t21.t4 (cl (= @p_53 @p_59)) :rule trans :premises (t21.t2 t21.t3)) +(step t21 (cl (! (= @p_55 (! (forall ((veriT_vr4 Exp$)) @p_59) :named @p_61)) :named @p_60)) :rule bind) +(step t22 (cl (not @p_60) (not @p_55) @p_61) :rule equiv_pos2) +(step t23 (cl @p_61) :rule th_resolution :premises (t20 t21 t22)) +(anchor :step t24 :args ((:= (veriT_vr4 Exp$) veriT_vr6))) +(anchor :step t24.t1 :args ((:= (veriT_vr5 FreeExp$) veriT_vr7))) +(step t24.t1.t1 (cl (= veriT_vr4 veriT_vr6)) :rule refl) +(step t24.t1.t2 (cl (= veriT_vr5 veriT_vr7)) :rule refl) +(step t24.t1.t3 (cl (= @p_43 (! (insert$ veriT_vr7 bot$) :named @p_63))) :rule cong :premises (t24.t1.t2)) +(step t24.t1.t4 (cl (= @p_45 (! (myImage$ exprel$ @p_63) :named @p_64))) :rule cong :premises (t24.t1.t3)) +(step t24.t1.t5 (cl (= @p_47 (! (abs_Exp$ @p_64) :named @p_65))) :rule cong :premises (t24.t1.t4)) +(step t24.t1.t6 (cl (= @p_49 (! (= veriT_vr6 @p_65) :named @p_66))) :rule cong :premises (t24.t1.t1 t24.t1.t5)) +(step t24.t1.t7 (cl (= @p_57 (! (not @p_66) :named @p_67))) :rule cong :premises (t24.t1.t6)) +(step t24.t1 (cl (= @p_56 (! (forall ((veriT_vr7 FreeExp$)) @p_67) :named @p_62))) :rule bind) +(step t24.t2 (cl (= @p_59 (! (not @p_62) :named @p_68))) :rule cong :premises (t24.t1)) +(step t24 (cl (! (= @p_61 (! (forall ((veriT_vr6 Exp$)) @p_68) :named @p_70)) :named @p_69)) :rule bind) +(step t25 (cl (not @p_69) (not @p_61) @p_70) :rule equiv_pos2) +(step t26 (cl @p_70) :rule th_resolution :premises (t23 t24 t25)) +(anchor :step t27 :args ((:= (?v0 Exp_list$) veriT_vr8) (:= (?v1 FreeExp_exp_fun$) veriT_vr9))) +(anchor :step t27.t1 :args ((:= (?v2 FreeExp_list$) veriT_vr10))) +(step t27.t1.t1 (cl (! (= ?v0 veriT_vr8) :named @p_80)) :rule refl) +(step t27.t1.t2 (cl (! (= ?v1 veriT_vr9) :named @p_88)) :rule refl) +(step t27.t1.t3 (cl (= ?v2 veriT_vr10)) :rule refl) +(step t27.t1.t4 (cl (= @p_74 (! (map2$ veriT_vr9 veriT_vr10) :named @p_75))) :rule cong :premises (t27.t1.t2 t27.t1.t3)) +(step t27.t1.t5 (cl (= @p_76 (! (= veriT_vr8 @p_75) :named @p_77))) :rule cong :premises (t27.t1.t1 t27.t1.t4)) +(step t27.t1 (cl (= @p_72 (! (exists ((veriT_vr10 FreeExp_list$)) @p_77) :named @p_73))) :rule bind) +(anchor :step t27.t2 :args ((:= (?v2 Exp$) veriT_vr11))) +(step t27.t2.t1 (cl (! (= ?v2 veriT_vr11) :named @p_87)) :rule refl) +(step t27.t2.t2 (cl @p_80) :rule refl) +(step t27.t2.t3 (cl (= @p_81 (! (myset$ veriT_vr8) :named @p_82))) :rule cong :premises (t27.t2.t2)) +(step t27.t2.t4 (cl (= @p_83 (! (member$ veriT_vr11 @p_82) :named @p_84))) :rule cong :premises (t27.t2.t1 t27.t2.t3)) +(anchor :step t27.t2.t5 :args ((:= (?v3 FreeExp$) veriT_vr12))) +(step t27.t2.t5.t1 (cl @p_87) :rule refl) +(step t27.t2.t5.t2 (cl @p_88) :rule refl) +(step t27.t2.t5.t3 (cl (= ?v3 veriT_vr12)) :rule refl) +(step t27.t2.t5.t4 (cl (= @p_89 (! (fun_app$ veriT_vr9 veriT_vr12) :named @p_90))) :rule cong :premises (t27.t2.t5.t2 t27.t2.t5.t3)) +(step t27.t2.t5.t5 (cl (= @p_91 (! (= veriT_vr11 @p_90) :named @p_92))) :rule cong :premises (t27.t2.t5.t1 t27.t2.t5.t4)) +(step t27.t2.t5 (cl (= @p_85 (! (exists ((veriT_vr12 FreeExp$)) @p_92) :named @p_86))) :rule bind) +(step t27.t2.t6 (cl (= @p_93 (! (=> @p_84 @p_86) :named @p_94))) :rule cong :premises (t27.t2.t4 t27.t2.t5)) +(step t27.t2 (cl (= @p_78 (! (forall ((veriT_vr11 Exp$)) @p_94) :named @p_79))) :rule bind) +(step t27.t3 (cl (= @p_95 (! (= @p_73 @p_79) :named @p_96))) :rule cong :premises (t27.t1 t27.t2)) +(step t27 (cl (! (= @p_71 (! (forall ((veriT_vr8 Exp_list$) (veriT_vr9 FreeExp_exp_fun$)) @p_96) :named @p_98)) :named @p_97)) :rule bind) +(step t28 (cl (not @p_97) (not @p_71) @p_98) :rule equiv_pos2) +(step t29 (cl @p_98) :rule th_resolution :premises (a3 t27 t28)) +(anchor :step t30 :args ((veriT_vr8 Exp_list$) (veriT_vr9 FreeExp_exp_fun$))) +(step t30.t1 (cl (= @p_96 (! (and (! (=> @p_73 @p_79) :named @p_115) (! (=> @p_79 @p_73) :named @p_128)) :named @p_99))) :rule connective_def) +(step t30 (cl (! (= @p_98 (! (forall ((veriT_vr8 Exp_list$) (veriT_vr9 FreeExp_exp_fun$)) @p_99) :named @p_101)) :named @p_100)) :rule bind) +(step t31 (cl (not @p_100) (not @p_98) @p_101) :rule equiv_pos2) +(step t32 (cl @p_101) :rule th_resolution :premises (t29 t30 t31)) +(anchor :step t33 :args ((:= (veriT_vr8 Exp_list$) veriT_vr13) (:= (veriT_vr9 FreeExp_exp_fun$) veriT_vr14))) +(anchor :step t33.t1 :args ((:= (veriT_vr10 FreeExp_list$) veriT_vr15))) +(step t33.t1.t1 (cl (! (= veriT_vr8 veriT_vr13) :named @p_107)) :rule refl) +(step t33.t1.t2 (cl (! (= veriT_vr9 veriT_vr14) :named @p_111)) :rule refl) +(step t33.t1.t3 (cl (= veriT_vr10 veriT_vr15)) :rule refl) +(step t33.t1.t4 (cl (= @p_75 (! (map2$ veriT_vr14 veriT_vr15) :named @p_104))) :rule cong :premises (t33.t1.t2 t33.t1.t3)) +(step t33.t1.t5 (cl (= @p_77 (! (= veriT_vr13 @p_104) :named @p_105))) :rule cong :premises (t33.t1.t1 t33.t1.t4)) +(step t33.t1 (cl (= @p_73 (! (exists ((veriT_vr15 FreeExp_list$)) @p_105) :named @p_103))) :rule bind) +(anchor :step t33.t2 :args ((:= (veriT_vr11 Exp$) veriT_vr16))) +(step t33.t2.t1 (cl (! (= veriT_vr11 veriT_vr16) :named @p_110)) :rule refl) +(step t33.t2.t2 (cl @p_107) :rule refl) +(step t33.t2.t3 (cl (! (= @p_82 (! (myset$ veriT_vr13) :named @p_102)) :named @p_118)) :rule cong :premises (t33.t2.t2)) +(step t33.t2.t4 (cl (= @p_84 (! (member$ veriT_vr16 @p_102) :named @p_108))) :rule cong :premises (t33.t2.t1 t33.t2.t3)) +(anchor :step t33.t2.t5 :args ((:= (veriT_vr12 FreeExp$) veriT_vr17))) +(step t33.t2.t5.t1 (cl @p_110) :rule refl) +(step t33.t2.t5.t2 (cl @p_111) :rule refl) +(step t33.t2.t5.t3 (cl (= veriT_vr12 veriT_vr17)) :rule refl) +(step t33.t2.t5.t4 (cl (= @p_90 (! (fun_app$ veriT_vr14 veriT_vr17) :named @p_112))) :rule cong :premises (t33.t2.t5.t2 t33.t2.t5.t3)) +(step t33.t2.t5.t5 (cl (= @p_92 (! (= veriT_vr16 @p_112) :named @p_113))) :rule cong :premises (t33.t2.t5.t1 t33.t2.t5.t4)) +(step t33.t2.t5 (cl (= @p_86 (! (exists ((veriT_vr17 FreeExp$)) @p_113) :named @p_109))) :rule bind) +(step t33.t2.t6 (cl (= @p_94 (! (=> @p_108 @p_109) :named @p_114))) :rule cong :premises (t33.t2.t4 t33.t2.t5)) +(step t33.t2 (cl (= @p_79 (! (forall ((veriT_vr16 Exp$)) @p_114) :named @p_106))) :rule bind) +(step t33.t3 (cl (= @p_115 (! (=> @p_103 @p_106) :named @p_116))) :rule cong :premises (t33.t1 t33.t2)) +(anchor :step t33.t4 :args ((:= (veriT_vr11 Exp$) veriT_vr18))) +(step t33.t4.t1 (cl (! (= veriT_vr11 veriT_vr18) :named @p_121)) :rule refl) +(step t33.t4.t2 (cl @p_107) :rule refl) +(step t33.t4.t3 (cl @p_118) :rule cong :premises (t33.t4.t2)) +(step t33.t4.t4 (cl (= @p_84 (! (member$ veriT_vr18 @p_102) :named @p_119))) :rule cong :premises (t33.t4.t1 t33.t4.t3)) +(anchor :step t33.t4.t5 :args ((:= (veriT_vr12 FreeExp$) veriT_vr19))) +(step t33.t4.t5.t1 (cl @p_121) :rule refl) +(step t33.t4.t5.t2 (cl @p_111) :rule refl) +(step t33.t4.t5.t3 (cl (= veriT_vr12 veriT_vr19)) :rule refl) +(step t33.t4.t5.t4 (cl (= @p_90 (! (fun_app$ veriT_vr14 veriT_vr19) :named @p_122))) :rule cong :premises (t33.t4.t5.t2 t33.t4.t5.t3)) +(step t33.t4.t5.t5 (cl (= @p_92 (! (= veriT_vr18 @p_122) :named @p_123))) :rule cong :premises (t33.t4.t5.t1 t33.t4.t5.t4)) +(step t33.t4.t5 (cl (= @p_86 (! (exists ((veriT_vr19 FreeExp$)) @p_123) :named @p_120))) :rule bind) +(step t33.t4.t6 (cl (= @p_94 (! (=> @p_119 @p_120) :named @p_124))) :rule cong :premises (t33.t4.t4 t33.t4.t5)) +(step t33.t4 (cl (= @p_79 (! (forall ((veriT_vr18 Exp$)) @p_124) :named @p_117))) :rule bind) +(anchor :step t33.t5 :args ((:= (veriT_vr10 FreeExp_list$) veriT_vr20))) +(step t33.t5.t1 (cl @p_107) :rule refl) +(step t33.t5.t2 (cl @p_111) :rule refl) +(step t33.t5.t3 (cl (= veriT_vr10 veriT_vr20)) :rule refl) +(step t33.t5.t4 (cl (= @p_75 (! (map2$ veriT_vr14 veriT_vr20) :named @p_126))) :rule cong :premises (t33.t5.t2 t33.t5.t3)) +(step t33.t5.t5 (cl (= @p_77 (! (= veriT_vr13 @p_126) :named @p_127))) :rule cong :premises (t33.t5.t1 t33.t5.t4)) +(step t33.t5 (cl (= @p_73 (! (exists ((veriT_vr20 FreeExp_list$)) @p_127) :named @p_125))) :rule bind) +(step t33.t6 (cl (= @p_128 (! (=> @p_117 @p_125) :named @p_129))) :rule cong :premises (t33.t4 t33.t5)) +(step t33.t7 (cl (= @p_99 (! (and @p_116 @p_129) :named @p_130))) :rule cong :premises (t33.t3 t33.t6)) +(step t33 (cl (! (= @p_101 (! (forall ((veriT_vr13 Exp_list$) (veriT_vr14 FreeExp_exp_fun$)) @p_130) :named @p_132)) :named @p_131)) :rule bind) +(step t34 (cl (not @p_131) (not @p_101) @p_132) :rule equiv_pos2) +(step t35 (cl @p_132) :rule th_resolution :premises (t32 t33 t34)) +(anchor :step t36 :args ((:= (veriT_vr13 Exp_list$) veriT_vr21) (:= (veriT_vr14 FreeExp_exp_fun$) veriT_vr22))) +(anchor :step t36.t1 :args ((:= (veriT_vr15 FreeExp_list$) veriT_vr23))) +(step t36.t1.t1 (cl (! (= veriT_vr13 veriT_vr21) :named @p_137)) :rule refl) +(step t36.t1.t2 (cl (! (= veriT_vr14 veriT_vr22) :named @p_142)) :rule refl) +(step t36.t1.t3 (cl (= veriT_vr15 veriT_vr23)) :rule refl) +(step t36.t1.t4 (cl (= @p_104 (! (map2$ veriT_vr22 veriT_vr23) :named @p_135))) :rule cong :premises (t36.t1.t2 t36.t1.t3)) +(step t36.t1.t5 (cl (= @p_105 (! (= veriT_vr21 @p_135) :named @p_136))) :rule cong :premises (t36.t1.t1 t36.t1.t4)) +(step t36.t1 (cl (= @p_103 (! (exists ((veriT_vr23 FreeExp_list$)) @p_136) :named @p_134))) :rule bind) +(anchor :step t36.t2 :args ((:= (veriT_vr16 Exp$) veriT_vr24))) +(step t36.t2.t1 (cl (! (= veriT_vr16 veriT_vr24) :named @p_141)) :rule refl) +(step t36.t2.t2 (cl @p_137) :rule refl) +(step t36.t2.t3 (cl (! (= @p_102 (! (myset$ veriT_vr21) :named @p_138)) :named @p_147)) :rule cong :premises (t36.t2.t2)) +(step t36.t2.t4 (cl (= @p_108 (! (member$ veriT_vr24 @p_138) :named @p_139))) :rule cong :premises (t36.t2.t1 t36.t2.t3)) +(anchor :step t36.t2.t5 :args ((:= (veriT_vr17 FreeExp$) veriT_vr25))) +(step t36.t2.t5.t1 (cl @p_141) :rule refl) +(step t36.t2.t5.t2 (cl @p_142) :rule refl) +(step t36.t2.t5.t3 (cl (= veriT_vr17 veriT_vr25)) :rule refl) +(step t36.t2.t5.t4 (cl (= @p_112 (! (fun_app$ veriT_vr22 veriT_vr25) :named @p_143))) :rule cong :premises (t36.t2.t5.t2 t36.t2.t5.t3)) +(step t36.t2.t5.t5 (cl (= @p_113 (! (= veriT_vr24 @p_143) :named @p_144))) :rule cong :premises (t36.t2.t5.t1 t36.t2.t5.t4)) +(step t36.t2.t5 (cl (= @p_109 (! (exists ((veriT_vr25 FreeExp$)) @p_144) :named @p_140))) :rule bind) +(step t36.t2.t6 (cl (= @p_114 (! (=> @p_139 @p_140) :named @p_145))) :rule cong :premises (t36.t2.t4 t36.t2.t5)) +(step t36.t2 (cl (= @p_106 (! (forall ((veriT_vr24 Exp$)) @p_145) :named @p_133))) :rule bind) +(step t36.t3 (cl (= @p_116 (! (=> @p_134 @p_133) :named @p_146))) :rule cong :premises (t36.t1 t36.t2)) +(anchor :step t36.t4 :args ((:= (veriT_vr18 Exp$) veriT_vr24))) +(step t36.t4.t1 (cl (! (= veriT_vr18 veriT_vr24) :named @p_148)) :rule refl) +(step t36.t4.t2 (cl @p_137) :rule refl) +(step t36.t4.t3 (cl @p_147) :rule cong :premises (t36.t4.t2)) +(step t36.t4.t4 (cl (= @p_119 @p_139)) :rule cong :premises (t36.t4.t1 t36.t4.t3)) +(anchor :step t36.t4.t5 :args ((:= (veriT_vr19 FreeExp$) veriT_vr25))) +(step t36.t4.t5.t1 (cl @p_148) :rule refl) +(step t36.t4.t5.t2 (cl @p_142) :rule refl) +(step t36.t4.t5.t3 (cl (= veriT_vr19 veriT_vr25)) :rule refl) +(step t36.t4.t5.t4 (cl (= @p_122 @p_143)) :rule cong :premises (t36.t4.t5.t2 t36.t4.t5.t3)) +(step t36.t4.t5.t5 (cl (= @p_123 @p_144)) :rule cong :premises (t36.t4.t5.t1 t36.t4.t5.t4)) +(step t36.t4.t5 (cl (= @p_120 @p_140)) :rule bind) +(step t36.t4.t6 (cl (= @p_124 @p_145)) :rule cong :premises (t36.t4.t4 t36.t4.t5)) +(step t36.t4 (cl (= @p_117 @p_133)) :rule bind) +(anchor :step t36.t5 :args ((:= (veriT_vr20 FreeExp_list$) veriT_vr23))) +(step t36.t5.t1 (cl @p_137) :rule refl) +(step t36.t5.t2 (cl @p_142) :rule refl) +(step t36.t5.t3 (cl (= veriT_vr20 veriT_vr23)) :rule refl) +(step t36.t5.t4 (cl (= @p_126 @p_135)) :rule cong :premises (t36.t5.t2 t36.t5.t3)) +(step t36.t5.t5 (cl (= @p_127 @p_136)) :rule cong :premises (t36.t5.t1 t36.t5.t4)) +(step t36.t5 (cl (= @p_125 @p_134)) :rule bind) +(step t36.t6 (cl (= @p_129 (! (=> @p_133 @p_134) :named @p_149))) :rule cong :premises (t36.t4 t36.t5)) +(step t36.t7 (cl (= @p_130 (! (and @p_146 @p_149) :named @p_150))) :rule cong :premises (t36.t3 t36.t6)) +(step t36 (cl (! (= @p_132 (! (forall ((veriT_vr21 Exp_list$) (veriT_vr22 FreeExp_exp_fun$)) @p_150) :named @p_152)) :named @p_151)) :rule bind) +(step t37 (cl (not @p_151) (not @p_132) @p_152) :rule equiv_pos2) +(step t38 (cl @p_152) :rule th_resolution :premises (t35 t36 t37)) +(anchor :step t39 :args ((:= (veriT_vr21 Exp_list$) veriT_vr21) (:= (veriT_vr22 FreeExp_exp_fun$) veriT_vr22))) +(anchor :step t39.t1 :args ((:= (veriT_vr24 Exp$) veriT_vr26))) +(step t39.t1.t1 (cl (! (= veriT_vr24 veriT_vr26) :named @p_156)) :rule refl) +(step t39.t1.t2 (cl (= @p_139 (! (member$ veriT_vr26 @p_138) :named @p_154))) :rule cong :premises (t39.t1.t1)) +(anchor :step t39.t1.t3 :args ((:= (veriT_vr25 FreeExp$) veriT_vr27))) +(step t39.t1.t3.t1 (cl @p_156) :rule refl) +(step t39.t1.t3.t2 (cl (= veriT_vr25 veriT_vr27)) :rule refl) +(step t39.t1.t3.t3 (cl (= @p_143 (! (fun_app$ veriT_vr22 veriT_vr27) :named @p_157))) :rule cong :premises (t39.t1.t3.t2)) +(step t39.t1.t3.t4 (cl (= @p_144 (! (= veriT_vr26 @p_157) :named @p_158))) :rule cong :premises (t39.t1.t3.t1 t39.t1.t3.t3)) +(step t39.t1.t3 (cl (= @p_140 (! (exists ((veriT_vr27 FreeExp$)) @p_158) :named @p_155))) :rule bind) +(step t39.t1.t4 (cl (= @p_145 (! (=> @p_154 @p_155) :named @p_159))) :rule cong :premises (t39.t1.t2 t39.t1.t3)) +(step t39.t1 (cl (= @p_133 (! (forall ((veriT_vr26 Exp$)) @p_159) :named @p_153))) :rule bind) +(anchor :step t39.t2 :args ((:= (veriT_vr23 FreeExp_list$) veriT_vr28))) +(step t39.t2.t1 (cl (= veriT_vr23 veriT_vr28)) :rule refl) +(step t39.t2.t2 (cl (= @p_135 (! (map2$ veriT_vr22 veriT_vr28) :named @p_161))) :rule cong :premises (t39.t2.t1)) +(step t39.t2.t3 (cl (= @p_136 (! (= veriT_vr21 @p_161) :named @p_162))) :rule cong :premises (t39.t2.t2)) +(step t39.t2 (cl (= @p_134 (! (exists ((veriT_vr28 FreeExp_list$)) @p_162) :named @p_160))) :rule bind) +(step t39.t3 (cl (= @p_149 (! (=> @p_153 @p_160) :named @p_163))) :rule cong :premises (t39.t1 t39.t2)) +(step t39.t4 (cl (= @p_150 (! (and @p_146 @p_163) :named @p_164))) :rule cong :premises (t39.t3)) +(step t39 (cl (! (= @p_152 (! (forall ((veriT_vr21 Exp_list$) (veriT_vr22 FreeExp_exp_fun$)) @p_164) :named @p_166)) :named @p_165)) :rule bind) +(step t40 (cl (not @p_165) (not @p_152) @p_166) :rule equiv_pos2) +(step t41 (cl @p_166) :rule th_resolution :premises (t38 t39 t40)) +(anchor :step t42 :args ((veriT_vr21 Exp_list$) (veriT_vr22 FreeExp_exp_fun$))) +(step t42.t1 (cl (= @p_134 (! (not (forall ((veriT_vr23 FreeExp_list$)) (not @p_136))) :named @p_167))) :rule connective_def) +(step t42.t2 (cl (= @p_146 (! (=> @p_167 @p_133) :named @p_168))) :rule cong :premises (t42.t1)) +(anchor :step t42.t3 :args ((veriT_vr26 Exp$))) +(step t42.t3.t1 (cl (= @p_155 (! (not (forall ((veriT_vr27 FreeExp$)) (not @p_158))) :named @p_170))) :rule connective_def) +(step t42.t3.t2 (cl (= @p_159 (! (=> @p_154 @p_170) :named @p_171))) :rule cong :premises (t42.t3.t1)) +(step t42.t3 (cl (= @p_153 (! (forall ((veriT_vr26 Exp$)) @p_171) :named @p_169))) :rule bind) +(step t42.t4 (cl (= @p_163 (! (=> @p_169 @p_160) :named @p_172))) :rule cong :premises (t42.t3)) +(step t42.t5 (cl (= @p_164 (! (and @p_168 @p_172) :named @p_173))) :rule cong :premises (t42.t2 t42.t4)) +(step t42 (cl (! (= @p_166 (! (forall ((veriT_vr21 Exp_list$) (veriT_vr22 FreeExp_exp_fun$)) @p_173) :named @p_175)) :named @p_174)) :rule bind) +(step t43 (cl (not @p_174) (not @p_166) @p_175) :rule equiv_pos2) +(step t44 (cl @p_175) :rule th_resolution :premises (t41 t42 t43)) +(anchor :step t45 :args ((:= (?v0 FreeExp_list$) veriT_vr29))) +(step t45.t1 (cl (= ?v0 veriT_vr29)) :rule refl) +(step t45.t2 (cl (= @p_1 (! (abs_ExpList$ veriT_vr29) :named @p_177))) :rule cong :premises (t45.t1)) +(step t45.t3 (cl (= @p_178 (! (= z$ @p_177) :named @p_179))) :rule cong :premises (t45.t2)) +(step t45 (cl (= @p_176 (! (exists ((veriT_vr29 FreeExp_list$)) @p_179) :named @p_181))) :rule bind) +(step t46 (cl (! (= @p_180 (! (not @p_181) :named @p_183)) :named @p_182)) :rule cong :premises (t45)) +(step t47 (cl (! (not @p_182) :named @p_185) (! (not @p_180) :named @p_184) @p_183) :rule equiv_pos2) +(step t48 (cl (not @p_184) @p_176) :rule not_not) +(step t49 (cl @p_185 @p_176 @p_183) :rule th_resolution :premises (t48 t47)) +(step t50 (cl @p_183) :rule th_resolution :premises (a4 t46 t49)) +(anchor :step t51 :args ((:= (veriT_vr29 FreeExp_list$) veriT_vr30))) +(step t51.t1 (cl (= veriT_vr29 veriT_vr30)) :rule refl) +(step t51.t2 (cl (= @p_177 (! (abs_ExpList$ veriT_vr30) :named @p_186))) :rule cong :premises (t51.t1)) +(step t51.t3 (cl (= @p_179 (! (= z$ @p_186) :named @p_187))) :rule cong :premises (t51.t2)) +(step t51 (cl (= @p_181 (! (exists ((veriT_vr30 FreeExp_list$)) @p_187) :named @p_188))) :rule bind) +(step t52 (cl (! (= @p_183 (! (not @p_188) :named @p_190)) :named @p_189)) :rule cong :premises (t51)) +(step t53 (cl (! (not @p_189) :named @p_192) (! (not @p_183) :named @p_191) @p_190) :rule equiv_pos2) +(step t54 (cl (not @p_191) @p_181) :rule not_not) +(step t55 (cl @p_192 @p_181 @p_190) :rule th_resolution :premises (t54 t53)) +(step t56 (cl @p_190) :rule th_resolution :premises (t50 t52 t55)) +(step t57 (cl (= @p_188 (! (not (! (forall ((veriT_vr30 FreeExp_list$)) (not @p_187)) :named @p_198)) :named @p_193))) :rule connective_def) +(step t58 (cl (! (= @p_190 (! (not @p_193) :named @p_195)) :named @p_194)) :rule cong :premises (t57)) +(step t59 (cl (! (not @p_194) :named @p_197) (! (not @p_190) :named @p_196) @p_195) :rule equiv_pos2) +(step t60 (cl (not @p_196) @p_188) :rule not_not) +(step t61 (cl @p_197 @p_188 @p_195) :rule th_resolution :premises (t60 t59)) +(step t62 (cl (not @p_195) @p_198) :rule not_not) +(step t63 (cl @p_197 @p_188 @p_198) :rule th_resolution :premises (t62 t61)) +(step t64 (cl @p_195) :rule th_resolution :premises (t56 t58 t63)) +(step t65 (cl @p_198) :rule th_resolution :premises (t62 t64)) +(step t66 (cl (or (! (not @p_175) :named @p_336) (! (and (! (=> (! (not (! (forall ((veriT_vr23 FreeExp_list$)) (! (not (! (= z$ (! (map2$ uu$ veriT_vr23) :named @p_203)) :named @p_205)) :named @p_207)) :named @p_202)) :named @p_209) (! (forall ((veriT_vr24 Exp$)) (! (=> (! (member$ veriT_vr24 @p_199) :named @p_212) (! (exists ((veriT_vr25 FreeExp$)) (! (= veriT_vr24 (! (fun_app$ uu$ veriT_vr25) :named @p_217)) :named @p_219)) :named @p_214)) :named @p_221)) :named @p_211)) :named @p_223) (! (=> (! (forall ((veriT_vr26 Exp$)) (! (=> (! (member$ veriT_vr26 @p_199) :named @p_227) (! (not (! (forall ((veriT_vr27 FreeExp$)) (! (not (! (= veriT_vr26 (! (fun_app$ uu$ veriT_vr27) :named @p_231)) :named @p_232)) :named @p_233)) :named @p_228)) :named @p_235)) :named @p_237)) :named @p_226) (! (exists ((veriT_vr28 FreeExp_list$)) (! (= z$ (! (map2$ uu$ veriT_vr28) :named @p_240)) :named @p_241)) :named @p_239)) :named @p_242)) :named @p_200))) :rule forall_inst :args ((:= veriT_vr21 z$) (:= veriT_vr22 uu$))) +(anchor :step t67) +(assume t67.h1 @p_200) +(anchor :step t67.t2 :args ((:= (veriT_vr23 FreeExp_list$) veriT_vr31))) +(step t67.t2.t1 (cl (= veriT_vr23 veriT_vr31)) :rule refl) +(step t67.t2.t2 (cl (= @p_203 (! (map2$ uu$ veriT_vr31) :named @p_204))) :rule cong :premises (t67.t2.t1)) +(step t67.t2.t3 (cl (= @p_205 (! (= z$ @p_204) :named @p_206))) :rule cong :premises (t67.t2.t2)) +(step t67.t2.t4 (cl (= @p_207 (! (not @p_206) :named @p_208))) :rule cong :premises (t67.t2.t3)) +(step t67.t2 (cl (= @p_202 (! (forall ((veriT_vr31 FreeExp_list$)) @p_208) :named @p_210))) :rule bind) +(step t67.t3 (cl (= @p_209 (! (not @p_210) :named @p_224))) :rule cong :premises (t67.t2)) +(anchor :step t67.t4 :args ((:= (veriT_vr24 Exp$) veriT_vr32))) +(step t67.t4.t1 (cl (! (= veriT_vr24 veriT_vr32) :named @p_216)) :rule refl) +(step t67.t4.t2 (cl (= @p_212 (! (member$ veriT_vr32 @p_199) :named @p_213))) :rule cong :premises (t67.t4.t1)) +(anchor :step t67.t4.t3 :args ((:= (veriT_vr25 FreeExp$) veriT_vr33))) +(step t67.t4.t3.t1 (cl @p_216) :rule refl) +(step t67.t4.t3.t2 (cl (= veriT_vr25 veriT_vr33)) :rule refl) +(step t67.t4.t3.t3 (cl (= @p_217 (! (fun_app$ uu$ veriT_vr33) :named @p_218))) :rule cong :premises (t67.t4.t3.t2)) +(step t67.t4.t3.t4 (cl (= @p_219 (! (= veriT_vr32 @p_218) :named @p_220))) :rule cong :premises (t67.t4.t3.t1 t67.t4.t3.t3)) +(step t67.t4.t3 (cl (= @p_214 (! (exists ((veriT_vr33 FreeExp$)) @p_220) :named @p_215))) :rule bind) +(step t67.t4.t4 (cl (= @p_221 (! (=> @p_213 @p_215) :named @p_222))) :rule cong :premises (t67.t4.t2 t67.t4.t3)) +(step t67.t4 (cl (= @p_211 (! (forall ((veriT_vr32 Exp$)) @p_222) :named @p_225))) :rule bind) +(step t67.t5 (cl (= @p_223 (! (=> @p_224 @p_225) :named @p_245))) :rule cong :premises (t67.t3 t67.t4)) +(anchor :step t67.t6 :args ((:= (veriT_vr26 Exp$) veriT_vr32))) +(step t67.t6.t1 (cl (! (= veriT_vr26 veriT_vr32) :named @p_230)) :rule refl) +(step t67.t6.t2 (cl (= @p_227 @p_213)) :rule cong :premises (t67.t6.t1)) +(anchor :step t67.t6.t3 :args ((:= (veriT_vr27 FreeExp$) veriT_vr33))) +(step t67.t6.t3.t1 (cl @p_230) :rule refl) +(step t67.t6.t3.t2 (cl (= veriT_vr27 veriT_vr33)) :rule refl) +(step t67.t6.t3.t3 (cl (= @p_231 @p_218)) :rule cong :premises (t67.t6.t3.t2)) +(step t67.t6.t3.t4 (cl (= @p_232 @p_220)) :rule cong :premises (t67.t6.t3.t1 t67.t6.t3.t3)) +(step t67.t6.t3.t5 (cl (= @p_233 (! (not @p_220) :named @p_234))) :rule cong :premises (t67.t6.t3.t4)) +(step t67.t6.t3 (cl (= @p_228 (! (forall ((veriT_vr33 FreeExp$)) @p_234) :named @p_229))) :rule bind) +(step t67.t6.t4 (cl (= @p_235 (! (not @p_229) :named @p_236))) :rule cong :premises (t67.t6.t3)) +(step t67.t6.t5 (cl (= @p_237 (! (=> @p_213 @p_236) :named @p_238))) :rule cong :premises (t67.t6.t2 t67.t6.t4)) +(step t67.t6 (cl (= @p_226 (! (forall ((veriT_vr32 Exp$)) @p_238) :named @p_243))) :rule bind) +(anchor :step t67.t7 :args ((:= (veriT_vr28 FreeExp_list$) veriT_vr31))) +(step t67.t7.t1 (cl (= veriT_vr28 veriT_vr31)) :rule refl) +(step t67.t7.t2 (cl (= @p_240 @p_204)) :rule cong :premises (t67.t7.t1)) +(step t67.t7.t3 (cl (= @p_241 @p_206)) :rule cong :premises (t67.t7.t2)) +(step t67.t7 (cl (= @p_239 (! (exists ((veriT_vr31 FreeExp_list$)) @p_206) :named @p_244))) :rule bind) +(step t67.t8 (cl (= @p_242 (! (=> @p_243 @p_244) :named @p_246))) :rule cong :premises (t67.t6 t67.t7)) +(step t67.t9 (cl (! (= @p_200 (! (and @p_245 @p_246) :named @p_249)) :named @p_247)) :rule cong :premises (t67.t5 t67.t8)) +(step t67.t10 (cl (not @p_247) (! (not @p_200) :named @p_248) @p_249) :rule equiv_pos2) +(step t67.t11 (cl @p_249) :rule th_resolution :premises (t67.h1 t67.t9 t67.t10)) +(anchor :step t67.t12 :args ((:= (veriT_vr32 Exp$) veriT_vr34))) +(step t67.t12.t1 (cl (! (= veriT_vr32 veriT_vr34) :named @p_252)) :rule refl) +(step t67.t12.t2 (cl (= @p_213 (! (member$ veriT_vr34 @p_199) :named @p_250))) :rule cong :premises (t67.t12.t1)) +(anchor :step t67.t12.t3 :args ((:= (veriT_vr33 FreeExp$) veriT_vr35))) +(step t67.t12.t3.t1 (cl @p_252) :rule refl) +(step t67.t12.t3.t2 (cl (= veriT_vr33 veriT_vr35)) :rule refl) +(step t67.t12.t3.t3 (cl (= @p_218 (! (fun_app$ uu$ veriT_vr35) :named @p_253))) :rule cong :premises (t67.t12.t3.t2)) +(step t67.t12.t3.t4 (cl (= @p_220 (! (= veriT_vr34 @p_253) :named @p_254))) :rule cong :premises (t67.t12.t3.t1 t67.t12.t3.t3)) +(step t67.t12.t3.t5 (cl (= @p_234 (! (not @p_254) :named @p_255))) :rule cong :premises (t67.t12.t3.t4)) +(step t67.t12.t3 (cl (= @p_229 (! (forall ((veriT_vr35 FreeExp$)) @p_255) :named @p_251))) :rule bind) +(step t67.t12.t4 (cl (= @p_236 (! (not @p_251) :named @p_256))) :rule cong :premises (t67.t12.t3)) +(step t67.t12.t5 (cl (= @p_238 (! (=> @p_250 @p_256) :named @p_257))) :rule cong :premises (t67.t12.t2 t67.t12.t4)) +(step t67.t12 (cl (= @p_243 (! (forall ((veriT_vr34 Exp$)) @p_257) :named @p_260))) :rule bind) +(anchor :step t67.t13 :args ((:= (veriT_vr31 FreeExp_list$) veriT_vr36))) +(step t67.t13.t1 (cl (= veriT_vr31 veriT_vr36)) :rule refl) +(step t67.t13.t2 (cl (= @p_204 (! (map2$ uu$ veriT_vr36) :named @p_258))) :rule cong :premises (t67.t13.t1)) +(step t67.t13.t3 (cl (= @p_206 (! (= z$ @p_258) :named @p_259))) :rule cong :premises (t67.t13.t2)) +(step t67.t13 (cl (= @p_244 (! (exists ((veriT_vr36 FreeExp_list$)) @p_259) :named @p_261))) :rule bind) +(step t67.t14 (cl (= @p_246 (! (=> @p_260 @p_261) :named @p_262))) :rule cong :premises (t67.t12 t67.t13)) +(step t67.t15 (cl (! (= @p_249 (! (and @p_245 @p_262) :named @p_264)) :named @p_263)) :rule cong :premises (t67.t14)) +(step t67.t16 (cl (not @p_263) (not @p_249) @p_264) :rule equiv_pos2) +(step t67.t17 (cl @p_264) :rule th_resolution :premises (t67.t11 t67.t15 t67.t16)) +(anchor :step t67.t18 :args ((:= (veriT_vr31 FreeExp_list$) veriT_vr37))) +(step t67.t18.t1 (cl (= veriT_vr31 veriT_vr37)) :rule refl) +(step t67.t18.t2 (cl (= @p_204 (! (map2$ uu$ veriT_vr37) :named @p_265))) :rule cong :premises (t67.t18.t1)) +(step t67.t18.t3 (cl (= @p_206 (! (= z$ @p_265) :named @p_266))) :rule cong :premises (t67.t18.t2)) +(step t67.t18.t4 (cl (= @p_208 (! (not @p_266) :named @p_267))) :rule cong :premises (t67.t18.t3)) +(step t67.t18 (cl (= @p_210 (! (forall ((veriT_vr37 FreeExp_list$)) @p_267) :named @p_268))) :rule bind) +(step t67.t19 (cl (= @p_224 (! (not @p_268) :named @p_275))) :rule cong :premises (t67.t18)) +(anchor :step t67.t20 :args ((:= (veriT_vr32 Exp$) veriT_vr38))) +(step t67.t20.t1 (cl (! (= veriT_vr32 veriT_vr38) :named @p_271)) :rule refl) +(step t67.t20.t2 (cl (= @p_213 (! (member$ veriT_vr38 @p_199) :named @p_269))) :rule cong :premises (t67.t20.t1)) +(anchor :step t67.t20.t3 :args ((:= (veriT_vr33 FreeExp$) veriT_vr39))) +(step t67.t20.t3.t1 (cl @p_271) :rule refl) +(step t67.t20.t3.t2 (cl (= veriT_vr33 veriT_vr39)) :rule refl) +(step t67.t20.t3.t3 (cl (= @p_218 (! (fun_app$ uu$ veriT_vr39) :named @p_272))) :rule cong :premises (t67.t20.t3.t2)) +(step t67.t20.t3.t4 (cl (= @p_220 (! (= veriT_vr38 @p_272) :named @p_273))) :rule cong :premises (t67.t20.t3.t1 t67.t20.t3.t3)) +(step t67.t20.t3 (cl (= @p_215 (! (exists ((veriT_vr39 FreeExp$)) @p_273) :named @p_270))) :rule bind) +(step t67.t20.t4 (cl (= @p_222 (! (=> @p_269 @p_270) :named @p_274))) :rule cong :premises (t67.t20.t2 t67.t20.t3)) +(step t67.t20 (cl (= @p_225 (! (forall ((veriT_vr38 Exp$)) @p_274) :named @p_276))) :rule bind) +(step t67.t21 (cl (= @p_245 (! (=> @p_275 @p_276) :named @p_289))) :rule cong :premises (t67.t19 t67.t20)) +(anchor :step t67.t22 :args ((:= (veriT_vr34 Exp$) veriT_vr40))) +(step t67.t22.t1 (cl (! (= veriT_vr34 veriT_vr40) :named @p_280)) :rule refl) +(step t67.t22.t2 (cl (= @p_250 @p_278)) :rule cong :premises (t67.t22.t1)) +(anchor :step t67.t22.t3 :args ((:= (veriT_vr35 FreeExp$) veriT_vr41))) +(step t67.t22.t3.t1 (cl @p_280) :rule refl) +(step t67.t22.t3.t2 (cl (= veriT_vr35 veriT_vr41)) :rule refl) +(step t67.t22.t3.t3 (cl (= @p_253 @p_281)) :rule cong :premises (t67.t22.t3.t2)) +(step t67.t22.t3.t4 (cl (= @p_254 @p_282)) :rule cong :premises (t67.t22.t3.t1 t67.t22.t3.t3)) +(step t67.t22.t3.t5 (cl (= @p_255 @p_283)) :rule cong :premises (t67.t22.t3.t4)) +(step t67.t22.t3 (cl (= @p_251 @p_279)) :rule bind) +(step t67.t22.t4 (cl (= @p_256 @p_284)) :rule cong :premises (t67.t22.t3)) +(step t67.t22.t5 (cl (= @p_257 @p_277)) :rule cong :premises (t67.t22.t2 t67.t22.t4)) +(step t67.t22 (cl (= @p_260 (! (forall ((veriT_vr40 Exp$)) @p_277) :named @p_287))) :rule bind) +(anchor :step t67.t23 :args ((:= (veriT_vr36 FreeExp_list$) veriT_vr42))) +(step t67.t23.t1 (cl (= veriT_vr36 veriT_vr42)) :rule refl) +(step t67.t23.t2 (cl (= @p_258 @p_286)) :rule cong :premises (t67.t23.t1)) +(step t67.t23.t3 (cl (= @p_259 @p_285)) :rule cong :premises (t67.t23.t2)) +(step t67.t23 (cl (= @p_261 (! (exists ((veriT_vr42 FreeExp_list$)) @p_285) :named @p_288))) :rule bind) +(step t67.t24 (cl (= @p_262 (! (=> @p_287 @p_288) :named @p_290))) :rule cong :premises (t67.t22 t67.t23)) +(step t67.t25 (cl (! (= @p_264 (! (and @p_289 @p_290) :named @p_292)) :named @p_291)) :rule cong :premises (t67.t21 t67.t24)) +(step t67.t26 (cl (not @p_291) (not @p_264) @p_292) :rule equiv_pos2) +(step t67.t27 (cl @p_292) :rule th_resolution :premises (t67.t17 t67.t25 t67.t26)) +(anchor :step t67.t28 :args ((:= (veriT_vr40 Exp$) veriT_sk0))) +(step t67.t28.t1 (cl (! (= veriT_vr40 veriT_sk0) :named @p_295)) :rule refl) +(step t67.t28.t2 (cl (= @p_278 (! (member$ veriT_sk0 @p_199) :named @p_293))) :rule cong :premises (t67.t28.t1)) +(anchor :step t67.t28.t3 :args ((veriT_vr41 FreeExp$))) +(step t67.t28.t3.t1 (cl @p_295) :rule refl) +(step t67.t28.t3.t2 (cl (= @p_282 (! (= @p_281 veriT_sk0) :named @p_296))) :rule cong :premises (t67.t28.t3.t1)) +(step t67.t28.t3.t3 (cl (= @p_283 (! (not @p_296) :named @p_297))) :rule cong :premises (t67.t28.t3.t2)) +(step t67.t28.t3 (cl (= @p_279 (! (forall ((veriT_vr41 FreeExp$)) @p_297) :named @p_294))) :rule bind) +(step t67.t28.t4 (cl (= @p_284 (! (not @p_294) :named @p_298))) :rule cong :premises (t67.t28.t3)) +(step t67.t28.t5 (cl (= @p_277 (! (=> @p_293 @p_298) :named @p_299))) :rule cong :premises (t67.t28.t2 t67.t28.t4)) +(step t67.t28 (cl (= @p_287 @p_299)) :rule sko_forall) +(anchor :step t67.t29 :args ((:= (veriT_vr42 FreeExp_list$) veriT_sk1))) +(step t67.t29.t1 (cl (= veriT_vr42 veriT_sk1)) :rule refl) +(step t67.t29.t2 (cl (= @p_286 (! (map2$ uu$ veriT_sk1) :named @p_302))) :rule cong :premises (t67.t29.t1)) +(step t67.t29.t3 (cl (= @p_285 (! (= z$ @p_302) :named @p_300))) :rule cong :premises (t67.t29.t2)) +(step t67.t29 (cl (= @p_288 @p_300)) :rule sko_ex) +(step t67.t30 (cl (= @p_290 (! (=> @p_299 @p_300) :named @p_303))) :rule cong :premises (t67.t28 t67.t29)) +(step t67.t31 (cl (! (= @p_292 (! (and @p_289 @p_303) :named @p_305)) :named @p_304)) :rule cong :premises (t67.t30)) +(step t67.t32 (cl (not @p_304) (not @p_292) @p_305) :rule equiv_pos2) +(step t67.t33 (cl @p_305) :rule th_resolution :premises (t67.t27 t67.t31 t67.t32)) +(anchor :step t67.t34 :args ((:= (veriT_vr37 FreeExp_list$) veriT_vr43))) +(step t67.t34.t1 (cl (= veriT_vr37 veriT_vr43)) :rule refl) +(step t67.t34.t2 (cl (= @p_265 (! (map2$ uu$ veriT_vr43) :named @p_307))) :rule cong :premises (t67.t34.t1)) +(step t67.t34.t3 (cl (= @p_266 (! (= z$ @p_307) :named @p_308))) :rule cong :premises (t67.t34.t2)) +(step t67.t34.t4 (cl (= @p_267 (! (not @p_308) :named @p_309))) :rule cong :premises (t67.t34.t3)) +(step t67.t34 (cl (= @p_268 (! (forall ((veriT_vr43 FreeExp_list$)) @p_309) :named @p_306))) :rule bind) +(step t67.t35 (cl (= @p_275 (! (not @p_306) :named @p_310))) :rule cong :premises (t67.t34)) +(anchor :step t67.t36 :args ((:= (veriT_vr38 Exp$) veriT_vr44))) +(step t67.t36.t1 (cl (! (= veriT_vr38 veriT_vr44) :named @p_314)) :rule refl) +(step t67.t36.t2 (cl (= @p_269 (! (member$ veriT_vr44 @p_199) :named @p_312))) :rule cong :premises (t67.t36.t1)) +(anchor :step t67.t36.t3 :args ((:= (veriT_vr39 FreeExp$) veriT_vr45))) +(step t67.t36.t3.t1 (cl @p_314) :rule refl) +(step t67.t36.t3.t2 (cl (= veriT_vr39 veriT_vr45)) :rule refl) +(step t67.t36.t3.t3 (cl (= @p_272 (! (fun_app$ uu$ veriT_vr45) :named @p_315))) :rule cong :premises (t67.t36.t3.t2)) +(step t67.t36.t3.t4 (cl (= @p_273 (! (= veriT_vr44 @p_315) :named @p_316))) :rule cong :premises (t67.t36.t3.t1 t67.t36.t3.t3)) +(step t67.t36.t3 (cl (= @p_270 (! (exists ((veriT_vr45 FreeExp$)) @p_316) :named @p_313))) :rule bind) +(step t67.t36.t4 (cl (= @p_274 (! (=> @p_312 @p_313) :named @p_317))) :rule cong :premises (t67.t36.t2 t67.t36.t3)) +(step t67.t36 (cl (= @p_276 (! (forall ((veriT_vr44 Exp$)) @p_317) :named @p_311))) :rule bind) +(step t67.t37 (cl (= @p_289 (! (=> @p_310 @p_311) :named @p_318))) :rule cong :premises (t67.t35 t67.t36)) +(anchor :step t67.t38 :args ((:= (veriT_vr41 FreeExp$) veriT_vr45))) +(step t67.t38.t1 (cl (= veriT_vr41 veriT_vr45)) :rule refl) +(step t67.t38.t2 (cl (= @p_281 @p_315)) :rule cong :premises (t67.t38.t1)) +(step t67.t38.t3 (cl (= @p_296 (! (= veriT_sk0 @p_315) :named @p_319))) :rule cong :premises (t67.t38.t2)) +(step t67.t38.t4 (cl (= @p_297 (! (not @p_319) :named @p_320))) :rule cong :premises (t67.t38.t3)) +(step t67.t38 (cl (= @p_294 (! (forall ((veriT_vr45 FreeExp$)) @p_320) :named @p_321))) :rule bind) +(step t67.t39 (cl (= @p_298 (! (not @p_321) :named @p_322))) :rule cong :premises (t67.t38)) +(step t67.t40 (cl (= @p_299 (! (=> @p_293 @p_322) :named @p_323))) :rule cong :premises (t67.t39)) +(step t67.t41 (cl (= @p_303 (! (=> @p_323 @p_300) :named @p_324))) :rule cong :premises (t67.t40)) +(step t67.t42 (cl (! (= @p_305 (! (and @p_318 @p_324) :named @p_326)) :named @p_325)) :rule cong :premises (t67.t37 t67.t41)) +(step t67.t43 (cl (not @p_325) (not @p_305) @p_326) :rule equiv_pos2) +(step t67.t44 (cl @p_326) :rule th_resolution :premises (t67.t33 t67.t42 t67.t43)) +(anchor :step t67.t45 :args ((:= (veriT_vr45 FreeExp$) veriT_vr46))) +(step t67.t45.t1 (cl (= veriT_vr45 veriT_vr46)) :rule refl) +(step t67.t45.t2 (cl (= @p_315 (! (fun_app$ uu$ veriT_vr46) :named @p_328))) :rule cong :premises (t67.t45.t1)) +(step t67.t45.t3 (cl (= @p_319 (! (= veriT_sk0 @p_328) :named @p_329))) :rule cong :premises (t67.t45.t2)) +(step t67.t45.t4 (cl (= @p_320 (! (not @p_329) :named @p_330))) :rule cong :premises (t67.t45.t3)) +(step t67.t45 (cl (= @p_321 (! (forall ((veriT_vr46 FreeExp$)) @p_330) :named @p_327))) :rule bind) +(step t67.t46 (cl (= @p_322 (! (not @p_327) :named @p_331))) :rule cong :premises (t67.t45)) +(step t67.t47 (cl (= @p_323 (! (=> @p_293 @p_331) :named @p_332))) :rule cong :premises (t67.t46)) +(step t67.t48 (cl (= @p_324 (! (=> @p_332 @p_300) :named @p_333))) :rule cong :premises (t67.t47)) +(step t67.t49 (cl (! (= @p_326 (! (and @p_318 @p_333) :named @p_334)) :named @p_335)) :rule cong :premises (t67.t48)) +(step t67.t50 (cl (not @p_335) (not @p_326) @p_334) :rule equiv_pos2) +(step t67.t51 (cl @p_334) :rule th_resolution :premises (t67.t44 t67.t49 t67.t50)) +(step t67 (cl @p_248 @p_334) :rule subproof :discharge (h1)) +(step t68 (cl @p_336 @p_200) :rule or :premises (t66)) +(step t69 (cl (! (or @p_336 @p_334) :named @p_338) (! (not @p_336) :named @p_337)) :rule or_neg) +(step t70 (cl (not @p_337) @p_175) :rule not_not) +(step t71 (cl @p_338 @p_175) :rule th_resolution :premises (t70 t69)) +(step t72 (cl @p_338 (! (not @p_334) :named @p_340)) :rule or_neg) +(step t73 (cl @p_338) :rule th_resolution :premises (t68 t67 t71 t72)) +(step t74 (cl @p_332 (! (not @p_331) :named @p_339)) :rule implies_neg2) +(step t75 (cl (not @p_339) @p_327) :rule not_not) +(step t76 (cl @p_332 @p_327) :rule th_resolution :premises (t75 t74)) +(step t77 (cl (not @p_333) (! (not @p_332) :named @p_393) @p_300) :rule implies_pos) +(step t78 (cl @p_340 @p_333) :rule and_pos) +(step t79 (cl @p_336 @p_334) :rule or :premises (t73)) +(step t80 (cl @p_334) :rule resolution :premises (t79 t44)) +(step t81 (cl @p_333) :rule resolution :premises (t78 t80)) +(step t82 (cl (or (! (not @p_70) :named @p_377) (! (not (! (forall ((veriT_vr7 FreeExp$)) (! (not (! (= @p_65 veriT_sk0) :named @p_346)) :named @p_348)) :named @p_342)) :named @p_341))) :rule forall_inst :args ((:= veriT_vr6 veriT_sk0))) +(anchor :step t83) +(assume t83.h1 @p_341) +(anchor :step t83.t2 :args ((:= (veriT_vr7 FreeExp$) veriT_vr47))) +(step t83.t2.t1 (cl (= veriT_vr7 veriT_vr47)) :rule refl) +(step t83.t2.t2 (cl (= @p_63 (! (insert$ veriT_vr47 bot$) :named @p_343))) :rule cong :premises (t83.t2.t1)) +(step t83.t2.t3 (cl (= @p_64 (! (myImage$ exprel$ @p_343) :named @p_344))) :rule cong :premises (t83.t2.t2)) +(step t83.t2.t4 (cl (= @p_65 (! (abs_Exp$ @p_344) :named @p_345))) :rule cong :premises (t83.t2.t3)) +(step t83.t2.t5 (cl (= @p_346 (! (= veriT_sk0 @p_345) :named @p_347))) :rule cong :premises (t83.t2.t4)) +(step t83.t2.t6 (cl (= @p_348 (! (not @p_347) :named @p_349))) :rule cong :premises (t83.t2.t5)) +(step t83.t2 (cl (= @p_342 (! (forall ((veriT_vr47 FreeExp$)) @p_349) :named @p_350))) :rule bind) +(step t83.t3 (cl (! (= @p_341 (! (not @p_350) :named @p_353)) :named @p_351)) :rule cong :premises (t83.t2)) +(step t83.t4 (cl (! (not @p_351) :named @p_354) (! (not @p_341) :named @p_352) @p_353) :rule equiv_pos2) +(step t83.t5 (cl (! (not @p_352) :named @p_376) @p_342) :rule not_not) +(step t83.t6 (cl @p_354 @p_342 @p_353) :rule th_resolution :premises (t83.t5 t83.t4)) +(step t83.t7 (cl @p_353) :rule th_resolution :premises (t83.h1 t83.t3 t83.t6)) +(anchor :step t83.t8 :args ((:= (veriT_vr47 FreeExp$) veriT_vr48))) +(step t83.t8.t1 (cl (= veriT_vr47 veriT_vr48)) :rule refl) +(step t83.t8.t2 (cl (= @p_343 @p_356)) :rule cong :premises (t83.t8.t1)) +(step t83.t8.t3 (cl (= @p_344 @p_357)) :rule cong :premises (t83.t8.t2)) +(step t83.t8.t4 (cl (= @p_345 @p_358)) :rule cong :premises (t83.t8.t3)) +(step t83.t8.t5 (cl (= @p_347 @p_359)) :rule cong :premises (t83.t8.t4)) +(step t83.t8.t6 (cl (= @p_349 @p_355)) :rule cong :premises (t83.t8.t5)) +(step t83.t8 (cl (= @p_350 (! (forall ((veriT_vr48 FreeExp$)) @p_355) :named @p_360))) :rule bind) +(step t83.t9 (cl (! (= @p_353 (! (not @p_360) :named @p_362)) :named @p_361)) :rule cong :premises (t83.t8)) +(step t83.t10 (cl (! (not @p_361) :named @p_364) (! (not @p_353) :named @p_363) @p_362) :rule equiv_pos2) +(step t83.t11 (cl (not @p_363) @p_350) :rule not_not) +(step t83.t12 (cl @p_364 @p_350 @p_362) :rule th_resolution :premises (t83.t11 t83.t10)) +(step t83.t13 (cl @p_362) :rule th_resolution :premises (t83.t7 t83.t9 t83.t12)) +(anchor :step t83.t14 :args ((:= (veriT_vr48 FreeExp$) veriT_sk2))) +(step t83.t14.t1 (cl (= veriT_vr48 veriT_sk2)) :rule refl) +(step t83.t14.t2 (cl (= @p_356 (! (insert$ veriT_sk2 bot$) :named @p_367))) :rule cong :premises (t83.t14.t1)) +(step t83.t14.t3 (cl (= @p_357 (! (myImage$ exprel$ @p_367) :named @p_368))) :rule cong :premises (t83.t14.t2)) +(step t83.t14.t4 (cl (= @p_358 (! (abs_Exp$ @p_368) :named @p_369))) :rule cong :premises (t83.t14.t3)) +(step t83.t14.t5 (cl (= @p_359 (! (= veriT_sk0 @p_369) :named @p_365))) :rule cong :premises (t83.t14.t4)) +(step t83.t14.t6 (cl (= @p_355 (! (not @p_365) :named @p_370))) :rule cong :premises (t83.t14.t5)) +(step t83.t14 (cl (= @p_360 @p_370)) :rule sko_forall) +(step t83.t15 (cl (! (= @p_362 (! (not @p_370) :named @p_372)) :named @p_371)) :rule cong :premises (t83.t14)) +(step t83.t16 (cl (! (not @p_371) :named @p_374) (! (not @p_362) :named @p_373) @p_372) :rule equiv_pos2) +(step t83.t17 (cl (not @p_373) @p_360) :rule not_not) +(step t83.t18 (cl @p_374 @p_360 @p_372) :rule th_resolution :premises (t83.t17 t83.t16)) +(step t83.t19 (cl (! (not @p_372) :named @p_375) @p_365) :rule not_not) +(step t83.t20 (cl @p_374 @p_360 @p_365) :rule th_resolution :premises (t83.t19 t83.t18)) +(step t83.t21 (cl @p_372) :rule th_resolution :premises (t83.t13 t83.t15 t83.t20)) +(step t83.t22 (cl @p_375 @p_365) :rule not_not) +(step t83.t23 (cl @p_365) :rule th_resolution :premises (t83.t22 t83.t21)) +(step t83.t24 (cl (= @p_372 @p_365)) :rule not_simplify) +(step t83.t25 (cl @p_365) :rule th_resolution :premises (t83.t23 t83.t24)) +(step t83 (cl @p_352 @p_365) :rule subproof :discharge (h1)) +(step t84 (cl @p_376 @p_342) :rule not_not) +(step t85 (cl @p_342 @p_365) :rule th_resolution :premises (t84 t83)) +(step t86 (cl @p_377 @p_341) :rule or :premises (t82)) +(step t87 (cl (! (or @p_377 @p_365) :named @p_379) (! (not @p_377) :named @p_378)) :rule or_neg) +(step t88 (cl (not @p_378) @p_70) :rule not_not) +(step t89 (cl @p_379 @p_70) :rule th_resolution :premises (t88 t87)) +(step t90 (cl @p_379 @p_370) :rule or_neg) +(step t91 (cl @p_379) :rule th_resolution :premises (t86 t85 t89 t90)) +(step t92 (cl @p_377 @p_365) :rule or :premises (t91)) +(step t93 (cl @p_365) :rule resolution :premises (t92 t26)) +(step t94 (cl (or @p_331 (! (not (! (= veriT_sk0 (! (fun_app$ uu$ veriT_sk2) :named @p_381)) :named @p_392)) :named @p_382))) :rule forall_inst :args ((:= veriT_vr46 veriT_sk2))) +(step t95 (cl (or @p_193 (! (not (! (= z$ (! (abs_ExpList$ veriT_sk1) :named @p_380)) :named @p_389)) :named @p_383))) :rule forall_inst :args ((:= veriT_vr30 veriT_sk1))) +(step t96 (cl (or (! (not @p_38) :named @p_384) (! (= @p_302 @p_380) :named @p_385))) :rule forall_inst :args ((:= veriT_vr3 veriT_sk1))) +(step t97 (cl (or (! (not @p_23) :named @p_386) (! (= @p_369 @p_381) :named @p_387))) :rule forall_inst :args ((:= veriT_vr1 veriT_sk2))) +(step t98 (cl @p_331 @p_382) :rule or :premises (t94)) +(step t99 (cl @p_193 @p_383) :rule or :premises (t95)) +(step t100 (cl @p_383) :rule resolution :premises (t99 t65)) +(step t101 (cl @p_384 @p_385) :rule or :premises (t96)) +(step t102 (cl @p_385) :rule resolution :premises (t101 t17)) +(step t103 (cl @p_386 @p_387) :rule or :premises (t97)) +(step t104 (cl @p_387) :rule resolution :premises (t103 t11)) +(step t105 (cl (! (= z$ z$) :named @p_388)) :rule eq_reflexive) +(step t106 (cl (not @p_388) (! (not @p_300) :named @p_390) (! (not @p_385) :named @p_391) @p_389) :rule eq_transitive) +(step t107 (cl @p_390 @p_391 @p_389) :rule th_resolution :premises (t106 t105)) +(step t108 (cl @p_390) :rule resolution :premises (t107 t100 t102)) +(step t109 (cl @p_370 (not @p_387) @p_392) :rule eq_transitive) +(step t110 (cl @p_392) :rule resolution :premises (t109 t93 t104)) +(step t111 (cl @p_393) :rule resolution :premises (t77 t108 t81)) +(step t112 (cl @p_331) :rule resolution :premises (t98 t110)) +(step t113 (cl) :rule resolution :premises (t76 t111 t112)) +40b27e0a4a8779ad293f698e9d6f54d1b11a66ce 3015 0 unsat (define-fun veriT_sk0 () A_b_c_M_state_fun$ (! (choice ((veriT_vr57 A_b_c_M_state_fun$)) (not (forall ((veriT_vr58 A_b_c_M_state_fun$)) (! (=> (! (forall ((veriT_vr59 A$) (veriT_vr60 C$)) (! (or (! (is_fail$ (! (run$ (! (fun_app$ veriT_vr57 veriT_vr59) :named @p_552) veriT_vr60) :named @p_544)) :named @p_542) (! (and (! (= (! (is_fail$ (! (run$ (! (fun_app$ veriT_vr58 veriT_vr59) :named @p_554) veriT_vr60) :named @p_543)) :named @p_556) @p_542) :named @p_561) (! (forall ((veriT_vr61 B$) (veriT_vr62 C$)) (! (= (! (is_res$ @p_543 (! (pair$ veriT_vr61 veriT_vr62) :named @p_545)) :named @p_566) (! (is_res$ @p_544 @p_545) :named @p_570)) :named @p_571)) :named @p_562)) :named @p_572)) :named @p_573)) :named @p_551) (! (forall ((veriT_vr63 D$)) (! (or (! (is_fail$a (! (run$a (! (b$ veriT_vr57) :named @p_575) veriT_vr63) :named @p_546)) :named @p_548) (! (exists ((veriT_vr64 E$) (veriT_vr65 D$)) (! (and (! (is_res$a @p_546 (! (pair$a veriT_vr64 veriT_vr65) :named @p_580)) :named @p_581) (! (is_fail$b (! (run$b (! (c$ veriT_vr64 veriT_vr57) :named @p_583) veriT_vr65) :named @p_585)) :named @p_586)) :named @p_587)) :named @p_576) (! (and (! (and (! (=> (! (or (! (is_fail$a (! (run$a (! (b$ veriT_vr58) :named @p_588) veriT_vr63) :named @p_547)) :named @p_549) (! (exists ((veriT_vr66 E$) (veriT_vr67 D$)) (! (and (! (is_res$a @p_547 (! (pair$a veriT_vr66 veriT_vr67) :named @p_592)) :named @p_593) (! (is_fail$b (! (run$b (! (c$ veriT_vr66 veriT_vr58) :named @p_595) veriT_vr67) :named @p_597)) :named @p_598)) :named @p_599)) :named @p_589)) :named @p_600) (! (or @p_548 (! (exists ((veriT_vr68 E$) (veriT_vr69 D$)) (! (and (! (is_res$a @p_546 (! (pair$a veriT_vr68 veriT_vr69) :named @p_603)) :named @p_604) (! (is_fail$b (! (run$b (! (c$ veriT_vr68 veriT_vr57) :named @p_606) veriT_vr69) :named @p_608)) :named @p_609)) :named @p_610)) :named @p_602)) :named @p_611)) :named @p_613) (! (=> (! (or @p_548 (! (exists ((veriT_vr70 E$) (veriT_vr71 D$)) (! (and (! (is_res$a @p_546 (! (pair$a veriT_vr70 veriT_vr71) :named @p_615)) :named @p_616) (! (is_fail$b (! (run$b (! (c$ veriT_vr70 veriT_vr57) :named @p_618) veriT_vr71) :named @p_620)) :named @p_621)) :named @p_622)) :named @p_614)) :named @p_623) (! (or @p_549 (! (exists ((veriT_vr72 E$) (veriT_vr73 D$)) (! (and (! (is_res$a @p_547 (! (pair$a veriT_vr72 veriT_vr73) :named @p_626)) :named @p_627) (! (is_fail$b (! (run$b (! (c$ veriT_vr72 veriT_vr58) :named @p_629) veriT_vr73) :named @p_631)) :named @p_632)) :named @p_633)) :named @p_625)) :named @p_634)) :named @p_636)) :named @p_637) (! (forall ((veriT_vr74 F$) (veriT_vr75 D$)) (! (and (! (=> (! (or @p_549 (! (exists ((veriT_vr76 E$) (veriT_vr77 D$)) (! (and (! (is_res$a @p_547 (! (pair$a veriT_vr76 veriT_vr77) :named @p_640)) :named @p_641) (! (is_res$b (! (run$b (! (c$ veriT_vr76 veriT_vr58) :named @p_643) veriT_vr77) :named @p_645) (! (pair$b veriT_vr74 veriT_vr75) :named @p_550)) :named @p_646)) :named @p_647)) :named @p_639)) :named @p_648) (! (or @p_548 (! (exists ((veriT_vr78 E$) (veriT_vr79 D$)) (! (and (! (is_res$a @p_546 (! (pair$a veriT_vr78 veriT_vr79) :named @p_650)) :named @p_651) (! (is_res$b (! (run$b (! (c$ veriT_vr78 veriT_vr57) :named @p_653) veriT_vr79) :named @p_655) @p_550) :named @p_659)) :named @p_660)) :named @p_649)) :named @p_661)) :named @p_663) (! (=> (! (or @p_548 (! (exists ((veriT_vr80 E$) (veriT_vr81 D$)) (! (and (! (is_res$a @p_546 (! (pair$a veriT_vr80 veriT_vr81) :named @p_665)) :named @p_666) (! (is_res$b (! (run$b (! (c$ veriT_vr80 veriT_vr57) :named @p_668) veriT_vr81) :named @p_670) @p_550) :named @p_671)) :named @p_672)) :named @p_664)) :named @p_673) (! (or @p_549 (! (exists ((veriT_vr82 E$) (veriT_vr83 D$)) (! (and (! (is_res$a @p_547 (! (pair$a veriT_vr82 veriT_vr83) :named @p_675)) :named @p_676) (! (is_res$b (! (run$b (! (c$ veriT_vr82 veriT_vr58) :named @p_678) veriT_vr83) :named @p_680) @p_550) :named @p_681)) :named @p_682)) :named @p_674)) :named @p_683)) :named @p_685)) :named @p_686)) :named @p_638)) :named @p_687)) :named @p_688)) :named @p_574)) :named @p_689)))) :named @p_696)) (define-fun veriT_sk1 () A_b_c_M_state_fun$ (! (choice ((veriT_vr58 A_b_c_M_state_fun$)) (not (=> (forall ((veriT_vr59 A$) (veriT_vr60 C$)) (or (! (is_fail$ (! (run$ (fun_app$ @p_696 veriT_vr59) veriT_vr60) :named @p_698)) :named @p_697) (and (= @p_556 @p_697) (forall ((veriT_vr61 B$) (veriT_vr62 C$)) (= @p_566 (is_res$ @p_698 @p_545)))))) (forall ((veriT_vr63 D$)) (or (! (is_fail$a (! (run$a (! (b$ @p_696) :named @p_721) veriT_vr63) :named @p_699)) :named @p_700) (! (exists ((veriT_vr64 E$) (veriT_vr65 D$)) (and (is_res$a @p_699 @p_580) (is_fail$b (run$b (c$ veriT_vr64 @p_696) veriT_vr65)))) :named @p_704) (and (and (=> @p_600 (! (or @p_700 (exists ((veriT_vr68 E$) (veriT_vr69 D$)) (and (is_res$a @p_699 @p_603) (is_fail$b (run$b (c$ veriT_vr68 @p_696) veriT_vr69))))) :named @p_707)) (=> (! (or @p_700 (exists ((veriT_vr70 E$) (veriT_vr71 D$)) (and (is_res$a @p_699 @p_615) (! (is_fail$b (run$b (c$ veriT_vr70 @p_696) veriT_vr71)) :named @p_722)))) :named @p_708) @p_634)) (forall ((veriT_vr74 F$) (veriT_vr75 D$)) (and (=> @p_648 (! (or @p_700 (exists ((veriT_vr78 E$) (veriT_vr79 D$)) (and (is_res$a @p_699 @p_650) (! (is_res$b (! (run$b (c$ veriT_vr78 @p_696) veriT_vr79) :named @p_737) @p_550) :named @p_730)))) :named @p_710)) (=> (! (or @p_700 (exists ((veriT_vr80 E$) (veriT_vr81 D$)) (and (is_res$a @p_699 @p_665) (! (is_res$b (! (run$b (c$ veriT_vr80 @p_696) veriT_vr81) :named @p_740) @p_550) :named @p_732)))) :named @p_711) @p_683))))))))) :named @p_705)) (define-fun veriT_sk2 () D$ (! (choice ((veriT_vr63 D$)) (not (or @p_700 @p_704 (and (and (=> (or (! (is_fail$a (! (run$a (! (b$ @p_705) :named @p_715) veriT_vr63) :named @p_706)) :named @p_709) (exists ((veriT_vr66 E$) (veriT_vr67 D$)) (and (is_res$a @p_706 @p_592) (! (is_fail$b (run$b (c$ veriT_vr66 @p_705) veriT_vr67)) :named @p_716)))) @p_707) (=> @p_708 (or @p_709 (exists ((veriT_vr72 E$) (veriT_vr73 D$)) (and (is_res$a @p_706 @p_626) (is_fail$b (run$b (c$ veriT_vr72 @p_705) veriT_vr73))))))) (forall ((veriT_vr74 F$) (veriT_vr75 D$)) (and (=> (or @p_709 (exists ((veriT_vr76 E$) (veriT_vr77 D$)) (and (is_res$a @p_706 @p_640) (! (is_res$b (! (run$b (c$ veriT_vr76 @p_705) veriT_vr77) :named @p_727) @p_550) :named @p_729)))) @p_710) (=> @p_711 (or @p_709 (exists ((veriT_vr82 E$) (veriT_vr83 D$)) (and (is_res$a @p_706 @p_675) (! (is_res$b (! (run$b (c$ veriT_vr82 @p_705) veriT_vr83) :named @p_742) @p_550) :named @p_734))))))))))) :named @p_713)) (define-fun veriT_sk3 () E$ (! (choice ((veriT_vr66 E$)) (exists ((veriT_vr67 D$)) (and (is_res$a (! (run$a @p_715 @p_713) :named @p_717) @p_592) @p_716))) :named @p_718)) (define-fun veriT_sk4 () D$ (! (choice ((veriT_vr67 D$)) (and (is_res$a @p_717 (pair$a @p_718 veriT_vr67)) (is_fail$b (run$b (c$ @p_718 @p_705) veriT_vr67)))) :named @p_719)) (define-fun veriT_sk5 () E$ (! (choice ((veriT_vr70 E$)) (exists ((veriT_vr71 D$)) (and (is_res$a (! (run$a @p_721 @p_713) :named @p_723) @p_615) @p_722))) :named @p_724)) (define-fun veriT_sk6 () D$ (! (choice ((veriT_vr71 D$)) (and (is_res$a @p_723 (pair$a @p_724 veriT_vr71)) (is_fail$b (run$b (c$ @p_724 @p_696) veriT_vr71)))) :named @p_725)) (define-fun veriT_sk7 () F$ (! (choice ((veriT_vr74 F$)) (not (forall ((veriT_vr75 D$)) (and (=> (or (! (is_fail$a @p_717) :named @p_733) (exists ((veriT_vr76 E$) (veriT_vr77 D$)) (and (! (is_res$a @p_717 @p_640) :named @p_728) @p_729))) (or (! (is_fail$a @p_723) :named @p_731) (exists ((veriT_vr78 E$) (veriT_vr79 D$)) (and (! (is_res$a @p_723 @p_650) :named @p_736) @p_730)))) (=> (or @p_731 (exists ((veriT_vr80 E$) (veriT_vr81 D$)) (and (! (is_res$a @p_723 @p_665) :named @p_739) @p_732))) (or @p_733 (exists ((veriT_vr82 E$) (veriT_vr83 D$)) (and (! (is_res$a @p_717 @p_675) :named @p_741) @p_734)))))))) :named @p_735)) (define-fun veriT_sk8 () D$ (! (choice ((veriT_vr75 D$)) (not (and (=> (or @p_733 (exists ((veriT_vr76 E$) (veriT_vr77 D$)) (and @p_728 (is_res$b @p_727 (! (pair$b @p_735 veriT_vr75) :named @p_738))))) (or @p_731 (exists ((veriT_vr78 E$) (veriT_vr79 D$)) (and @p_736 (is_res$b @p_737 @p_738))))) (=> (or @p_731 (exists ((veriT_vr80 E$) (veriT_vr81 D$)) (and @p_739 (is_res$b @p_740 @p_738)))) (or @p_733 (exists ((veriT_vr82 E$) (veriT_vr83 D$)) (and @p_741 (is_res$b @p_742 @p_738)))))))) :named @p_746)) (define-fun veriT_sk9 () E$ (! (choice ((veriT_vr76 E$)) (exists ((veriT_vr77 D$)) (and @p_728 (is_res$b @p_727 (! (pair$b @p_735 @p_746) :named @p_744))))) :named @p_743)) (define-fun veriT_sk10 () D$ (! (choice ((veriT_vr77 D$)) (and (is_res$a @p_717 (pair$a @p_743 veriT_vr77)) (is_res$b (run$b (c$ @p_743 @p_705) veriT_vr77) @p_744))) :named @p_745)) (define-fun veriT_sk11 () E$ (! (choice ((veriT_vr80 E$)) (exists ((veriT_vr81 D$)) (and @p_739 (is_res$b @p_740 @p_744)))) :named @p_748)) (define-fun veriT_sk12 () D$ (! (choice ((veriT_vr81 D$)) (and (is_res$a @p_723 (pair$a @p_748 veriT_vr81)) (is_res$b (run$b (c$ @p_748 @p_696) veriT_vr81) @p_744))) :named @p_749)) (define-fun veriT_sk13 () A$ (! (choice ((veriT_vr122 A$)) (not (forall ((veriT_vr123 C$)) (! (or (! (is_fail$ (! (run$ (! (fun_app$ veriT_sk0 veriT_vr122) :named @p_1255) veriT_vr123) :named @p_1191)) :named @p_1189) (! (and (! (= (! (is_fail$ (! (run$ (! (fun_app$ veriT_sk1 veriT_vr122) :named @p_1257) veriT_vr123) :named @p_1190)) :named @p_1259) @p_1189) :named @p_1263) (! (forall ((veriT_vr124 B$) (veriT_vr125 C$)) (! (= (! (is_res$ @p_1190 (! (pair$ veriT_vr124 veriT_vr125) :named @p_1192)) :named @p_1267) (! (is_res$ @p_1191 @p_1192) :named @p_1271)) :named @p_1272)) :named @p_1264)) :named @p_1273)) :named @p_1254)))) :named @p_1193)) (define-fun veriT_sk14 () C$ (! (choice ((veriT_vr123 C$)) (not (or (! (is_fail$ (! (run$ (! (fun_app$ veriT_sk0 @p_1193) :named @p_1201) veriT_vr123) :named @p_1196)) :named @p_1194) (and (= (is_fail$ (! (run$ (! (fun_app$ veriT_sk1 @p_1193) :named @p_1200) veriT_vr123) :named @p_1195)) @p_1194) (forall ((veriT_vr124 B$) (veriT_vr125 C$)) (= (is_res$ @p_1195 @p_1192) (is_res$ @p_1196 @p_1192))))))) :named @p_1197)) (define-fun veriT_sk15 () B$ (! (choice ((veriT_vr124 B$)) (not (forall ((veriT_vr125 C$)) (= (is_res$ (! (run$ @p_1200 @p_1197) :named @p_1202) @p_1192) (is_res$ (! (run$ @p_1201 @p_1197) :named @p_1204) @p_1192))))) :named @p_1203)) (define-fun veriT_sk16 () C$ (! (choice ((veriT_vr125 C$)) (not (= (is_res$ @p_1202 (! (pair$ @p_1203 veriT_vr125) :named @p_1205)) (is_res$ @p_1204 @p_1205)))) :named @p_1300)) (define-fun veriT_sk25 () A$ (! (choice ((veriT_vr171 A$)) (not (forall ((veriT_vr172 C$)) (! (or (! (is_fail$ (! (run$ (! (fun_app$ veriT_sk0 veriT_vr171) :named @p_1468) veriT_vr172) :named @p_1393)) :named @p_1391) (! (and (! (= (! (is_fail$ (! (run$ (! (fun_app$ veriT_sk1 veriT_vr171) :named @p_1470) veriT_vr172) :named @p_1392)) :named @p_1472) @p_1391) :named @p_1476) (! (forall ((veriT_vr173 B$) (veriT_vr174 C$)) (! (= (! (is_res$ @p_1392 (! (pair$ veriT_vr173 veriT_vr174) :named @p_1394)) :named @p_1480) (! (is_res$ @p_1393 @p_1394) :named @p_1484)) :named @p_1485)) :named @p_1477)) :named @p_1486)) :named @p_1467)))) :named @p_1395)) (define-fun veriT_sk26 () C$ (! (choice ((veriT_vr172 C$)) (not (or (! (is_fail$ (! (run$ (! (fun_app$ veriT_sk0 @p_1395) :named @p_1403) veriT_vr172) :named @p_1398)) :named @p_1396) (and (= (is_fail$ (! (run$ (! (fun_app$ veriT_sk1 @p_1395) :named @p_1402) veriT_vr172) :named @p_1397)) @p_1396) (forall ((veriT_vr173 B$) (veriT_vr174 C$)) (= (is_res$ @p_1397 @p_1394) (is_res$ @p_1398 @p_1394))))))) :named @p_1399)) (define-fun veriT_sk27 () B$ (! (choice ((veriT_vr173 B$)) (not (forall ((veriT_vr174 C$)) (= (is_res$ (! (run$ @p_1402 @p_1399) :named @p_1404) @p_1394) (is_res$ (! (run$ @p_1403 @p_1399) :named @p_1406) @p_1394))))) :named @p_1405)) (define-fun veriT_sk28 () C$ (! (choice ((veriT_vr174 C$)) (not (= (is_res$ @p_1404 (! (pair$ @p_1405 veriT_vr174) :named @p_1407)) (is_res$ @p_1406 @p_1407)))) :named @p_1513)) (define-fun veriT_sk29 () A$ (! (choice ((veriT_vr185 A$)) (not (forall ((veriT_vr186 C$)) (! (or (! (is_fail$ (! (run$ (! (fun_app$ veriT_sk0 veriT_vr185) :named @p_1602) veriT_vr186) :named @p_1538)) :named @p_1536) (! (and (! (= (! (is_fail$ (! (run$ (! (fun_app$ veriT_sk1 veriT_vr185) :named @p_1604) veriT_vr186) :named @p_1537)) :named @p_1606) @p_1536) :named @p_1610) (! (forall ((veriT_vr187 B$) (veriT_vr188 C$)) (! (= (! (is_res$ @p_1537 (! (pair$ veriT_vr187 veriT_vr188) :named @p_1539)) :named @p_1614) (! (is_res$ @p_1538 @p_1539) :named @p_1618)) :named @p_1619)) :named @p_1611)) :named @p_1620)) :named @p_1601)))) :named @p_1540)) (define-fun veriT_sk30 () C$ (! (choice ((veriT_vr186 C$)) (not (or (! (is_fail$ (! (run$ (! (fun_app$ veriT_sk0 @p_1540) :named @p_1548) veriT_vr186) :named @p_1543)) :named @p_1541) (and (= (is_fail$ (! (run$ (! (fun_app$ veriT_sk1 @p_1540) :named @p_1547) veriT_vr186) :named @p_1542)) @p_1541) (forall ((veriT_vr187 B$) (veriT_vr188 C$)) (= (is_res$ @p_1542 @p_1539) (is_res$ @p_1543 @p_1539))))))) :named @p_1544)) (define-fun veriT_sk31 () B$ (! (choice ((veriT_vr187 B$)) (not (forall ((veriT_vr188 C$)) (= (is_res$ (! (run$ @p_1547 @p_1544) :named @p_1549) @p_1539) (is_res$ (! (run$ @p_1548 @p_1544) :named @p_1551) @p_1539))))) :named @p_1550)) (define-fun veriT_sk32 () C$ (! (choice ((veriT_vr188 C$)) (not (= (is_res$ @p_1549 (! (pair$ @p_1550 veriT_vr188) :named @p_1552)) (is_res$ @p_1551 @p_1552)))) :named @p_1647)) (define-fun veriT_sk41 () A$ (! (choice ((veriT_vr243 A$)) (not (forall ((veriT_vr244 C$)) (! (or (! (is_fail$ (! (run$ (! (fun_app$ veriT_sk0 veriT_vr243) :named @p_1825) veriT_vr244) :named @p_1761)) :named @p_1759) (! (and (! (= (! (is_fail$ (! (run$ (! (fun_app$ veriT_sk1 veriT_vr243) :named @p_1827) veriT_vr244) :named @p_1760)) :named @p_1829) @p_1759) :named @p_1833) (! (forall ((veriT_vr245 B$) (veriT_vr246 C$)) (! (= (! (is_res$ @p_1760 (! (pair$ veriT_vr245 veriT_vr246) :named @p_1762)) :named @p_1837) (! (is_res$ @p_1761 @p_1762) :named @p_1841)) :named @p_1842)) :named @p_1834)) :named @p_1843)) :named @p_1824)))) :named @p_1763)) (define-fun veriT_sk42 () C$ (! (choice ((veriT_vr244 C$)) (not (or (! (is_fail$ (! (run$ (! (fun_app$ veriT_sk0 @p_1763) :named @p_1771) veriT_vr244) :named @p_1766)) :named @p_1764) (and (= (is_fail$ (! (run$ (! (fun_app$ veriT_sk1 @p_1763) :named @p_1770) veriT_vr244) :named @p_1765)) @p_1764) (forall ((veriT_vr245 B$) (veriT_vr246 C$)) (= (is_res$ @p_1765 @p_1762) (is_res$ @p_1766 @p_1762))))))) :named @p_1767)) (define-fun veriT_sk43 () B$ (! (choice ((veriT_vr245 B$)) (not (forall ((veriT_vr246 C$)) (= (is_res$ (! (run$ @p_1770 @p_1767) :named @p_1772) @p_1762) (is_res$ (! (run$ @p_1771 @p_1767) :named @p_1774) @p_1762))))) :named @p_1773)) (define-fun veriT_sk44 () C$ (! (choice ((veriT_vr246 C$)) (not (= (is_res$ @p_1772 (! (pair$ @p_1773 veriT_vr246) :named @p_1775)) (is_res$ @p_1774 @p_1775)))) :named @p_1870)) -(assume axiom0 (! (not (! (=> (! (and (! (forall ((?v0 A_b_c_M_state_fun$) (?v1 A_b_c_M_state_fun$)) (! (=> (! (forall ((?v2 A$) (?v3 C$)) (! (or (! (is_fail$ (! (run$ (! (fun_app$ ?v0 ?v2) :named @p_34) ?v3) :named @p_3)) :named @p_1) (! (and (! (= (! (is_fail$ (! (run$ (! (fun_app$ ?v1 ?v2) :named @p_37) ?v3) :named @p_2)) :named @p_40) @p_1) :named @p_46) (! (forall ((?v4 B$) (?v5 C$)) (! (= (! (is_res$ @p_2 (! (pair$ ?v4 ?v5) :named @p_4)) :named @p_53) (! (is_res$ @p_3 @p_4) :named @p_58)) :named @p_60)) :named @p_48)) :named @p_62)) :named @p_64)) :named @p_17) (! (forall ((?v2 D$)) (! (or (! (is_fail$a (! (run$a (! (b$ ?v0) :named @p_68) ?v2) :named @p_7)) :named @p_5) (! (and (! (= (! (is_fail$a (! (run$a (! (b$ ?v1) :named @p_70) ?v2) :named @p_6)) :named @p_19) @p_5) :named @p_77) (! (forall ((?v3 E$) (?v4 D$)) (! (= (! (is_res$a @p_6 (! (pair$a ?v3 ?v4) :named @p_8)) :named @p_20) (! (is_res$a @p_7 @p_8) :named @p_18)) :named @p_88)) :named @p_79)) :named @p_90)) :named @p_92)) :named @p_66)) :named @p_94)) :named @p_24) (! (forall ((?v0 E$) (?v1 A_b_c_M_state_fun$) (?v2 A_b_c_M_state_fun$)) (! (=> (! (forall ((?v3 A$) (?v4 C$)) (! (or (! (is_fail$ (! (run$ (! (fun_app$ ?v1 ?v3) :named @p_102) ?v4) :named @p_11)) :named @p_9) (! (and (! (= (! (is_fail$ (! (run$ (! (fun_app$ ?v2 ?v3) :named @p_104) ?v4) :named @p_10)) :named @p_106) @p_9) :named @p_111) (! (forall ((?v5 B$) (?v6 C$)) (! (= (! (is_res$ @p_10 (! (pair$ ?v5 ?v6) :named @p_12)) :named @p_116) (! (is_res$ @p_11 @p_12) :named @p_120)) :named @p_121)) :named @p_112)) :named @p_122)) :named @p_123)) :named @p_101) (! (forall ((?v3 D$)) (! (or (! (is_fail$b (! (run$b (! (c$ ?v0 ?v1) :named @p_126) ?v3) :named @p_15)) :named @p_13) (! (and (! (= (! (is_fail$b (! (run$b (! (c$ ?v0 ?v2) :named @p_129) ?v3) :named @p_14)) :named @p_132) @p_13) :named @p_137) (! (forall ((?v4 F$) (?v5 D$)) (! (= (! (is_res$b @p_14 (! (pair$b ?v4 ?v5) :named @p_16)) :named @p_143) (! (is_res$b @p_15 @p_16) :named @p_148)) :named @p_150)) :named @p_139)) :named @p_152)) :named @p_154)) :named @p_124)) :named @p_156)) :named @p_96)) :named @p_158) (! (forall ((?v0 A_b_c_M_state_fun$) (?v1 A_b_c_M_state_fun$)) (! (=> @p_17 (! (forall ((?v2 D$)) (! (or @p_5 (! (or (! (exists ((?v3 E$) (?v4 D$)) (! (and @p_18 (! (is_fail$b (! (run$b (! (c$ ?v3 ?v0) :named @p_176) ?v4) :named @p_177)) :named @p_179)) :named @p_181)) :named @p_21) (! (and (! (= (! (or @p_19 (! (exists ((?v3 E$) (?v4 D$)) (! (and @p_20 (! (is_fail$b (! (run$b (! (c$ ?v3 ?v1) :named @p_187) ?v4) :named @p_188)) :named @p_190)) :named @p_192)) :named @p_184)) :named @p_194) (! (or @p_5 @p_21) :named @p_201)) :named @p_203) (! (forall ((?v3 F$) (?v4 D$)) (! (= (! (or @p_19 (! (exists ((?v5 E$) (?v6 D$)) (! (and (! (is_res$a @p_6 (! (pair$a ?v5 ?v6) :named @p_22)) :named @p_209) (! (is_res$b (! (run$b (! (c$ ?v5 ?v1) :named @p_212) ?v6) :named @p_214) (! (pair$b ?v3 ?v4) :named @p_23)) :named @p_216)) :named @p_218)) :named @p_207)) :named @p_220) (! (or @p_5 (! (exists ((?v5 E$) (?v6 D$)) (! (and (! (is_res$a @p_7 @p_22) :named @p_225) (! (is_res$b (! (run$b (! (c$ ?v5 ?v0) :named @p_227) ?v6) :named @p_228) @p_23) :named @p_232)) :named @p_234)) :named @p_222)) :named @p_236)) :named @p_238)) :named @p_205)) :named @p_240)) :named @p_242)) :named @p_244)) :named @p_173)) :named @p_246)) :named @p_161)) :named @p_248)) :named @p_251)) +(assume a0 (! (not (! (=> (! (and (! (forall ((?v0 A_b_c_M_state_fun$) (?v1 A_b_c_M_state_fun$)) (! (=> (! (forall ((?v2 A$) (?v3 C$)) (! (or (! (is_fail$ (! (run$ (! (fun_app$ ?v0 ?v2) :named @p_34) ?v3) :named @p_3)) :named @p_1) (! (and (! (= (! (is_fail$ (! (run$ (! (fun_app$ ?v1 ?v2) :named @p_37) ?v3) :named @p_2)) :named @p_40) @p_1) :named @p_46) (! (forall ((?v4 B$) (?v5 C$)) (! (= (! (is_res$ @p_2 (! (pair$ ?v4 ?v5) :named @p_4)) :named @p_53) (! (is_res$ @p_3 @p_4) :named @p_58)) :named @p_60)) :named @p_48)) :named @p_62)) :named @p_64)) :named @p_17) (! (forall ((?v2 D$)) (! (or (! (is_fail$a (! (run$a (! (b$ ?v0) :named @p_68) ?v2) :named @p_7)) :named @p_5) (! (and (! (= (! (is_fail$a (! (run$a (! (b$ ?v1) :named @p_70) ?v2) :named @p_6)) :named @p_19) @p_5) :named @p_77) (! (forall ((?v3 E$) (?v4 D$)) (! (= (! (is_res$a @p_6 (! (pair$a ?v3 ?v4) :named @p_8)) :named @p_20) (! (is_res$a @p_7 @p_8) :named @p_18)) :named @p_88)) :named @p_79)) :named @p_90)) :named @p_92)) :named @p_66)) :named @p_94)) :named @p_24) (! (forall ((?v0 E$) (?v1 A_b_c_M_state_fun$) (?v2 A_b_c_M_state_fun$)) (! (=> (! (forall ((?v3 A$) (?v4 C$)) (! (or (! (is_fail$ (! (run$ (! (fun_app$ ?v1 ?v3) :named @p_102) ?v4) :named @p_11)) :named @p_9) (! (and (! (= (! (is_fail$ (! (run$ (! (fun_app$ ?v2 ?v3) :named @p_104) ?v4) :named @p_10)) :named @p_106) @p_9) :named @p_111) (! (forall ((?v5 B$) (?v6 C$)) (! (= (! (is_res$ @p_10 (! (pair$ ?v5 ?v6) :named @p_12)) :named @p_116) (! (is_res$ @p_11 @p_12) :named @p_120)) :named @p_121)) :named @p_112)) :named @p_122)) :named @p_123)) :named @p_101) (! (forall ((?v3 D$)) (! (or (! (is_fail$b (! (run$b (! (c$ ?v0 ?v1) :named @p_126) ?v3) :named @p_15)) :named @p_13) (! (and (! (= (! (is_fail$b (! (run$b (! (c$ ?v0 ?v2) :named @p_129) ?v3) :named @p_14)) :named @p_132) @p_13) :named @p_137) (! (forall ((?v4 F$) (?v5 D$)) (! (= (! (is_res$b @p_14 (! (pair$b ?v4 ?v5) :named @p_16)) :named @p_143) (! (is_res$b @p_15 @p_16) :named @p_148)) :named @p_150)) :named @p_139)) :named @p_152)) :named @p_154)) :named @p_124)) :named @p_156)) :named @p_96)) :named @p_158) (! (forall ((?v0 A_b_c_M_state_fun$) (?v1 A_b_c_M_state_fun$)) (! (=> @p_17 (! (forall ((?v2 D$)) (! (or @p_5 (! (or (! (exists ((?v3 E$) (?v4 D$)) (! (and @p_18 (! (is_fail$b (! (run$b (! (c$ ?v3 ?v0) :named @p_176) ?v4) :named @p_177)) :named @p_179)) :named @p_181)) :named @p_21) (! (and (! (= (! (or @p_19 (! (exists ((?v3 E$) (?v4 D$)) (! (and @p_20 (! (is_fail$b (! (run$b (! (c$ ?v3 ?v1) :named @p_187) ?v4) :named @p_188)) :named @p_190)) :named @p_192)) :named @p_184)) :named @p_194) (! (or @p_5 @p_21) :named @p_201)) :named @p_203) (! (forall ((?v3 F$) (?v4 D$)) (! (= (! (or @p_19 (! (exists ((?v5 E$) (?v6 D$)) (! (and (! (is_res$a @p_6 (! (pair$a ?v5 ?v6) :named @p_22)) :named @p_209) (! (is_res$b (! (run$b (! (c$ ?v5 ?v1) :named @p_212) ?v6) :named @p_214) (! (pair$b ?v3 ?v4) :named @p_23)) :named @p_216)) :named @p_218)) :named @p_207)) :named @p_220) (! (or @p_5 (! (exists ((?v5 E$) (?v6 D$)) (! (and (! (is_res$a @p_7 @p_22) :named @p_225) (! (is_res$b (! (run$b (! (c$ ?v5 ?v0) :named @p_227) ?v6) :named @p_228) @p_23) :named @p_232)) :named @p_234)) :named @p_222)) :named @p_236)) :named @p_238)) :named @p_205)) :named @p_240)) :named @p_242)) :named @p_244)) :named @p_173)) :named @p_246)) :named @p_161)) :named @p_248)) :named @p_251)) (anchor :step t2 :args ((:= (?v0 A_b_c_M_state_fun$) veriT_vr0) (:= (?v1 A_b_c_M_state_fun$) veriT_vr1))) (anchor :step t2.t1 :args ((:= (?v2 A$) veriT_vr2) (:= (?v3 C$) veriT_vr3))) (step t2.t1.t1 (cl (! (= ?v0 veriT_vr0) :named @p_42)) :rule refl) (step t2.t1.t2 (cl (! (= ?v2 veriT_vr2) :named @p_36)) :rule refl) (step t2.t1.t3 (cl (! (= @p_34 (! (fun_app$ veriT_vr0 veriT_vr2) :named @p_35)) :named @p_43)) :rule cong :premises (t2.t1.t1 t2.t1.t2)) (step t2.t1.t4 (cl (! (= ?v3 veriT_vr3) :named @p_39)) :rule refl) (step t2.t1.t5 (cl (! (= @p_3 (! (run$ @p_35 veriT_vr3) :named @p_27)) :named @p_44)) :rule cong :premises (t2.t1.t3 t2.t1.t4)) (step t2.t1.t6 (cl (! (= @p_1 (! (is_fail$ @p_27) :named @p_25)) :named @p_45)) :rule cong :premises (t2.t1.t5)) (step t2.t1.t7 (cl (! (= ?v1 veriT_vr1) :named @p_50)) :rule refl) (step t2.t1.t8 (cl @p_36) :rule refl) (step t2.t1.t9 (cl (! (= @p_37 (! (fun_app$ veriT_vr1 veriT_vr2) :named @p_38)) :named @p_51)) :rule cong :premises (t2.t1.t7 t2.t1.t8)) (step t2.t1.t10 (cl @p_39) :rule refl) (step t2.t1.t11 (cl (! (= @p_2 (! (run$ @p_38 veriT_vr3) :named @p_26)) :named @p_52)) :rule cong :premises (t2.t1.t9 t2.t1.t10)) (step t2.t1.t12 (cl (! (= @p_40 (! (is_fail$ @p_26) :named @p_41)) :named @p_165)) :rule cong :premises (t2.t1.t11)) (step t2.t1.t13 (cl @p_42) :rule refl) (step t2.t1.t14 (cl @p_36) :rule refl) (step t2.t1.t15 (cl @p_43) :rule cong :premises (t2.t1.t13 t2.t1.t14)) (step t2.t1.t16 (cl @p_39) :rule refl) (step t2.t1.t17 (cl @p_44) :rule cong :premises (t2.t1.t15 t2.t1.t16)) (step t2.t1.t18 (cl @p_45) :rule cong :premises (t2.t1.t17)) (step t2.t1.t19 (cl (! (= @p_46 (! (= @p_41 @p_25) :named @p_47)) :named @p_166)) :rule cong :premises (t2.t1.t12 t2.t1.t18)) (anchor :step t2.t1.t20 :args ((:= (?v4 B$) veriT_vr4) (:= (?v5 C$) veriT_vr5))) (step t2.t1.t20.t1 (cl @p_50) :rule refl) (step t2.t1.t20.t2 (cl @p_36) :rule refl) (step t2.t1.t20.t3 (cl @p_51) :rule cong :premises (t2.t1.t20.t1 t2.t1.t20.t2)) (step t2.t1.t20.t4 (cl @p_39) :rule refl) (step t2.t1.t20.t5 (cl @p_52) :rule cong :premises (t2.t1.t20.t3 t2.t1.t20.t4)) (step t2.t1.t20.t6 (cl (! (= ?v4 veriT_vr4) :named @p_55)) :rule refl) (step t2.t1.t20.t7 (cl (! (= ?v5 veriT_vr5) :named @p_56)) :rule refl) (step t2.t1.t20.t8 (cl (! (= @p_4 (! (pair$ veriT_vr4 veriT_vr5) :named @p_28)) :named @p_57)) :rule cong :premises (t2.t1.t20.t6 t2.t1.t20.t7)) (step t2.t1.t20.t9 (cl (! (= @p_53 (! (is_res$ @p_26 @p_28) :named @p_54)) :named @p_168)) :rule cong :premises (t2.t1.t20.t5 t2.t1.t20.t8)) (step t2.t1.t20.t10 (cl @p_42) :rule refl) (step t2.t1.t20.t11 (cl @p_36) :rule refl) (step t2.t1.t20.t12 (cl @p_43) :rule cong :premises (t2.t1.t20.t10 t2.t1.t20.t11)) (step t2.t1.t20.t13 (cl @p_39) :rule refl) (step t2.t1.t20.t14 (cl @p_44) :rule cong :premises (t2.t1.t20.t12 t2.t1.t20.t13)) (step t2.t1.t20.t15 (cl @p_55) :rule refl) (step t2.t1.t20.t16 (cl @p_56) :rule refl) (step t2.t1.t20.t17 (cl @p_57) :rule cong :premises (t2.t1.t20.t15 t2.t1.t20.t16)) (step t2.t1.t20.t18 (cl (! (= @p_58 (! (is_res$ @p_27 @p_28) :named @p_59)) :named @p_169)) :rule cong :premises (t2.t1.t20.t14 t2.t1.t20.t17)) (step t2.t1.t20.t19 (cl (! (= @p_60 (! (= @p_54 @p_59) :named @p_61)) :named @p_170)) :rule cong :premises (t2.t1.t20.t9 t2.t1.t20.t18)) (step t2.t1.t20 (cl (! (= @p_48 (! (forall ((veriT_vr4 B$) (veriT_vr5 C$)) @p_61) :named @p_49)) :named @p_167)) :rule bind) (step t2.t1.t21 (cl (! (= @p_62 (! (and @p_47 @p_49) :named @p_63)) :named @p_171)) :rule cong :premises (t2.t1.t19 t2.t1.t20)) (step t2.t1.t22 (cl (! (= @p_64 (! (or @p_25 @p_63) :named @p_65)) :named @p_172)) :rule cong :premises (t2.t1.t6 t2.t1.t21)) (step t2.t1 (cl (! (= @p_17 (! (forall ((veriT_vr2 A$) (veriT_vr3 C$)) @p_65) :named @p_33)) :named @p_164)) :rule bind) (anchor :step t2.t2 :args ((:= (?v2 D$) veriT_vr6))) (step t2.t2.t1 (cl @p_42) :rule refl) (step t2.t2.t2 (cl (! (= @p_68 (! (b$ veriT_vr0) :named @p_69)) :named @p_74)) :rule cong :premises (t2.t2.t1)) (step t2.t2.t3 (cl (! (= ?v2 veriT_vr6) :named @p_72)) :rule refl) (step t2.t2.t4 (cl (! (= @p_7 (! (run$a @p_69 veriT_vr6) :named @p_31)) :named @p_75)) :rule cong :premises (t2.t2.t2 t2.t2.t3)) (step t2.t2.t5 (cl (! (= @p_5 (! (is_fail$a @p_31) :named @p_29)) :named @p_76)) :rule cong :premises (t2.t2.t4)) (step t2.t2.t6 (cl @p_50) :rule refl) (step t2.t2.t7 (cl (! (= @p_70 (! (b$ veriT_vr1) :named @p_71)) :named @p_81)) :rule cong :premises (t2.t2.t6)) (step t2.t2.t8 (cl @p_72) :rule refl) (step t2.t2.t9 (cl (! (= @p_6 (! (run$a @p_71 veriT_vr6) :named @p_30)) :named @p_82)) :rule cong :premises (t2.t2.t7 t2.t2.t8)) (step t2.t2.t10 (cl (! (= @p_19 (! (is_fail$a @p_30) :named @p_73)) :named @p_183)) :rule cong :premises (t2.t2.t9)) (step t2.t2.t11 (cl @p_42) :rule refl) (step t2.t2.t12 (cl @p_74) :rule cong :premises (t2.t2.t11)) (step t2.t2.t13 (cl @p_72) :rule refl) (step t2.t2.t14 (cl @p_75) :rule cong :premises (t2.t2.t12 t2.t2.t13)) (step t2.t2.t15 (cl @p_76) :rule cong :premises (t2.t2.t14)) (step t2.t2.t16 (cl (= @p_77 (! (= @p_73 @p_29) :named @p_78))) :rule cong :premises (t2.t2.t10 t2.t2.t15)) (anchor :step t2.t2.t17 :args ((:= (?v3 E$) veriT_vr7) (:= (?v4 D$) veriT_vr8))) (step t2.t2.t17.t1 (cl @p_50) :rule refl) (step t2.t2.t17.t2 (cl @p_81) :rule cong :premises (t2.t2.t17.t1)) (step t2.t2.t17.t3 (cl @p_72) :rule refl) (step t2.t2.t17.t4 (cl @p_82) :rule cong :premises (t2.t2.t17.t2 t2.t2.t17.t3)) (step t2.t2.t17.t5 (cl (! (= ?v3 veriT_vr7) :named @p_84)) :rule refl) (step t2.t2.t17.t6 (cl (! (= ?v4 veriT_vr8) :named @p_85)) :rule refl) (step t2.t2.t17.t7 (cl (! (= @p_8 (! (pair$a veriT_vr7 veriT_vr8) :named @p_32)) :named @p_86)) :rule cong :premises (t2.t2.t17.t5 t2.t2.t17.t6)) (step t2.t2.t17.t8 (cl (! (= @p_20 (! (is_res$a @p_30 @p_32) :named @p_83)) :named @p_186)) :rule cong :premises (t2.t2.t17.t4 t2.t2.t17.t7)) (step t2.t2.t17.t9 (cl @p_42) :rule refl) (step t2.t2.t17.t10 (cl @p_74) :rule cong :premises (t2.t2.t17.t9)) (step t2.t2.t17.t11 (cl @p_72) :rule refl) (step t2.t2.t17.t12 (cl @p_75) :rule cong :premises (t2.t2.t17.t10 t2.t2.t17.t11)) (step t2.t2.t17.t13 (cl @p_84) :rule refl) (step t2.t2.t17.t14 (cl @p_85) :rule refl) (step t2.t2.t17.t15 (cl @p_86) :rule cong :premises (t2.t2.t17.t13 t2.t2.t17.t14)) (step t2.t2.t17.t16 (cl (! (= @p_18 (! (is_res$a @p_31 @p_32) :named @p_87)) :named @p_175)) :rule cong :premises (t2.t2.t17.t12 t2.t2.t17.t15)) (step t2.t2.t17.t17 (cl (= @p_88 (! (= @p_83 @p_87) :named @p_89))) :rule cong :premises (t2.t2.t17.t8 t2.t2.t17.t16)) (step t2.t2.t17 (cl (= @p_79 (! (forall ((veriT_vr7 E$) (veriT_vr8 D$)) @p_89) :named @p_80))) :rule bind) (step t2.t2.t18 (cl (= @p_90 (! (and @p_78 @p_80) :named @p_91))) :rule cong :premises (t2.t2.t16 t2.t2.t17)) (step t2.t2.t19 (cl (= @p_92 (! (or @p_29 @p_91) :named @p_93))) :rule cong :premises (t2.t2.t5 t2.t2.t18)) (step t2.t2 (cl (= @p_66 (! (forall ((veriT_vr6 D$)) @p_93) :named @p_67))) :rule bind) (step t2.t3 (cl (= @p_94 (! (=> @p_33 @p_67) :named @p_95))) :rule cong :premises (t2.t1 t2.t2)) (step t2 (cl (= @p_24 (! (forall ((veriT_vr0 A_b_c_M_state_fun$) (veriT_vr1 A_b_c_M_state_fun$)) @p_95) :named @p_159))) :rule bind) (anchor :step t3 :args ((:= (?v0 E$) veriT_vr7) (:= (?v1 A_b_c_M_state_fun$) veriT_vr0) (:= (?v2 A_b_c_M_state_fun$) veriT_vr1))) (anchor :step t3.t1 :args ((:= (?v3 A$) veriT_vr2) (:= (?v4 C$) veriT_vr3))) (step t3.t1.t1 (cl (! (= ?v1 veriT_vr0) :named @p_107)) :rule refl) (step t3.t1.t2 (cl (! (= ?v3 veriT_vr2) :named @p_103)) :rule refl) (step t3.t1.t3 (cl (! (= @p_102 @p_35) :named @p_108)) :rule cong :premises (t3.t1.t1 t3.t1.t2)) (step t3.t1.t4 (cl (! (= ?v4 veriT_vr3) :named @p_105)) :rule refl) (step t3.t1.t5 (cl (! (= @p_11 @p_27) :named @p_109)) :rule cong :premises (t3.t1.t3 t3.t1.t4)) (step t3.t1.t6 (cl (! (= @p_9 @p_25) :named @p_110)) :rule cong :premises (t3.t1.t5)) (step t3.t1.t7 (cl (! (= ?v2 veriT_vr1) :named @p_113)) :rule refl) (step t3.t1.t8 (cl @p_103) :rule refl) (step t3.t1.t9 (cl (! (= @p_104 @p_38) :named @p_114)) :rule cong :premises (t3.t1.t7 t3.t1.t8)) (step t3.t1.t10 (cl @p_105) :rule refl) (step t3.t1.t11 (cl (! (= @p_10 @p_26) :named @p_115)) :rule cong :premises (t3.t1.t9 t3.t1.t10)) (step t3.t1.t12 (cl (= @p_106 @p_41)) :rule cong :premises (t3.t1.t11)) (step t3.t1.t13 (cl @p_107) :rule refl) (step t3.t1.t14 (cl @p_103) :rule refl) (step t3.t1.t15 (cl @p_108) :rule cong :premises (t3.t1.t13 t3.t1.t14)) (step t3.t1.t16 (cl @p_105) :rule refl) (step t3.t1.t17 (cl @p_109) :rule cong :premises (t3.t1.t15 t3.t1.t16)) (step t3.t1.t18 (cl @p_110) :rule cong :premises (t3.t1.t17)) (step t3.t1.t19 (cl (= @p_111 @p_47)) :rule cong :premises (t3.t1.t12 t3.t1.t18)) (anchor :step t3.t1.t20 :args ((:= (?v5 B$) veriT_vr4) (:= (?v6 C$) veriT_vr5))) (step t3.t1.t20.t1 (cl @p_113) :rule refl) (step t3.t1.t20.t2 (cl @p_103) :rule refl) (step t3.t1.t20.t3 (cl @p_114) :rule cong :premises (t3.t1.t20.t1 t3.t1.t20.t2)) (step t3.t1.t20.t4 (cl @p_105) :rule refl) (step t3.t1.t20.t5 (cl @p_115) :rule cong :premises (t3.t1.t20.t3 t3.t1.t20.t4)) (step t3.t1.t20.t6 (cl (! (= ?v5 veriT_vr4) :named @p_117)) :rule refl) (step t3.t1.t20.t7 (cl (! (= ?v6 veriT_vr5) :named @p_118)) :rule refl) (step t3.t1.t20.t8 (cl (! (= @p_12 @p_28) :named @p_119)) :rule cong :premises (t3.t1.t20.t6 t3.t1.t20.t7)) (step t3.t1.t20.t9 (cl (= @p_116 @p_54)) :rule cong :premises (t3.t1.t20.t5 t3.t1.t20.t8)) (step t3.t1.t20.t10 (cl @p_107) :rule refl) (step t3.t1.t20.t11 (cl @p_103) :rule refl) (step t3.t1.t20.t12 (cl @p_108) :rule cong :premises (t3.t1.t20.t10 t3.t1.t20.t11)) (step t3.t1.t20.t13 (cl @p_105) :rule refl) (step t3.t1.t20.t14 (cl @p_109) :rule cong :premises (t3.t1.t20.t12 t3.t1.t20.t13)) (step t3.t1.t20.t15 (cl @p_117) :rule refl) (step t3.t1.t20.t16 (cl @p_118) :rule refl) (step t3.t1.t20.t17 (cl @p_119) :rule cong :premises (t3.t1.t20.t15 t3.t1.t20.t16)) (step t3.t1.t20.t18 (cl (= @p_120 @p_59)) :rule cong :premises (t3.t1.t20.t14 t3.t1.t20.t17)) (step t3.t1.t20.t19 (cl (= @p_121 @p_61)) :rule cong :premises (t3.t1.t20.t9 t3.t1.t20.t18)) (step t3.t1.t20 (cl (= @p_112 @p_49)) :rule bind) (step t3.t1.t21 (cl (= @p_122 @p_63)) :rule cong :premises (t3.t1.t19 t3.t1.t20)) (step t3.t1.t22 (cl (= @p_123 @p_65)) :rule cong :premises (t3.t1.t6 t3.t1.t21)) (step t3.t1 (cl (= @p_101 @p_33)) :rule bind) (anchor :step t3.t2 :args ((:= (?v3 D$) veriT_vr6))) (step t3.t2.t1 (cl (! (= ?v0 veriT_vr7) :named @p_128)) :rule refl) (step t3.t2.t2 (cl @p_107) :rule refl) (step t3.t2.t3 (cl (! (= @p_126 (! (c$ veriT_vr7 veriT_vr0) :named @p_127)) :named @p_134)) :rule cong :premises (t3.t2.t1 t3.t2.t2)) (step t3.t2.t4 (cl (! (= ?v3 veriT_vr6) :named @p_131)) :rule refl) (step t3.t2.t5 (cl (! (= @p_15 (! (run$b @p_127 veriT_vr6) :named @p_99)) :named @p_135)) :rule cong :premises (t3.t2.t3 t3.t2.t4)) (step t3.t2.t6 (cl (! (= @p_13 (! (is_fail$b @p_99) :named @p_97)) :named @p_136)) :rule cong :premises (t3.t2.t5)) (step t3.t2.t7 (cl @p_128) :rule refl) (step t3.t2.t8 (cl @p_113) :rule refl) (step t3.t2.t9 (cl (! (= @p_129 (! (c$ veriT_vr7 veriT_vr1) :named @p_130)) :named @p_141)) :rule cong :premises (t3.t2.t7 t3.t2.t8)) (step t3.t2.t10 (cl @p_131) :rule refl) (step t3.t2.t11 (cl (! (= @p_14 (! (run$b @p_130 veriT_vr6) :named @p_98)) :named @p_142)) :rule cong :premises (t3.t2.t9 t3.t2.t10)) (step t3.t2.t12 (cl (= @p_132 (! (is_fail$b @p_98) :named @p_133))) :rule cong :premises (t3.t2.t11)) (step t3.t2.t13 (cl @p_128) :rule refl) (step t3.t2.t14 (cl @p_107) :rule refl) (step t3.t2.t15 (cl @p_134) :rule cong :premises (t3.t2.t13 t3.t2.t14)) (step t3.t2.t16 (cl @p_131) :rule refl) (step t3.t2.t17 (cl @p_135) :rule cong :premises (t3.t2.t15 t3.t2.t16)) (step t3.t2.t18 (cl @p_136) :rule cong :premises (t3.t2.t17)) (step t3.t2.t19 (cl (= @p_137 (! (= @p_133 @p_97) :named @p_138))) :rule cong :premises (t3.t2.t12 t3.t2.t18)) (anchor :step t3.t2.t20 :args ((:= (?v4 F$) veriT_vr9) (:= (?v5 D$) veriT_vr8))) (step t3.t2.t20.t1 (cl @p_128) :rule refl) (step t3.t2.t20.t2 (cl @p_113) :rule refl) (step t3.t2.t20.t3 (cl @p_141) :rule cong :premises (t3.t2.t20.t1 t3.t2.t20.t2)) (step t3.t2.t20.t4 (cl @p_131) :rule refl) (step t3.t2.t20.t5 (cl @p_142) :rule cong :premises (t3.t2.t20.t3 t3.t2.t20.t4)) (step t3.t2.t20.t6 (cl (! (= ?v4 veriT_vr9) :named @p_145)) :rule refl) (step t3.t2.t20.t7 (cl (! (= ?v5 veriT_vr8) :named @p_146)) :rule refl) (step t3.t2.t20.t8 (cl (! (= @p_16 (! (pair$b veriT_vr9 veriT_vr8) :named @p_100)) :named @p_147)) :rule cong :premises (t3.t2.t20.t6 t3.t2.t20.t7)) (step t3.t2.t20.t9 (cl (= @p_143 (! (is_res$b @p_98 @p_100) :named @p_144))) :rule cong :premises (t3.t2.t20.t5 t3.t2.t20.t8)) (step t3.t2.t20.t10 (cl @p_128) :rule refl) (step t3.t2.t20.t11 (cl @p_107) :rule refl) (step t3.t2.t20.t12 (cl @p_134) :rule cong :premises (t3.t2.t20.t10 t3.t2.t20.t11)) (step t3.t2.t20.t13 (cl @p_131) :rule refl) (step t3.t2.t20.t14 (cl @p_135) :rule cong :premises (t3.t2.t20.t12 t3.t2.t20.t13)) (step t3.t2.t20.t15 (cl @p_145) :rule refl) (step t3.t2.t20.t16 (cl @p_146) :rule refl) (step t3.t2.t20.t17 (cl @p_147) :rule cong :premises (t3.t2.t20.t15 t3.t2.t20.t16)) (step t3.t2.t20.t18 (cl (= @p_148 (! (is_res$b @p_99 @p_100) :named @p_149))) :rule cong :premises (t3.t2.t20.t14 t3.t2.t20.t17)) (step t3.t2.t20.t19 (cl (= @p_150 (! (= @p_144 @p_149) :named @p_151))) :rule cong :premises (t3.t2.t20.t9 t3.t2.t20.t18)) (step t3.t2.t20 (cl (= @p_139 (! (forall ((veriT_vr9 F$) (veriT_vr8 D$)) @p_151) :named @p_140))) :rule bind) (step t3.t2.t21 (cl (= @p_152 (! (and @p_138 @p_140) :named @p_153))) :rule cong :premises (t3.t2.t19 t3.t2.t20)) (step t3.t2.t22 (cl (= @p_154 (! (or @p_97 @p_153) :named @p_155))) :rule cong :premises (t3.t2.t6 t3.t2.t21)) (step t3.t2 (cl (= @p_124 (! (forall ((veriT_vr6 D$)) @p_155) :named @p_125))) :rule bind) (step t3.t3 (cl (= @p_156 (! (=> @p_33 @p_125) :named @p_157))) :rule cong :premises (t3.t1 t3.t2)) (step t3 (cl (= @p_96 (! (forall ((veriT_vr7 E$) (veriT_vr0 A_b_c_M_state_fun$) (veriT_vr1 A_b_c_M_state_fun$)) @p_157) :named @p_160))) :rule bind) (step t4 (cl (= @p_158 (! (and @p_159 @p_160) :named @p_249))) :rule cong :premises (t2 t3)) (anchor :step t5 :args ((:= (?v0 A_b_c_M_state_fun$) veriT_vr0) (:= (?v1 A_b_c_M_state_fun$) veriT_vr1))) (anchor :step t5.t1 :args ((:= (?v2 A$) veriT_vr2) (:= (?v3 C$) veriT_vr3))) (step t5.t1.t1 (cl @p_42) :rule refl) (step t5.t1.t2 (cl @p_36) :rule refl) (step t5.t1.t3 (cl @p_43) :rule cong :premises (t5.t1.t1 t5.t1.t2)) (step t5.t1.t4 (cl @p_39) :rule refl) (step t5.t1.t5 (cl @p_44) :rule cong :premises (t5.t1.t3 t5.t1.t4)) (step t5.t1.t6 (cl @p_45) :rule cong :premises (t5.t1.t5)) (step t5.t1.t7 (cl @p_50) :rule refl) (step t5.t1.t8 (cl @p_36) :rule refl) (step t5.t1.t9 (cl @p_51) :rule cong :premises (t5.t1.t7 t5.t1.t8)) (step t5.t1.t10 (cl @p_39) :rule refl) (step t5.t1.t11 (cl @p_52) :rule cong :premises (t5.t1.t9 t5.t1.t10)) (step t5.t1.t12 (cl @p_165) :rule cong :premises (t5.t1.t11)) (step t5.t1.t13 (cl @p_42) :rule refl) (step t5.t1.t14 (cl @p_36) :rule refl) (step t5.t1.t15 (cl @p_43) :rule cong :premises (t5.t1.t13 t5.t1.t14)) (step t5.t1.t16 (cl @p_39) :rule refl) (step t5.t1.t17 (cl @p_44) :rule cong :premises (t5.t1.t15 t5.t1.t16)) (step t5.t1.t18 (cl @p_45) :rule cong :premises (t5.t1.t17)) (step t5.t1.t19 (cl @p_166) :rule cong :premises (t5.t1.t12 t5.t1.t18)) (anchor :step t5.t1.t20 :args ((:= (?v4 B$) veriT_vr4) (:= (?v5 C$) veriT_vr5))) (step t5.t1.t20.t1 (cl @p_50) :rule refl) (step t5.t1.t20.t2 (cl @p_36) :rule refl) (step t5.t1.t20.t3 (cl @p_51) :rule cong :premises (t5.t1.t20.t1 t5.t1.t20.t2)) (step t5.t1.t20.t4 (cl @p_39) :rule refl) (step t5.t1.t20.t5 (cl @p_52) :rule cong :premises (t5.t1.t20.t3 t5.t1.t20.t4)) (step t5.t1.t20.t6 (cl @p_55) :rule refl) (step t5.t1.t20.t7 (cl @p_56) :rule refl) (step t5.t1.t20.t8 (cl @p_57) :rule cong :premises (t5.t1.t20.t6 t5.t1.t20.t7)) (step t5.t1.t20.t9 (cl @p_168) :rule cong :premises (t5.t1.t20.t5 t5.t1.t20.t8)) (step t5.t1.t20.t10 (cl @p_42) :rule refl) (step t5.t1.t20.t11 (cl @p_36) :rule refl) (step t5.t1.t20.t12 (cl @p_43) :rule cong :premises (t5.t1.t20.t10 t5.t1.t20.t11)) (step t5.t1.t20.t13 (cl @p_39) :rule refl) (step t5.t1.t20.t14 (cl @p_44) :rule cong :premises (t5.t1.t20.t12 t5.t1.t20.t13)) (step t5.t1.t20.t15 (cl @p_55) :rule refl) (step t5.t1.t20.t16 (cl @p_56) :rule refl) (step t5.t1.t20.t17 (cl @p_57) :rule cong :premises (t5.t1.t20.t15 t5.t1.t20.t16)) (step t5.t1.t20.t18 (cl @p_169) :rule cong :premises (t5.t1.t20.t14 t5.t1.t20.t17)) (step t5.t1.t20.t19 (cl @p_170) :rule cong :premises (t5.t1.t20.t9 t5.t1.t20.t18)) (step t5.t1.t20 (cl @p_167) :rule bind) (step t5.t1.t21 (cl @p_171) :rule cong :premises (t5.t1.t19 t5.t1.t20)) (step t5.t1.t22 (cl @p_172) :rule cong :premises (t5.t1.t6 t5.t1.t21)) (step t5.t1 (cl @p_164) :rule bind) (anchor :step t5.t2 :args ((:= (?v2 D$) veriT_vr6))) (step t5.t2.t1 (cl @p_42) :rule refl) (step t5.t2.t2 (cl @p_74) :rule cong :premises (t5.t2.t1)) (step t5.t2.t3 (cl @p_72) :rule refl) (step t5.t2.t4 (cl @p_75) :rule cong :premises (t5.t2.t2 t5.t2.t3)) (step t5.t2.t5 (cl @p_76) :rule cong :premises (t5.t2.t4)) (anchor :step t5.t2.t6 :args ((:= (?v3 E$) veriT_vr7) (:= (?v4 D$) veriT_vr8))) (step t5.t2.t6.t1 (cl @p_42) :rule refl) (step t5.t2.t6.t2 (cl @p_74) :rule cong :premises (t5.t2.t6.t1)) (step t5.t2.t6.t3 (cl @p_72) :rule refl) (step t5.t2.t6.t4 (cl @p_75) :rule cong :premises (t5.t2.t6.t2 t5.t2.t6.t3)) (step t5.t2.t6.t5 (cl @p_84) :rule refl) (step t5.t2.t6.t6 (cl @p_85) :rule refl) (step t5.t2.t6.t7 (cl @p_86) :rule cong :premises (t5.t2.t6.t5 t5.t2.t6.t6)) (step t5.t2.t6.t8 (cl @p_175) :rule cong :premises (t5.t2.t6.t4 t5.t2.t6.t7)) (step t5.t2.t6.t9 (cl @p_84) :rule refl) (step t5.t2.t6.t10 (cl @p_42) :rule refl) (step t5.t2.t6.t11 (cl (! (= @p_176 @p_127) :named @p_197)) :rule cong :premises (t5.t2.t6.t9 t5.t2.t6.t10)) (step t5.t2.t6.t12 (cl @p_85) :rule refl) (step t5.t2.t6.t13 (cl (! (= @p_177 (! (run$b @p_127 veriT_vr8) :named @p_178)) :named @p_198)) :rule cong :premises (t5.t2.t6.t11 t5.t2.t6.t12)) (step t5.t2.t6.t14 (cl (! (= @p_179 (! (is_fail$b @p_178) :named @p_180)) :named @p_199)) :rule cong :premises (t5.t2.t6.t13)) (step t5.t2.t6.t15 (cl (! (= @p_181 (! (and @p_87 @p_180) :named @p_182)) :named @p_200)) :rule cong :premises (t5.t2.t6.t8 t5.t2.t6.t14)) (step t5.t2.t6 (cl (! (= @p_21 (! (exists ((veriT_vr7 E$) (veriT_vr8 D$)) @p_182) :named @p_162)) :named @p_196)) :rule bind) (step t5.t2.t7 (cl @p_50) :rule refl) (step t5.t2.t8 (cl @p_81) :rule cong :premises (t5.t2.t7)) (step t5.t2.t9 (cl @p_72) :rule refl) (step t5.t2.t10 (cl @p_82) :rule cong :premises (t5.t2.t8 t5.t2.t9)) (step t5.t2.t11 (cl @p_183) :rule cong :premises (t5.t2.t10)) (anchor :step t5.t2.t12 :args ((:= (?v3 E$) veriT_vr7) (:= (?v4 D$) veriT_vr8))) (step t5.t2.t12.t1 (cl @p_50) :rule refl) (step t5.t2.t12.t2 (cl @p_81) :rule cong :premises (t5.t2.t12.t1)) (step t5.t2.t12.t3 (cl @p_72) :rule refl) (step t5.t2.t12.t4 (cl @p_82) :rule cong :premises (t5.t2.t12.t2 t5.t2.t12.t3)) (step t5.t2.t12.t5 (cl @p_84) :rule refl) (step t5.t2.t12.t6 (cl @p_85) :rule refl) (step t5.t2.t12.t7 (cl @p_86) :rule cong :premises (t5.t2.t12.t5 t5.t2.t12.t6)) (step t5.t2.t12.t8 (cl @p_186) :rule cong :premises (t5.t2.t12.t4 t5.t2.t12.t7)) (step t5.t2.t12.t9 (cl @p_84) :rule refl) (step t5.t2.t12.t10 (cl @p_50) :rule refl) (step t5.t2.t12.t11 (cl (= @p_187 @p_130)) :rule cong :premises (t5.t2.t12.t9 t5.t2.t12.t10)) (step t5.t2.t12.t12 (cl @p_85) :rule refl) (step t5.t2.t12.t13 (cl (= @p_188 (! (run$b @p_130 veriT_vr8) :named @p_189))) :rule cong :premises (t5.t2.t12.t11 t5.t2.t12.t12)) (step t5.t2.t12.t14 (cl (= @p_190 (! (is_fail$b @p_189) :named @p_191))) :rule cong :premises (t5.t2.t12.t13)) (step t5.t2.t12.t15 (cl (= @p_192 (! (and @p_83 @p_191) :named @p_193))) :rule cong :premises (t5.t2.t12.t8 t5.t2.t12.t14)) (step t5.t2.t12 (cl (= @p_184 (! (exists ((veriT_vr7 E$) (veriT_vr8 D$)) @p_193) :named @p_185))) :rule bind) (step t5.t2.t13 (cl (= @p_194 (! (or @p_73 @p_185) :named @p_195))) :rule cong :premises (t5.t2.t11 t5.t2.t12)) (step t5.t2.t14 (cl @p_42) :rule refl) (step t5.t2.t15 (cl @p_74) :rule cong :premises (t5.t2.t14)) (step t5.t2.t16 (cl @p_72) :rule refl) (step t5.t2.t17 (cl @p_75) :rule cong :premises (t5.t2.t15 t5.t2.t16)) (step t5.t2.t18 (cl @p_76) :rule cong :premises (t5.t2.t17)) (anchor :step t5.t2.t19 :args ((:= (?v3 E$) veriT_vr7) (:= (?v4 D$) veriT_vr8))) (step t5.t2.t19.t1 (cl @p_42) :rule refl) (step t5.t2.t19.t2 (cl @p_74) :rule cong :premises (t5.t2.t19.t1)) (step t5.t2.t19.t3 (cl @p_72) :rule refl) (step t5.t2.t19.t4 (cl @p_75) :rule cong :premises (t5.t2.t19.t2 t5.t2.t19.t3)) (step t5.t2.t19.t5 (cl @p_84) :rule refl) (step t5.t2.t19.t6 (cl @p_85) :rule refl) (step t5.t2.t19.t7 (cl @p_86) :rule cong :premises (t5.t2.t19.t5 t5.t2.t19.t6)) (step t5.t2.t19.t8 (cl @p_175) :rule cong :premises (t5.t2.t19.t4 t5.t2.t19.t7)) (step t5.t2.t19.t9 (cl @p_84) :rule refl) (step t5.t2.t19.t10 (cl @p_42) :rule refl) (step t5.t2.t19.t11 (cl @p_197) :rule cong :premises (t5.t2.t19.t9 t5.t2.t19.t10)) (step t5.t2.t19.t12 (cl @p_85) :rule refl) (step t5.t2.t19.t13 (cl @p_198) :rule cong :premises (t5.t2.t19.t11 t5.t2.t19.t12)) (step t5.t2.t19.t14 (cl @p_199) :rule cong :premises (t5.t2.t19.t13)) (step t5.t2.t19.t15 (cl @p_200) :rule cong :premises (t5.t2.t19.t8 t5.t2.t19.t14)) (step t5.t2.t19 (cl @p_196) :rule bind) (step t5.t2.t20 (cl (= @p_201 (! (or @p_29 @p_162) :named @p_202))) :rule cong :premises (t5.t2.t18 t5.t2.t19)) (step t5.t2.t21 (cl (= @p_203 (! (= @p_195 @p_202) :named @p_204))) :rule cong :premises (t5.t2.t13 t5.t2.t20)) (anchor :step t5.t2.t22 :args ((:= (?v3 F$) veriT_vr9) (:= (?v4 D$) veriT_vr8))) (step t5.t2.t22.t1 (cl @p_50) :rule refl) (step t5.t2.t22.t2 (cl @p_81) :rule cong :premises (t5.t2.t22.t1)) (step t5.t2.t22.t3 (cl @p_72) :rule refl) (step t5.t2.t22.t4 (cl @p_82) :rule cong :premises (t5.t2.t22.t2 t5.t2.t22.t3)) (step t5.t2.t22.t5 (cl @p_183) :rule cong :premises (t5.t2.t22.t4)) (anchor :step t5.t2.t22.t6 :args ((:= (?v5 E$) veriT_vr7) (:= (?v6 D$) veriT_vr10))) (step t5.t2.t22.t6.t1 (cl @p_50) :rule refl) (step t5.t2.t22.t6.t2 (cl @p_81) :rule cong :premises (t5.t2.t22.t6.t1)) (step t5.t2.t22.t6.t3 (cl @p_72) :rule refl) (step t5.t2.t22.t6.t4 (cl @p_82) :rule cong :premises (t5.t2.t22.t6.t2 t5.t2.t22.t6.t3)) (step t5.t2.t22.t6.t5 (cl (! (= ?v5 veriT_vr7) :named @p_211)) :rule refl) (step t5.t2.t22.t6.t6 (cl (! (= ?v6 veriT_vr10) :named @p_213)) :rule refl) (step t5.t2.t22.t6.t7 (cl (! (= @p_22 (! (pair$a veriT_vr7 veriT_vr10) :named @p_163)) :named @p_224)) :rule cong :premises (t5.t2.t22.t6.t5 t5.t2.t22.t6.t6)) (step t5.t2.t22.t6.t8 (cl (= @p_209 (! (is_res$a @p_30 @p_163) :named @p_210))) :rule cong :premises (t5.t2.t22.t6.t4 t5.t2.t22.t6.t7)) (step t5.t2.t22.t6.t9 (cl @p_211) :rule refl) (step t5.t2.t22.t6.t10 (cl @p_50) :rule refl) (step t5.t2.t22.t6.t11 (cl (= @p_212 @p_130)) :rule cong :premises (t5.t2.t22.t6.t9 t5.t2.t22.t6.t10)) (step t5.t2.t22.t6.t12 (cl @p_213) :rule refl) (step t5.t2.t22.t6.t13 (cl (= @p_214 (! (run$b @p_130 veriT_vr10) :named @p_215))) :rule cong :premises (t5.t2.t22.t6.t11 t5.t2.t22.t6.t12)) (step t5.t2.t22.t6.t14 (cl (! (= ?v3 veriT_vr9) :named @p_230)) :rule refl) (step t5.t2.t22.t6.t15 (cl @p_85) :rule refl) (step t5.t2.t22.t6.t16 (cl (! (= @p_23 @p_100) :named @p_231)) :rule cong :premises (t5.t2.t22.t6.t14 t5.t2.t22.t6.t15)) (step t5.t2.t22.t6.t17 (cl (= @p_216 (! (is_res$b @p_215 @p_100) :named @p_217))) :rule cong :premises (t5.t2.t22.t6.t13 t5.t2.t22.t6.t16)) (step t5.t2.t22.t6.t18 (cl (= @p_218 (! (and @p_210 @p_217) :named @p_219))) :rule cong :premises (t5.t2.t22.t6.t8 t5.t2.t22.t6.t17)) (step t5.t2.t22.t6 (cl (= @p_207 (! (exists ((veriT_vr7 E$) (veriT_vr10 D$)) @p_219) :named @p_208))) :rule bind) (step t5.t2.t22.t7 (cl (= @p_220 (! (or @p_73 @p_208) :named @p_221))) :rule cong :premises (t5.t2.t22.t5 t5.t2.t22.t6)) (step t5.t2.t22.t8 (cl @p_42) :rule refl) (step t5.t2.t22.t9 (cl @p_74) :rule cong :premises (t5.t2.t22.t8)) (step t5.t2.t22.t10 (cl @p_72) :rule refl) (step t5.t2.t22.t11 (cl @p_75) :rule cong :premises (t5.t2.t22.t9 t5.t2.t22.t10)) (step t5.t2.t22.t12 (cl @p_76) :rule cong :premises (t5.t2.t22.t11)) (anchor :step t5.t2.t22.t13 :args ((:= (?v5 E$) veriT_vr7) (:= (?v6 D$) veriT_vr10))) (step t5.t2.t22.t13.t1 (cl @p_42) :rule refl) (step t5.t2.t22.t13.t2 (cl @p_74) :rule cong :premises (t5.t2.t22.t13.t1)) (step t5.t2.t22.t13.t3 (cl @p_72) :rule refl) (step t5.t2.t22.t13.t4 (cl @p_75) :rule cong :premises (t5.t2.t22.t13.t2 t5.t2.t22.t13.t3)) (step t5.t2.t22.t13.t5 (cl @p_211) :rule refl) (step t5.t2.t22.t13.t6 (cl @p_213) :rule refl) (step t5.t2.t22.t13.t7 (cl @p_224) :rule cong :premises (t5.t2.t22.t13.t5 t5.t2.t22.t13.t6)) (step t5.t2.t22.t13.t8 (cl (= @p_225 (! (is_res$a @p_31 @p_163) :named @p_226))) :rule cong :premises (t5.t2.t22.t13.t4 t5.t2.t22.t13.t7)) (step t5.t2.t22.t13.t9 (cl @p_211) :rule refl) (step t5.t2.t22.t13.t10 (cl @p_42) :rule refl) (step t5.t2.t22.t13.t11 (cl (= @p_227 @p_127)) :rule cong :premises (t5.t2.t22.t13.t9 t5.t2.t22.t13.t10)) (step t5.t2.t22.t13.t12 (cl @p_213) :rule refl) (step t5.t2.t22.t13.t13 (cl (= @p_228 (! (run$b @p_127 veriT_vr10) :named @p_229))) :rule cong :premises (t5.t2.t22.t13.t11 t5.t2.t22.t13.t12)) (step t5.t2.t22.t13.t14 (cl @p_230) :rule refl) (step t5.t2.t22.t13.t15 (cl @p_85) :rule refl) (step t5.t2.t22.t13.t16 (cl @p_231) :rule cong :premises (t5.t2.t22.t13.t14 t5.t2.t22.t13.t15)) (step t5.t2.t22.t13.t17 (cl (= @p_232 (! (is_res$b @p_229 @p_100) :named @p_233))) :rule cong :premises (t5.t2.t22.t13.t13 t5.t2.t22.t13.t16)) (step t5.t2.t22.t13.t18 (cl (= @p_234 (! (and @p_226 @p_233) :named @p_235))) :rule cong :premises (t5.t2.t22.t13.t8 t5.t2.t22.t13.t17)) (step t5.t2.t22.t13 (cl (= @p_222 (! (exists ((veriT_vr7 E$) (veriT_vr10 D$)) @p_235) :named @p_223))) :rule bind) (step t5.t2.t22.t14 (cl (= @p_236 (! (or @p_29 @p_223) :named @p_237))) :rule cong :premises (t5.t2.t22.t12 t5.t2.t22.t13)) (step t5.t2.t22.t15 (cl (= @p_238 (! (= @p_221 @p_237) :named @p_239))) :rule cong :premises (t5.t2.t22.t7 t5.t2.t22.t14)) (step t5.t2.t22 (cl (= @p_205 (! (forall ((veriT_vr9 F$) (veriT_vr8 D$)) @p_239) :named @p_206))) :rule bind) (step t5.t2.t23 (cl (= @p_240 (! (and @p_204 @p_206) :named @p_241))) :rule cong :premises (t5.t2.t21 t5.t2.t22)) (step t5.t2.t24 (cl (= @p_242 (! (or @p_162 @p_241) :named @p_243))) :rule cong :premises (t5.t2.t6 t5.t2.t23)) (step t5.t2.t25 (cl (= @p_244 (! (or @p_29 @p_243) :named @p_245))) :rule cong :premises (t5.t2.t5 t5.t2.t24)) (step t5.t2 (cl (= @p_173 (! (forall ((veriT_vr6 D$)) @p_245) :named @p_174))) :rule bind) (step t5.t3 (cl (= @p_246 (! (=> @p_33 @p_174) :named @p_247))) :rule cong :premises (t5.t1 t5.t2)) (step t5 (cl (= @p_161 (! (forall ((veriT_vr0 A_b_c_M_state_fun$) (veriT_vr1 A_b_c_M_state_fun$)) @p_247) :named @p_250))) :rule bind) (step t6 (cl (= @p_248 (! (=> @p_249 @p_250) :named @p_252))) :rule cong :premises (t4 t5)) (step t7 (cl (! (= @p_251 (! (not @p_252) :named @p_254)) :named @p_253)) :rule cong :premises (t6)) (step t8 (cl (! (not @p_253) :named @p_256) (! (not @p_251) :named @p_255) @p_254) :rule equiv_pos2) (step t9 (cl (not @p_255) @p_248) :rule not_not) (step t10 (cl @p_256 @p_248 @p_254) :rule th_resolution :premises (t9 t8)) -(step t11 (cl @p_254) :rule th_resolution :premises (axiom0 t7 t10)) +(step t11 (cl @p_254) :rule th_resolution :premises (a0 t7 t10)) (step t12 (cl (! (= @p_254 (! (and @p_249 (! (not @p_250) :named @p_264)) :named @p_258)) :named @p_257)) :rule bool_simplify) (step t13 (cl (! (not @p_257) :named @p_260) (! (not @p_254) :named @p_259) @p_258) :rule equiv_pos2) (step t14 (cl (not @p_259) @p_252) :rule not_not) (step t15 (cl @p_260 @p_252 @p_258) :rule th_resolution :premises (t14 t13)) (step t16 (cl @p_258) :rule th_resolution :premises (t11 t12 t15)) (anchor :step t17 :args ((veriT_vr0 A_b_c_M_state_fun$) (veriT_vr1 A_b_c_M_state_fun$))) (anchor :step t17.t1 :args ((veriT_vr6 D$))) (step t17.t1.t1 (cl (= @p_245 (! (or @p_29 @p_162 @p_241) :named @p_262))) :rule ac_simp) (step t17.t1 (cl (= @p_174 (! (forall ((veriT_vr6 D$)) @p_262) :named @p_261))) :rule bind) (step t17.t2 (cl (= @p_247 (! (=> @p_33 @p_261) :named @p_263))) :rule cong :premises (t17.t1)) (step t17 (cl (= @p_250 (! (forall ((veriT_vr0 A_b_c_M_state_fun$) (veriT_vr1 A_b_c_M_state_fun$)) @p_263) :named @p_265))) :rule bind) (step t18 (cl (= @p_264 (! (not @p_265) :named @p_266))) :rule cong :premises (t17)) (step t19 (cl (! (= @p_258 (! (and @p_159 @p_160 @p_266) :named @p_268)) :named @p_267)) :rule ac_simp :premises (t18)) (step t20 (cl (not @p_267) (not @p_258) @p_268) :rule equiv_pos2) (step t21 (cl @p_268) :rule th_resolution :premises (t16 t19 t20)) (anchor :step t22 :args ((:= (veriT_vr7 E$) veriT_vr11) (:= (veriT_vr0 A_b_c_M_state_fun$) veriT_vr12) (:= (veriT_vr1 A_b_c_M_state_fun$) veriT_vr13))) (anchor :step t22.t1 :args ((:= (veriT_vr2 A$) veriT_vr14) (:= (veriT_vr3 C$) veriT_vr15))) (step t22.t1.t1 (cl (! (= veriT_vr0 veriT_vr12) :named @p_283)) :rule refl) (step t22.t1.t2 (cl (! (= veriT_vr2 veriT_vr14) :named @p_279)) :rule refl) (step t22.t1.t3 (cl (! (= @p_35 (! (fun_app$ veriT_vr12 veriT_vr14) :named @p_278)) :named @p_284)) :rule cong :premises (t22.t1.t1 t22.t1.t2)) (step t22.t1.t4 (cl (! (= veriT_vr3 veriT_vr15) :named @p_281)) :rule refl) (step t22.t1.t5 (cl (! (= @p_27 (! (run$ @p_278 veriT_vr15) :named @p_271)) :named @p_285)) :rule cong :premises (t22.t1.t3 t22.t1.t4)) (step t22.t1.t6 (cl (! (= @p_25 (! (is_fail$ @p_271) :named @p_269)) :named @p_286)) :rule cong :premises (t22.t1.t5)) (step t22.t1.t7 (cl (! (= veriT_vr1 veriT_vr13) :named @p_289)) :rule refl) (step t22.t1.t8 (cl @p_279) :rule refl) (step t22.t1.t9 (cl (! (= @p_38 (! (fun_app$ veriT_vr13 veriT_vr14) :named @p_280)) :named @p_290)) :rule cong :premises (t22.t1.t7 t22.t1.t8)) (step t22.t1.t10 (cl @p_281) :rule refl) (step t22.t1.t11 (cl (! (= @p_26 (! (run$ @p_280 veriT_vr15) :named @p_270)) :named @p_291)) :rule cong :premises (t22.t1.t9 t22.t1.t10)) (step t22.t1.t12 (cl (= @p_41 (! (is_fail$ @p_270) :named @p_282))) :rule cong :premises (t22.t1.t11)) (step t22.t1.t13 (cl @p_283) :rule refl) (step t22.t1.t14 (cl @p_279) :rule refl) (step t22.t1.t15 (cl @p_284) :rule cong :premises (t22.t1.t13 t22.t1.t14)) (step t22.t1.t16 (cl @p_281) :rule refl) (step t22.t1.t17 (cl @p_285) :rule cong :premises (t22.t1.t15 t22.t1.t16)) (step t22.t1.t18 (cl @p_286) :rule cong :premises (t22.t1.t17)) (step t22.t1.t19 (cl (= @p_47 (! (= @p_282 @p_269) :named @p_287))) :rule cong :premises (t22.t1.t12 t22.t1.t18)) (anchor :step t22.t1.t20 :args ((:= (veriT_vr4 B$) veriT_vr16) (:= (veriT_vr5 C$) veriT_vr17))) (step t22.t1.t20.t1 (cl @p_289) :rule refl) (step t22.t1.t20.t2 (cl @p_279) :rule refl) (step t22.t1.t20.t3 (cl @p_290) :rule cong :premises (t22.t1.t20.t1 t22.t1.t20.t2)) (step t22.t1.t20.t4 (cl @p_281) :rule refl) (step t22.t1.t20.t5 (cl @p_291) :rule cong :premises (t22.t1.t20.t3 t22.t1.t20.t4)) (step t22.t1.t20.t6 (cl (! (= veriT_vr4 veriT_vr16) :named @p_293)) :rule refl) (step t22.t1.t20.t7 (cl (! (= veriT_vr5 veriT_vr17) :named @p_294)) :rule refl) (step t22.t1.t20.t8 (cl (! (= @p_28 (! (pair$ veriT_vr16 veriT_vr17) :named @p_272)) :named @p_295)) :rule cong :premises (t22.t1.t20.t6 t22.t1.t20.t7)) (step t22.t1.t20.t9 (cl (= @p_54 (! (is_res$ @p_270 @p_272) :named @p_292))) :rule cong :premises (t22.t1.t20.t5 t22.t1.t20.t8)) (step t22.t1.t20.t10 (cl @p_283) :rule refl) (step t22.t1.t20.t11 (cl @p_279) :rule refl) (step t22.t1.t20.t12 (cl @p_284) :rule cong :premises (t22.t1.t20.t10 t22.t1.t20.t11)) (step t22.t1.t20.t13 (cl @p_281) :rule refl) (step t22.t1.t20.t14 (cl @p_285) :rule cong :premises (t22.t1.t20.t12 t22.t1.t20.t13)) (step t22.t1.t20.t15 (cl @p_293) :rule refl) (step t22.t1.t20.t16 (cl @p_294) :rule refl) (step t22.t1.t20.t17 (cl @p_295) :rule cong :premises (t22.t1.t20.t15 t22.t1.t20.t16)) (step t22.t1.t20.t18 (cl (= @p_59 (! (is_res$ @p_271 @p_272) :named @p_296))) :rule cong :premises (t22.t1.t20.t14 t22.t1.t20.t17)) (step t22.t1.t20.t19 (cl (= @p_61 (! (= @p_292 @p_296) :named @p_297))) :rule cong :premises (t22.t1.t20.t9 t22.t1.t20.t18)) (step t22.t1.t20 (cl (= @p_49 (! (forall ((veriT_vr16 B$) (veriT_vr17 C$)) @p_297) :named @p_288))) :rule bind) (step t22.t1.t21 (cl (= @p_63 (! (and @p_287 @p_288) :named @p_298))) :rule cong :premises (t22.t1.t19 t22.t1.t20)) (step t22.t1.t22 (cl (= @p_65 (! (or @p_269 @p_298) :named @p_299))) :rule cong :premises (t22.t1.t6 t22.t1.t21)) (step t22.t1 (cl (= @p_33 (! (forall ((veriT_vr14 A$) (veriT_vr15 C$)) @p_299) :named @p_277))) :rule bind) (anchor :step t22.t2 :args ((:= (veriT_vr6 D$) veriT_vr10))) (step t22.t2.t1 (cl (! (= veriT_vr7 veriT_vr11) :named @p_302)) :rule refl) (step t22.t2.t2 (cl @p_283) :rule refl) (step t22.t2.t3 (cl (! (= @p_127 (! (c$ veriT_vr11 veriT_vr12) :named @p_301)) :named @p_306)) :rule cong :premises (t22.t2.t1 t22.t2.t2)) (step t22.t2.t4 (cl (! (= veriT_vr6 veriT_vr10) :named @p_304)) :rule refl) (step t22.t2.t5 (cl (! (= @p_99 (! (run$b @p_301 veriT_vr10) :named @p_275)) :named @p_307)) :rule cong :premises (t22.t2.t3 t22.t2.t4)) (step t22.t2.t6 (cl (! (= @p_97 (! (is_fail$b @p_275) :named @p_273)) :named @p_308)) :rule cong :premises (t22.t2.t5)) (step t22.t2.t7 (cl @p_302) :rule refl) (step t22.t2.t8 (cl @p_289) :rule refl) (step t22.t2.t9 (cl (! (= @p_130 (! (c$ veriT_vr11 veriT_vr13) :named @p_303)) :named @p_311)) :rule cong :premises (t22.t2.t7 t22.t2.t8)) (step t22.t2.t10 (cl @p_304) :rule refl) (step t22.t2.t11 (cl (! (= @p_98 (! (run$b @p_303 veriT_vr10) :named @p_274)) :named @p_312)) :rule cong :premises (t22.t2.t9 t22.t2.t10)) (step t22.t2.t12 (cl (= @p_133 (! (is_fail$b @p_274) :named @p_305))) :rule cong :premises (t22.t2.t11)) (step t22.t2.t13 (cl @p_302) :rule refl) (step t22.t2.t14 (cl @p_283) :rule refl) (step t22.t2.t15 (cl @p_306) :rule cong :premises (t22.t2.t13 t22.t2.t14)) (step t22.t2.t16 (cl @p_304) :rule refl) (step t22.t2.t17 (cl @p_307) :rule cong :premises (t22.t2.t15 t22.t2.t16)) (step t22.t2.t18 (cl @p_308) :rule cong :premises (t22.t2.t17)) (step t22.t2.t19 (cl (= @p_138 (! (= @p_305 @p_273) :named @p_309))) :rule cong :premises (t22.t2.t12 t22.t2.t18)) (anchor :step t22.t2.t20 :args ((:= (veriT_vr9 F$) veriT_vr9) (:= (veriT_vr8 D$) veriT_vr18))) (step t22.t2.t20.t1 (cl @p_302) :rule refl) (step t22.t2.t20.t2 (cl @p_289) :rule refl) (step t22.t2.t20.t3 (cl @p_311) :rule cong :premises (t22.t2.t20.t1 t22.t2.t20.t2)) (step t22.t2.t20.t4 (cl @p_304) :rule refl) (step t22.t2.t20.t5 (cl @p_312) :rule cong :premises (t22.t2.t20.t3 t22.t2.t20.t4)) (step t22.t2.t20.t6 (cl (! (= veriT_vr8 veriT_vr18) :named @p_314)) :rule refl) (step t22.t2.t20.t7 (cl (! (= @p_100 (! (pair$b veriT_vr9 veriT_vr18) :named @p_276)) :named @p_315)) :rule cong :premises (t22.t2.t20.t6)) (step t22.t2.t20.t8 (cl (= @p_144 (! (is_res$b @p_274 @p_276) :named @p_313))) :rule cong :premises (t22.t2.t20.t5 t22.t2.t20.t7)) (step t22.t2.t20.t9 (cl @p_302) :rule refl) (step t22.t2.t20.t10 (cl @p_283) :rule refl) (step t22.t2.t20.t11 (cl @p_306) :rule cong :premises (t22.t2.t20.t9 t22.t2.t20.t10)) (step t22.t2.t20.t12 (cl @p_304) :rule refl) (step t22.t2.t20.t13 (cl @p_307) :rule cong :premises (t22.t2.t20.t11 t22.t2.t20.t12)) (step t22.t2.t20.t14 (cl @p_314) :rule refl) (step t22.t2.t20.t15 (cl @p_315) :rule cong :premises (t22.t2.t20.t14)) (step t22.t2.t20.t16 (cl (= @p_149 (! (is_res$b @p_275 @p_276) :named @p_316))) :rule cong :premises (t22.t2.t20.t13 t22.t2.t20.t15)) (step t22.t2.t20.t17 (cl (= @p_151 (! (= @p_313 @p_316) :named @p_317))) :rule cong :premises (t22.t2.t20.t8 t22.t2.t20.t16)) (step t22.t2.t20 (cl (= @p_140 (! (forall ((veriT_vr9 F$) (veriT_vr18 D$)) @p_317) :named @p_310))) :rule bind) (step t22.t2.t21 (cl (= @p_153 (! (and @p_309 @p_310) :named @p_318))) :rule cong :premises (t22.t2.t19 t22.t2.t20)) (step t22.t2.t22 (cl (= @p_155 (! (or @p_273 @p_318) :named @p_319))) :rule cong :premises (t22.t2.t6 t22.t2.t21)) (step t22.t2 (cl (= @p_125 (! (forall ((veriT_vr10 D$)) @p_319) :named @p_300))) :rule bind) (step t22.t3 (cl (= @p_157 (! (=> @p_277 @p_300) :named @p_320))) :rule cong :premises (t22.t1 t22.t2)) (step t22 (cl (= @p_160 (! (forall ((veriT_vr11 E$) (veriT_vr12 A_b_c_M_state_fun$) (veriT_vr13 A_b_c_M_state_fun$)) @p_320) :named @p_422))) :rule bind) (anchor :step t23 :args ((:= (veriT_vr0 A_b_c_M_state_fun$) veriT_vr19) (:= (veriT_vr1 A_b_c_M_state_fun$) veriT_vr20))) (anchor :step t23.t1 :args ((:= (veriT_vr2 A$) veriT_vr21) (:= (veriT_vr3 C$) veriT_vr22))) (step t23.t1.t1 (cl (! (= veriT_vr0 veriT_vr19) :named @p_336)) :rule refl) (step t23.t1.t2 (cl (! (= veriT_vr2 veriT_vr21) :named @p_332)) :rule refl) (step t23.t1.t3 (cl (! (= @p_35 (! (fun_app$ veriT_vr19 veriT_vr21) :named @p_331)) :named @p_337)) :rule cong :premises (t23.t1.t1 t23.t1.t2)) (step t23.t1.t4 (cl (! (= veriT_vr3 veriT_vr22) :named @p_334)) :rule refl) (step t23.t1.t5 (cl (! (= @p_27 (! (run$ @p_331 veriT_vr22) :named @p_323)) :named @p_338)) :rule cong :premises (t23.t1.t3 t23.t1.t4)) (step t23.t1.t6 (cl (! (= @p_25 (! (is_fail$ @p_323) :named @p_321)) :named @p_339)) :rule cong :premises (t23.t1.t5)) (step t23.t1.t7 (cl (! (= veriT_vr1 veriT_vr20) :named @p_342)) :rule refl) (step t23.t1.t8 (cl @p_332) :rule refl) (step t23.t1.t9 (cl (! (= @p_38 (! (fun_app$ veriT_vr20 veriT_vr21) :named @p_333)) :named @p_343)) :rule cong :premises (t23.t1.t7 t23.t1.t8)) (step t23.t1.t10 (cl @p_334) :rule refl) (step t23.t1.t11 (cl (! (= @p_26 (! (run$ @p_333 veriT_vr22) :named @p_322)) :named @p_344)) :rule cong :premises (t23.t1.t9 t23.t1.t10)) (step t23.t1.t12 (cl (= @p_41 (! (is_fail$ @p_322) :named @p_335))) :rule cong :premises (t23.t1.t11)) (step t23.t1.t13 (cl @p_336) :rule refl) (step t23.t1.t14 (cl @p_332) :rule refl) (step t23.t1.t15 (cl @p_337) :rule cong :premises (t23.t1.t13 t23.t1.t14)) (step t23.t1.t16 (cl @p_334) :rule refl) (step t23.t1.t17 (cl @p_338) :rule cong :premises (t23.t1.t15 t23.t1.t16)) (step t23.t1.t18 (cl @p_339) :rule cong :premises (t23.t1.t17)) (step t23.t1.t19 (cl (= @p_47 (! (= @p_335 @p_321) :named @p_340))) :rule cong :premises (t23.t1.t12 t23.t1.t18)) (anchor :step t23.t1.t20 :args ((:= (veriT_vr4 B$) veriT_vr23) (:= (veriT_vr5 C$) veriT_vr24))) (step t23.t1.t20.t1 (cl @p_342) :rule refl) (step t23.t1.t20.t2 (cl @p_332) :rule refl) (step t23.t1.t20.t3 (cl @p_343) :rule cong :premises (t23.t1.t20.t1 t23.t1.t20.t2)) (step t23.t1.t20.t4 (cl @p_334) :rule refl) (step t23.t1.t20.t5 (cl @p_344) :rule cong :premises (t23.t1.t20.t3 t23.t1.t20.t4)) (step t23.t1.t20.t6 (cl (! (= veriT_vr4 veriT_vr23) :named @p_346)) :rule refl) (step t23.t1.t20.t7 (cl (! (= veriT_vr5 veriT_vr24) :named @p_347)) :rule refl) (step t23.t1.t20.t8 (cl (! (= @p_28 (! (pair$ veriT_vr23 veriT_vr24) :named @p_324)) :named @p_348)) :rule cong :premises (t23.t1.t20.t6 t23.t1.t20.t7)) (step t23.t1.t20.t9 (cl (= @p_54 (! (is_res$ @p_322 @p_324) :named @p_345))) :rule cong :premises (t23.t1.t20.t5 t23.t1.t20.t8)) (step t23.t1.t20.t10 (cl @p_336) :rule refl) (step t23.t1.t20.t11 (cl @p_332) :rule refl) (step t23.t1.t20.t12 (cl @p_337) :rule cong :premises (t23.t1.t20.t10 t23.t1.t20.t11)) (step t23.t1.t20.t13 (cl @p_334) :rule refl) (step t23.t1.t20.t14 (cl @p_338) :rule cong :premises (t23.t1.t20.t12 t23.t1.t20.t13)) (step t23.t1.t20.t15 (cl @p_346) :rule refl) (step t23.t1.t20.t16 (cl @p_347) :rule refl) (step t23.t1.t20.t17 (cl @p_348) :rule cong :premises (t23.t1.t20.t15 t23.t1.t20.t16)) (step t23.t1.t20.t18 (cl (= @p_59 (! (is_res$ @p_323 @p_324) :named @p_349))) :rule cong :premises (t23.t1.t20.t14 t23.t1.t20.t17)) (step t23.t1.t20.t19 (cl (= @p_61 (! (= @p_345 @p_349) :named @p_350))) :rule cong :premises (t23.t1.t20.t9 t23.t1.t20.t18)) (step t23.t1.t20 (cl (= @p_49 (! (forall ((veriT_vr23 B$) (veriT_vr24 C$)) @p_350) :named @p_341))) :rule bind) (step t23.t1.t21 (cl (= @p_63 (! (and @p_340 @p_341) :named @p_351))) :rule cong :premises (t23.t1.t19 t23.t1.t20)) (step t23.t1.t22 (cl (= @p_65 (! (or @p_321 @p_351) :named @p_352))) :rule cong :premises (t23.t1.t6 t23.t1.t21)) (step t23.t1 (cl (= @p_33 (! (forall ((veriT_vr21 A$) (veriT_vr22 C$)) @p_352) :named @p_330))) :rule bind) (anchor :step t23.t2 :args ((:= (veriT_vr6 D$) veriT_vr25))) (step t23.t2.t1 (cl @p_336) :rule refl) (step t23.t2.t2 (cl (! (= @p_69 (! (b$ veriT_vr19) :named @p_354)) :named @p_356)) :rule cong :premises (t23.t2.t1)) (step t23.t2.t3 (cl (! (= veriT_vr6 veriT_vr25) :named @p_357)) :rule refl) (step t23.t2.t4 (cl (! (= @p_31 (! (run$a @p_354 veriT_vr25) :named @p_325)) :named @p_358)) :rule cong :premises (t23.t2.t2 t23.t2.t3)) (step t23.t2.t5 (cl (! (= @p_29 (! (is_fail$a @p_325) :named @p_327)) :named @p_380)) :rule cong :premises (t23.t2.t4)) (anchor :step t23.t2.t6 :args ((:= (veriT_vr7 E$) veriT_vr26) (:= (veriT_vr8 D$) veriT_vr27))) (step t23.t2.t6.t1 (cl @p_336) :rule refl) (step t23.t2.t6.t2 (cl @p_356) :rule cong :premises (t23.t2.t6.t1)) (step t23.t2.t6.t3 (cl @p_357) :rule refl) (step t23.t2.t6.t4 (cl @p_358) :rule cong :premises (t23.t2.t6.t2 t23.t2.t6.t3)) (step t23.t2.t6.t5 (cl (! (= veriT_vr7 veriT_vr26) :named @p_361)) :rule refl) (step t23.t2.t6.t6 (cl (! (= veriT_vr8 veriT_vr27) :named @p_363)) :rule refl) (step t23.t2.t6.t7 (cl (= @p_32 (! (pair$a veriT_vr26 veriT_vr27) :named @p_359))) :rule cong :premises (t23.t2.t6.t5 t23.t2.t6.t6)) (step t23.t2.t6.t8 (cl (= @p_87 (! (is_res$a @p_325 @p_359) :named @p_360))) :rule cong :premises (t23.t2.t6.t4 t23.t2.t6.t7)) (step t23.t2.t6.t9 (cl @p_361) :rule refl) (step t23.t2.t6.t10 (cl @p_336) :rule refl) (step t23.t2.t6.t11 (cl (= @p_127 (! (c$ veriT_vr26 veriT_vr19) :named @p_362))) :rule cong :premises (t23.t2.t6.t9 t23.t2.t6.t10)) (step t23.t2.t6.t12 (cl @p_363) :rule refl) (step t23.t2.t6.t13 (cl (= @p_178 (! (run$b @p_362 veriT_vr27) :named @p_364))) :rule cong :premises (t23.t2.t6.t11 t23.t2.t6.t12)) (step t23.t2.t6.t14 (cl (= @p_180 (! (is_fail$b @p_364) :named @p_365))) :rule cong :premises (t23.t2.t6.t13)) (step t23.t2.t6.t15 (cl (= @p_182 (! (and @p_360 @p_365) :named @p_366))) :rule cong :premises (t23.t2.t6.t8 t23.t2.t6.t14)) (step t23.t2.t6 (cl (= @p_162 (! (exists ((veriT_vr26 E$) (veriT_vr27 D$)) @p_366) :named @p_355))) :rule bind) (step t23.t2.t7 (cl @p_342) :rule refl) (step t23.t2.t8 (cl (! (= @p_71 (! (b$ veriT_vr20) :named @p_367)) :named @p_369)) :rule cong :premises (t23.t2.t7)) (step t23.t2.t9 (cl @p_357) :rule refl) (step t23.t2.t10 (cl (! (= @p_30 (! (run$a @p_367 veriT_vr25) :named @p_326)) :named @p_370)) :rule cong :premises (t23.t2.t8 t23.t2.t9)) (step t23.t2.t11 (cl (! (= @p_73 (! (is_fail$a @p_326) :named @p_328)) :named @p_393)) :rule cong :premises (t23.t2.t10)) (anchor :step t23.t2.t12 :args ((:= (veriT_vr7 E$) veriT_vr28) (:= (veriT_vr8 D$) veriT_vr29))) (step t23.t2.t12.t1 (cl @p_342) :rule refl) (step t23.t2.t12.t2 (cl @p_369) :rule cong :premises (t23.t2.t12.t1)) (step t23.t2.t12.t3 (cl @p_357) :rule refl) (step t23.t2.t12.t4 (cl @p_370) :rule cong :premises (t23.t2.t12.t2 t23.t2.t12.t3)) (step t23.t2.t12.t5 (cl (! (= veriT_vr7 veriT_vr28) :named @p_373)) :rule refl) (step t23.t2.t12.t6 (cl (! (= veriT_vr8 veriT_vr29) :named @p_375)) :rule refl) (step t23.t2.t12.t7 (cl (= @p_32 (! (pair$a veriT_vr28 veriT_vr29) :named @p_371))) :rule cong :premises (t23.t2.t12.t5 t23.t2.t12.t6)) (step t23.t2.t12.t8 (cl (= @p_83 (! (is_res$a @p_326 @p_371) :named @p_372))) :rule cong :premises (t23.t2.t12.t4 t23.t2.t12.t7)) (step t23.t2.t12.t9 (cl @p_373) :rule refl) (step t23.t2.t12.t10 (cl @p_342) :rule refl) (step t23.t2.t12.t11 (cl (= @p_130 (! (c$ veriT_vr28 veriT_vr20) :named @p_374))) :rule cong :premises (t23.t2.t12.t9 t23.t2.t12.t10)) (step t23.t2.t12.t12 (cl @p_375) :rule refl) (step t23.t2.t12.t13 (cl (= @p_189 (! (run$b @p_374 veriT_vr29) :named @p_376))) :rule cong :premises (t23.t2.t12.t11 t23.t2.t12.t12)) (step t23.t2.t12.t14 (cl (= @p_191 (! (is_fail$b @p_376) :named @p_377))) :rule cong :premises (t23.t2.t12.t13)) (step t23.t2.t12.t15 (cl (= @p_193 (! (and @p_372 @p_377) :named @p_378))) :rule cong :premises (t23.t2.t12.t8 t23.t2.t12.t14)) (step t23.t2.t12 (cl (= @p_185 (! (exists ((veriT_vr28 E$) (veriT_vr29 D$)) @p_378) :named @p_368))) :rule bind) (step t23.t2.t13 (cl (= @p_195 (! (or @p_328 @p_368) :named @p_379))) :rule cong :premises (t23.t2.t11 t23.t2.t12)) (step t23.t2.t14 (cl @p_336) :rule refl) (step t23.t2.t15 (cl @p_356) :rule cong :premises (t23.t2.t14)) (step t23.t2.t16 (cl @p_357) :rule refl) (step t23.t2.t17 (cl @p_358) :rule cong :premises (t23.t2.t15 t23.t2.t16)) (step t23.t2.t18 (cl @p_380) :rule cong :premises (t23.t2.t17)) (anchor :step t23.t2.t19 :args ((:= (veriT_vr7 E$) veriT_vr30) (:= (veriT_vr8 D$) veriT_vr31))) (step t23.t2.t19.t1 (cl @p_336) :rule refl) (step t23.t2.t19.t2 (cl @p_356) :rule cong :premises (t23.t2.t19.t1)) (step t23.t2.t19.t3 (cl @p_357) :rule refl) (step t23.t2.t19.t4 (cl @p_358) :rule cong :premises (t23.t2.t19.t2 t23.t2.t19.t3)) (step t23.t2.t19.t5 (cl (! (= veriT_vr7 veriT_vr30) :named @p_384)) :rule refl) (step t23.t2.t19.t6 (cl (! (= veriT_vr8 veriT_vr31) :named @p_386)) :rule refl) (step t23.t2.t19.t7 (cl (= @p_32 (! (pair$a veriT_vr30 veriT_vr31) :named @p_382))) :rule cong :premises (t23.t2.t19.t5 t23.t2.t19.t6)) (step t23.t2.t19.t8 (cl (= @p_87 (! (is_res$a @p_325 @p_382) :named @p_383))) :rule cong :premises (t23.t2.t19.t4 t23.t2.t19.t7)) (step t23.t2.t19.t9 (cl @p_384) :rule refl) (step t23.t2.t19.t10 (cl @p_336) :rule refl) (step t23.t2.t19.t11 (cl (= @p_127 (! (c$ veriT_vr30 veriT_vr19) :named @p_385))) :rule cong :premises (t23.t2.t19.t9 t23.t2.t19.t10)) (step t23.t2.t19.t12 (cl @p_386) :rule refl) (step t23.t2.t19.t13 (cl (= @p_178 (! (run$b @p_385 veriT_vr31) :named @p_387))) :rule cong :premises (t23.t2.t19.t11 t23.t2.t19.t12)) (step t23.t2.t19.t14 (cl (= @p_180 (! (is_fail$b @p_387) :named @p_388))) :rule cong :premises (t23.t2.t19.t13)) (step t23.t2.t19.t15 (cl (= @p_182 (! (and @p_383 @p_388) :named @p_389))) :rule cong :premises (t23.t2.t19.t8 t23.t2.t19.t14)) (step t23.t2.t19 (cl (= @p_162 (! (exists ((veriT_vr30 E$) (veriT_vr31 D$)) @p_389) :named @p_381))) :rule bind) (step t23.t2.t20 (cl (= @p_202 (! (or @p_327 @p_381) :named @p_390))) :rule cong :premises (t23.t2.t18 t23.t2.t19)) (step t23.t2.t21 (cl (= @p_204 (! (= @p_379 @p_390) :named @p_391))) :rule cong :premises (t23.t2.t13 t23.t2.t20)) (anchor :step t23.t2.t22 :args ((:= (veriT_vr9 F$) veriT_vr32) (:= (veriT_vr8 D$) veriT_vr33))) (step t23.t2.t22.t1 (cl @p_342) :rule refl) (step t23.t2.t22.t2 (cl @p_369) :rule cong :premises (t23.t2.t22.t1)) (step t23.t2.t22.t3 (cl @p_357) :rule refl) (step t23.t2.t22.t4 (cl @p_370) :rule cong :premises (t23.t2.t22.t2 t23.t2.t22.t3)) (step t23.t2.t22.t5 (cl @p_393) :rule cong :premises (t23.t2.t22.t4)) (anchor :step t23.t2.t22.t6 :args ((:= (veriT_vr7 E$) veriT_vr34) (:= (veriT_vr10 D$) veriT_vr35))) (step t23.t2.t22.t6.t1 (cl @p_342) :rule refl) (step t23.t2.t22.t6.t2 (cl @p_369) :rule cong :premises (t23.t2.t22.t6.t1)) (step t23.t2.t22.t6.t3 (cl @p_357) :rule refl) (step t23.t2.t22.t6.t4 (cl @p_370) :rule cong :premises (t23.t2.t22.t6.t2 t23.t2.t22.t6.t3)) (step t23.t2.t22.t6.t5 (cl (! (= veriT_vr7 veriT_vr34) :named @p_397)) :rule refl) (step t23.t2.t22.t6.t6 (cl (! (= veriT_vr10 veriT_vr35) :named @p_399)) :rule refl) (step t23.t2.t22.t6.t7 (cl (= @p_163 (! (pair$a veriT_vr34 veriT_vr35) :named @p_395))) :rule cong :premises (t23.t2.t22.t6.t5 t23.t2.t22.t6.t6)) (step t23.t2.t22.t6.t8 (cl (= @p_210 (! (is_res$a @p_326 @p_395) :named @p_396))) :rule cong :premises (t23.t2.t22.t6.t4 t23.t2.t22.t6.t7)) (step t23.t2.t22.t6.t9 (cl @p_397) :rule refl) (step t23.t2.t22.t6.t10 (cl @p_342) :rule refl) (step t23.t2.t22.t6.t11 (cl (= @p_130 (! (c$ veriT_vr34 veriT_vr20) :named @p_398))) :rule cong :premises (t23.t2.t22.t6.t9 t23.t2.t22.t6.t10)) (step t23.t2.t22.t6.t12 (cl @p_399) :rule refl) (step t23.t2.t22.t6.t13 (cl (= @p_215 (! (run$b @p_398 veriT_vr35) :named @p_400))) :rule cong :premises (t23.t2.t22.t6.t11 t23.t2.t22.t6.t12)) (step t23.t2.t22.t6.t14 (cl (! (= veriT_vr9 veriT_vr32) :named @p_411)) :rule refl) (step t23.t2.t22.t6.t15 (cl (! (= veriT_vr8 veriT_vr33) :named @p_412)) :rule refl) (step t23.t2.t22.t6.t16 (cl (! (= @p_100 (! (pair$b veriT_vr32 veriT_vr33) :named @p_329)) :named @p_413)) :rule cong :premises (t23.t2.t22.t6.t14 t23.t2.t22.t6.t15)) (step t23.t2.t22.t6.t17 (cl (= @p_217 (! (is_res$b @p_400 @p_329) :named @p_401))) :rule cong :premises (t23.t2.t22.t6.t13 t23.t2.t22.t6.t16)) (step t23.t2.t22.t6.t18 (cl (= @p_219 (! (and @p_396 @p_401) :named @p_402))) :rule cong :premises (t23.t2.t22.t6.t8 t23.t2.t22.t6.t17)) (step t23.t2.t22.t6 (cl (= @p_208 (! (exists ((veriT_vr34 E$) (veriT_vr35 D$)) @p_402) :named @p_394))) :rule bind) (step t23.t2.t22.t7 (cl (= @p_221 (! (or @p_328 @p_394) :named @p_403))) :rule cong :premises (t23.t2.t22.t5 t23.t2.t22.t6)) (step t23.t2.t22.t8 (cl @p_336) :rule refl) (step t23.t2.t22.t9 (cl @p_356) :rule cong :premises (t23.t2.t22.t8)) (step t23.t2.t22.t10 (cl @p_357) :rule refl) (step t23.t2.t22.t11 (cl @p_358) :rule cong :premises (t23.t2.t22.t9 t23.t2.t22.t10)) (step t23.t2.t22.t12 (cl @p_380) :rule cong :premises (t23.t2.t22.t11)) (anchor :step t23.t2.t22.t13 :args ((:= (veriT_vr7 E$) veriT_vr36) (:= (veriT_vr10 D$) veriT_vr37))) (step t23.t2.t22.t13.t1 (cl @p_336) :rule refl) (step t23.t2.t22.t13.t2 (cl @p_356) :rule cong :premises (t23.t2.t22.t13.t1)) (step t23.t2.t22.t13.t3 (cl @p_357) :rule refl) (step t23.t2.t22.t13.t4 (cl @p_358) :rule cong :premises (t23.t2.t22.t13.t2 t23.t2.t22.t13.t3)) (step t23.t2.t22.t13.t5 (cl (! (= veriT_vr7 veriT_vr36) :named @p_407)) :rule refl) (step t23.t2.t22.t13.t6 (cl (! (= veriT_vr10 veriT_vr37) :named @p_409)) :rule refl) (step t23.t2.t22.t13.t7 (cl (= @p_163 (! (pair$a veriT_vr36 veriT_vr37) :named @p_405))) :rule cong :premises (t23.t2.t22.t13.t5 t23.t2.t22.t13.t6)) (step t23.t2.t22.t13.t8 (cl (= @p_226 (! (is_res$a @p_325 @p_405) :named @p_406))) :rule cong :premises (t23.t2.t22.t13.t4 t23.t2.t22.t13.t7)) (step t23.t2.t22.t13.t9 (cl @p_407) :rule refl) (step t23.t2.t22.t13.t10 (cl @p_336) :rule refl) (step t23.t2.t22.t13.t11 (cl (= @p_127 (! (c$ veriT_vr36 veriT_vr19) :named @p_408))) :rule cong :premises (t23.t2.t22.t13.t9 t23.t2.t22.t13.t10)) (step t23.t2.t22.t13.t12 (cl @p_409) :rule refl) (step t23.t2.t22.t13.t13 (cl (= @p_229 (! (run$b @p_408 veriT_vr37) :named @p_410))) :rule cong :premises (t23.t2.t22.t13.t11 t23.t2.t22.t13.t12)) (step t23.t2.t22.t13.t14 (cl @p_411) :rule refl) (step t23.t2.t22.t13.t15 (cl @p_412) :rule refl) (step t23.t2.t22.t13.t16 (cl @p_413) :rule cong :premises (t23.t2.t22.t13.t14 t23.t2.t22.t13.t15)) (step t23.t2.t22.t13.t17 (cl (= @p_233 (! (is_res$b @p_410 @p_329) :named @p_414))) :rule cong :premises (t23.t2.t22.t13.t13 t23.t2.t22.t13.t16)) (step t23.t2.t22.t13.t18 (cl (= @p_235 (! (and @p_406 @p_414) :named @p_415))) :rule cong :premises (t23.t2.t22.t13.t8 t23.t2.t22.t13.t17)) (step t23.t2.t22.t13 (cl (= @p_223 (! (exists ((veriT_vr36 E$) (veriT_vr37 D$)) @p_415) :named @p_404))) :rule bind) (step t23.t2.t22.t14 (cl (= @p_237 (! (or @p_327 @p_404) :named @p_416))) :rule cong :premises (t23.t2.t22.t12 t23.t2.t22.t13)) (step t23.t2.t22.t15 (cl (= @p_239 (! (= @p_403 @p_416) :named @p_417))) :rule cong :premises (t23.t2.t22.t7 t23.t2.t22.t14)) (step t23.t2.t22 (cl (= @p_206 (! (forall ((veriT_vr32 F$) (veriT_vr33 D$)) @p_417) :named @p_392))) :rule bind) (step t23.t2.t23 (cl (= @p_241 (! (and @p_391 @p_392) :named @p_418))) :rule cong :premises (t23.t2.t21 t23.t2.t22)) (step t23.t2.t24 (cl (= @p_262 (! (or @p_327 @p_355 @p_418) :named @p_419))) :rule cong :premises (t23.t2.t5 t23.t2.t6 t23.t2.t23)) (step t23.t2 (cl (= @p_261 (! (forall ((veriT_vr25 D$)) @p_419) :named @p_353))) :rule bind) (step t23.t3 (cl (= @p_263 (! (=> @p_330 @p_353) :named @p_420))) :rule cong :premises (t23.t1 t23.t2)) (step t23 (cl (= @p_265 (! (forall ((veriT_vr19 A_b_c_M_state_fun$) (veriT_vr20 A_b_c_M_state_fun$)) @p_420) :named @p_421))) :rule bind) (step t24 (cl (= @p_266 (! (not @p_421) :named @p_423))) :rule cong :premises (t23)) (step t25 (cl (! (= @p_268 (! (and @p_159 @p_422 @p_423) :named @p_425)) :named @p_424)) :rule cong :premises (t22 t24)) (step t26 (cl (not @p_424) (not @p_268) @p_425) :rule equiv_pos2) (step t27 (cl @p_425) :rule th_resolution :premises (t21 t25 t26)) (anchor :step t28 :args ((veriT_vr19 A_b_c_M_state_fun$) (veriT_vr20 A_b_c_M_state_fun$))) (anchor :step t28.t1 :args ((veriT_vr25 D$))) (step t28.t1.t1 (cl (= @p_391 (! (and (! (=> @p_379 @p_390) :named @p_612) (! (=> @p_390 @p_379) :named @p_635)) :named @p_427))) :rule connective_def) (anchor :step t28.t1.t2 :args ((veriT_vr32 F$) (veriT_vr33 D$))) (step t28.t1.t2.t1 (cl (= @p_417 (! (and (! (=> @p_403 @p_416) :named @p_662) (! (=> @p_416 @p_403) :named @p_684)) :named @p_429))) :rule connective_def) (step t28.t1.t2 (cl (= @p_392 (! (forall ((veriT_vr32 F$) (veriT_vr33 D$)) @p_429) :named @p_428))) :rule bind) (step t28.t1.t3 (cl (= @p_418 (! (and @p_427 @p_428) :named @p_430))) :rule cong :premises (t28.t1.t1 t28.t1.t2)) (step t28.t1.t4 (cl (= @p_419 (! (or @p_327 @p_355 @p_430) :named @p_431))) :rule cong :premises (t28.t1.t3)) (step t28.t1 (cl (= @p_353 (! (forall ((veriT_vr25 D$)) @p_431) :named @p_426))) :rule bind) (step t28.t2 (cl (= @p_420 (! (=> @p_330 @p_426) :named @p_432))) :rule cong :premises (t28.t1)) (step t28 (cl (= @p_421 (! (forall ((veriT_vr19 A_b_c_M_state_fun$) (veriT_vr20 A_b_c_M_state_fun$)) @p_432) :named @p_433))) :rule bind) (step t29 (cl (= @p_423 (! (not @p_433) :named @p_434))) :rule cong :premises (t28)) (step t30 (cl (! (= @p_425 (! (and @p_159 @p_422 @p_434) :named @p_436)) :named @p_435)) :rule cong :premises (t29)) (step t31 (cl (not @p_435) (not @p_425) @p_436) :rule equiv_pos2) (step t32 (cl @p_436) :rule th_resolution :premises (t27 t30 t31)) (anchor :step t33 :args ((:= (veriT_vr0 A_b_c_M_state_fun$) veriT_vr38) (:= (veriT_vr1 A_b_c_M_state_fun$) veriT_vr39))) (anchor :step t33.t1 :args ((:= (veriT_vr2 A$) veriT_vr40) (:= (veriT_vr3 C$) veriT_vr41))) (step t33.t1.t1 (cl (! (= veriT_vr0 veriT_vr38) :named @p_451)) :rule refl) (step t33.t1.t2 (cl (! (= veriT_vr2 veriT_vr40) :named @p_447)) :rule refl) (step t33.t1.t3 (cl (! (= @p_35 (! (fun_app$ veriT_vr38 veriT_vr40) :named @p_446)) :named @p_452)) :rule cong :premises (t33.t1.t1 t33.t1.t2)) (step t33.t1.t4 (cl (! (= veriT_vr3 veriT_vr41) :named @p_449)) :rule refl) (step t33.t1.t5 (cl (! (= @p_27 (! (run$ @p_446 veriT_vr41) :named @p_439)) :named @p_453)) :rule cong :premises (t33.t1.t3 t33.t1.t4)) (step t33.t1.t6 (cl (! (= @p_25 (! (is_fail$ @p_439) :named @p_437)) :named @p_454)) :rule cong :premises (t33.t1.t5)) (step t33.t1.t7 (cl (! (= veriT_vr1 veriT_vr39) :named @p_457)) :rule refl) (step t33.t1.t8 (cl @p_447) :rule refl) (step t33.t1.t9 (cl (! (= @p_38 (! (fun_app$ veriT_vr39 veriT_vr40) :named @p_448)) :named @p_458)) :rule cong :premises (t33.t1.t7 t33.t1.t8)) (step t33.t1.t10 (cl @p_449) :rule refl) (step t33.t1.t11 (cl (! (= @p_26 (! (run$ @p_448 veriT_vr41) :named @p_438)) :named @p_459)) :rule cong :premises (t33.t1.t9 t33.t1.t10)) (step t33.t1.t12 (cl (= @p_41 (! (is_fail$ @p_438) :named @p_450))) :rule cong :premises (t33.t1.t11)) (step t33.t1.t13 (cl @p_451) :rule refl) (step t33.t1.t14 (cl @p_447) :rule refl) (step t33.t1.t15 (cl @p_452) :rule cong :premises (t33.t1.t13 t33.t1.t14)) (step t33.t1.t16 (cl @p_449) :rule refl) (step t33.t1.t17 (cl @p_453) :rule cong :premises (t33.t1.t15 t33.t1.t16)) (step t33.t1.t18 (cl @p_454) :rule cong :premises (t33.t1.t17)) (step t33.t1.t19 (cl (= @p_47 (! (= @p_450 @p_437) :named @p_455))) :rule cong :premises (t33.t1.t12 t33.t1.t18)) (anchor :step t33.t1.t20 :args ((:= (veriT_vr4 B$) veriT_vr42) (:= (veriT_vr5 C$) veriT_vr43))) (step t33.t1.t20.t1 (cl @p_457) :rule refl) (step t33.t1.t20.t2 (cl @p_447) :rule refl) (step t33.t1.t20.t3 (cl @p_458) :rule cong :premises (t33.t1.t20.t1 t33.t1.t20.t2)) (step t33.t1.t20.t4 (cl @p_449) :rule refl) (step t33.t1.t20.t5 (cl @p_459) :rule cong :premises (t33.t1.t20.t3 t33.t1.t20.t4)) (step t33.t1.t20.t6 (cl (! (= veriT_vr4 veriT_vr42) :named @p_461)) :rule refl) (step t33.t1.t20.t7 (cl (! (= veriT_vr5 veriT_vr43) :named @p_462)) :rule refl) (step t33.t1.t20.t8 (cl (! (= @p_28 (! (pair$ veriT_vr42 veriT_vr43) :named @p_440)) :named @p_463)) :rule cong :premises (t33.t1.t20.t6 t33.t1.t20.t7)) (step t33.t1.t20.t9 (cl (= @p_54 (! (is_res$ @p_438 @p_440) :named @p_460))) :rule cong :premises (t33.t1.t20.t5 t33.t1.t20.t8)) (step t33.t1.t20.t10 (cl @p_451) :rule refl) (step t33.t1.t20.t11 (cl @p_447) :rule refl) (step t33.t1.t20.t12 (cl @p_452) :rule cong :premises (t33.t1.t20.t10 t33.t1.t20.t11)) (step t33.t1.t20.t13 (cl @p_449) :rule refl) (step t33.t1.t20.t14 (cl @p_453) :rule cong :premises (t33.t1.t20.t12 t33.t1.t20.t13)) (step t33.t1.t20.t15 (cl @p_461) :rule refl) (step t33.t1.t20.t16 (cl @p_462) :rule refl) (step t33.t1.t20.t17 (cl @p_463) :rule cong :premises (t33.t1.t20.t15 t33.t1.t20.t16)) (step t33.t1.t20.t18 (cl (= @p_59 (! (is_res$ @p_439 @p_440) :named @p_464))) :rule cong :premises (t33.t1.t20.t14 t33.t1.t20.t17)) (step t33.t1.t20.t19 (cl (= @p_61 (! (= @p_460 @p_464) :named @p_465))) :rule cong :premises (t33.t1.t20.t9 t33.t1.t20.t18)) (step t33.t1.t20 (cl (= @p_49 (! (forall ((veriT_vr42 B$) (veriT_vr43 C$)) @p_465) :named @p_456))) :rule bind) (step t33.t1.t21 (cl (= @p_63 (! (and @p_455 @p_456) :named @p_466))) :rule cong :premises (t33.t1.t19 t33.t1.t20)) (step t33.t1.t22 (cl (= @p_65 (! (or @p_437 @p_466) :named @p_467))) :rule cong :premises (t33.t1.t6 t33.t1.t21)) (step t33.t1 (cl (= @p_33 (! (forall ((veriT_vr40 A$) (veriT_vr41 C$)) @p_467) :named @p_445))) :rule bind) (anchor :step t33.t2 :args ((:= (veriT_vr6 D$) veriT_vr44))) (step t33.t2.t1 (cl @p_451) :rule refl) (step t33.t2.t2 (cl (! (= @p_69 (! (b$ veriT_vr38) :named @p_469)) :named @p_473)) :rule cong :premises (t33.t2.t1)) (step t33.t2.t3 (cl (! (= veriT_vr6 veriT_vr44) :named @p_471)) :rule refl) (step t33.t2.t4 (cl (! (= @p_31 (! (run$a @p_469 veriT_vr44) :named @p_443)) :named @p_474)) :rule cong :premises (t33.t2.t2 t33.t2.t3)) (step t33.t2.t5 (cl (! (= @p_29 (! (is_fail$a @p_443) :named @p_441)) :named @p_475)) :rule cong :premises (t33.t2.t4)) (step t33.t2.t6 (cl @p_457) :rule refl) (step t33.t2.t7 (cl (! (= @p_71 (! (b$ veriT_vr39) :named @p_470)) :named @p_478)) :rule cong :premises (t33.t2.t6)) (step t33.t2.t8 (cl @p_471) :rule refl) (step t33.t2.t9 (cl (! (= @p_30 (! (run$a @p_470 veriT_vr44) :named @p_442)) :named @p_479)) :rule cong :premises (t33.t2.t7 t33.t2.t8)) (step t33.t2.t10 (cl (= @p_73 (! (is_fail$a @p_442) :named @p_472))) :rule cong :premises (t33.t2.t9)) (step t33.t2.t11 (cl @p_451) :rule refl) (step t33.t2.t12 (cl @p_473) :rule cong :premises (t33.t2.t11)) (step t33.t2.t13 (cl @p_471) :rule refl) (step t33.t2.t14 (cl @p_474) :rule cong :premises (t33.t2.t12 t33.t2.t13)) (step t33.t2.t15 (cl @p_475) :rule cong :premises (t33.t2.t14)) (step t33.t2.t16 (cl (= @p_78 (! (= @p_472 @p_441) :named @p_476))) :rule cong :premises (t33.t2.t10 t33.t2.t15)) (anchor :step t33.t2.t17 :args ((:= (veriT_vr7 E$) veriT_vr45) (:= (veriT_vr8 D$) veriT_vr46))) (step t33.t2.t17.t1 (cl @p_457) :rule refl) (step t33.t2.t17.t2 (cl @p_478) :rule cong :premises (t33.t2.t17.t1)) (step t33.t2.t17.t3 (cl @p_471) :rule refl) (step t33.t2.t17.t4 (cl @p_479) :rule cong :premises (t33.t2.t17.t2 t33.t2.t17.t3)) (step t33.t2.t17.t5 (cl (! (= veriT_vr7 veriT_vr45) :named @p_481)) :rule refl) (step t33.t2.t17.t6 (cl (! (= veriT_vr8 veriT_vr46) :named @p_482)) :rule refl) (step t33.t2.t17.t7 (cl (! (= @p_32 (! (pair$a veriT_vr45 veriT_vr46) :named @p_444)) :named @p_483)) :rule cong :premises (t33.t2.t17.t5 t33.t2.t17.t6)) (step t33.t2.t17.t8 (cl (= @p_83 (! (is_res$a @p_442 @p_444) :named @p_480))) :rule cong :premises (t33.t2.t17.t4 t33.t2.t17.t7)) (step t33.t2.t17.t9 (cl @p_451) :rule refl) (step t33.t2.t17.t10 (cl @p_473) :rule cong :premises (t33.t2.t17.t9)) (step t33.t2.t17.t11 (cl @p_471) :rule refl) (step t33.t2.t17.t12 (cl @p_474) :rule cong :premises (t33.t2.t17.t10 t33.t2.t17.t11)) (step t33.t2.t17.t13 (cl @p_481) :rule refl) (step t33.t2.t17.t14 (cl @p_482) :rule refl) (step t33.t2.t17.t15 (cl @p_483) :rule cong :premises (t33.t2.t17.t13 t33.t2.t17.t14)) (step t33.t2.t17.t16 (cl (= @p_87 (! (is_res$a @p_443 @p_444) :named @p_484))) :rule cong :premises (t33.t2.t17.t12 t33.t2.t17.t15)) (step t33.t2.t17.t17 (cl (= @p_89 (! (= @p_480 @p_484) :named @p_485))) :rule cong :premises (t33.t2.t17.t8 t33.t2.t17.t16)) (step t33.t2.t17 (cl (= @p_80 (! (forall ((veriT_vr45 E$) (veriT_vr46 D$)) @p_485) :named @p_477))) :rule bind) (step t33.t2.t18 (cl (= @p_91 (! (and @p_476 @p_477) :named @p_486))) :rule cong :premises (t33.t2.t16 t33.t2.t17)) (step t33.t2.t19 (cl (= @p_93 (! (or @p_441 @p_486) :named @p_487))) :rule cong :premises (t33.t2.t5 t33.t2.t18)) (step t33.t2 (cl (= @p_67 (! (forall ((veriT_vr44 D$)) @p_487) :named @p_468))) :rule bind) (step t33.t3 (cl (= @p_95 (! (=> @p_445 @p_468) :named @p_488))) :rule cong :premises (t33.t1 t33.t2)) (step t33 (cl (= @p_159 (! (forall ((veriT_vr38 A_b_c_M_state_fun$) (veriT_vr39 A_b_c_M_state_fun$)) @p_488) :named @p_691))) :rule bind) (anchor :step t34 :args ((:= (veriT_vr11 E$) veriT_vr47) (:= (veriT_vr12 A_b_c_M_state_fun$) veriT_vr48) (:= (veriT_vr13 A_b_c_M_state_fun$) veriT_vr49))) (anchor :step t34.t1 :args ((:= (veriT_vr14 A$) veriT_vr50) (:= (veriT_vr15 C$) veriT_vr51))) (step t34.t1.t1 (cl (! (= veriT_vr12 veriT_vr48) :named @p_503)) :rule refl) (step t34.t1.t2 (cl (! (= veriT_vr14 veriT_vr50) :named @p_499)) :rule refl) (step t34.t1.t3 (cl (! (= @p_278 (! (fun_app$ veriT_vr48 veriT_vr50) :named @p_498)) :named @p_504)) :rule cong :premises (t34.t1.t1 t34.t1.t2)) (step t34.t1.t4 (cl (! (= veriT_vr15 veriT_vr51) :named @p_501)) :rule refl) (step t34.t1.t5 (cl (! (= @p_271 (! (run$ @p_498 veriT_vr51) :named @p_491)) :named @p_505)) :rule cong :premises (t34.t1.t3 t34.t1.t4)) (step t34.t1.t6 (cl (! (= @p_269 (! (is_fail$ @p_491) :named @p_489)) :named @p_506)) :rule cong :premises (t34.t1.t5)) (step t34.t1.t7 (cl (! (= veriT_vr13 veriT_vr49) :named @p_509)) :rule refl) (step t34.t1.t8 (cl @p_499) :rule refl) (step t34.t1.t9 (cl (! (= @p_280 (! (fun_app$ veriT_vr49 veriT_vr50) :named @p_500)) :named @p_510)) :rule cong :premises (t34.t1.t7 t34.t1.t8)) (step t34.t1.t10 (cl @p_501) :rule refl) (step t34.t1.t11 (cl (! (= @p_270 (! (run$ @p_500 veriT_vr51) :named @p_490)) :named @p_511)) :rule cong :premises (t34.t1.t9 t34.t1.t10)) (step t34.t1.t12 (cl (= @p_282 (! (is_fail$ @p_490) :named @p_502))) :rule cong :premises (t34.t1.t11)) (step t34.t1.t13 (cl @p_503) :rule refl) (step t34.t1.t14 (cl @p_499) :rule refl) (step t34.t1.t15 (cl @p_504) :rule cong :premises (t34.t1.t13 t34.t1.t14)) (step t34.t1.t16 (cl @p_501) :rule refl) (step t34.t1.t17 (cl @p_505) :rule cong :premises (t34.t1.t15 t34.t1.t16)) (step t34.t1.t18 (cl @p_506) :rule cong :premises (t34.t1.t17)) (step t34.t1.t19 (cl (= @p_287 (! (= @p_502 @p_489) :named @p_507))) :rule cong :premises (t34.t1.t12 t34.t1.t18)) (anchor :step t34.t1.t20 :args ((:= (veriT_vr16 B$) veriT_vr52) (:= (veriT_vr17 C$) veriT_vr53))) (step t34.t1.t20.t1 (cl @p_509) :rule refl) (step t34.t1.t20.t2 (cl @p_499) :rule refl) (step t34.t1.t20.t3 (cl @p_510) :rule cong :premises (t34.t1.t20.t1 t34.t1.t20.t2)) (step t34.t1.t20.t4 (cl @p_501) :rule refl) (step t34.t1.t20.t5 (cl @p_511) :rule cong :premises (t34.t1.t20.t3 t34.t1.t20.t4)) (step t34.t1.t20.t6 (cl (! (= veriT_vr16 veriT_vr52) :named @p_513)) :rule refl) (step t34.t1.t20.t7 (cl (! (= veriT_vr17 veriT_vr53) :named @p_514)) :rule refl) (step t34.t1.t20.t8 (cl (! (= @p_272 (! (pair$ veriT_vr52 veriT_vr53) :named @p_492)) :named @p_515)) :rule cong :premises (t34.t1.t20.t6 t34.t1.t20.t7)) (step t34.t1.t20.t9 (cl (= @p_292 (! (is_res$ @p_490 @p_492) :named @p_512))) :rule cong :premises (t34.t1.t20.t5 t34.t1.t20.t8)) (step t34.t1.t20.t10 (cl @p_503) :rule refl) (step t34.t1.t20.t11 (cl @p_499) :rule refl) (step t34.t1.t20.t12 (cl @p_504) :rule cong :premises (t34.t1.t20.t10 t34.t1.t20.t11)) (step t34.t1.t20.t13 (cl @p_501) :rule refl) (step t34.t1.t20.t14 (cl @p_505) :rule cong :premises (t34.t1.t20.t12 t34.t1.t20.t13)) (step t34.t1.t20.t15 (cl @p_513) :rule refl) (step t34.t1.t20.t16 (cl @p_514) :rule refl) (step t34.t1.t20.t17 (cl @p_515) :rule cong :premises (t34.t1.t20.t15 t34.t1.t20.t16)) (step t34.t1.t20.t18 (cl (= @p_296 (! (is_res$ @p_491 @p_492) :named @p_516))) :rule cong :premises (t34.t1.t20.t14 t34.t1.t20.t17)) (step t34.t1.t20.t19 (cl (= @p_297 (! (= @p_512 @p_516) :named @p_517))) :rule cong :premises (t34.t1.t20.t9 t34.t1.t20.t18)) (step t34.t1.t20 (cl (= @p_288 (! (forall ((veriT_vr52 B$) (veriT_vr53 C$)) @p_517) :named @p_508))) :rule bind) (step t34.t1.t21 (cl (= @p_298 (! (and @p_507 @p_508) :named @p_518))) :rule cong :premises (t34.t1.t19 t34.t1.t20)) (step t34.t1.t22 (cl (= @p_299 (! (or @p_489 @p_518) :named @p_519))) :rule cong :premises (t34.t1.t6 t34.t1.t21)) (step t34.t1 (cl (= @p_277 (! (forall ((veriT_vr50 A$) (veriT_vr51 C$)) @p_519) :named @p_497))) :rule bind) (anchor :step t34.t2 :args ((:= (veriT_vr10 D$) veriT_vr54))) (step t34.t2.t1 (cl (! (= veriT_vr11 veriT_vr47) :named @p_522)) :rule refl) (step t34.t2.t2 (cl @p_503) :rule refl) (step t34.t2.t3 (cl (! (= @p_301 (! (c$ veriT_vr47 veriT_vr48) :named @p_521)) :named @p_526)) :rule cong :premises (t34.t2.t1 t34.t2.t2)) (step t34.t2.t4 (cl (! (= veriT_vr10 veriT_vr54) :named @p_524)) :rule refl) (step t34.t2.t5 (cl (! (= @p_275 (! (run$b @p_521 veriT_vr54) :named @p_495)) :named @p_527)) :rule cong :premises (t34.t2.t3 t34.t2.t4)) (step t34.t2.t6 (cl (! (= @p_273 (! (is_fail$b @p_495) :named @p_493)) :named @p_528)) :rule cong :premises (t34.t2.t5)) (step t34.t2.t7 (cl @p_522) :rule refl) (step t34.t2.t8 (cl @p_509) :rule refl) (step t34.t2.t9 (cl (! (= @p_303 (! (c$ veriT_vr47 veriT_vr49) :named @p_523)) :named @p_531)) :rule cong :premises (t34.t2.t7 t34.t2.t8)) (step t34.t2.t10 (cl @p_524) :rule refl) (step t34.t2.t11 (cl (! (= @p_274 (! (run$b @p_523 veriT_vr54) :named @p_494)) :named @p_532)) :rule cong :premises (t34.t2.t9 t34.t2.t10)) (step t34.t2.t12 (cl (= @p_305 (! (is_fail$b @p_494) :named @p_525))) :rule cong :premises (t34.t2.t11)) (step t34.t2.t13 (cl @p_522) :rule refl) (step t34.t2.t14 (cl @p_503) :rule refl) (step t34.t2.t15 (cl @p_526) :rule cong :premises (t34.t2.t13 t34.t2.t14)) (step t34.t2.t16 (cl @p_524) :rule refl) (step t34.t2.t17 (cl @p_527) :rule cong :premises (t34.t2.t15 t34.t2.t16)) (step t34.t2.t18 (cl @p_528) :rule cong :premises (t34.t2.t17)) (step t34.t2.t19 (cl (= @p_309 (! (= @p_525 @p_493) :named @p_529))) :rule cong :premises (t34.t2.t12 t34.t2.t18)) (anchor :step t34.t2.t20 :args ((:= (veriT_vr9 F$) veriT_vr55) (:= (veriT_vr18 D$) veriT_vr56))) (step t34.t2.t20.t1 (cl @p_522) :rule refl) (step t34.t2.t20.t2 (cl @p_509) :rule refl) (step t34.t2.t20.t3 (cl @p_531) :rule cong :premises (t34.t2.t20.t1 t34.t2.t20.t2)) (step t34.t2.t20.t4 (cl @p_524) :rule refl) (step t34.t2.t20.t5 (cl @p_532) :rule cong :premises (t34.t2.t20.t3 t34.t2.t20.t4)) (step t34.t2.t20.t6 (cl (! (= veriT_vr9 veriT_vr55) :named @p_534)) :rule refl) (step t34.t2.t20.t7 (cl (! (= veriT_vr18 veriT_vr56) :named @p_535)) :rule refl) (step t34.t2.t20.t8 (cl (! (= @p_276 (! (pair$b veriT_vr55 veriT_vr56) :named @p_496)) :named @p_536)) :rule cong :premises (t34.t2.t20.t6 t34.t2.t20.t7)) (step t34.t2.t20.t9 (cl (= @p_313 (! (is_res$b @p_494 @p_496) :named @p_533))) :rule cong :premises (t34.t2.t20.t5 t34.t2.t20.t8)) (step t34.t2.t20.t10 (cl @p_522) :rule refl) (step t34.t2.t20.t11 (cl @p_503) :rule refl) (step t34.t2.t20.t12 (cl @p_526) :rule cong :premises (t34.t2.t20.t10 t34.t2.t20.t11)) (step t34.t2.t20.t13 (cl @p_524) :rule refl) (step t34.t2.t20.t14 (cl @p_527) :rule cong :premises (t34.t2.t20.t12 t34.t2.t20.t13)) (step t34.t2.t20.t15 (cl @p_534) :rule refl) (step t34.t2.t20.t16 (cl @p_535) :rule refl) (step t34.t2.t20.t17 (cl @p_536) :rule cong :premises (t34.t2.t20.t15 t34.t2.t20.t16)) (step t34.t2.t20.t18 (cl (= @p_316 (! (is_res$b @p_495 @p_496) :named @p_537))) :rule cong :premises (t34.t2.t20.t14 t34.t2.t20.t17)) (step t34.t2.t20.t19 (cl (= @p_317 (! (= @p_533 @p_537) :named @p_538))) :rule cong :premises (t34.t2.t20.t9 t34.t2.t20.t18)) (step t34.t2.t20 (cl (= @p_310 (! (forall ((veriT_vr55 F$) (veriT_vr56 D$)) @p_538) :named @p_530))) :rule bind) (step t34.t2.t21 (cl (= @p_318 (! (and @p_529 @p_530) :named @p_539))) :rule cong :premises (t34.t2.t19 t34.t2.t20)) (step t34.t2.t22 (cl (= @p_319 (! (or @p_493 @p_539) :named @p_540))) :rule cong :premises (t34.t2.t6 t34.t2.t21)) (step t34.t2 (cl (= @p_300 (! (forall ((veriT_vr54 D$)) @p_540) :named @p_520))) :rule bind) (step t34.t3 (cl (= @p_320 (! (=> @p_497 @p_520) :named @p_541))) :rule cong :premises (t34.t1 t34.t2)) (step t34 (cl (= @p_422 (! (forall ((veriT_vr47 E$) (veriT_vr48 A_b_c_M_state_fun$) (veriT_vr49 A_b_c_M_state_fun$)) @p_541) :named @p_692))) :rule bind) (anchor :step t35 :args ((:= (veriT_vr19 A_b_c_M_state_fun$) veriT_vr57) (:= (veriT_vr20 A_b_c_M_state_fun$) veriT_vr58))) (anchor :step t35.t1 :args ((:= (veriT_vr21 A$) veriT_vr59) (:= (veriT_vr22 C$) veriT_vr60))) (step t35.t1.t1 (cl (! (= veriT_vr19 veriT_vr57) :named @p_557)) :rule refl) (step t35.t1.t2 (cl (! (= veriT_vr21 veriT_vr59) :named @p_553)) :rule refl) (step t35.t1.t3 (cl (! (= @p_331 @p_552) :named @p_558)) :rule cong :premises (t35.t1.t1 t35.t1.t2)) (step t35.t1.t4 (cl (! (= veriT_vr22 veriT_vr60) :named @p_555)) :rule refl) (step t35.t1.t5 (cl (! (= @p_323 @p_544) :named @p_559)) :rule cong :premises (t35.t1.t3 t35.t1.t4)) (step t35.t1.t6 (cl (! (= @p_321 @p_542) :named @p_560)) :rule cong :premises (t35.t1.t5)) (step t35.t1.t7 (cl (! (= veriT_vr20 veriT_vr58) :named @p_563)) :rule refl) (step t35.t1.t8 (cl @p_553) :rule refl) (step t35.t1.t9 (cl (! (= @p_333 @p_554) :named @p_564)) :rule cong :premises (t35.t1.t7 t35.t1.t8)) (step t35.t1.t10 (cl @p_555) :rule refl) (step t35.t1.t11 (cl (! (= @p_322 @p_543) :named @p_565)) :rule cong :premises (t35.t1.t9 t35.t1.t10)) (step t35.t1.t12 (cl (= @p_335 @p_556)) :rule cong :premises (t35.t1.t11)) (step t35.t1.t13 (cl @p_557) :rule refl) (step t35.t1.t14 (cl @p_553) :rule refl) (step t35.t1.t15 (cl @p_558) :rule cong :premises (t35.t1.t13 t35.t1.t14)) (step t35.t1.t16 (cl @p_555) :rule refl) (step t35.t1.t17 (cl @p_559) :rule cong :premises (t35.t1.t15 t35.t1.t16)) (step t35.t1.t18 (cl @p_560) :rule cong :premises (t35.t1.t17)) (step t35.t1.t19 (cl (= @p_340 @p_561)) :rule cong :premises (t35.t1.t12 t35.t1.t18)) (anchor :step t35.t1.t20 :args ((:= (veriT_vr23 B$) veriT_vr61) (:= (veriT_vr24 C$) veriT_vr62))) (step t35.t1.t20.t1 (cl @p_563) :rule refl) (step t35.t1.t20.t2 (cl @p_553) :rule refl) (step t35.t1.t20.t3 (cl @p_564) :rule cong :premises (t35.t1.t20.t1 t35.t1.t20.t2)) (step t35.t1.t20.t4 (cl @p_555) :rule refl) (step t35.t1.t20.t5 (cl @p_565) :rule cong :premises (t35.t1.t20.t3 t35.t1.t20.t4)) (step t35.t1.t20.t6 (cl (! (= veriT_vr23 veriT_vr61) :named @p_567)) :rule refl) (step t35.t1.t20.t7 (cl (! (= veriT_vr24 veriT_vr62) :named @p_568)) :rule refl) (step t35.t1.t20.t8 (cl (! (= @p_324 @p_545) :named @p_569)) :rule cong :premises (t35.t1.t20.t6 t35.t1.t20.t7)) (step t35.t1.t20.t9 (cl (= @p_345 @p_566)) :rule cong :premises (t35.t1.t20.t5 t35.t1.t20.t8)) (step t35.t1.t20.t10 (cl @p_557) :rule refl) (step t35.t1.t20.t11 (cl @p_553) :rule refl) (step t35.t1.t20.t12 (cl @p_558) :rule cong :premises (t35.t1.t20.t10 t35.t1.t20.t11)) (step t35.t1.t20.t13 (cl @p_555) :rule refl) (step t35.t1.t20.t14 (cl @p_559) :rule cong :premises (t35.t1.t20.t12 t35.t1.t20.t13)) (step t35.t1.t20.t15 (cl @p_567) :rule refl) (step t35.t1.t20.t16 (cl @p_568) :rule refl) (step t35.t1.t20.t17 (cl @p_569) :rule cong :premises (t35.t1.t20.t15 t35.t1.t20.t16)) (step t35.t1.t20.t18 (cl (= @p_349 @p_570)) :rule cong :premises (t35.t1.t20.t14 t35.t1.t20.t17)) (step t35.t1.t20.t19 (cl (= @p_350 @p_571)) :rule cong :premises (t35.t1.t20.t9 t35.t1.t20.t18)) (step t35.t1.t20 (cl (= @p_341 @p_562)) :rule bind) (step t35.t1.t21 (cl (= @p_351 @p_572)) :rule cong :premises (t35.t1.t19 t35.t1.t20)) (step t35.t1.t22 (cl (= @p_352 @p_573)) :rule cong :premises (t35.t1.t6 t35.t1.t21)) (step t35.t1 (cl (= @p_330 @p_551)) :rule bind) (anchor :step t35.t2 :args ((:= (veriT_vr25 D$) veriT_vr63))) (step t35.t2.t1 (cl @p_557) :rule refl) (step t35.t2.t2 (cl (! (= @p_354 @p_575) :named @p_577)) :rule cong :premises (t35.t2.t1)) (step t35.t2.t3 (cl (! (= veriT_vr25 veriT_vr63) :named @p_578)) :rule refl) (step t35.t2.t4 (cl (! (= @p_325 @p_546) :named @p_579)) :rule cong :premises (t35.t2.t2 t35.t2.t3)) (step t35.t2.t5 (cl (! (= @p_327 @p_548) :named @p_601)) :rule cong :premises (t35.t2.t4)) (anchor :step t35.t2.t6 :args ((:= (veriT_vr26 E$) veriT_vr64) (:= (veriT_vr27 D$) veriT_vr65))) (step t35.t2.t6.t1 (cl @p_557) :rule refl) (step t35.t2.t6.t2 (cl @p_577) :rule cong :premises (t35.t2.t6.t1)) (step t35.t2.t6.t3 (cl @p_578) :rule refl) (step t35.t2.t6.t4 (cl @p_579) :rule cong :premises (t35.t2.t6.t2 t35.t2.t6.t3)) (step t35.t2.t6.t5 (cl (! (= veriT_vr26 veriT_vr64) :named @p_582)) :rule refl) (step t35.t2.t6.t6 (cl (! (= veriT_vr27 veriT_vr65) :named @p_584)) :rule refl) (step t35.t2.t6.t7 (cl (= @p_359 @p_580)) :rule cong :premises (t35.t2.t6.t5 t35.t2.t6.t6)) (step t35.t2.t6.t8 (cl (= @p_360 @p_581)) :rule cong :premises (t35.t2.t6.t4 t35.t2.t6.t7)) (step t35.t2.t6.t9 (cl @p_582) :rule refl) (step t35.t2.t6.t10 (cl @p_557) :rule refl) (step t35.t2.t6.t11 (cl (= @p_362 @p_583)) :rule cong :premises (t35.t2.t6.t9 t35.t2.t6.t10)) (step t35.t2.t6.t12 (cl @p_584) :rule refl) (step t35.t2.t6.t13 (cl (= @p_364 @p_585)) :rule cong :premises (t35.t2.t6.t11 t35.t2.t6.t12)) (step t35.t2.t6.t14 (cl (= @p_365 @p_586)) :rule cong :premises (t35.t2.t6.t13)) (step t35.t2.t6.t15 (cl (= @p_366 @p_587)) :rule cong :premises (t35.t2.t6.t8 t35.t2.t6.t14)) (step t35.t2.t6 (cl (= @p_355 @p_576)) :rule bind) (step t35.t2.t7 (cl @p_563) :rule refl) (step t35.t2.t8 (cl (! (= @p_367 @p_588) :named @p_590)) :rule cong :premises (t35.t2.t7)) (step t35.t2.t9 (cl @p_578) :rule refl) (step t35.t2.t10 (cl (! (= @p_326 @p_547) :named @p_591)) :rule cong :premises (t35.t2.t8 t35.t2.t9)) (step t35.t2.t11 (cl (! (= @p_328 @p_549) :named @p_624)) :rule cong :premises (t35.t2.t10)) (anchor :step t35.t2.t12 :args ((:= (veriT_vr28 E$) veriT_vr66) (:= (veriT_vr29 D$) veriT_vr67))) (step t35.t2.t12.t1 (cl @p_563) :rule refl) (step t35.t2.t12.t2 (cl @p_590) :rule cong :premises (t35.t2.t12.t1)) (step t35.t2.t12.t3 (cl @p_578) :rule refl) (step t35.t2.t12.t4 (cl @p_591) :rule cong :premises (t35.t2.t12.t2 t35.t2.t12.t3)) (step t35.t2.t12.t5 (cl (! (= veriT_vr28 veriT_vr66) :named @p_594)) :rule refl) (step t35.t2.t12.t6 (cl (! (= veriT_vr29 veriT_vr67) :named @p_596)) :rule refl) (step t35.t2.t12.t7 (cl (= @p_371 @p_592)) :rule cong :premises (t35.t2.t12.t5 t35.t2.t12.t6)) (step t35.t2.t12.t8 (cl (= @p_372 @p_593)) :rule cong :premises (t35.t2.t12.t4 t35.t2.t12.t7)) (step t35.t2.t12.t9 (cl @p_594) :rule refl) (step t35.t2.t12.t10 (cl @p_563) :rule refl) (step t35.t2.t12.t11 (cl (= @p_374 @p_595)) :rule cong :premises (t35.t2.t12.t9 t35.t2.t12.t10)) (step t35.t2.t12.t12 (cl @p_596) :rule refl) (step t35.t2.t12.t13 (cl (= @p_376 @p_597)) :rule cong :premises (t35.t2.t12.t11 t35.t2.t12.t12)) (step t35.t2.t12.t14 (cl (= @p_377 @p_598)) :rule cong :premises (t35.t2.t12.t13)) (step t35.t2.t12.t15 (cl (= @p_378 @p_599)) :rule cong :premises (t35.t2.t12.t8 t35.t2.t12.t14)) (step t35.t2.t12 (cl (= @p_368 @p_589)) :rule bind) (step t35.t2.t13 (cl (= @p_379 @p_600)) :rule cong :premises (t35.t2.t11 t35.t2.t12)) (step t35.t2.t14 (cl @p_557) :rule refl) (step t35.t2.t15 (cl @p_577) :rule cong :premises (t35.t2.t14)) (step t35.t2.t16 (cl @p_578) :rule refl) (step t35.t2.t17 (cl @p_579) :rule cong :premises (t35.t2.t15 t35.t2.t16)) (step t35.t2.t18 (cl @p_601) :rule cong :premises (t35.t2.t17)) (anchor :step t35.t2.t19 :args ((:= (veriT_vr30 E$) veriT_vr68) (:= (veriT_vr31 D$) veriT_vr69))) (step t35.t2.t19.t1 (cl @p_557) :rule refl) (step t35.t2.t19.t2 (cl @p_577) :rule cong :premises (t35.t2.t19.t1)) (step t35.t2.t19.t3 (cl @p_578) :rule refl) (step t35.t2.t19.t4 (cl @p_579) :rule cong :premises (t35.t2.t19.t2 t35.t2.t19.t3)) (step t35.t2.t19.t5 (cl (! (= veriT_vr30 veriT_vr68) :named @p_605)) :rule refl) (step t35.t2.t19.t6 (cl (! (= veriT_vr31 veriT_vr69) :named @p_607)) :rule refl) (step t35.t2.t19.t7 (cl (= @p_382 @p_603)) :rule cong :premises (t35.t2.t19.t5 t35.t2.t19.t6)) (step t35.t2.t19.t8 (cl (= @p_383 @p_604)) :rule cong :premises (t35.t2.t19.t4 t35.t2.t19.t7)) (step t35.t2.t19.t9 (cl @p_605) :rule refl) (step t35.t2.t19.t10 (cl @p_557) :rule refl) (step t35.t2.t19.t11 (cl (= @p_385 @p_606)) :rule cong :premises (t35.t2.t19.t9 t35.t2.t19.t10)) (step t35.t2.t19.t12 (cl @p_607) :rule refl) (step t35.t2.t19.t13 (cl (= @p_387 @p_608)) :rule cong :premises (t35.t2.t19.t11 t35.t2.t19.t12)) (step t35.t2.t19.t14 (cl (= @p_388 @p_609)) :rule cong :premises (t35.t2.t19.t13)) (step t35.t2.t19.t15 (cl (= @p_389 @p_610)) :rule cong :premises (t35.t2.t19.t8 t35.t2.t19.t14)) (step t35.t2.t19 (cl (= @p_381 @p_602)) :rule bind) (step t35.t2.t20 (cl (= @p_390 @p_611)) :rule cong :premises (t35.t2.t18 t35.t2.t19)) (step t35.t2.t21 (cl (= @p_612 @p_613)) :rule cong :premises (t35.t2.t13 t35.t2.t20)) (step t35.t2.t22 (cl @p_557) :rule refl) (step t35.t2.t23 (cl @p_577) :rule cong :premises (t35.t2.t22)) (step t35.t2.t24 (cl @p_578) :rule refl) (step t35.t2.t25 (cl @p_579) :rule cong :premises (t35.t2.t23 t35.t2.t24)) (step t35.t2.t26 (cl @p_601) :rule cong :premises (t35.t2.t25)) (anchor :step t35.t2.t27 :args ((:= (veriT_vr30 E$) veriT_vr70) (:= (veriT_vr31 D$) veriT_vr71))) (step t35.t2.t27.t1 (cl @p_557) :rule refl) (step t35.t2.t27.t2 (cl @p_577) :rule cong :premises (t35.t2.t27.t1)) (step t35.t2.t27.t3 (cl @p_578) :rule refl) (step t35.t2.t27.t4 (cl @p_579) :rule cong :premises (t35.t2.t27.t2 t35.t2.t27.t3)) (step t35.t2.t27.t5 (cl (! (= veriT_vr30 veriT_vr70) :named @p_617)) :rule refl) (step t35.t2.t27.t6 (cl (! (= veriT_vr31 veriT_vr71) :named @p_619)) :rule refl) (step t35.t2.t27.t7 (cl (= @p_382 @p_615)) :rule cong :premises (t35.t2.t27.t5 t35.t2.t27.t6)) (step t35.t2.t27.t8 (cl (= @p_383 @p_616)) :rule cong :premises (t35.t2.t27.t4 t35.t2.t27.t7)) (step t35.t2.t27.t9 (cl @p_617) :rule refl) (step t35.t2.t27.t10 (cl @p_557) :rule refl) (step t35.t2.t27.t11 (cl (= @p_385 @p_618)) :rule cong :premises (t35.t2.t27.t9 t35.t2.t27.t10)) (step t35.t2.t27.t12 (cl @p_619) :rule refl) (step t35.t2.t27.t13 (cl (= @p_387 @p_620)) :rule cong :premises (t35.t2.t27.t11 t35.t2.t27.t12)) (step t35.t2.t27.t14 (cl (= @p_388 @p_621)) :rule cong :premises (t35.t2.t27.t13)) (step t35.t2.t27.t15 (cl (= @p_389 @p_622)) :rule cong :premises (t35.t2.t27.t8 t35.t2.t27.t14)) (step t35.t2.t27 (cl (= @p_381 @p_614)) :rule bind) (step t35.t2.t28 (cl (= @p_390 @p_623)) :rule cong :premises (t35.t2.t26 t35.t2.t27)) (step t35.t2.t29 (cl @p_563) :rule refl) (step t35.t2.t30 (cl @p_590) :rule cong :premises (t35.t2.t29)) (step t35.t2.t31 (cl @p_578) :rule refl) (step t35.t2.t32 (cl @p_591) :rule cong :premises (t35.t2.t30 t35.t2.t31)) (step t35.t2.t33 (cl @p_624) :rule cong :premises (t35.t2.t32)) (anchor :step t35.t2.t34 :args ((:= (veriT_vr28 E$) veriT_vr72) (:= (veriT_vr29 D$) veriT_vr73))) (step t35.t2.t34.t1 (cl @p_563) :rule refl) (step t35.t2.t34.t2 (cl @p_590) :rule cong :premises (t35.t2.t34.t1)) (step t35.t2.t34.t3 (cl @p_578) :rule refl) (step t35.t2.t34.t4 (cl @p_591) :rule cong :premises (t35.t2.t34.t2 t35.t2.t34.t3)) (step t35.t2.t34.t5 (cl (! (= veriT_vr28 veriT_vr72) :named @p_628)) :rule refl) (step t35.t2.t34.t6 (cl (! (= veriT_vr29 veriT_vr73) :named @p_630)) :rule refl) (step t35.t2.t34.t7 (cl (= @p_371 @p_626)) :rule cong :premises (t35.t2.t34.t5 t35.t2.t34.t6)) (step t35.t2.t34.t8 (cl (= @p_372 @p_627)) :rule cong :premises (t35.t2.t34.t4 t35.t2.t34.t7)) (step t35.t2.t34.t9 (cl @p_628) :rule refl) (step t35.t2.t34.t10 (cl @p_563) :rule refl) (step t35.t2.t34.t11 (cl (= @p_374 @p_629)) :rule cong :premises (t35.t2.t34.t9 t35.t2.t34.t10)) (step t35.t2.t34.t12 (cl @p_630) :rule refl) (step t35.t2.t34.t13 (cl (= @p_376 @p_631)) :rule cong :premises (t35.t2.t34.t11 t35.t2.t34.t12)) (step t35.t2.t34.t14 (cl (= @p_377 @p_632)) :rule cong :premises (t35.t2.t34.t13)) (step t35.t2.t34.t15 (cl (= @p_378 @p_633)) :rule cong :premises (t35.t2.t34.t8 t35.t2.t34.t14)) (step t35.t2.t34 (cl (= @p_368 @p_625)) :rule bind) (step t35.t2.t35 (cl (= @p_379 @p_634)) :rule cong :premises (t35.t2.t33 t35.t2.t34)) (step t35.t2.t36 (cl (= @p_635 @p_636)) :rule cong :premises (t35.t2.t28 t35.t2.t35)) (step t35.t2.t37 (cl (= @p_427 @p_637)) :rule cong :premises (t35.t2.t21 t35.t2.t36)) (anchor :step t35.t2.t38 :args ((:= (veriT_vr32 F$) veriT_vr74) (:= (veriT_vr33 D$) veriT_vr75))) (step t35.t2.t38.t1 (cl @p_563) :rule refl) (step t35.t2.t38.t2 (cl @p_590) :rule cong :premises (t35.t2.t38.t1)) (step t35.t2.t38.t3 (cl @p_578) :rule refl) (step t35.t2.t38.t4 (cl @p_591) :rule cong :premises (t35.t2.t38.t2 t35.t2.t38.t3)) (step t35.t2.t38.t5 (cl @p_624) :rule cong :premises (t35.t2.t38.t4)) (anchor :step t35.t2.t38.t6 :args ((:= (veriT_vr34 E$) veriT_vr76) (:= (veriT_vr35 D$) veriT_vr77))) (step t35.t2.t38.t6.t1 (cl @p_563) :rule refl) (step t35.t2.t38.t6.t2 (cl @p_590) :rule cong :premises (t35.t2.t38.t6.t1)) (step t35.t2.t38.t6.t3 (cl @p_578) :rule refl) (step t35.t2.t38.t6.t4 (cl @p_591) :rule cong :premises (t35.t2.t38.t6.t2 t35.t2.t38.t6.t3)) (step t35.t2.t38.t6.t5 (cl (! (= veriT_vr34 veriT_vr76) :named @p_642)) :rule refl) (step t35.t2.t38.t6.t6 (cl (! (= veriT_vr35 veriT_vr77) :named @p_644)) :rule refl) (step t35.t2.t38.t6.t7 (cl (= @p_395 @p_640)) :rule cong :premises (t35.t2.t38.t6.t5 t35.t2.t38.t6.t6)) (step t35.t2.t38.t6.t8 (cl (= @p_396 @p_641)) :rule cong :premises (t35.t2.t38.t6.t4 t35.t2.t38.t6.t7)) (step t35.t2.t38.t6.t9 (cl @p_642) :rule refl) (step t35.t2.t38.t6.t10 (cl @p_563) :rule refl) (step t35.t2.t38.t6.t11 (cl (= @p_398 @p_643)) :rule cong :premises (t35.t2.t38.t6.t9 t35.t2.t38.t6.t10)) (step t35.t2.t38.t6.t12 (cl @p_644) :rule refl) (step t35.t2.t38.t6.t13 (cl (= @p_400 @p_645)) :rule cong :premises (t35.t2.t38.t6.t11 t35.t2.t38.t6.t12)) (step t35.t2.t38.t6.t14 (cl (! (= veriT_vr32 veriT_vr74) :named @p_656)) :rule refl) (step t35.t2.t38.t6.t15 (cl (! (= veriT_vr33 veriT_vr75) :named @p_657)) :rule refl) (step t35.t2.t38.t6.t16 (cl (! (= @p_329 @p_550) :named @p_658)) :rule cong :premises (t35.t2.t38.t6.t14 t35.t2.t38.t6.t15)) (step t35.t2.t38.t6.t17 (cl (= @p_401 @p_646)) :rule cong :premises (t35.t2.t38.t6.t13 t35.t2.t38.t6.t16)) (step t35.t2.t38.t6.t18 (cl (= @p_402 @p_647)) :rule cong :premises (t35.t2.t38.t6.t8 t35.t2.t38.t6.t17)) (step t35.t2.t38.t6 (cl (= @p_394 @p_639)) :rule bind) (step t35.t2.t38.t7 (cl (= @p_403 @p_648)) :rule cong :premises (t35.t2.t38.t5 t35.t2.t38.t6)) (step t35.t2.t38.t8 (cl @p_557) :rule refl) (step t35.t2.t38.t9 (cl @p_577) :rule cong :premises (t35.t2.t38.t8)) (step t35.t2.t38.t10 (cl @p_578) :rule refl) (step t35.t2.t38.t11 (cl @p_579) :rule cong :premises (t35.t2.t38.t9 t35.t2.t38.t10)) (step t35.t2.t38.t12 (cl @p_601) :rule cong :premises (t35.t2.t38.t11)) (anchor :step t35.t2.t38.t13 :args ((:= (veriT_vr36 E$) veriT_vr78) (:= (veriT_vr37 D$) veriT_vr79))) (step t35.t2.t38.t13.t1 (cl @p_557) :rule refl) (step t35.t2.t38.t13.t2 (cl @p_577) :rule cong :premises (t35.t2.t38.t13.t1)) (step t35.t2.t38.t13.t3 (cl @p_578) :rule refl) (step t35.t2.t38.t13.t4 (cl @p_579) :rule cong :premises (t35.t2.t38.t13.t2 t35.t2.t38.t13.t3)) (step t35.t2.t38.t13.t5 (cl (! (= veriT_vr36 veriT_vr78) :named @p_652)) :rule refl) (step t35.t2.t38.t13.t6 (cl (! (= veriT_vr37 veriT_vr79) :named @p_654)) :rule refl) (step t35.t2.t38.t13.t7 (cl (= @p_405 @p_650)) :rule cong :premises (t35.t2.t38.t13.t5 t35.t2.t38.t13.t6)) (step t35.t2.t38.t13.t8 (cl (= @p_406 @p_651)) :rule cong :premises (t35.t2.t38.t13.t4 t35.t2.t38.t13.t7)) (step t35.t2.t38.t13.t9 (cl @p_652) :rule refl) (step t35.t2.t38.t13.t10 (cl @p_557) :rule refl) (step t35.t2.t38.t13.t11 (cl (= @p_408 @p_653)) :rule cong :premises (t35.t2.t38.t13.t9 t35.t2.t38.t13.t10)) (step t35.t2.t38.t13.t12 (cl @p_654) :rule refl) (step t35.t2.t38.t13.t13 (cl (= @p_410 @p_655)) :rule cong :premises (t35.t2.t38.t13.t11 t35.t2.t38.t13.t12)) (step t35.t2.t38.t13.t14 (cl @p_656) :rule refl) (step t35.t2.t38.t13.t15 (cl @p_657) :rule refl) (step t35.t2.t38.t13.t16 (cl @p_658) :rule cong :premises (t35.t2.t38.t13.t14 t35.t2.t38.t13.t15)) (step t35.t2.t38.t13.t17 (cl (= @p_414 @p_659)) :rule cong :premises (t35.t2.t38.t13.t13 t35.t2.t38.t13.t16)) (step t35.t2.t38.t13.t18 (cl (= @p_415 @p_660)) :rule cong :premises (t35.t2.t38.t13.t8 t35.t2.t38.t13.t17)) (step t35.t2.t38.t13 (cl (= @p_404 @p_649)) :rule bind) (step t35.t2.t38.t14 (cl (= @p_416 @p_661)) :rule cong :premises (t35.t2.t38.t12 t35.t2.t38.t13)) (step t35.t2.t38.t15 (cl (= @p_662 @p_663)) :rule cong :premises (t35.t2.t38.t7 t35.t2.t38.t14)) (step t35.t2.t38.t16 (cl @p_557) :rule refl) (step t35.t2.t38.t17 (cl @p_577) :rule cong :premises (t35.t2.t38.t16)) (step t35.t2.t38.t18 (cl @p_578) :rule refl) (step t35.t2.t38.t19 (cl @p_579) :rule cong :premises (t35.t2.t38.t17 t35.t2.t38.t18)) (step t35.t2.t38.t20 (cl @p_601) :rule cong :premises (t35.t2.t38.t19)) (anchor :step t35.t2.t38.t21 :args ((:= (veriT_vr36 E$) veriT_vr80) (:= (veriT_vr37 D$) veriT_vr81))) (step t35.t2.t38.t21.t1 (cl @p_557) :rule refl) (step t35.t2.t38.t21.t2 (cl @p_577) :rule cong :premises (t35.t2.t38.t21.t1)) (step t35.t2.t38.t21.t3 (cl @p_578) :rule refl) (step t35.t2.t38.t21.t4 (cl @p_579) :rule cong :premises (t35.t2.t38.t21.t2 t35.t2.t38.t21.t3)) (step t35.t2.t38.t21.t5 (cl (! (= veriT_vr36 veriT_vr80) :named @p_667)) :rule refl) (step t35.t2.t38.t21.t6 (cl (! (= veriT_vr37 veriT_vr81) :named @p_669)) :rule refl) (step t35.t2.t38.t21.t7 (cl (= @p_405 @p_665)) :rule cong :premises (t35.t2.t38.t21.t5 t35.t2.t38.t21.t6)) (step t35.t2.t38.t21.t8 (cl (= @p_406 @p_666)) :rule cong :premises (t35.t2.t38.t21.t4 t35.t2.t38.t21.t7)) (step t35.t2.t38.t21.t9 (cl @p_667) :rule refl) (step t35.t2.t38.t21.t10 (cl @p_557) :rule refl) (step t35.t2.t38.t21.t11 (cl (= @p_408 @p_668)) :rule cong :premises (t35.t2.t38.t21.t9 t35.t2.t38.t21.t10)) (step t35.t2.t38.t21.t12 (cl @p_669) :rule refl) (step t35.t2.t38.t21.t13 (cl (= @p_410 @p_670)) :rule cong :premises (t35.t2.t38.t21.t11 t35.t2.t38.t21.t12)) (step t35.t2.t38.t21.t14 (cl @p_656) :rule refl) (step t35.t2.t38.t21.t15 (cl @p_657) :rule refl) (step t35.t2.t38.t21.t16 (cl @p_658) :rule cong :premises (t35.t2.t38.t21.t14 t35.t2.t38.t21.t15)) (step t35.t2.t38.t21.t17 (cl (= @p_414 @p_671)) :rule cong :premises (t35.t2.t38.t21.t13 t35.t2.t38.t21.t16)) (step t35.t2.t38.t21.t18 (cl (= @p_415 @p_672)) :rule cong :premises (t35.t2.t38.t21.t8 t35.t2.t38.t21.t17)) (step t35.t2.t38.t21 (cl (= @p_404 @p_664)) :rule bind) (step t35.t2.t38.t22 (cl (= @p_416 @p_673)) :rule cong :premises (t35.t2.t38.t20 t35.t2.t38.t21)) (step t35.t2.t38.t23 (cl @p_563) :rule refl) (step t35.t2.t38.t24 (cl @p_590) :rule cong :premises (t35.t2.t38.t23)) (step t35.t2.t38.t25 (cl @p_578) :rule refl) (step t35.t2.t38.t26 (cl @p_591) :rule cong :premises (t35.t2.t38.t24 t35.t2.t38.t25)) (step t35.t2.t38.t27 (cl @p_624) :rule cong :premises (t35.t2.t38.t26)) (anchor :step t35.t2.t38.t28 :args ((:= (veriT_vr34 E$) veriT_vr82) (:= (veriT_vr35 D$) veriT_vr83))) (step t35.t2.t38.t28.t1 (cl @p_563) :rule refl) (step t35.t2.t38.t28.t2 (cl @p_590) :rule cong :premises (t35.t2.t38.t28.t1)) (step t35.t2.t38.t28.t3 (cl @p_578) :rule refl) (step t35.t2.t38.t28.t4 (cl @p_591) :rule cong :premises (t35.t2.t38.t28.t2 t35.t2.t38.t28.t3)) (step t35.t2.t38.t28.t5 (cl (! (= veriT_vr34 veriT_vr82) :named @p_677)) :rule refl) (step t35.t2.t38.t28.t6 (cl (! (= veriT_vr35 veriT_vr83) :named @p_679)) :rule refl) (step t35.t2.t38.t28.t7 (cl (= @p_395 @p_675)) :rule cong :premises (t35.t2.t38.t28.t5 t35.t2.t38.t28.t6)) (step t35.t2.t38.t28.t8 (cl (= @p_396 @p_676)) :rule cong :premises (t35.t2.t38.t28.t4 t35.t2.t38.t28.t7)) (step t35.t2.t38.t28.t9 (cl @p_677) :rule refl) (step t35.t2.t38.t28.t10 (cl @p_563) :rule refl) (step t35.t2.t38.t28.t11 (cl (= @p_398 @p_678)) :rule cong :premises (t35.t2.t38.t28.t9 t35.t2.t38.t28.t10)) (step t35.t2.t38.t28.t12 (cl @p_679) :rule refl) (step t35.t2.t38.t28.t13 (cl (= @p_400 @p_680)) :rule cong :premises (t35.t2.t38.t28.t11 t35.t2.t38.t28.t12)) (step t35.t2.t38.t28.t14 (cl @p_656) :rule refl) (step t35.t2.t38.t28.t15 (cl @p_657) :rule refl) (step t35.t2.t38.t28.t16 (cl @p_658) :rule cong :premises (t35.t2.t38.t28.t14 t35.t2.t38.t28.t15)) (step t35.t2.t38.t28.t17 (cl (= @p_401 @p_681)) :rule cong :premises (t35.t2.t38.t28.t13 t35.t2.t38.t28.t16)) (step t35.t2.t38.t28.t18 (cl (= @p_402 @p_682)) :rule cong :premises (t35.t2.t38.t28.t8 t35.t2.t38.t28.t17)) (step t35.t2.t38.t28 (cl (= @p_394 @p_674)) :rule bind) (step t35.t2.t38.t29 (cl (= @p_403 @p_683)) :rule cong :premises (t35.t2.t38.t27 t35.t2.t38.t28)) (step t35.t2.t38.t30 (cl (= @p_684 @p_685)) :rule cong :premises (t35.t2.t38.t22 t35.t2.t38.t29)) (step t35.t2.t38.t31 (cl (= @p_429 @p_686)) :rule cong :premises (t35.t2.t38.t15 t35.t2.t38.t30)) (step t35.t2.t38 (cl (= @p_428 @p_638)) :rule bind) (step t35.t2.t39 (cl (= @p_430 @p_687)) :rule cong :premises (t35.t2.t37 t35.t2.t38)) (step t35.t2.t40 (cl (= @p_431 @p_688)) :rule cong :premises (t35.t2.t5 t35.t2.t6 t35.t2.t39)) (step t35.t2 (cl (= @p_426 @p_574)) :rule bind) (step t35.t3 (cl (= @p_432 @p_689)) :rule cong :premises (t35.t1 t35.t2)) (step t35 (cl (= @p_433 (! (forall ((veriT_vr57 A_b_c_M_state_fun$) (veriT_vr58 A_b_c_M_state_fun$)) @p_689) :named @p_690))) :rule bind) (step t36 (cl (= @p_434 (! (not @p_690) :named @p_693))) :rule cong :premises (t35)) (step t37 (cl (! (= @p_436 (! (and @p_691 @p_692 @p_693) :named @p_695)) :named @p_694)) :rule cong :premises (t33 t34 t36)) (step t38 (cl (not @p_694) (not @p_436) @p_695) :rule equiv_pos2) (step t39 (cl @p_695) :rule th_resolution :premises (t32 t37 t38)) (anchor :step t40 :args ((:= (veriT_vr57 A_b_c_M_state_fun$) veriT_sk0) (:= (veriT_vr58 A_b_c_M_state_fun$) veriT_sk1))) (anchor :step t40.t1 :args ((veriT_vr59 A$) (veriT_vr60 C$))) (step t40.t1.t1 (cl (! (= veriT_vr57 veriT_sk0) :named @p_754)) :rule refl) (step t40.t1.t2 (cl (! (= @p_552 (! (fun_app$ veriT_sk0 veriT_vr59) :named @p_751)) :named @p_755)) :rule cong :premises (t40.t1.t1)) (step t40.t1.t3 (cl (! (= @p_544 (! (run$ @p_751 veriT_vr60) :named @p_703)) :named @p_756)) :rule cong :premises (t40.t1.t2)) (step t40.t1.t4 (cl (! (= @p_542 (! (is_fail$ @p_703) :named @p_701)) :named @p_757)) :rule cong :premises (t40.t1.t3)) (step t40.t1.t5 (cl (! (= veriT_vr58 veriT_sk1) :named @p_760)) :rule refl) (step t40.t1.t6 (cl (! (= @p_554 (! (fun_app$ veriT_sk1 veriT_vr59) :named @p_752)) :named @p_761)) :rule cong :premises (t40.t1.t5)) (step t40.t1.t7 (cl (! (= @p_543 (! (run$ @p_752 veriT_vr60) :named @p_702)) :named @p_762)) :rule cong :premises (t40.t1.t6)) (step t40.t1.t8 (cl (= @p_556 (! (is_fail$ @p_702) :named @p_753))) :rule cong :premises (t40.t1.t7)) (step t40.t1.t9 (cl @p_754) :rule refl) (step t40.t1.t10 (cl @p_755) :rule cong :premises (t40.t1.t9)) (step t40.t1.t11 (cl @p_756) :rule cong :premises (t40.t1.t10)) (step t40.t1.t12 (cl @p_757) :rule cong :premises (t40.t1.t11)) (step t40.t1.t13 (cl (= @p_561 (! (= @p_753 @p_701) :named @p_758))) :rule cong :premises (t40.t1.t8 t40.t1.t12)) (anchor :step t40.t1.t14 :args ((veriT_vr61 B$) (veriT_vr62 C$))) (step t40.t1.t14.t1 (cl @p_760) :rule refl) (step t40.t1.t14.t2 (cl @p_761) :rule cong :premises (t40.t1.t14.t1)) (step t40.t1.t14.t3 (cl @p_762) :rule cong :premises (t40.t1.t14.t2)) (step t40.t1.t14.t4 (cl (= @p_566 (! (is_res$ @p_702 @p_545) :named @p_763))) :rule cong :premises (t40.t1.t14.t3)) (step t40.t1.t14.t5 (cl @p_754) :rule refl) (step t40.t1.t14.t6 (cl @p_755) :rule cong :premises (t40.t1.t14.t5)) (step t40.t1.t14.t7 (cl @p_756) :rule cong :premises (t40.t1.t14.t6)) (step t40.t1.t14.t8 (cl (= @p_570 (! (is_res$ @p_703 @p_545) :named @p_764))) :rule cong :premises (t40.t1.t14.t7)) (step t40.t1.t14.t9 (cl (= @p_571 (! (= @p_763 @p_764) :named @p_765))) :rule cong :premises (t40.t1.t14.t4 t40.t1.t14.t8)) (step t40.t1.t14 (cl (= @p_562 (! (forall ((veriT_vr61 B$) (veriT_vr62 C$)) @p_765) :named @p_759))) :rule bind) (step t40.t1.t15 (cl (= @p_572 (! (and @p_758 @p_759) :named @p_766))) :rule cong :premises (t40.t1.t13 t40.t1.t14)) (step t40.t1.t16 (cl (= @p_573 (! (or @p_701 @p_766) :named @p_767))) :rule cong :premises (t40.t1.t4 t40.t1.t15)) (step t40.t1 (cl (= @p_551 (! (forall ((veriT_vr59 A$) (veriT_vr60 C$)) @p_767) :named @p_750))) :rule bind) (anchor :step t40.t2 :args ((:= (veriT_vr63 D$) veriT_sk2))) (step t40.t2.t1 (cl @p_754) :rule refl) (step t40.t2.t2 (cl (! (= @p_575 (! (b$ veriT_sk0) :named @p_769)) :named @p_771)) :rule cong :premises (t40.t2.t1)) (step t40.t2.t3 (cl (! (= veriT_vr63 veriT_sk2) :named @p_772)) :rule refl) (step t40.t2.t4 (cl (! (= @p_546 (! (run$a @p_769 veriT_sk2) :named @p_712)) :named @p_773)) :rule cong :premises (t40.t2.t2 t40.t2.t3)) (step t40.t2.t5 (cl (! (= @p_548 (! (is_fail$a @p_712) :named @p_720)) :named @p_791)) :rule cong :premises (t40.t2.t4)) (anchor :step t40.t2.t6 :args ((veriT_vr64 E$) (veriT_vr65 D$))) (step t40.t2.t6.t1 (cl @p_754) :rule refl) (step t40.t2.t6.t2 (cl @p_771) :rule cong :premises (t40.t2.t6.t1)) (step t40.t2.t6.t3 (cl @p_772) :rule refl) (step t40.t2.t6.t4 (cl @p_773) :rule cong :premises (t40.t2.t6.t2 t40.t2.t6.t3)) (step t40.t2.t6.t5 (cl (= @p_581 (! (is_res$a @p_712 @p_580) :named @p_774))) :rule cong :premises (t40.t2.t6.t4)) (step t40.t2.t6.t6 (cl @p_754) :rule refl) (step t40.t2.t6.t7 (cl (= @p_583 (! (c$ veriT_vr64 veriT_sk0) :named @p_775))) :rule cong :premises (t40.t2.t6.t6)) (step t40.t2.t6.t8 (cl (= @p_585 (! (run$b @p_775 veriT_vr65) :named @p_776))) :rule cong :premises (t40.t2.t6.t7)) (step t40.t2.t6.t9 (cl (= @p_586 (! (is_fail$b @p_776) :named @p_777))) :rule cong :premises (t40.t2.t6.t8)) (step t40.t2.t6.t10 (cl (= @p_587 (! (and @p_774 @p_777) :named @p_778))) :rule cong :premises (t40.t2.t6.t5 t40.t2.t6.t9)) (step t40.t2.t6 (cl (= @p_576 (! (exists ((veriT_vr64 E$) (veriT_vr65 D$)) @p_778) :named @p_770))) :rule bind) (step t40.t2.t7 (cl @p_760) :rule refl) (step t40.t2.t8 (cl (! (= @p_588 (! (b$ veriT_sk1) :named @p_779)) :named @p_781)) :rule cong :premises (t40.t2.t7)) (step t40.t2.t9 (cl @p_772) :rule refl) (step t40.t2.t10 (cl (! (= @p_547 (! (run$a @p_779 veriT_sk2) :named @p_714)) :named @p_782)) :rule cong :premises (t40.t2.t8 t40.t2.t9)) (step t40.t2.t11 (cl (! (= @p_549 (! (is_fail$a @p_714) :named @p_726)) :named @p_809)) :rule cong :premises (t40.t2.t10)) (anchor :step t40.t2.t12 :args ((:= (veriT_vr66 E$) veriT_sk3) (:= (veriT_vr67 D$) veriT_sk4))) (step t40.t2.t12.t1 (cl @p_760) :rule refl) (step t40.t2.t12.t2 (cl @p_781) :rule cong :premises (t40.t2.t12.t1)) (step t40.t2.t12.t3 (cl @p_772) :rule refl) (step t40.t2.t12.t4 (cl @p_782) :rule cong :premises (t40.t2.t12.t2 t40.t2.t12.t3)) (step t40.t2.t12.t5 (cl (! (= veriT_vr66 veriT_sk3) :named @p_785)) :rule refl) (step t40.t2.t12.t6 (cl (! (= veriT_vr67 veriT_sk4) :named @p_787)) :rule refl) (step t40.t2.t12.t7 (cl (= @p_592 (! (pair$a veriT_sk3 veriT_sk4) :named @p_783))) :rule cong :premises (t40.t2.t12.t5 t40.t2.t12.t6)) (step t40.t2.t12.t8 (cl (= @p_593 (! (is_res$a @p_714 @p_783) :named @p_784))) :rule cong :premises (t40.t2.t12.t4 t40.t2.t12.t7)) (step t40.t2.t12.t9 (cl @p_785) :rule refl) (step t40.t2.t12.t10 (cl @p_760) :rule refl) (step t40.t2.t12.t11 (cl (= @p_595 (! (c$ veriT_sk3 veriT_sk1) :named @p_786))) :rule cong :premises (t40.t2.t12.t9 t40.t2.t12.t10)) (step t40.t2.t12.t12 (cl @p_787) :rule refl) (step t40.t2.t12.t13 (cl (= @p_597 (! (run$b @p_786 veriT_sk4) :named @p_788))) :rule cong :premises (t40.t2.t12.t11 t40.t2.t12.t12)) (step t40.t2.t12.t14 (cl (= @p_598 (! (is_fail$b @p_788) :named @p_789))) :rule cong :premises (t40.t2.t12.t13)) (step t40.t2.t12.t15 (cl (= @p_599 (! (and @p_784 @p_789) :named @p_780))) :rule cong :premises (t40.t2.t12.t8 t40.t2.t12.t14)) (step t40.t2.t12 (cl (= @p_589 @p_780)) :rule sko_ex) (step t40.t2.t13 (cl (= @p_600 (! (or @p_726 @p_780) :named @p_790))) :rule cong :premises (t40.t2.t11 t40.t2.t12)) (step t40.t2.t14 (cl @p_754) :rule refl) (step t40.t2.t15 (cl @p_771) :rule cong :premises (t40.t2.t14)) (step t40.t2.t16 (cl @p_772) :rule refl) (step t40.t2.t17 (cl @p_773) :rule cong :premises (t40.t2.t15 t40.t2.t16)) (step t40.t2.t18 (cl @p_791) :rule cong :premises (t40.t2.t17)) (anchor :step t40.t2.t19 :args ((veriT_vr68 E$) (veriT_vr69 D$))) (step t40.t2.t19.t1 (cl @p_754) :rule refl) (step t40.t2.t19.t2 (cl @p_771) :rule cong :premises (t40.t2.t19.t1)) (step t40.t2.t19.t3 (cl @p_772) :rule refl) (step t40.t2.t19.t4 (cl @p_773) :rule cong :premises (t40.t2.t19.t2 t40.t2.t19.t3)) (step t40.t2.t19.t5 (cl (= @p_604 (! (is_res$a @p_712 @p_603) :named @p_793))) :rule cong :premises (t40.t2.t19.t4)) (step t40.t2.t19.t6 (cl @p_754) :rule refl) (step t40.t2.t19.t7 (cl (= @p_606 (! (c$ veriT_vr68 veriT_sk0) :named @p_794))) :rule cong :premises (t40.t2.t19.t6)) (step t40.t2.t19.t8 (cl (= @p_608 (! (run$b @p_794 veriT_vr69) :named @p_795))) :rule cong :premises (t40.t2.t19.t7)) (step t40.t2.t19.t9 (cl (= @p_609 (! (is_fail$b @p_795) :named @p_796))) :rule cong :premises (t40.t2.t19.t8)) (step t40.t2.t19.t10 (cl (= @p_610 (! (and @p_793 @p_796) :named @p_797))) :rule cong :premises (t40.t2.t19.t5 t40.t2.t19.t9)) (step t40.t2.t19 (cl (= @p_602 (! (exists ((veriT_vr68 E$) (veriT_vr69 D$)) @p_797) :named @p_792))) :rule bind) (step t40.t2.t20 (cl (= @p_611 (! (or @p_720 @p_792) :named @p_798))) :rule cong :premises (t40.t2.t18 t40.t2.t19)) (step t40.t2.t21 (cl (= @p_613 (! (=> @p_790 @p_798) :named @p_799))) :rule cong :premises (t40.t2.t13 t40.t2.t20)) (step t40.t2.t22 (cl @p_754) :rule refl) (step t40.t2.t23 (cl @p_771) :rule cong :premises (t40.t2.t22)) (step t40.t2.t24 (cl @p_772) :rule refl) (step t40.t2.t25 (cl @p_773) :rule cong :premises (t40.t2.t23 t40.t2.t24)) (step t40.t2.t26 (cl @p_791) :rule cong :premises (t40.t2.t25)) (anchor :step t40.t2.t27 :args ((:= (veriT_vr70 E$) veriT_sk5) (:= (veriT_vr71 D$) veriT_sk6))) (step t40.t2.t27.t1 (cl @p_754) :rule refl) (step t40.t2.t27.t2 (cl @p_771) :rule cong :premises (t40.t2.t27.t1)) (step t40.t2.t27.t3 (cl @p_772) :rule refl) (step t40.t2.t27.t4 (cl @p_773) :rule cong :premises (t40.t2.t27.t2 t40.t2.t27.t3)) (step t40.t2.t27.t5 (cl (! (= veriT_vr70 veriT_sk5) :named @p_803)) :rule refl) (step t40.t2.t27.t6 (cl (! (= veriT_vr71 veriT_sk6) :named @p_805)) :rule refl) (step t40.t2.t27.t7 (cl (= @p_615 (! (pair$a veriT_sk5 veriT_sk6) :named @p_801))) :rule cong :premises (t40.t2.t27.t5 t40.t2.t27.t6)) (step t40.t2.t27.t8 (cl (= @p_616 (! (is_res$a @p_712 @p_801) :named @p_802))) :rule cong :premises (t40.t2.t27.t4 t40.t2.t27.t7)) (step t40.t2.t27.t9 (cl @p_803) :rule refl) (step t40.t2.t27.t10 (cl @p_754) :rule refl) (step t40.t2.t27.t11 (cl (= @p_618 (! (c$ veriT_sk5 veriT_sk0) :named @p_804))) :rule cong :premises (t40.t2.t27.t9 t40.t2.t27.t10)) (step t40.t2.t27.t12 (cl @p_805) :rule refl) (step t40.t2.t27.t13 (cl (= @p_620 (! (run$b @p_804 veriT_sk6) :named @p_806))) :rule cong :premises (t40.t2.t27.t11 t40.t2.t27.t12)) (step t40.t2.t27.t14 (cl (= @p_621 (! (is_fail$b @p_806) :named @p_807))) :rule cong :premises (t40.t2.t27.t13)) (step t40.t2.t27.t15 (cl (= @p_622 (! (and @p_802 @p_807) :named @p_800))) :rule cong :premises (t40.t2.t27.t8 t40.t2.t27.t14)) (step t40.t2.t27 (cl (= @p_614 @p_800)) :rule sko_ex) (step t40.t2.t28 (cl (= @p_623 (! (or @p_720 @p_800) :named @p_808))) :rule cong :premises (t40.t2.t26 t40.t2.t27)) (step t40.t2.t29 (cl @p_760) :rule refl) (step t40.t2.t30 (cl @p_781) :rule cong :premises (t40.t2.t29)) (step t40.t2.t31 (cl @p_772) :rule refl) (step t40.t2.t32 (cl @p_782) :rule cong :premises (t40.t2.t30 t40.t2.t31)) (step t40.t2.t33 (cl @p_809) :rule cong :premises (t40.t2.t32)) (anchor :step t40.t2.t34 :args ((veriT_vr72 E$) (veriT_vr73 D$))) (step t40.t2.t34.t1 (cl @p_760) :rule refl) (step t40.t2.t34.t2 (cl @p_781) :rule cong :premises (t40.t2.t34.t1)) (step t40.t2.t34.t3 (cl @p_772) :rule refl) (step t40.t2.t34.t4 (cl @p_782) :rule cong :premises (t40.t2.t34.t2 t40.t2.t34.t3)) (step t40.t2.t34.t5 (cl (= @p_627 (! (is_res$a @p_714 @p_626) :named @p_811))) :rule cong :premises (t40.t2.t34.t4)) (step t40.t2.t34.t6 (cl @p_760) :rule refl) (step t40.t2.t34.t7 (cl (= @p_629 (! (c$ veriT_vr72 veriT_sk1) :named @p_812))) :rule cong :premises (t40.t2.t34.t6)) (step t40.t2.t34.t8 (cl (= @p_631 (! (run$b @p_812 veriT_vr73) :named @p_813))) :rule cong :premises (t40.t2.t34.t7)) (step t40.t2.t34.t9 (cl (= @p_632 (! (is_fail$b @p_813) :named @p_814))) :rule cong :premises (t40.t2.t34.t8)) (step t40.t2.t34.t10 (cl (= @p_633 (! (and @p_811 @p_814) :named @p_815))) :rule cong :premises (t40.t2.t34.t5 t40.t2.t34.t9)) (step t40.t2.t34 (cl (= @p_625 (! (exists ((veriT_vr72 E$) (veriT_vr73 D$)) @p_815) :named @p_810))) :rule bind) (step t40.t2.t35 (cl (= @p_634 (! (or @p_726 @p_810) :named @p_816))) :rule cong :premises (t40.t2.t33 t40.t2.t34)) (step t40.t2.t36 (cl (= @p_636 (! (=> @p_808 @p_816) :named @p_817))) :rule cong :premises (t40.t2.t28 t40.t2.t35)) (step t40.t2.t37 (cl (= @p_637 (! (and @p_799 @p_817) :named @p_818))) :rule cong :premises (t40.t2.t21 t40.t2.t36)) (anchor :step t40.t2.t38 :args ((:= (veriT_vr74 F$) veriT_sk7) (:= (veriT_vr75 D$) veriT_sk8))) (step t40.t2.t38.t1 (cl @p_760) :rule refl) (step t40.t2.t38.t2 (cl @p_781) :rule cong :premises (t40.t2.t38.t1)) (step t40.t2.t38.t3 (cl @p_772) :rule refl) (step t40.t2.t38.t4 (cl @p_782) :rule cong :premises (t40.t2.t38.t2 t40.t2.t38.t3)) (step t40.t2.t38.t5 (cl @p_809) :rule cong :premises (t40.t2.t38.t4)) (anchor :step t40.t2.t38.t6 :args ((:= (veriT_vr76 E$) veriT_sk9) (:= (veriT_vr77 D$) veriT_sk10))) (step t40.t2.t38.t6.t1 (cl @p_760) :rule refl) (step t40.t2.t38.t6.t2 (cl @p_781) :rule cong :premises (t40.t2.t38.t6.t1)) (step t40.t2.t38.t6.t3 (cl @p_772) :rule refl) (step t40.t2.t38.t6.t4 (cl @p_782) :rule cong :premises (t40.t2.t38.t6.t2 t40.t2.t38.t6.t3)) (step t40.t2.t38.t6.t5 (cl (! (= veriT_vr76 veriT_sk9) :named @p_823)) :rule refl) (step t40.t2.t38.t6.t6 (cl (! (= veriT_vr77 veriT_sk10) :named @p_825)) :rule refl) (step t40.t2.t38.t6.t7 (cl (= @p_640 (! (pair$a veriT_sk9 veriT_sk10) :named @p_821))) :rule cong :premises (t40.t2.t38.t6.t5 t40.t2.t38.t6.t6)) (step t40.t2.t38.t6.t8 (cl (= @p_641 (! (is_res$a @p_714 @p_821) :named @p_822))) :rule cong :premises (t40.t2.t38.t6.t4 t40.t2.t38.t6.t7)) (step t40.t2.t38.t6.t9 (cl @p_823) :rule refl) (step t40.t2.t38.t6.t10 (cl @p_760) :rule refl) (step t40.t2.t38.t6.t11 (cl (= @p_643 (! (c$ veriT_sk9 veriT_sk1) :named @p_824))) :rule cong :premises (t40.t2.t38.t6.t9 t40.t2.t38.t6.t10)) (step t40.t2.t38.t6.t12 (cl @p_825) :rule refl) (step t40.t2.t38.t6.t13 (cl (= @p_645 (! (run$b @p_824 veriT_sk10) :named @p_826))) :rule cong :premises (t40.t2.t38.t6.t11 t40.t2.t38.t6.t12)) (step t40.t2.t38.t6.t14 (cl (! (= veriT_vr74 veriT_sk7) :named @p_833)) :rule refl) (step t40.t2.t38.t6.t15 (cl (! (= veriT_vr75 veriT_sk8) :named @p_834)) :rule refl) (step t40.t2.t38.t6.t16 (cl (! (= @p_550 (! (pair$b veriT_sk7 veriT_sk8) :named @p_747)) :named @p_835)) :rule cong :premises (t40.t2.t38.t6.t14 t40.t2.t38.t6.t15)) (step t40.t2.t38.t6.t17 (cl (= @p_646 (! (is_res$b @p_826 @p_747) :named @p_827))) :rule cong :premises (t40.t2.t38.t6.t13 t40.t2.t38.t6.t16)) (step t40.t2.t38.t6.t18 (cl (= @p_647 (! (and @p_822 @p_827) :named @p_820))) :rule cong :premises (t40.t2.t38.t6.t8 t40.t2.t38.t6.t17)) (step t40.t2.t38.t6 (cl (= @p_639 @p_820)) :rule sko_ex) (step t40.t2.t38.t7 (cl (= @p_648 (! (or @p_726 @p_820) :named @p_828))) :rule cong :premises (t40.t2.t38.t5 t40.t2.t38.t6)) (step t40.t2.t38.t8 (cl @p_754) :rule refl) (step t40.t2.t38.t9 (cl @p_771) :rule cong :premises (t40.t2.t38.t8)) (step t40.t2.t38.t10 (cl @p_772) :rule refl) (step t40.t2.t38.t11 (cl @p_773) :rule cong :premises (t40.t2.t38.t9 t40.t2.t38.t10)) (step t40.t2.t38.t12 (cl @p_791) :rule cong :premises (t40.t2.t38.t11)) (anchor :step t40.t2.t38.t13 :args ((veriT_vr78 E$) (veriT_vr79 D$))) (step t40.t2.t38.t13.t1 (cl @p_754) :rule refl) (step t40.t2.t38.t13.t2 (cl @p_771) :rule cong :premises (t40.t2.t38.t13.t1)) (step t40.t2.t38.t13.t3 (cl @p_772) :rule refl) (step t40.t2.t38.t13.t4 (cl @p_773) :rule cong :premises (t40.t2.t38.t13.t2 t40.t2.t38.t13.t3)) (step t40.t2.t38.t13.t5 (cl (= @p_651 (! (is_res$a @p_712 @p_650) :named @p_830))) :rule cong :premises (t40.t2.t38.t13.t4)) (step t40.t2.t38.t13.t6 (cl @p_754) :rule refl) (step t40.t2.t38.t13.t7 (cl (= @p_653 (! (c$ veriT_vr78 veriT_sk0) :named @p_831))) :rule cong :premises (t40.t2.t38.t13.t6)) (step t40.t2.t38.t13.t8 (cl (= @p_655 (! (run$b @p_831 veriT_vr79) :named @p_832))) :rule cong :premises (t40.t2.t38.t13.t7)) (step t40.t2.t38.t13.t9 (cl @p_833) :rule refl) (step t40.t2.t38.t13.t10 (cl @p_834) :rule refl) (step t40.t2.t38.t13.t11 (cl @p_835) :rule cong :premises (t40.t2.t38.t13.t9 t40.t2.t38.t13.t10)) (step t40.t2.t38.t13.t12 (cl (= @p_659 (! (is_res$b @p_832 @p_747) :named @p_836))) :rule cong :premises (t40.t2.t38.t13.t8 t40.t2.t38.t13.t11)) (step t40.t2.t38.t13.t13 (cl (= @p_660 (! (and @p_830 @p_836) :named @p_837))) :rule cong :premises (t40.t2.t38.t13.t5 t40.t2.t38.t13.t12)) (step t40.t2.t38.t13 (cl (= @p_649 (! (exists ((veriT_vr78 E$) (veriT_vr79 D$)) @p_837) :named @p_829))) :rule bind) (step t40.t2.t38.t14 (cl (= @p_661 (! (or @p_720 @p_829) :named @p_838))) :rule cong :premises (t40.t2.t38.t12 t40.t2.t38.t13)) (step t40.t2.t38.t15 (cl (= @p_663 (! (=> @p_828 @p_838) :named @p_839))) :rule cong :premises (t40.t2.t38.t7 t40.t2.t38.t14)) (step t40.t2.t38.t16 (cl @p_754) :rule refl) (step t40.t2.t38.t17 (cl @p_771) :rule cong :premises (t40.t2.t38.t16)) (step t40.t2.t38.t18 (cl @p_772) :rule refl) (step t40.t2.t38.t19 (cl @p_773) :rule cong :premises (t40.t2.t38.t17 t40.t2.t38.t18)) (step t40.t2.t38.t20 (cl @p_791) :rule cong :premises (t40.t2.t38.t19)) (anchor :step t40.t2.t38.t21 :args ((:= (veriT_vr80 E$) veriT_sk11) (:= (veriT_vr81 D$) veriT_sk12))) (step t40.t2.t38.t21.t1 (cl @p_754) :rule refl) (step t40.t2.t38.t21.t2 (cl @p_771) :rule cong :premises (t40.t2.t38.t21.t1)) (step t40.t2.t38.t21.t3 (cl @p_772) :rule refl) (step t40.t2.t38.t21.t4 (cl @p_773) :rule cong :premises (t40.t2.t38.t21.t2 t40.t2.t38.t21.t3)) (step t40.t2.t38.t21.t5 (cl (! (= veriT_vr80 veriT_sk11) :named @p_843)) :rule refl) (step t40.t2.t38.t21.t6 (cl (! (= veriT_vr81 veriT_sk12) :named @p_845)) :rule refl) (step t40.t2.t38.t21.t7 (cl (= @p_665 (! (pair$a veriT_sk11 veriT_sk12) :named @p_841))) :rule cong :premises (t40.t2.t38.t21.t5 t40.t2.t38.t21.t6)) (step t40.t2.t38.t21.t8 (cl (= @p_666 (! (is_res$a @p_712 @p_841) :named @p_842))) :rule cong :premises (t40.t2.t38.t21.t4 t40.t2.t38.t21.t7)) (step t40.t2.t38.t21.t9 (cl @p_843) :rule refl) (step t40.t2.t38.t21.t10 (cl @p_754) :rule refl) (step t40.t2.t38.t21.t11 (cl (= @p_668 (! (c$ veriT_sk11 veriT_sk0) :named @p_844))) :rule cong :premises (t40.t2.t38.t21.t9 t40.t2.t38.t21.t10)) (step t40.t2.t38.t21.t12 (cl @p_845) :rule refl) (step t40.t2.t38.t21.t13 (cl (= @p_670 (! (run$b @p_844 veriT_sk12) :named @p_846))) :rule cong :premises (t40.t2.t38.t21.t11 t40.t2.t38.t21.t12)) (step t40.t2.t38.t21.t14 (cl @p_833) :rule refl) (step t40.t2.t38.t21.t15 (cl @p_834) :rule refl) (step t40.t2.t38.t21.t16 (cl @p_835) :rule cong :premises (t40.t2.t38.t21.t14 t40.t2.t38.t21.t15)) (step t40.t2.t38.t21.t17 (cl (= @p_671 (! (is_res$b @p_846 @p_747) :named @p_847))) :rule cong :premises (t40.t2.t38.t21.t13 t40.t2.t38.t21.t16)) (step t40.t2.t38.t21.t18 (cl (= @p_672 (! (and @p_842 @p_847) :named @p_840))) :rule cong :premises (t40.t2.t38.t21.t8 t40.t2.t38.t21.t17)) (step t40.t2.t38.t21 (cl (= @p_664 @p_840)) :rule sko_ex) (step t40.t2.t38.t22 (cl (= @p_673 (! (or @p_720 @p_840) :named @p_848))) :rule cong :premises (t40.t2.t38.t20 t40.t2.t38.t21)) (step t40.t2.t38.t23 (cl @p_760) :rule refl) (step t40.t2.t38.t24 (cl @p_781) :rule cong :premises (t40.t2.t38.t23)) (step t40.t2.t38.t25 (cl @p_772) :rule refl) (step t40.t2.t38.t26 (cl @p_782) :rule cong :premises (t40.t2.t38.t24 t40.t2.t38.t25)) (step t40.t2.t38.t27 (cl @p_809) :rule cong :premises (t40.t2.t38.t26)) (anchor :step t40.t2.t38.t28 :args ((veriT_vr82 E$) (veriT_vr83 D$))) (step t40.t2.t38.t28.t1 (cl @p_760) :rule refl) (step t40.t2.t38.t28.t2 (cl @p_781) :rule cong :premises (t40.t2.t38.t28.t1)) (step t40.t2.t38.t28.t3 (cl @p_772) :rule refl) (step t40.t2.t38.t28.t4 (cl @p_782) :rule cong :premises (t40.t2.t38.t28.t2 t40.t2.t38.t28.t3)) (step t40.t2.t38.t28.t5 (cl (= @p_676 (! (is_res$a @p_714 @p_675) :named @p_850))) :rule cong :premises (t40.t2.t38.t28.t4)) (step t40.t2.t38.t28.t6 (cl @p_760) :rule refl) (step t40.t2.t38.t28.t7 (cl (= @p_678 (! (c$ veriT_vr82 veriT_sk1) :named @p_851))) :rule cong :premises (t40.t2.t38.t28.t6)) (step t40.t2.t38.t28.t8 (cl (= @p_680 (! (run$b @p_851 veriT_vr83) :named @p_852))) :rule cong :premises (t40.t2.t38.t28.t7)) (step t40.t2.t38.t28.t9 (cl @p_833) :rule refl) (step t40.t2.t38.t28.t10 (cl @p_834) :rule refl) (step t40.t2.t38.t28.t11 (cl @p_835) :rule cong :premises (t40.t2.t38.t28.t9 t40.t2.t38.t28.t10)) (step t40.t2.t38.t28.t12 (cl (= @p_681 (! (is_res$b @p_852 @p_747) :named @p_853))) :rule cong :premises (t40.t2.t38.t28.t8 t40.t2.t38.t28.t11)) (step t40.t2.t38.t28.t13 (cl (= @p_682 (! (and @p_850 @p_853) :named @p_854))) :rule cong :premises (t40.t2.t38.t28.t5 t40.t2.t38.t28.t12)) (step t40.t2.t38.t28 (cl (= @p_674 (! (exists ((veriT_vr82 E$) (veriT_vr83 D$)) @p_854) :named @p_849))) :rule bind) (step t40.t2.t38.t29 (cl (= @p_683 (! (or @p_726 @p_849) :named @p_855))) :rule cong :premises (t40.t2.t38.t27 t40.t2.t38.t28)) (step t40.t2.t38.t30 (cl (= @p_685 (! (=> @p_848 @p_855) :named @p_856))) :rule cong :premises (t40.t2.t38.t22 t40.t2.t38.t29)) (step t40.t2.t38.t31 (cl (= @p_686 (! (and @p_839 @p_856) :named @p_819))) :rule cong :premises (t40.t2.t38.t15 t40.t2.t38.t30)) (step t40.t2.t38 (cl (= @p_638 @p_819)) :rule sko_forall) (step t40.t2.t39 (cl (= @p_687 (! (and @p_818 @p_819) :named @p_857))) :rule cong :premises (t40.t2.t37 t40.t2.t38)) (step t40.t2.t40 (cl (= @p_688 (! (or @p_720 @p_770 @p_857) :named @p_768))) :rule cong :premises (t40.t2.t5 t40.t2.t6 t40.t2.t39)) (step t40.t2 (cl (= @p_574 @p_768)) :rule sko_forall) (step t40.t3 (cl (= @p_689 (! (=> @p_750 @p_768) :named @p_858))) :rule cong :premises (t40.t1 t40.t2)) (step t40 (cl (= @p_690 @p_858)) :rule sko_forall) (step t41 (cl (= @p_693 (! (not @p_858) :named @p_859))) :rule cong :premises (t40)) (step t42 (cl (! (= @p_695 (! (and @p_691 @p_692 @p_859) :named @p_861)) :named @p_860)) :rule cong :premises (t41)) (step t43 (cl (not @p_860) (not @p_695) @p_861) :rule equiv_pos2) (step t44 (cl @p_861) :rule th_resolution :premises (t39 t42 t43)) (anchor :step t45 :args ((:= (veriT_vr38 A_b_c_M_state_fun$) veriT_vr84) (:= (veriT_vr39 A_b_c_M_state_fun$) veriT_vr85))) (anchor :step t45.t1 :args ((:= (veriT_vr40 A$) veriT_vr86) (:= (veriT_vr41 C$) veriT_vr87))) (step t45.t1.t1 (cl (! (= veriT_vr38 veriT_vr84) :named @p_876)) :rule refl) (step t45.t1.t2 (cl (! (= veriT_vr40 veriT_vr86) :named @p_872)) :rule refl) (step t45.t1.t3 (cl (! (= @p_446 (! (fun_app$ veriT_vr84 veriT_vr86) :named @p_871)) :named @p_877)) :rule cong :premises (t45.t1.t1 t45.t1.t2)) (step t45.t1.t4 (cl (! (= veriT_vr41 veriT_vr87) :named @p_874)) :rule refl) (step t45.t1.t5 (cl (! (= @p_439 (! (run$ @p_871 veriT_vr87) :named @p_864)) :named @p_878)) :rule cong :premises (t45.t1.t3 t45.t1.t4)) (step t45.t1.t6 (cl (! (= @p_437 (! (is_fail$ @p_864) :named @p_862)) :named @p_879)) :rule cong :premises (t45.t1.t5)) (step t45.t1.t7 (cl (! (= veriT_vr39 veriT_vr85) :named @p_882)) :rule refl) (step t45.t1.t8 (cl @p_872) :rule refl) (step t45.t1.t9 (cl (! (= @p_448 (! (fun_app$ veriT_vr85 veriT_vr86) :named @p_873)) :named @p_883)) :rule cong :premises (t45.t1.t7 t45.t1.t8)) (step t45.t1.t10 (cl @p_874) :rule refl) (step t45.t1.t11 (cl (! (= @p_438 (! (run$ @p_873 veriT_vr87) :named @p_863)) :named @p_884)) :rule cong :premises (t45.t1.t9 t45.t1.t10)) (step t45.t1.t12 (cl (= @p_450 (! (is_fail$ @p_863) :named @p_875))) :rule cong :premises (t45.t1.t11)) (step t45.t1.t13 (cl @p_876) :rule refl) (step t45.t1.t14 (cl @p_872) :rule refl) (step t45.t1.t15 (cl @p_877) :rule cong :premises (t45.t1.t13 t45.t1.t14)) (step t45.t1.t16 (cl @p_874) :rule refl) (step t45.t1.t17 (cl @p_878) :rule cong :premises (t45.t1.t15 t45.t1.t16)) (step t45.t1.t18 (cl @p_879) :rule cong :premises (t45.t1.t17)) (step t45.t1.t19 (cl (= @p_455 (! (= @p_875 @p_862) :named @p_880))) :rule cong :premises (t45.t1.t12 t45.t1.t18)) (anchor :step t45.t1.t20 :args ((:= (veriT_vr42 B$) veriT_vr88) (:= (veriT_vr43 C$) veriT_vr89))) (step t45.t1.t20.t1 (cl @p_882) :rule refl) (step t45.t1.t20.t2 (cl @p_872) :rule refl) (step t45.t1.t20.t3 (cl @p_883) :rule cong :premises (t45.t1.t20.t1 t45.t1.t20.t2)) (step t45.t1.t20.t4 (cl @p_874) :rule refl) (step t45.t1.t20.t5 (cl @p_884) :rule cong :premises (t45.t1.t20.t3 t45.t1.t20.t4)) (step t45.t1.t20.t6 (cl (! (= veriT_vr42 veriT_vr88) :named @p_886)) :rule refl) (step t45.t1.t20.t7 (cl (! (= veriT_vr43 veriT_vr89) :named @p_887)) :rule refl) (step t45.t1.t20.t8 (cl (! (= @p_440 (! (pair$ veriT_vr88 veriT_vr89) :named @p_865)) :named @p_888)) :rule cong :premises (t45.t1.t20.t6 t45.t1.t20.t7)) (step t45.t1.t20.t9 (cl (= @p_460 (! (is_res$ @p_863 @p_865) :named @p_885))) :rule cong :premises (t45.t1.t20.t5 t45.t1.t20.t8)) (step t45.t1.t20.t10 (cl @p_876) :rule refl) (step t45.t1.t20.t11 (cl @p_872) :rule refl) (step t45.t1.t20.t12 (cl @p_877) :rule cong :premises (t45.t1.t20.t10 t45.t1.t20.t11)) (step t45.t1.t20.t13 (cl @p_874) :rule refl) (step t45.t1.t20.t14 (cl @p_878) :rule cong :premises (t45.t1.t20.t12 t45.t1.t20.t13)) (step t45.t1.t20.t15 (cl @p_886) :rule refl) (step t45.t1.t20.t16 (cl @p_887) :rule refl) (step t45.t1.t20.t17 (cl @p_888) :rule cong :premises (t45.t1.t20.t15 t45.t1.t20.t16)) (step t45.t1.t20.t18 (cl (= @p_464 (! (is_res$ @p_864 @p_865) :named @p_889))) :rule cong :premises (t45.t1.t20.t14 t45.t1.t20.t17)) (step t45.t1.t20.t19 (cl (= @p_465 (! (= @p_885 @p_889) :named @p_890))) :rule cong :premises (t45.t1.t20.t9 t45.t1.t20.t18)) (step t45.t1.t20 (cl (= @p_456 (! (forall ((veriT_vr88 B$) (veriT_vr89 C$)) @p_890) :named @p_881))) :rule bind) (step t45.t1.t21 (cl (= @p_466 (! (and @p_880 @p_881) :named @p_891))) :rule cong :premises (t45.t1.t19 t45.t1.t20)) (step t45.t1.t22 (cl (= @p_467 (! (or @p_862 @p_891) :named @p_892))) :rule cong :premises (t45.t1.t6 t45.t1.t21)) (step t45.t1 (cl (= @p_445 (! (forall ((veriT_vr86 A$) (veriT_vr87 C$)) @p_892) :named @p_870))) :rule bind) (anchor :step t45.t2 :args ((:= (veriT_vr44 D$) veriT_vr90))) (step t45.t2.t1 (cl @p_876) :rule refl) (step t45.t2.t2 (cl (! (= @p_469 (! (b$ veriT_vr84) :named @p_894)) :named @p_898)) :rule cong :premises (t45.t2.t1)) (step t45.t2.t3 (cl (! (= veriT_vr44 veriT_vr90) :named @p_896)) :rule refl) (step t45.t2.t4 (cl (! (= @p_443 (! (run$a @p_894 veriT_vr90) :named @p_868)) :named @p_899)) :rule cong :premises (t45.t2.t2 t45.t2.t3)) (step t45.t2.t5 (cl (! (= @p_441 (! (is_fail$a @p_868) :named @p_866)) :named @p_900)) :rule cong :premises (t45.t2.t4)) (step t45.t2.t6 (cl @p_882) :rule refl) (step t45.t2.t7 (cl (! (= @p_470 (! (b$ veriT_vr85) :named @p_895)) :named @p_903)) :rule cong :premises (t45.t2.t6)) (step t45.t2.t8 (cl @p_896) :rule refl) (step t45.t2.t9 (cl (! (= @p_442 (! (run$a @p_895 veriT_vr90) :named @p_867)) :named @p_904)) :rule cong :premises (t45.t2.t7 t45.t2.t8)) (step t45.t2.t10 (cl (= @p_472 (! (is_fail$a @p_867) :named @p_897))) :rule cong :premises (t45.t2.t9)) (step t45.t2.t11 (cl @p_876) :rule refl) (step t45.t2.t12 (cl @p_898) :rule cong :premises (t45.t2.t11)) (step t45.t2.t13 (cl @p_896) :rule refl) (step t45.t2.t14 (cl @p_899) :rule cong :premises (t45.t2.t12 t45.t2.t13)) (step t45.t2.t15 (cl @p_900) :rule cong :premises (t45.t2.t14)) (step t45.t2.t16 (cl (= @p_476 (! (= @p_897 @p_866) :named @p_901))) :rule cong :premises (t45.t2.t10 t45.t2.t15)) (anchor :step t45.t2.t17 :args ((:= (veriT_vr45 E$) veriT_vr91) (:= (veriT_vr46 D$) veriT_vr92))) (step t45.t2.t17.t1 (cl @p_882) :rule refl) (step t45.t2.t17.t2 (cl @p_903) :rule cong :premises (t45.t2.t17.t1)) (step t45.t2.t17.t3 (cl @p_896) :rule refl) (step t45.t2.t17.t4 (cl @p_904) :rule cong :premises (t45.t2.t17.t2 t45.t2.t17.t3)) (step t45.t2.t17.t5 (cl (! (= veriT_vr45 veriT_vr91) :named @p_906)) :rule refl) (step t45.t2.t17.t6 (cl (! (= veriT_vr46 veriT_vr92) :named @p_907)) :rule refl) (step t45.t2.t17.t7 (cl (! (= @p_444 (! (pair$a veriT_vr91 veriT_vr92) :named @p_869)) :named @p_908)) :rule cong :premises (t45.t2.t17.t5 t45.t2.t17.t6)) (step t45.t2.t17.t8 (cl (= @p_480 (! (is_res$a @p_867 @p_869) :named @p_905))) :rule cong :premises (t45.t2.t17.t4 t45.t2.t17.t7)) (step t45.t2.t17.t9 (cl @p_876) :rule refl) (step t45.t2.t17.t10 (cl @p_898) :rule cong :premises (t45.t2.t17.t9)) (step t45.t2.t17.t11 (cl @p_896) :rule refl) (step t45.t2.t17.t12 (cl @p_899) :rule cong :premises (t45.t2.t17.t10 t45.t2.t17.t11)) (step t45.t2.t17.t13 (cl @p_906) :rule refl) (step t45.t2.t17.t14 (cl @p_907) :rule refl) (step t45.t2.t17.t15 (cl @p_908) :rule cong :premises (t45.t2.t17.t13 t45.t2.t17.t14)) (step t45.t2.t17.t16 (cl (= @p_484 (! (is_res$a @p_868 @p_869) :named @p_909))) :rule cong :premises (t45.t2.t17.t12 t45.t2.t17.t15)) (step t45.t2.t17.t17 (cl (= @p_485 (! (= @p_905 @p_909) :named @p_910))) :rule cong :premises (t45.t2.t17.t8 t45.t2.t17.t16)) (step t45.t2.t17 (cl (= @p_477 (! (forall ((veriT_vr91 E$) (veriT_vr92 D$)) @p_910) :named @p_902))) :rule bind) (step t45.t2.t18 (cl (= @p_486 (! (and @p_901 @p_902) :named @p_911))) :rule cong :premises (t45.t2.t16 t45.t2.t17)) (step t45.t2.t19 (cl (= @p_487 (! (or @p_866 @p_911) :named @p_912))) :rule cong :premises (t45.t2.t5 t45.t2.t18)) (step t45.t2 (cl (= @p_468 (! (forall ((veriT_vr90 D$)) @p_912) :named @p_893))) :rule bind) (step t45.t3 (cl (= @p_488 (! (=> @p_870 @p_893) :named @p_913))) :rule cong :premises (t45.t1 t45.t2)) (step t45 (cl (= @p_691 (! (forall ((veriT_vr84 A_b_c_M_state_fun$) (veriT_vr85 A_b_c_M_state_fun$)) @p_913) :named @p_1018))) :rule bind) (anchor :step t46 :args ((:= (veriT_vr47 E$) veriT_vr91) (:= (veriT_vr48 A_b_c_M_state_fun$) veriT_vr84) (:= (veriT_vr49 A_b_c_M_state_fun$) veriT_vr85))) (anchor :step t46.t1 :args ((:= (veriT_vr50 A$) veriT_vr86) (:= (veriT_vr51 C$) veriT_vr87))) (step t46.t1.t1 (cl (! (= veriT_vr48 veriT_vr84) :named @p_920)) :rule refl) (step t46.t1.t2 (cl (! (= veriT_vr50 veriT_vr86) :named @p_918)) :rule refl) (step t46.t1.t3 (cl (! (= @p_498 @p_871) :named @p_921)) :rule cong :premises (t46.t1.t1 t46.t1.t2)) (step t46.t1.t4 (cl (! (= veriT_vr51 veriT_vr87) :named @p_919)) :rule refl) (step t46.t1.t5 (cl (! (= @p_491 @p_864) :named @p_922)) :rule cong :premises (t46.t1.t3 t46.t1.t4)) (step t46.t1.t6 (cl (! (= @p_489 @p_862) :named @p_923)) :rule cong :premises (t46.t1.t5)) (step t46.t1.t7 (cl (! (= veriT_vr49 veriT_vr85) :named @p_924)) :rule refl) (step t46.t1.t8 (cl @p_918) :rule refl) (step t46.t1.t9 (cl (! (= @p_500 @p_873) :named @p_925)) :rule cong :premises (t46.t1.t7 t46.t1.t8)) (step t46.t1.t10 (cl @p_919) :rule refl) (step t46.t1.t11 (cl (! (= @p_490 @p_863) :named @p_926)) :rule cong :premises (t46.t1.t9 t46.t1.t10)) (step t46.t1.t12 (cl (= @p_502 @p_875)) :rule cong :premises (t46.t1.t11)) (step t46.t1.t13 (cl @p_920) :rule refl) (step t46.t1.t14 (cl @p_918) :rule refl) (step t46.t1.t15 (cl @p_921) :rule cong :premises (t46.t1.t13 t46.t1.t14)) (step t46.t1.t16 (cl @p_919) :rule refl) (step t46.t1.t17 (cl @p_922) :rule cong :premises (t46.t1.t15 t46.t1.t16)) (step t46.t1.t18 (cl @p_923) :rule cong :premises (t46.t1.t17)) (step t46.t1.t19 (cl (= @p_507 @p_880)) :rule cong :premises (t46.t1.t12 t46.t1.t18)) (anchor :step t46.t1.t20 :args ((:= (veriT_vr52 B$) veriT_vr88) (:= (veriT_vr53 C$) veriT_vr89))) (step t46.t1.t20.t1 (cl @p_924) :rule refl) (step t46.t1.t20.t2 (cl @p_918) :rule refl) (step t46.t1.t20.t3 (cl @p_925) :rule cong :premises (t46.t1.t20.t1 t46.t1.t20.t2)) (step t46.t1.t20.t4 (cl @p_919) :rule refl) (step t46.t1.t20.t5 (cl @p_926) :rule cong :premises (t46.t1.t20.t3 t46.t1.t20.t4)) (step t46.t1.t20.t6 (cl (! (= veriT_vr52 veriT_vr88) :named @p_927)) :rule refl) (step t46.t1.t20.t7 (cl (! (= veriT_vr53 veriT_vr89) :named @p_928)) :rule refl) (step t46.t1.t20.t8 (cl (! (= @p_492 @p_865) :named @p_929)) :rule cong :premises (t46.t1.t20.t6 t46.t1.t20.t7)) (step t46.t1.t20.t9 (cl (= @p_512 @p_885)) :rule cong :premises (t46.t1.t20.t5 t46.t1.t20.t8)) (step t46.t1.t20.t10 (cl @p_920) :rule refl) (step t46.t1.t20.t11 (cl @p_918) :rule refl) (step t46.t1.t20.t12 (cl @p_921) :rule cong :premises (t46.t1.t20.t10 t46.t1.t20.t11)) (step t46.t1.t20.t13 (cl @p_919) :rule refl) (step t46.t1.t20.t14 (cl @p_922) :rule cong :premises (t46.t1.t20.t12 t46.t1.t20.t13)) (step t46.t1.t20.t15 (cl @p_927) :rule refl) (step t46.t1.t20.t16 (cl @p_928) :rule refl) (step t46.t1.t20.t17 (cl @p_929) :rule cong :premises (t46.t1.t20.t15 t46.t1.t20.t16)) (step t46.t1.t20.t18 (cl (= @p_516 @p_889)) :rule cong :premises (t46.t1.t20.t14 t46.t1.t20.t17)) (step t46.t1.t20.t19 (cl (= @p_517 @p_890)) :rule cong :premises (t46.t1.t20.t9 t46.t1.t20.t18)) (step t46.t1.t20 (cl (= @p_508 @p_881)) :rule bind) (step t46.t1.t21 (cl (= @p_518 @p_891)) :rule cong :premises (t46.t1.t19 t46.t1.t20)) (step t46.t1.t22 (cl (= @p_519 @p_892)) :rule cong :premises (t46.t1.t6 t46.t1.t21)) (step t46.t1 (cl (= @p_497 @p_870)) :rule bind) (anchor :step t46.t2 :args ((:= (veriT_vr54 D$) veriT_vr90))) (step t46.t2.t1 (cl (! (= veriT_vr47 veriT_vr91) :named @p_932)) :rule refl) (step t46.t2.t2 (cl @p_920) :rule refl) (step t46.t2.t3 (cl (! (= @p_521 (! (c$ veriT_vr91 veriT_vr84) :named @p_931)) :named @p_936)) :rule cong :premises (t46.t2.t1 t46.t2.t2)) (step t46.t2.t4 (cl (! (= veriT_vr54 veriT_vr90) :named @p_934)) :rule refl) (step t46.t2.t5 (cl (! (= @p_495 (! (run$b @p_931 veriT_vr90) :named @p_916)) :named @p_937)) :rule cong :premises (t46.t2.t3 t46.t2.t4)) (step t46.t2.t6 (cl (! (= @p_493 (! (is_fail$b @p_916) :named @p_914)) :named @p_938)) :rule cong :premises (t46.t2.t5)) (step t46.t2.t7 (cl @p_932) :rule refl) (step t46.t2.t8 (cl @p_924) :rule refl) (step t46.t2.t9 (cl (! (= @p_523 (! (c$ veriT_vr91 veriT_vr85) :named @p_933)) :named @p_941)) :rule cong :premises (t46.t2.t7 t46.t2.t8)) (step t46.t2.t10 (cl @p_934) :rule refl) (step t46.t2.t11 (cl (! (= @p_494 (! (run$b @p_933 veriT_vr90) :named @p_915)) :named @p_942)) :rule cong :premises (t46.t2.t9 t46.t2.t10)) (step t46.t2.t12 (cl (= @p_525 (! (is_fail$b @p_915) :named @p_935))) :rule cong :premises (t46.t2.t11)) (step t46.t2.t13 (cl @p_932) :rule refl) (step t46.t2.t14 (cl @p_920) :rule refl) (step t46.t2.t15 (cl @p_936) :rule cong :premises (t46.t2.t13 t46.t2.t14)) (step t46.t2.t16 (cl @p_934) :rule refl) (step t46.t2.t17 (cl @p_937) :rule cong :premises (t46.t2.t15 t46.t2.t16)) (step t46.t2.t18 (cl @p_938) :rule cong :premises (t46.t2.t17)) (step t46.t2.t19 (cl (= @p_529 (! (= @p_935 @p_914) :named @p_939))) :rule cong :premises (t46.t2.t12 t46.t2.t18)) (anchor :step t46.t2.t20 :args ((:= (veriT_vr55 F$) veriT_vr93) (:= (veriT_vr56 D$) veriT_vr92))) (step t46.t2.t20.t1 (cl @p_932) :rule refl) (step t46.t2.t20.t2 (cl @p_924) :rule refl) (step t46.t2.t20.t3 (cl @p_941) :rule cong :premises (t46.t2.t20.t1 t46.t2.t20.t2)) (step t46.t2.t20.t4 (cl @p_934) :rule refl) (step t46.t2.t20.t5 (cl @p_942) :rule cong :premises (t46.t2.t20.t3 t46.t2.t20.t4)) (step t46.t2.t20.t6 (cl (! (= veriT_vr55 veriT_vr93) :named @p_944)) :rule refl) (step t46.t2.t20.t7 (cl (! (= veriT_vr56 veriT_vr92) :named @p_945)) :rule refl) (step t46.t2.t20.t8 (cl (! (= @p_496 (! (pair$b veriT_vr93 veriT_vr92) :named @p_917)) :named @p_946)) :rule cong :premises (t46.t2.t20.t6 t46.t2.t20.t7)) (step t46.t2.t20.t9 (cl (= @p_533 (! (is_res$b @p_915 @p_917) :named @p_943))) :rule cong :premises (t46.t2.t20.t5 t46.t2.t20.t8)) (step t46.t2.t20.t10 (cl @p_932) :rule refl) (step t46.t2.t20.t11 (cl @p_920) :rule refl) (step t46.t2.t20.t12 (cl @p_936) :rule cong :premises (t46.t2.t20.t10 t46.t2.t20.t11)) (step t46.t2.t20.t13 (cl @p_934) :rule refl) (step t46.t2.t20.t14 (cl @p_937) :rule cong :premises (t46.t2.t20.t12 t46.t2.t20.t13)) (step t46.t2.t20.t15 (cl @p_944) :rule refl) (step t46.t2.t20.t16 (cl @p_945) :rule refl) (step t46.t2.t20.t17 (cl @p_946) :rule cong :premises (t46.t2.t20.t15 t46.t2.t20.t16)) (step t46.t2.t20.t18 (cl (= @p_537 (! (is_res$b @p_916 @p_917) :named @p_947))) :rule cong :premises (t46.t2.t20.t14 t46.t2.t20.t17)) (step t46.t2.t20.t19 (cl (= @p_538 (! (= @p_943 @p_947) :named @p_948))) :rule cong :premises (t46.t2.t20.t9 t46.t2.t20.t18)) (step t46.t2.t20 (cl (= @p_530 (! (forall ((veriT_vr93 F$) (veriT_vr92 D$)) @p_948) :named @p_940))) :rule bind) (step t46.t2.t21 (cl (= @p_539 (! (and @p_939 @p_940) :named @p_949))) :rule cong :premises (t46.t2.t19 t46.t2.t20)) (step t46.t2.t22 (cl (= @p_540 (! (or @p_914 @p_949) :named @p_950))) :rule cong :premises (t46.t2.t6 t46.t2.t21)) (step t46.t2 (cl (= @p_520 (! (forall ((veriT_vr90 D$)) @p_950) :named @p_930))) :rule bind) (step t46.t3 (cl (= @p_541 (! (=> @p_870 @p_930) :named @p_951))) :rule cong :premises (t46.t1 t46.t2)) (step t46 (cl (= @p_692 (! (forall ((veriT_vr91 E$) (veriT_vr84 A_b_c_M_state_fun$) (veriT_vr85 A_b_c_M_state_fun$)) @p_951) :named @p_1019))) :rule bind) (anchor :step t47 :args ((:= (veriT_vr59 A$) veriT_vr86) (:= (veriT_vr60 C$) veriT_vr87))) (step t47.t1 (cl (! (= veriT_vr59 veriT_vr86) :named @p_956)) :rule refl) (step t47.t2 (cl (! (= @p_751 (! (fun_app$ veriT_sk0 veriT_vr86) :named @p_955)) :named @p_960)) :rule cong :premises (t47.t1)) (step t47.t3 (cl (! (= veriT_vr60 veriT_vr87) :named @p_958)) :rule refl) (step t47.t4 (cl (! (= @p_703 (! (run$ @p_955 veriT_vr87) :named @p_954)) :named @p_961)) :rule cong :premises (t47.t2 t47.t3)) (step t47.t5 (cl (! (= @p_701 (! (is_fail$ @p_954) :named @p_952)) :named @p_962)) :rule cong :premises (t47.t4)) (step t47.t6 (cl @p_956) :rule refl) (step t47.t7 (cl (! (= @p_752 (! (fun_app$ veriT_sk1 veriT_vr86) :named @p_957)) :named @p_965)) :rule cong :premises (t47.t6)) (step t47.t8 (cl @p_958) :rule refl) (step t47.t9 (cl (! (= @p_702 (! (run$ @p_957 veriT_vr87) :named @p_953)) :named @p_966)) :rule cong :premises (t47.t7 t47.t8)) (step t47.t10 (cl (= @p_753 (! (is_fail$ @p_953) :named @p_959))) :rule cong :premises (t47.t9)) (step t47.t11 (cl @p_956) :rule refl) (step t47.t12 (cl @p_960) :rule cong :premises (t47.t11)) (step t47.t13 (cl @p_958) :rule refl) (step t47.t14 (cl @p_961) :rule cong :premises (t47.t12 t47.t13)) (step t47.t15 (cl @p_962) :rule cong :premises (t47.t14)) (step t47.t16 (cl (= @p_758 (! (= @p_959 @p_952) :named @p_963))) :rule cong :premises (t47.t10 t47.t15)) (anchor :step t47.t17 :args ((:= (veriT_vr61 B$) veriT_vr88) (:= (veriT_vr62 C$) veriT_vr89))) (step t47.t17.t1 (cl @p_956) :rule refl) (step t47.t17.t2 (cl @p_965) :rule cong :premises (t47.t17.t1)) (step t47.t17.t3 (cl @p_958) :rule refl) (step t47.t17.t4 (cl @p_966) :rule cong :premises (t47.t17.t2 t47.t17.t3)) (step t47.t17.t5 (cl (! (= veriT_vr61 veriT_vr88) :named @p_968)) :rule refl) (step t47.t17.t6 (cl (! (= veriT_vr62 veriT_vr89) :named @p_969)) :rule refl) (step t47.t17.t7 (cl (! (= @p_545 @p_865) :named @p_970)) :rule cong :premises (t47.t17.t5 t47.t17.t6)) (step t47.t17.t8 (cl (= @p_763 (! (is_res$ @p_953 @p_865) :named @p_967))) :rule cong :premises (t47.t17.t4 t47.t17.t7)) (step t47.t17.t9 (cl @p_956) :rule refl) (step t47.t17.t10 (cl @p_960) :rule cong :premises (t47.t17.t9)) (step t47.t17.t11 (cl @p_958) :rule refl) (step t47.t17.t12 (cl @p_961) :rule cong :premises (t47.t17.t10 t47.t17.t11)) (step t47.t17.t13 (cl @p_968) :rule refl) (step t47.t17.t14 (cl @p_969) :rule refl) (step t47.t17.t15 (cl @p_970) :rule cong :premises (t47.t17.t13 t47.t17.t14)) (step t47.t17.t16 (cl (= @p_764 (! (is_res$ @p_954 @p_865) :named @p_971))) :rule cong :premises (t47.t17.t12 t47.t17.t15)) (step t47.t17.t17 (cl (= @p_765 (! (= @p_967 @p_971) :named @p_972))) :rule cong :premises (t47.t17.t8 t47.t17.t16)) (step t47.t17 (cl (= @p_759 (! (forall ((veriT_vr88 B$) (veriT_vr89 C$)) @p_972) :named @p_964))) :rule bind) (step t47.t18 (cl (= @p_766 (! (and @p_963 @p_964) :named @p_973))) :rule cong :premises (t47.t16 t47.t17)) (step t47.t19 (cl (= @p_767 (! (or @p_952 @p_973) :named @p_974))) :rule cong :premises (t47.t5 t47.t18)) (step t47 (cl (= @p_750 (! (forall ((veriT_vr86 A$) (veriT_vr87 C$)) @p_974) :named @p_1015))) :rule bind) (anchor :step t48 :args ((:= (veriT_vr64 E$) veriT_vr91) (:= (veriT_vr65 D$) veriT_vr90))) (step t48.t1 (cl (! (= veriT_vr64 veriT_vr91) :named @p_977)) :rule refl) (step t48.t2 (cl (! (= veriT_vr65 veriT_vr90) :named @p_979)) :rule refl) (step t48.t3 (cl (= @p_580 (! (pair$a veriT_vr91 veriT_vr90) :named @p_975))) :rule cong :premises (t48.t1 t48.t2)) (step t48.t4 (cl (= @p_774 (! (is_res$a @p_712 @p_975) :named @p_976))) :rule cong :premises (t48.t3)) (step t48.t5 (cl @p_977) :rule refl) (step t48.t6 (cl (= @p_775 (! (c$ veriT_vr91 veriT_sk0) :named @p_978))) :rule cong :premises (t48.t5)) (step t48.t7 (cl @p_979) :rule refl) (step t48.t8 (cl (= @p_776 (! (run$b @p_978 veriT_vr90) :named @p_980))) :rule cong :premises (t48.t6 t48.t7)) (step t48.t9 (cl (= @p_777 (! (is_fail$b @p_980) :named @p_981))) :rule cong :premises (t48.t8)) (step t48.t10 (cl (= @p_778 (! (and @p_976 @p_981) :named @p_982))) :rule cong :premises (t48.t4 t48.t9)) (step t48 (cl (= @p_770 (! (exists ((veriT_vr91 E$) (veriT_vr90 D$)) @p_982) :named @p_983))) :rule bind) (anchor :step t49 :args ((:= (veriT_vr68 E$) veriT_vr91) (:= (veriT_vr69 D$) veriT_vr90))) (step t49.t1 (cl (! (= veriT_vr68 veriT_vr91) :named @p_984)) :rule refl) (step t49.t2 (cl (! (= veriT_vr69 veriT_vr90) :named @p_985)) :rule refl) (step t49.t3 (cl (= @p_603 @p_975)) :rule cong :premises (t49.t1 t49.t2)) (step t49.t4 (cl (= @p_793 @p_976)) :rule cong :premises (t49.t3)) (step t49.t5 (cl @p_984) :rule refl) (step t49.t6 (cl (= @p_794 @p_978)) :rule cong :premises (t49.t5)) (step t49.t7 (cl @p_985) :rule refl) (step t49.t8 (cl (= @p_795 @p_980)) :rule cong :premises (t49.t6 t49.t7)) (step t49.t9 (cl (= @p_796 @p_981)) :rule cong :premises (t49.t8)) (step t49.t10 (cl (= @p_797 @p_982)) :rule cong :premises (t49.t4 t49.t9)) (step t49 (cl (= @p_792 @p_983)) :rule bind) (step t50 (cl (= @p_798 (! (or @p_720 @p_983) :named @p_986))) :rule cong :premises (t49)) (step t51 (cl (= @p_799 (! (=> @p_790 @p_986) :named @p_996))) :rule cong :premises (t50)) (anchor :step t52 :args ((:= (veriT_vr72 E$) veriT_vr91) (:= (veriT_vr73 D$) veriT_vr90))) (step t52.t1 (cl (! (= veriT_vr72 veriT_vr91) :named @p_988)) :rule refl) (step t52.t2 (cl (! (= veriT_vr73 veriT_vr90) :named @p_990)) :rule refl) (step t52.t3 (cl (= @p_626 @p_975)) :rule cong :premises (t52.t1 t52.t2)) (step t52.t4 (cl (= @p_811 (! (is_res$a @p_714 @p_975) :named @p_987))) :rule cong :premises (t52.t3)) (step t52.t5 (cl @p_988) :rule refl) (step t52.t6 (cl (= @p_812 (! (c$ veriT_vr91 veriT_sk1) :named @p_989))) :rule cong :premises (t52.t5)) (step t52.t7 (cl @p_990) :rule refl) (step t52.t8 (cl (= @p_813 (! (run$b @p_989 veriT_vr90) :named @p_991))) :rule cong :premises (t52.t6 t52.t7)) (step t52.t9 (cl (= @p_814 (! (is_fail$b @p_991) :named @p_992))) :rule cong :premises (t52.t8)) (step t52.t10 (cl (= @p_815 (! (and @p_987 @p_992) :named @p_993))) :rule cong :premises (t52.t4 t52.t9)) (step t52 (cl (= @p_810 (! (exists ((veriT_vr91 E$) (veriT_vr90 D$)) @p_993) :named @p_994))) :rule bind) (step t53 (cl (= @p_816 (! (or @p_726 @p_994) :named @p_995))) :rule cong :premises (t52)) (step t54 (cl (= @p_817 (! (=> @p_808 @p_995) :named @p_997))) :rule cong :premises (t53)) (step t55 (cl (= @p_818 (! (and @p_996 @p_997) :named @p_1012))) :rule cong :premises (t51 t54)) (anchor :step t56 :args ((:= (veriT_vr78 E$) veriT_vr91) (:= (veriT_vr79 D$) veriT_vr90))) (step t56.t1 (cl (! (= veriT_vr78 veriT_vr91) :named @p_998)) :rule refl) (step t56.t2 (cl (! (= veriT_vr79 veriT_vr90) :named @p_999)) :rule refl) (step t56.t3 (cl (= @p_650 @p_975)) :rule cong :premises (t56.t1 t56.t2)) (step t56.t4 (cl (= @p_830 @p_976)) :rule cong :premises (t56.t3)) (step t56.t5 (cl @p_998) :rule refl) (step t56.t6 (cl (= @p_831 @p_978)) :rule cong :premises (t56.t5)) (step t56.t7 (cl @p_999) :rule refl) (step t56.t8 (cl (= @p_832 @p_980)) :rule cong :premises (t56.t6 t56.t7)) (step t56.t9 (cl (= @p_836 (! (is_res$b @p_980 @p_747) :named @p_1000))) :rule cong :premises (t56.t8)) (step t56.t10 (cl (= @p_837 (! (and @p_976 @p_1000) :named @p_1001))) :rule cong :premises (t56.t4 t56.t9)) (step t56 (cl (= @p_829 (! (exists ((veriT_vr91 E$) (veriT_vr90 D$)) @p_1001) :named @p_1002))) :rule bind) (step t57 (cl (= @p_838 (! (or @p_720 @p_1002) :named @p_1003))) :rule cong :premises (t56)) (step t58 (cl (= @p_839 (! (=> @p_828 @p_1003) :named @p_1010))) :rule cong :premises (t57)) (anchor :step t59 :args ((:= (veriT_vr82 E$) veriT_vr91) (:= (veriT_vr83 D$) veriT_vr90))) (step t59.t1 (cl (! (= veriT_vr82 veriT_vr91) :named @p_1004)) :rule refl) (step t59.t2 (cl (! (= veriT_vr83 veriT_vr90) :named @p_1005)) :rule refl) (step t59.t3 (cl (= @p_675 @p_975)) :rule cong :premises (t59.t1 t59.t2)) (step t59.t4 (cl (= @p_850 @p_987)) :rule cong :premises (t59.t3)) (step t59.t5 (cl @p_1004) :rule refl) (step t59.t6 (cl (= @p_851 @p_989)) :rule cong :premises (t59.t5)) (step t59.t7 (cl @p_1005) :rule refl) (step t59.t8 (cl (= @p_852 @p_991)) :rule cong :premises (t59.t6 t59.t7)) (step t59.t9 (cl (= @p_853 (! (is_res$b @p_991 @p_747) :named @p_1006))) :rule cong :premises (t59.t8)) (step t59.t10 (cl (= @p_854 (! (and @p_987 @p_1006) :named @p_1007))) :rule cong :premises (t59.t4 t59.t9)) (step t59 (cl (= @p_849 (! (exists ((veriT_vr91 E$) (veriT_vr90 D$)) @p_1007) :named @p_1008))) :rule bind) (step t60 (cl (= @p_855 (! (or @p_726 @p_1008) :named @p_1009))) :rule cong :premises (t59)) (step t61 (cl (= @p_856 (! (=> @p_848 @p_1009) :named @p_1011))) :rule cong :premises (t60)) (step t62 (cl (= @p_819 (! (and @p_1010 @p_1011) :named @p_1013))) :rule cong :premises (t58 t61)) (step t63 (cl (= @p_857 (! (and @p_1012 @p_1013) :named @p_1014))) :rule cong :premises (t55 t62)) (step t64 (cl (= @p_768 (! (or @p_720 @p_983 @p_1014) :named @p_1016))) :rule cong :premises (t48 t63)) (step t65 (cl (= @p_858 (! (=> @p_1015 @p_1016) :named @p_1017))) :rule cong :premises (t47 t64)) (step t66 (cl (= @p_859 (! (not @p_1017) :named @p_1020))) :rule cong :premises (t65)) (step t67 (cl (! (= @p_861 (! (and @p_1018 @p_1019 @p_1020) :named @p_1022)) :named @p_1021)) :rule cong :premises (t45 t46 t66)) (step t68 (cl (not @p_1021) (not @p_861) @p_1022) :rule equiv_pos2) (step t69 (cl @p_1022) :rule th_resolution :premises (t44 t67 t68)) (step t70 (cl (= @p_1020 (! (and @p_1015 (! (not @p_1016) :named @p_1027)) :named @p_1023))) :rule bool_simplify) (step t71 (cl (! (= @p_1022 (! (and @p_1018 @p_1019 @p_1023) :named @p_1025)) :named @p_1024)) :rule cong :premises (t70)) (step t72 (cl (not @p_1024) (not @p_1022) @p_1025) :rule equiv_pos2) (step t73 (cl @p_1025) :rule th_resolution :premises (t69 t71 t72)) (step t74 (cl (= @p_1014 (! (and @p_996 @p_997 @p_1010 @p_1011) :named @p_1026))) :rule ac_simp) (step t75 (cl (= @p_1016 (! (or @p_720 @p_983 @p_1026) :named @p_1028))) :rule ac_simp :premises (t74)) (step t76 (cl (= @p_1027 (! (not @p_1028) :named @p_1029))) :rule cong :premises (t75)) (step t77 (cl (! (= @p_1025 (! (and @p_1018 @p_1019 @p_1015 @p_1029) :named @p_1031)) :named @p_1030)) :rule ac_simp :premises (t76)) (step t78 (cl (not @p_1030) (not @p_1025) @p_1031) :rule equiv_pos2) (step t79 (cl @p_1031) :rule th_resolution :premises (t73 t77 t78)) (anchor :step t80 :args ((:= (veriT_vr91 E$) veriT_vr94) (:= (veriT_vr84 A_b_c_M_state_fun$) veriT_vr95) (:= (veriT_vr85 A_b_c_M_state_fun$) veriT_vr96))) (anchor :step t80.t1 :args ((:= (veriT_vr86 A$) veriT_vr97) (:= (veriT_vr87 C$) veriT_vr98))) (step t80.t1.t1 (cl (! (= veriT_vr84 veriT_vr95) :named @p_1046)) :rule refl) (step t80.t1.t2 (cl (! (= veriT_vr86 veriT_vr97) :named @p_1042)) :rule refl) (step t80.t1.t3 (cl (! (= @p_871 (! (fun_app$ veriT_vr95 veriT_vr97) :named @p_1041)) :named @p_1047)) :rule cong :premises (t80.t1.t1 t80.t1.t2)) (step t80.t1.t4 (cl (! (= veriT_vr87 veriT_vr98) :named @p_1044)) :rule refl) (step t80.t1.t5 (cl (! (= @p_864 (! (run$ @p_1041 veriT_vr98) :named @p_1034)) :named @p_1048)) :rule cong :premises (t80.t1.t3 t80.t1.t4)) (step t80.t1.t6 (cl (! (= @p_862 (! (is_fail$ @p_1034) :named @p_1032)) :named @p_1049)) :rule cong :premises (t80.t1.t5)) (step t80.t1.t7 (cl (! (= veriT_vr85 veriT_vr96) :named @p_1052)) :rule refl) (step t80.t1.t8 (cl @p_1042) :rule refl) (step t80.t1.t9 (cl (! (= @p_873 (! (fun_app$ veriT_vr96 veriT_vr97) :named @p_1043)) :named @p_1053)) :rule cong :premises (t80.t1.t7 t80.t1.t8)) (step t80.t1.t10 (cl @p_1044) :rule refl) (step t80.t1.t11 (cl (! (= @p_863 (! (run$ @p_1043 veriT_vr98) :named @p_1033)) :named @p_1054)) :rule cong :premises (t80.t1.t9 t80.t1.t10)) (step t80.t1.t12 (cl (= @p_875 (! (is_fail$ @p_1033) :named @p_1045))) :rule cong :premises (t80.t1.t11)) (step t80.t1.t13 (cl @p_1046) :rule refl) (step t80.t1.t14 (cl @p_1042) :rule refl) (step t80.t1.t15 (cl @p_1047) :rule cong :premises (t80.t1.t13 t80.t1.t14)) (step t80.t1.t16 (cl @p_1044) :rule refl) (step t80.t1.t17 (cl @p_1048) :rule cong :premises (t80.t1.t15 t80.t1.t16)) (step t80.t1.t18 (cl @p_1049) :rule cong :premises (t80.t1.t17)) (step t80.t1.t19 (cl (= @p_880 (! (= @p_1045 @p_1032) :named @p_1050))) :rule cong :premises (t80.t1.t12 t80.t1.t18)) (anchor :step t80.t1.t20 :args ((:= (veriT_vr88 B$) veriT_vr99) (:= (veriT_vr89 C$) veriT_vr100))) (step t80.t1.t20.t1 (cl @p_1052) :rule refl) (step t80.t1.t20.t2 (cl @p_1042) :rule refl) (step t80.t1.t20.t3 (cl @p_1053) :rule cong :premises (t80.t1.t20.t1 t80.t1.t20.t2)) (step t80.t1.t20.t4 (cl @p_1044) :rule refl) (step t80.t1.t20.t5 (cl @p_1054) :rule cong :premises (t80.t1.t20.t3 t80.t1.t20.t4)) (step t80.t1.t20.t6 (cl (! (= veriT_vr88 veriT_vr99) :named @p_1056)) :rule refl) (step t80.t1.t20.t7 (cl (! (= veriT_vr89 veriT_vr100) :named @p_1057)) :rule refl) (step t80.t1.t20.t8 (cl (! (= @p_865 (! (pair$ veriT_vr99 veriT_vr100) :named @p_1035)) :named @p_1058)) :rule cong :premises (t80.t1.t20.t6 t80.t1.t20.t7)) (step t80.t1.t20.t9 (cl (= @p_885 (! (is_res$ @p_1033 @p_1035) :named @p_1055))) :rule cong :premises (t80.t1.t20.t5 t80.t1.t20.t8)) (step t80.t1.t20.t10 (cl @p_1046) :rule refl) (step t80.t1.t20.t11 (cl @p_1042) :rule refl) (step t80.t1.t20.t12 (cl @p_1047) :rule cong :premises (t80.t1.t20.t10 t80.t1.t20.t11)) (step t80.t1.t20.t13 (cl @p_1044) :rule refl) (step t80.t1.t20.t14 (cl @p_1048) :rule cong :premises (t80.t1.t20.t12 t80.t1.t20.t13)) (step t80.t1.t20.t15 (cl @p_1056) :rule refl) (step t80.t1.t20.t16 (cl @p_1057) :rule refl) (step t80.t1.t20.t17 (cl @p_1058) :rule cong :premises (t80.t1.t20.t15 t80.t1.t20.t16)) (step t80.t1.t20.t18 (cl (= @p_889 (! (is_res$ @p_1034 @p_1035) :named @p_1059))) :rule cong :premises (t80.t1.t20.t14 t80.t1.t20.t17)) (step t80.t1.t20.t19 (cl (= @p_890 (! (= @p_1055 @p_1059) :named @p_1060))) :rule cong :premises (t80.t1.t20.t9 t80.t1.t20.t18)) (step t80.t1.t20 (cl (= @p_881 (! (forall ((veriT_vr99 B$) (veriT_vr100 C$)) @p_1060) :named @p_1051))) :rule bind) (step t80.t1.t21 (cl (= @p_891 (! (and @p_1050 @p_1051) :named @p_1061))) :rule cong :premises (t80.t1.t19 t80.t1.t20)) (step t80.t1.t22 (cl (= @p_892 (! (or @p_1032 @p_1061) :named @p_1062))) :rule cong :premises (t80.t1.t6 t80.t1.t21)) (step t80.t1 (cl (= @p_870 (! (forall ((veriT_vr97 A$) (veriT_vr98 C$)) @p_1062) :named @p_1040))) :rule bind) (anchor :step t80.t2 :args ((:= (veriT_vr90 D$) veriT_vr101))) (step t80.t2.t1 (cl (! (= veriT_vr91 veriT_vr94) :named @p_1065)) :rule refl) (step t80.t2.t2 (cl @p_1046) :rule refl) (step t80.t2.t3 (cl (! (= @p_931 (! (c$ veriT_vr94 veriT_vr95) :named @p_1064)) :named @p_1069)) :rule cong :premises (t80.t2.t1 t80.t2.t2)) (step t80.t2.t4 (cl (! (= veriT_vr90 veriT_vr101) :named @p_1067)) :rule refl) (step t80.t2.t5 (cl (! (= @p_916 (! (run$b @p_1064 veriT_vr101) :named @p_1038)) :named @p_1070)) :rule cong :premises (t80.t2.t3 t80.t2.t4)) (step t80.t2.t6 (cl (! (= @p_914 (! (is_fail$b @p_1038) :named @p_1036)) :named @p_1071)) :rule cong :premises (t80.t2.t5)) (step t80.t2.t7 (cl @p_1065) :rule refl) (step t80.t2.t8 (cl @p_1052) :rule refl) (step t80.t2.t9 (cl (! (= @p_933 (! (c$ veriT_vr94 veriT_vr96) :named @p_1066)) :named @p_1074)) :rule cong :premises (t80.t2.t7 t80.t2.t8)) (step t80.t2.t10 (cl @p_1067) :rule refl) (step t80.t2.t11 (cl (! (= @p_915 (! (run$b @p_1066 veriT_vr101) :named @p_1037)) :named @p_1075)) :rule cong :premises (t80.t2.t9 t80.t2.t10)) (step t80.t2.t12 (cl (= @p_935 (! (is_fail$b @p_1037) :named @p_1068))) :rule cong :premises (t80.t2.t11)) (step t80.t2.t13 (cl @p_1065) :rule refl) (step t80.t2.t14 (cl @p_1046) :rule refl) (step t80.t2.t15 (cl @p_1069) :rule cong :premises (t80.t2.t13 t80.t2.t14)) (step t80.t2.t16 (cl @p_1067) :rule refl) (step t80.t2.t17 (cl @p_1070) :rule cong :premises (t80.t2.t15 t80.t2.t16)) (step t80.t2.t18 (cl @p_1071) :rule cong :premises (t80.t2.t17)) (step t80.t2.t19 (cl (= @p_939 (! (= @p_1068 @p_1036) :named @p_1072))) :rule cong :premises (t80.t2.t12 t80.t2.t18)) (anchor :step t80.t2.t20 :args ((:= (veriT_vr93 F$) veriT_vr93) (:= (veriT_vr92 D$) veriT_vr102))) (step t80.t2.t20.t1 (cl @p_1065) :rule refl) (step t80.t2.t20.t2 (cl @p_1052) :rule refl) (step t80.t2.t20.t3 (cl @p_1074) :rule cong :premises (t80.t2.t20.t1 t80.t2.t20.t2)) (step t80.t2.t20.t4 (cl @p_1067) :rule refl) (step t80.t2.t20.t5 (cl @p_1075) :rule cong :premises (t80.t2.t20.t3 t80.t2.t20.t4)) (step t80.t2.t20.t6 (cl (! (= veriT_vr92 veriT_vr102) :named @p_1077)) :rule refl) (step t80.t2.t20.t7 (cl (! (= @p_917 (! (pair$b veriT_vr93 veriT_vr102) :named @p_1039)) :named @p_1078)) :rule cong :premises (t80.t2.t20.t6)) (step t80.t2.t20.t8 (cl (= @p_943 (! (is_res$b @p_1037 @p_1039) :named @p_1076))) :rule cong :premises (t80.t2.t20.t5 t80.t2.t20.t7)) (step t80.t2.t20.t9 (cl @p_1065) :rule refl) (step t80.t2.t20.t10 (cl @p_1046) :rule refl) (step t80.t2.t20.t11 (cl @p_1069) :rule cong :premises (t80.t2.t20.t9 t80.t2.t20.t10)) (step t80.t2.t20.t12 (cl @p_1067) :rule refl) (step t80.t2.t20.t13 (cl @p_1070) :rule cong :premises (t80.t2.t20.t11 t80.t2.t20.t12)) (step t80.t2.t20.t14 (cl @p_1077) :rule refl) (step t80.t2.t20.t15 (cl @p_1078) :rule cong :premises (t80.t2.t20.t14)) (step t80.t2.t20.t16 (cl (= @p_947 (! (is_res$b @p_1038 @p_1039) :named @p_1079))) :rule cong :premises (t80.t2.t20.t13 t80.t2.t20.t15)) (step t80.t2.t20.t17 (cl (= @p_948 (! (= @p_1076 @p_1079) :named @p_1080))) :rule cong :premises (t80.t2.t20.t8 t80.t2.t20.t16)) (step t80.t2.t20 (cl (= @p_940 (! (forall ((veriT_vr93 F$) (veriT_vr102 D$)) @p_1080) :named @p_1073))) :rule bind) (step t80.t2.t21 (cl (= @p_949 (! (and @p_1072 @p_1073) :named @p_1081))) :rule cong :premises (t80.t2.t19 t80.t2.t20)) (step t80.t2.t22 (cl (= @p_950 (! (or @p_1036 @p_1081) :named @p_1082))) :rule cong :premises (t80.t2.t6 t80.t2.t21)) (step t80.t2 (cl (= @p_930 (! (forall ((veriT_vr101 D$)) @p_1082) :named @p_1063))) :rule bind) (step t80.t3 (cl (= @p_951 (! (=> @p_1040 @p_1063) :named @p_1083))) :rule cong :premises (t80.t1 t80.t2)) (step t80 (cl (= @p_1019 (! (forall ((veriT_vr94 E$) (veriT_vr95 A_b_c_M_state_fun$) (veriT_vr96 A_b_c_M_state_fun$)) @p_1083) :named @p_1154))) :rule bind) (anchor :step t81 :args ((:= (veriT_vr86 A$) veriT_vr103) (:= (veriT_vr87 C$) veriT_vr104))) (step t81.t1 (cl (! (= veriT_vr86 veriT_vr103) :named @p_1089)) :rule refl) (step t81.t2 (cl (! (= @p_955 (! (fun_app$ veriT_sk0 veriT_vr103) :named @p_1088)) :named @p_1093)) :rule cong :premises (t81.t1)) (step t81.t3 (cl (! (= veriT_vr87 veriT_vr104) :named @p_1091)) :rule refl) (step t81.t4 (cl (! (= @p_954 (! (run$ @p_1088 veriT_vr104) :named @p_1086)) :named @p_1094)) :rule cong :premises (t81.t2 t81.t3)) (step t81.t5 (cl (! (= @p_952 (! (is_fail$ @p_1086) :named @p_1084)) :named @p_1095)) :rule cong :premises (t81.t4)) (step t81.t6 (cl @p_1089) :rule refl) (step t81.t7 (cl (! (= @p_957 (! (fun_app$ veriT_sk1 veriT_vr103) :named @p_1090)) :named @p_1098)) :rule cong :premises (t81.t6)) (step t81.t8 (cl @p_1091) :rule refl) (step t81.t9 (cl (! (= @p_953 (! (run$ @p_1090 veriT_vr104) :named @p_1085)) :named @p_1099)) :rule cong :premises (t81.t7 t81.t8)) (step t81.t10 (cl (= @p_959 (! (is_fail$ @p_1085) :named @p_1092))) :rule cong :premises (t81.t9)) (step t81.t11 (cl @p_1089) :rule refl) (step t81.t12 (cl @p_1093) :rule cong :premises (t81.t11)) (step t81.t13 (cl @p_1091) :rule refl) (step t81.t14 (cl @p_1094) :rule cong :premises (t81.t12 t81.t13)) (step t81.t15 (cl @p_1095) :rule cong :premises (t81.t14)) (step t81.t16 (cl (= @p_963 (! (= @p_1092 @p_1084) :named @p_1096))) :rule cong :premises (t81.t10 t81.t15)) (anchor :step t81.t17 :args ((:= (veriT_vr88 B$) veriT_vr105) (:= (veriT_vr89 C$) veriT_vr106))) (step t81.t17.t1 (cl @p_1089) :rule refl) (step t81.t17.t2 (cl @p_1098) :rule cong :premises (t81.t17.t1)) (step t81.t17.t3 (cl @p_1091) :rule refl) (step t81.t17.t4 (cl @p_1099) :rule cong :premises (t81.t17.t2 t81.t17.t3)) (step t81.t17.t5 (cl (! (= veriT_vr88 veriT_vr105) :named @p_1101)) :rule refl) (step t81.t17.t6 (cl (! (= veriT_vr89 veriT_vr106) :named @p_1102)) :rule refl) (step t81.t17.t7 (cl (! (= @p_865 (! (pair$ veriT_vr105 veriT_vr106) :named @p_1087)) :named @p_1103)) :rule cong :premises (t81.t17.t5 t81.t17.t6)) (step t81.t17.t8 (cl (= @p_967 (! (is_res$ @p_1085 @p_1087) :named @p_1100))) :rule cong :premises (t81.t17.t4 t81.t17.t7)) (step t81.t17.t9 (cl @p_1089) :rule refl) (step t81.t17.t10 (cl @p_1093) :rule cong :premises (t81.t17.t9)) (step t81.t17.t11 (cl @p_1091) :rule refl) (step t81.t17.t12 (cl @p_1094) :rule cong :premises (t81.t17.t10 t81.t17.t11)) (step t81.t17.t13 (cl @p_1101) :rule refl) (step t81.t17.t14 (cl @p_1102) :rule refl) (step t81.t17.t15 (cl @p_1103) :rule cong :premises (t81.t17.t13 t81.t17.t14)) (step t81.t17.t16 (cl (= @p_971 (! (is_res$ @p_1086 @p_1087) :named @p_1104))) :rule cong :premises (t81.t17.t12 t81.t17.t15)) (step t81.t17.t17 (cl (= @p_972 (! (= @p_1100 @p_1104) :named @p_1105))) :rule cong :premises (t81.t17.t8 t81.t17.t16)) (step t81.t17 (cl (= @p_964 (! (forall ((veriT_vr105 B$) (veriT_vr106 C$)) @p_1105) :named @p_1097))) :rule bind) (step t81.t18 (cl (= @p_973 (! (and @p_1096 @p_1097) :named @p_1106))) :rule cong :premises (t81.t16 t81.t17)) (step t81.t19 (cl (= @p_974 (! (or @p_1084 @p_1106) :named @p_1107))) :rule cong :premises (t81.t5 t81.t18)) (step t81 (cl (= @p_1015 (! (forall ((veriT_vr103 A$) (veriT_vr104 C$)) @p_1107) :named @p_1155))) :rule bind) (anchor :step t82 :args ((:= (veriT_vr91 E$) veriT_vr107) (:= (veriT_vr90 D$) veriT_vr108))) (step t82.t1 (cl (! (= veriT_vr91 veriT_vr107) :named @p_1110)) :rule refl) (step t82.t2 (cl (! (= veriT_vr90 veriT_vr108) :named @p_1112)) :rule refl) (step t82.t3 (cl (= @p_975 (! (pair$a veriT_vr107 veriT_vr108) :named @p_1108))) :rule cong :premises (t82.t1 t82.t2)) (step t82.t4 (cl (= @p_976 (! (is_res$a @p_712 @p_1108) :named @p_1109))) :rule cong :premises (t82.t3)) (step t82.t5 (cl @p_1110) :rule refl) (step t82.t6 (cl (= @p_978 (! (c$ veriT_vr107 veriT_sk0) :named @p_1111))) :rule cong :premises (t82.t5)) (step t82.t7 (cl @p_1112) :rule refl) (step t82.t8 (cl (= @p_980 (! (run$b @p_1111 veriT_vr108) :named @p_1113))) :rule cong :premises (t82.t6 t82.t7)) (step t82.t9 (cl (= @p_981 (! (is_fail$b @p_1113) :named @p_1114))) :rule cong :premises (t82.t8)) (step t82.t10 (cl (= @p_982 (! (and @p_1109 @p_1114) :named @p_1115))) :rule cong :premises (t82.t4 t82.t9)) (step t82 (cl (= @p_983 (! (exists ((veriT_vr107 E$) (veriT_vr108 D$)) @p_1115) :named @p_1116))) :rule bind) (step t83 (cl (= @p_986 (! (or @p_720 @p_1116) :named @p_1117))) :rule cong :premises (t82)) (step t84 (cl (= @p_996 (! (=> @p_790 @p_1117) :named @p_1148))) :rule cong :premises (t83)) (anchor :step t85 :args ((:= (veriT_vr91 E$) veriT_vr109) (:= (veriT_vr90 D$) veriT_vr110))) (step t85.t1 (cl (! (= veriT_vr91 veriT_vr109) :named @p_1120)) :rule refl) (step t85.t2 (cl (! (= veriT_vr90 veriT_vr110) :named @p_1122)) :rule refl) (step t85.t3 (cl (= @p_975 (! (pair$a veriT_vr109 veriT_vr110) :named @p_1118))) :rule cong :premises (t85.t1 t85.t2)) (step t85.t4 (cl (= @p_987 (! (is_res$a @p_714 @p_1118) :named @p_1119))) :rule cong :premises (t85.t3)) (step t85.t5 (cl @p_1120) :rule refl) (step t85.t6 (cl (= @p_989 (! (c$ veriT_vr109 veriT_sk1) :named @p_1121))) :rule cong :premises (t85.t5)) (step t85.t7 (cl @p_1122) :rule refl) (step t85.t8 (cl (= @p_991 (! (run$b @p_1121 veriT_vr110) :named @p_1123))) :rule cong :premises (t85.t6 t85.t7)) (step t85.t9 (cl (= @p_992 (! (is_fail$b @p_1123) :named @p_1124))) :rule cong :premises (t85.t8)) (step t85.t10 (cl (= @p_993 (! (and @p_1119 @p_1124) :named @p_1125))) :rule cong :premises (t85.t4 t85.t9)) (step t85 (cl (= @p_994 (! (exists ((veriT_vr109 E$) (veriT_vr110 D$)) @p_1125) :named @p_1126))) :rule bind) (step t86 (cl (= @p_995 (! (or @p_726 @p_1126) :named @p_1127))) :rule cong :premises (t85)) (step t87 (cl (= @p_997 (! (=> @p_808 @p_1127) :named @p_1149))) :rule cong :premises (t86)) (anchor :step t88 :args ((:= (veriT_vr91 E$) veriT_vr111) (:= (veriT_vr90 D$) veriT_vr112))) (step t88.t1 (cl (! (= veriT_vr91 veriT_vr111) :named @p_1130)) :rule refl) (step t88.t2 (cl (! (= veriT_vr90 veriT_vr112) :named @p_1132)) :rule refl) (step t88.t3 (cl (= @p_975 (! (pair$a veriT_vr111 veriT_vr112) :named @p_1128))) :rule cong :premises (t88.t1 t88.t2)) (step t88.t4 (cl (= @p_976 (! (is_res$a @p_712 @p_1128) :named @p_1129))) :rule cong :premises (t88.t3)) (step t88.t5 (cl @p_1130) :rule refl) (step t88.t6 (cl (= @p_978 (! (c$ veriT_vr111 veriT_sk0) :named @p_1131))) :rule cong :premises (t88.t5)) (step t88.t7 (cl @p_1132) :rule refl) (step t88.t8 (cl (= @p_980 (! (run$b @p_1131 veriT_vr112) :named @p_1133))) :rule cong :premises (t88.t6 t88.t7)) (step t88.t9 (cl (= @p_1000 (! (is_res$b @p_1133 @p_747) :named @p_1134))) :rule cong :premises (t88.t8)) (step t88.t10 (cl (= @p_1001 (! (and @p_1129 @p_1134) :named @p_1135))) :rule cong :premises (t88.t4 t88.t9)) (step t88 (cl (= @p_1002 (! (exists ((veriT_vr111 E$) (veriT_vr112 D$)) @p_1135) :named @p_1136))) :rule bind) (step t89 (cl (= @p_1003 (! (or @p_720 @p_1136) :named @p_1137))) :rule cong :premises (t88)) (step t90 (cl (= @p_1010 (! (=> @p_828 @p_1137) :named @p_1150))) :rule cong :premises (t89)) (anchor :step t91 :args ((:= (veriT_vr91 E$) veriT_vr113) (:= (veriT_vr90 D$) veriT_vr114))) (step t91.t1 (cl (! (= veriT_vr91 veriT_vr113) :named @p_1140)) :rule refl) (step t91.t2 (cl (! (= veriT_vr90 veriT_vr114) :named @p_1142)) :rule refl) (step t91.t3 (cl (= @p_975 (! (pair$a veriT_vr113 veriT_vr114) :named @p_1138))) :rule cong :premises (t91.t1 t91.t2)) (step t91.t4 (cl (= @p_987 (! (is_res$a @p_714 @p_1138) :named @p_1139))) :rule cong :premises (t91.t3)) (step t91.t5 (cl @p_1140) :rule refl) (step t91.t6 (cl (= @p_989 (! (c$ veriT_vr113 veriT_sk1) :named @p_1141))) :rule cong :premises (t91.t5)) (step t91.t7 (cl @p_1142) :rule refl) (step t91.t8 (cl (= @p_991 (! (run$b @p_1141 veriT_vr114) :named @p_1143))) :rule cong :premises (t91.t6 t91.t7)) (step t91.t9 (cl (= @p_1006 (! (is_res$b @p_1143 @p_747) :named @p_1144))) :rule cong :premises (t91.t8)) (step t91.t10 (cl (= @p_1007 (! (and @p_1139 @p_1144) :named @p_1145))) :rule cong :premises (t91.t4 t91.t9)) (step t91 (cl (= @p_1008 (! (exists ((veriT_vr113 E$) (veriT_vr114 D$)) @p_1145) :named @p_1146))) :rule bind) (step t92 (cl (= @p_1009 (! (or @p_726 @p_1146) :named @p_1147))) :rule cong :premises (t91)) (step t93 (cl (= @p_1011 (! (=> @p_848 @p_1147) :named @p_1151))) :rule cong :premises (t92)) (step t94 (cl (= @p_1026 (! (and @p_1148 @p_1149 @p_1150 @p_1151) :named @p_1152))) :rule cong :premises (t84 t87 t90 t93)) (step t95 (cl (= @p_1028 (! (or @p_720 @p_1116 @p_1152) :named @p_1153))) :rule cong :premises (t82 t94)) (step t96 (cl (= @p_1029 (! (not @p_1153) :named @p_1156))) :rule cong :premises (t95)) (step t97 (cl (! (= @p_1031 (! (and @p_1018 @p_1154 @p_1155 @p_1156) :named @p_1158)) :named @p_1157)) :rule cong :premises (t80 t81 t96)) (step t98 (cl (not @p_1157) (not @p_1031) @p_1158) :rule equiv_pos2) (step t99 (cl @p_1158) :rule th_resolution :premises (t79 t97 t98)) (step t100 (cl (= @p_1116 (! (not (! (forall ((veriT_vr107 E$) (veriT_vr108 D$)) (not @p_1115)) :named @p_1177)) :named @p_1159))) :rule connective_def) (step t101 (cl (= @p_1117 (! (or @p_720 @p_1159) :named @p_1160))) :rule cong :premises (t100)) (step t102 (cl (= @p_1148 (! (=> @p_790 @p_1160) :named @p_1167))) :rule cong :premises (t101)) (step t103 (cl (= @p_1126 (! (not (forall ((veriT_vr109 E$) (veriT_vr110 D$)) (not @p_1125))) :named @p_1161))) :rule connective_def) (step t104 (cl (= @p_1127 (! (or @p_726 @p_1161) :named @p_1162))) :rule cong :premises (t103)) (step t105 (cl (= @p_1149 (! (=> @p_808 @p_1162) :named @p_1168))) :rule cong :premises (t104)) (step t106 (cl (= @p_1136 (! (not (! (forall ((veriT_vr111 E$) (veriT_vr112 D$)) (not @p_1135)) :named @p_1181)) :named @p_1163))) :rule connective_def) (step t107 (cl (= @p_1137 (! (or @p_720 @p_1163) :named @p_1164))) :rule cong :premises (t106)) (step t108 (cl (= @p_1150 (! (=> @p_828 @p_1164) :named @p_1169))) :rule cong :premises (t107)) (step t109 (cl (= @p_1146 (! (not (! (forall ((veriT_vr113 E$) (veriT_vr114 D$)) (not @p_1145)) :named @p_1184)) :named @p_1165))) :rule connective_def) (step t110 (cl (= @p_1147 (! (or @p_726 @p_1165) :named @p_1166))) :rule cong :premises (t109)) (step t111 (cl (= @p_1151 (! (=> @p_848 @p_1166) :named @p_1170))) :rule cong :premises (t110)) (step t112 (cl (= @p_1152 (! (and @p_1167 @p_1168 @p_1169 @p_1170) :named @p_1171))) :rule cong :premises (t102 t105 t108 t111)) (step t113 (cl (= @p_1153 (! (or @p_720 @p_1159 @p_1171) :named @p_1172))) :rule cong :premises (t100 t112)) (step t114 (cl (= @p_1156 (! (not @p_1172) :named @p_1173))) :rule cong :premises (t113)) (step t115 (cl (! (= @p_1158 (! (and @p_1018 @p_1154 @p_1155 @p_1173) :named @p_1175)) :named @p_1174)) :rule cong :premises (t114)) (step t116 (cl (not @p_1174) (not @p_1158) @p_1175) :rule equiv_pos2) (step t117 (cl @p_1175) :rule th_resolution :premises (t99 t115 t116)) (step t118 (cl @p_1018) :rule and :premises (t117)) (step t119 (cl @p_1154) :rule and :premises (t117)) (step t120 (cl @p_1155) :rule and :premises (t117)) (step t121 (cl @p_1173) :rule and :premises (t117)) (step t122 (cl (not @p_720)) :rule not_or :premises (t121)) (step t123 (cl (! (not @p_1159) :named @p_1176)) :rule not_or :premises (t121)) (step t124 (cl (not @p_1176) @p_1177) :rule not_not) (step t125 (cl @p_1177) :rule th_resolution :premises (t124 t123)) (step t126 (cl (not @p_1171)) :rule not_or :premises (t121)) (step t127 (cl (! (not @p_780) :named @p_1178) @p_784) :rule and_pos) (step t128 (cl @p_1178 @p_789) :rule and_pos) (step t129 (cl (! (not @p_790) :named @p_1925) @p_726 @p_780) :rule or_pos) (step t130 (cl @p_1167 @p_790) :rule implies_neg1) (step t131 (cl (! (not @p_808) :named @p_1185) @p_720 @p_800) :rule or_pos) (step t132 (cl @p_1168 @p_808) :rule implies_neg1) (step t133 (cl (! (not @p_820) :named @p_1179) @p_822) :rule and_pos) (step t134 (cl @p_1179 @p_827) :rule and_pos) (step t135 (cl (not @p_828) @p_726 @p_820) :rule or_pos) (step t136 (cl @p_1169 @p_828) :rule implies_neg1) (step t137 (cl @p_1164 (! (not @p_1163) :named @p_1180)) :rule or_neg) (step t138 (cl (not @p_1180) @p_1181) :rule not_not) (step t139 (cl @p_1164 @p_1181) :rule th_resolution :premises (t138 t137)) (step t140 (cl @p_1169 (! (not @p_1164) :named @p_1927)) :rule implies_neg2) (step t141 (cl (! (not @p_840) :named @p_1182) @p_842) :rule and_pos) (step t142 (cl @p_1182 @p_847) :rule and_pos) (step t143 (cl (! (not @p_848) :named @p_1186) @p_720 @p_840) :rule or_pos) (step t144 (cl @p_1170 @p_848) :rule implies_neg1) (step t145 (cl @p_1166 (! (not @p_1165) :named @p_1183)) :rule or_neg) (step t146 (cl (not @p_1183) @p_1184) :rule not_not) (step t147 (cl @p_1166 @p_1184) :rule th_resolution :premises (t146 t145)) (step t148 (cl @p_1170 (not @p_1166)) :rule implies_neg2) (step t149 (cl (not @p_1167) (not @p_1168) (! (not @p_1169) :named @p_1926) (not @p_1170)) :rule not_and :premises (t126)) (step t150 (cl @p_1185 @p_800) :rule resolution :premises (t131 t122)) (step t151 (cl @p_1186 @p_840) :rule resolution :premises (t143 t122)) (step t152 (cl (or (! (not @p_1155) :named @p_1187) (! (forall ((veriT_vr103 A$) (veriT_vr104 C$)) (or @p_1084 (not @p_1092) @p_1084)) :named @p_1340))) :rule qnt_cnf) (step t153 (cl (or @p_1187 (! (forall ((veriT_vr103 A$) (veriT_vr104 C$) (veriT_vr105 B$) (veriT_vr106 C$)) (or @p_1084 (not @p_1100) @p_1104)) :named @p_1351))) :rule qnt_cnf) (step t154 (cl (or @p_1187 (! (forall ((veriT_vr103 A$) (veriT_vr104 C$) (veriT_vr105 B$) (veriT_vr106 C$)) (or @p_1084 (not @p_1104) @p_1100)) :named @p_1352))) :rule qnt_cnf) (step t155 (cl (or @p_1159 (! (not @p_800) :named @p_1323))) :rule forall_inst :args ((:= veriT_vr107 veriT_sk5) (:= veriT_vr108 veriT_sk6))) (step t156 (cl (or @p_1159 (! (not (! (and @p_842 (! (is_fail$b @p_846) :named @p_1325)) :named @p_1324)) :named @p_1326))) :rule forall_inst :args ((:= veriT_vr107 veriT_sk11) (:= veriT_vr108 veriT_sk12))) (step t157 (cl (or @p_1159 (! (not (! (and (! (is_res$a @p_712 @p_821) :named @p_1328) (! (is_fail$b (! (run$b (c$ veriT_sk9 veriT_sk0) veriT_sk10) :named @p_1353)) :named @p_1329)) :named @p_1327)) :named @p_1330))) :rule forall_inst :args ((:= veriT_vr107 veriT_sk9) (:= veriT_vr108 veriT_sk10))) (step t158 (cl (or @p_1159 (! (not (! (and (! (is_res$a @p_712 @p_783) :named @p_1332) (! (is_fail$b (! (run$b (c$ veriT_sk3 veriT_sk0) veriT_sk4) :named @p_1389)) :named @p_1333)) :named @p_1331)) :named @p_1334))) :rule forall_inst :args ((:= veriT_vr107 veriT_sk3) (:= veriT_vr108 veriT_sk4))) (step t159 (cl (not (! (not (! (not @p_1154) :named @p_1385)) :named @p_1533)) @p_1154) :rule not_not) (step t160 (cl (or (! (not @p_1018) :named @p_1320) (! (=> @p_1015 (! (or @p_720 (! (and (! (= @p_726 @p_720) :named @p_1208) (! (forall ((veriT_vr91 E$) (veriT_vr92 D$)) (! (= (! (is_res$a @p_714 @p_869) :named @p_1236) (! (is_res$a @p_712 @p_869) :named @p_1241)) :named @p_1243)) :named @p_1234)) :named @p_1245)) :named @p_1247)) :named @p_1188))) :rule forall_inst :args ((:= veriT_vr84 veriT_sk0) (:= veriT_vr85 veriT_sk1) (:= veriT_vr90 veriT_sk2))) (anchor :step t161) (assume t161.h1 @p_1188) (anchor :step t161.t2 :args ((:= (veriT_vr86 A$) veriT_vr115) (:= (veriT_vr87 C$) veriT_vr116))) (step t161.t2.t1 (cl (! (= veriT_vr86 veriT_vr115) :named @p_1215)) :rule refl) (step t161.t2.t2 (cl (! (= @p_955 (! (fun_app$ veriT_sk0 veriT_vr115) :named @p_1214)) :named @p_1219)) :rule cong :premises (t161.t2.t1)) (step t161.t2.t3 (cl (! (= veriT_vr87 veriT_vr116) :named @p_1217)) :rule refl) (step t161.t2.t4 (cl (! (= @p_954 (! (run$ @p_1214 veriT_vr116) :named @p_1212)) :named @p_1220)) :rule cong :premises (t161.t2.t2 t161.t2.t3)) (step t161.t2.t5 (cl (! (= @p_952 (! (is_fail$ @p_1212) :named @p_1210)) :named @p_1221)) :rule cong :premises (t161.t2.t4)) (step t161.t2.t6 (cl @p_1215) :rule refl) (step t161.t2.t7 (cl (! (= @p_957 (! (fun_app$ veriT_sk1 veriT_vr115) :named @p_1216)) :named @p_1224)) :rule cong :premises (t161.t2.t6)) (step t161.t2.t8 (cl @p_1217) :rule refl) (step t161.t2.t9 (cl (! (= @p_953 (! (run$ @p_1216 veriT_vr116) :named @p_1211)) :named @p_1225)) :rule cong :premises (t161.t2.t7 t161.t2.t8)) (step t161.t2.t10 (cl (= @p_959 (! (is_fail$ @p_1211) :named @p_1218))) :rule cong :premises (t161.t2.t9)) (step t161.t2.t11 (cl @p_1215) :rule refl) (step t161.t2.t12 (cl @p_1219) :rule cong :premises (t161.t2.t11)) (step t161.t2.t13 (cl @p_1217) :rule refl) (step t161.t2.t14 (cl @p_1220) :rule cong :premises (t161.t2.t12 t161.t2.t13)) (step t161.t2.t15 (cl @p_1221) :rule cong :premises (t161.t2.t14)) (step t161.t2.t16 (cl (= @p_963 (! (= @p_1218 @p_1210) :named @p_1222))) :rule cong :premises (t161.t2.t10 t161.t2.t15)) (anchor :step t161.t2.t17 :args ((:= (veriT_vr88 B$) veriT_vr117) (:= (veriT_vr89 C$) veriT_vr118))) (step t161.t2.t17.t1 (cl @p_1215) :rule refl) (step t161.t2.t17.t2 (cl @p_1224) :rule cong :premises (t161.t2.t17.t1)) (step t161.t2.t17.t3 (cl @p_1217) :rule refl) (step t161.t2.t17.t4 (cl @p_1225) :rule cong :premises (t161.t2.t17.t2 t161.t2.t17.t3)) (step t161.t2.t17.t5 (cl (! (= veriT_vr88 veriT_vr117) :named @p_1227)) :rule refl) (step t161.t2.t17.t6 (cl (! (= veriT_vr89 veriT_vr118) :named @p_1228)) :rule refl) (step t161.t2.t17.t7 (cl (! (= @p_865 (! (pair$ veriT_vr117 veriT_vr118) :named @p_1213)) :named @p_1229)) :rule cong :premises (t161.t2.t17.t5 t161.t2.t17.t6)) (step t161.t2.t17.t8 (cl (= @p_967 (! (is_res$ @p_1211 @p_1213) :named @p_1226))) :rule cong :premises (t161.t2.t17.t4 t161.t2.t17.t7)) (step t161.t2.t17.t9 (cl @p_1215) :rule refl) (step t161.t2.t17.t10 (cl @p_1219) :rule cong :premises (t161.t2.t17.t9)) (step t161.t2.t17.t11 (cl @p_1217) :rule refl) (step t161.t2.t17.t12 (cl @p_1220) :rule cong :premises (t161.t2.t17.t10 t161.t2.t17.t11)) (step t161.t2.t17.t13 (cl @p_1227) :rule refl) (step t161.t2.t17.t14 (cl @p_1228) :rule refl) (step t161.t2.t17.t15 (cl @p_1229) :rule cong :premises (t161.t2.t17.t13 t161.t2.t17.t14)) (step t161.t2.t17.t16 (cl (= @p_971 (! (is_res$ @p_1212 @p_1213) :named @p_1230))) :rule cong :premises (t161.t2.t17.t12 t161.t2.t17.t15)) (step t161.t2.t17.t17 (cl (= @p_972 (! (= @p_1226 @p_1230) :named @p_1231))) :rule cong :premises (t161.t2.t17.t8 t161.t2.t17.t16)) (step t161.t2.t17 (cl (= @p_964 (! (forall ((veriT_vr117 B$) (veriT_vr118 C$)) @p_1231) :named @p_1223))) :rule bind) (step t161.t2.t18 (cl (= @p_973 (! (and @p_1222 @p_1223) :named @p_1232))) :rule cong :premises (t161.t2.t16 t161.t2.t17)) (step t161.t2.t19 (cl (= @p_974 (! (or @p_1210 @p_1232) :named @p_1233))) :rule cong :premises (t161.t2.t5 t161.t2.t18)) (step t161.t2 (cl (= @p_1015 (! (forall ((veriT_vr115 A$) (veriT_vr116 C$)) @p_1233) :named @p_1249))) :rule bind) (anchor :step t161.t3 :args ((:= (veriT_vr91 E$) veriT_vr121) (:= (veriT_vr92 D$) veriT_vr120))) (step t161.t3.t1 (cl (! (= veriT_vr91 veriT_vr121) :named @p_1238)) :rule refl) (step t161.t3.t2 (cl (! (= veriT_vr92 veriT_vr120) :named @p_1239)) :rule refl) (step t161.t3.t3 (cl (! (= @p_869 (! (pair$a veriT_vr121 veriT_vr120) :named @p_1235)) :named @p_1240)) :rule cong :premises (t161.t3.t1 t161.t3.t2)) (step t161.t3.t4 (cl (= @p_1236 (! (is_res$a @p_714 @p_1235) :named @p_1237))) :rule cong :premises (t161.t3.t3)) (step t161.t3.t5 (cl @p_1238) :rule refl) (step t161.t3.t6 (cl @p_1239) :rule refl) (step t161.t3.t7 (cl @p_1240) :rule cong :premises (t161.t3.t5 t161.t3.t6)) (step t161.t3.t8 (cl (= @p_1241 (! (is_res$a @p_712 @p_1235) :named @p_1242))) :rule cong :premises (t161.t3.t7)) (step t161.t3.t9 (cl (= @p_1243 (! (= @p_1237 @p_1242) :named @p_1244))) :rule cong :premises (t161.t3.t4 t161.t3.t8)) (step t161.t3 (cl (= @p_1234 (! (forall ((veriT_vr121 E$) (veriT_vr120 D$)) @p_1244) :named @p_1246))) :rule bind) (step t161.t4 (cl (= @p_1245 (! (and @p_1208 @p_1246) :named @p_1248))) :rule cong :premises (t161.t3)) (step t161.t5 (cl (= @p_1247 (! (or @p_720 @p_1248) :named @p_1250))) :rule cong :premises (t161.t4)) (step t161.t6 (cl (! (= @p_1188 (! (=> @p_1249 @p_1250) :named @p_1253)) :named @p_1251)) :rule cong :premises (t161.t2 t161.t5)) (step t161.t7 (cl (not @p_1251) (! (not @p_1188) :named @p_1252) @p_1253) :rule equiv_pos2) (step t161.t8 (cl @p_1253) :rule th_resolution :premises (t161.h1 t161.t6 t161.t7)) (anchor :step t161.t9 :args ((:= (veriT_vr115 A$) veriT_vr122) (:= (veriT_vr116 C$) veriT_vr123))) (step t161.t9.t1 (cl (! (= veriT_vr115 veriT_vr122) :named @p_1256)) :rule refl) (step t161.t9.t2 (cl (! (= @p_1214 @p_1255) :named @p_1260)) :rule cong :premises (t161.t9.t1)) (step t161.t9.t3 (cl (! (= veriT_vr116 veriT_vr123) :named @p_1258)) :rule refl) (step t161.t9.t4 (cl (! (= @p_1212 @p_1191) :named @p_1261)) :rule cong :premises (t161.t9.t2 t161.t9.t3)) (step t161.t9.t5 (cl (! (= @p_1210 @p_1189) :named @p_1262)) :rule cong :premises (t161.t9.t4)) (step t161.t9.t6 (cl @p_1256) :rule refl) (step t161.t9.t7 (cl (! (= @p_1216 @p_1257) :named @p_1265)) :rule cong :premises (t161.t9.t6)) (step t161.t9.t8 (cl @p_1258) :rule refl) (step t161.t9.t9 (cl (! (= @p_1211 @p_1190) :named @p_1266)) :rule cong :premises (t161.t9.t7 t161.t9.t8)) (step t161.t9.t10 (cl (= @p_1218 @p_1259)) :rule cong :premises (t161.t9.t9)) (step t161.t9.t11 (cl @p_1256) :rule refl) (step t161.t9.t12 (cl @p_1260) :rule cong :premises (t161.t9.t11)) (step t161.t9.t13 (cl @p_1258) :rule refl) (step t161.t9.t14 (cl @p_1261) :rule cong :premises (t161.t9.t12 t161.t9.t13)) (step t161.t9.t15 (cl @p_1262) :rule cong :premises (t161.t9.t14)) (step t161.t9.t16 (cl (= @p_1222 @p_1263)) :rule cong :premises (t161.t9.t10 t161.t9.t15)) (anchor :step t161.t9.t17 :args ((:= (veriT_vr117 B$) veriT_vr124) (:= (veriT_vr118 C$) veriT_vr125))) (step t161.t9.t17.t1 (cl @p_1256) :rule refl) (step t161.t9.t17.t2 (cl @p_1265) :rule cong :premises (t161.t9.t17.t1)) (step t161.t9.t17.t3 (cl @p_1258) :rule refl) (step t161.t9.t17.t4 (cl @p_1266) :rule cong :premises (t161.t9.t17.t2 t161.t9.t17.t3)) (step t161.t9.t17.t5 (cl (! (= veriT_vr117 veriT_vr124) :named @p_1268)) :rule refl) (step t161.t9.t17.t6 (cl (! (= veriT_vr118 veriT_vr125) :named @p_1269)) :rule refl) (step t161.t9.t17.t7 (cl (! (= @p_1213 @p_1192) :named @p_1270)) :rule cong :premises (t161.t9.t17.t5 t161.t9.t17.t6)) (step t161.t9.t17.t8 (cl (= @p_1226 @p_1267)) :rule cong :premises (t161.t9.t17.t4 t161.t9.t17.t7)) (step t161.t9.t17.t9 (cl @p_1256) :rule refl) (step t161.t9.t17.t10 (cl @p_1260) :rule cong :premises (t161.t9.t17.t9)) (step t161.t9.t17.t11 (cl @p_1258) :rule refl) (step t161.t9.t17.t12 (cl @p_1261) :rule cong :premises (t161.t9.t17.t10 t161.t9.t17.t11)) (step t161.t9.t17.t13 (cl @p_1268) :rule refl) (step t161.t9.t17.t14 (cl @p_1269) :rule refl) (step t161.t9.t17.t15 (cl @p_1270) :rule cong :premises (t161.t9.t17.t13 t161.t9.t17.t14)) (step t161.t9.t17.t16 (cl (= @p_1230 @p_1271)) :rule cong :premises (t161.t9.t17.t12 t161.t9.t17.t15)) (step t161.t9.t17.t17 (cl (= @p_1231 @p_1272)) :rule cong :premises (t161.t9.t17.t8 t161.t9.t17.t16)) (step t161.t9.t17 (cl (= @p_1223 @p_1264)) :rule bind) (step t161.t9.t18 (cl (= @p_1232 @p_1273)) :rule cong :premises (t161.t9.t16 t161.t9.t17)) (step t161.t9.t19 (cl (= @p_1233 @p_1254)) :rule cong :premises (t161.t9.t5 t161.t9.t18)) (step t161.t9 (cl (= @p_1249 (! (forall ((veriT_vr122 A$) (veriT_vr123 C$)) @p_1254) :named @p_1283))) :rule bind) (anchor :step t161.t10 :args ((:= (veriT_vr121 E$) veriT_vr126) (:= (veriT_vr120 D$) veriT_vr127))) (step t161.t10.t1 (cl (! (= veriT_vr121 veriT_vr126) :named @p_1276)) :rule refl) (step t161.t10.t2 (cl (! (= veriT_vr120 veriT_vr127) :named @p_1277)) :rule refl) (step t161.t10.t3 (cl (! (= @p_1235 (! (pair$a veriT_vr126 veriT_vr127) :named @p_1274)) :named @p_1278)) :rule cong :premises (t161.t10.t1 t161.t10.t2)) (step t161.t10.t4 (cl (= @p_1237 (! (is_res$a @p_714 @p_1274) :named @p_1275))) :rule cong :premises (t161.t10.t3)) (step t161.t10.t5 (cl @p_1276) :rule refl) (step t161.t10.t6 (cl @p_1277) :rule refl) (step t161.t10.t7 (cl @p_1278) :rule cong :premises (t161.t10.t5 t161.t10.t6)) (step t161.t10.t8 (cl (= @p_1242 (! (is_res$a @p_712 @p_1274) :named @p_1279))) :rule cong :premises (t161.t10.t7)) (step t161.t10.t9 (cl (= @p_1244 (! (= @p_1275 @p_1279) :named @p_1280))) :rule cong :premises (t161.t10.t4 t161.t10.t8)) (step t161.t10 (cl (= @p_1246 (! (forall ((veriT_vr126 E$) (veriT_vr127 D$)) @p_1280) :named @p_1281))) :rule bind) (step t161.t11 (cl (= @p_1248 (! (and @p_1208 @p_1281) :named @p_1282))) :rule cong :premises (t161.t10)) (step t161.t12 (cl (= @p_1250 (! (or @p_720 @p_1282) :named @p_1284))) :rule cong :premises (t161.t11)) (step t161.t13 (cl (! (= @p_1253 (! (=> @p_1283 @p_1284) :named @p_1286)) :named @p_1285)) :rule cong :premises (t161.t9 t161.t12)) (step t161.t14 (cl (not @p_1285) (not @p_1253) @p_1286) :rule equiv_pos2) (step t161.t15 (cl @p_1286) :rule th_resolution :premises (t161.t8 t161.t13 t161.t14)) (anchor :step t161.t16 :args ((:= (veriT_vr122 A$) veriT_sk13) (:= (veriT_vr123 C$) veriT_sk14))) (step t161.t16.t1 (cl (! (= veriT_vr122 veriT_sk13) :named @p_1289)) :rule refl) (step t161.t16.t2 (cl (! (= @p_1255 (! (fun_app$ veriT_sk0 veriT_sk13) :named @p_1288)) :named @p_1293)) :rule cong :premises (t161.t16.t1)) (step t161.t16.t3 (cl (! (= veriT_vr123 veriT_sk14) :named @p_1291)) :rule refl) (step t161.t16.t4 (cl (! (= @p_1191 (! (run$ @p_1288 veriT_sk14) :named @p_1206)) :named @p_1294)) :rule cong :premises (t161.t16.t2 t161.t16.t3)) (step t161.t16.t5 (cl (! (= @p_1189 (! (is_fail$ @p_1206) :named @p_1198)) :named @p_1295)) :rule cong :premises (t161.t16.t4)) (step t161.t16.t6 (cl @p_1289) :rule refl) (step t161.t16.t7 (cl (! (= @p_1257 (! (fun_app$ veriT_sk1 veriT_sk13) :named @p_1290)) :named @p_1298)) :rule cong :premises (t161.t16.t6)) (step t161.t16.t8 (cl @p_1291) :rule refl) (step t161.t16.t9 (cl (! (= @p_1190 (! (run$ @p_1290 veriT_sk14) :named @p_1199)) :named @p_1299)) :rule cong :premises (t161.t16.t7 t161.t16.t8)) (step t161.t16.t10 (cl (= @p_1259 (! (is_fail$ @p_1199) :named @p_1292))) :rule cong :premises (t161.t16.t9)) (step t161.t16.t11 (cl @p_1289) :rule refl) (step t161.t16.t12 (cl @p_1293) :rule cong :premises (t161.t16.t11)) (step t161.t16.t13 (cl @p_1291) :rule refl) (step t161.t16.t14 (cl @p_1294) :rule cong :premises (t161.t16.t12 t161.t16.t13)) (step t161.t16.t15 (cl @p_1295) :rule cong :premises (t161.t16.t14)) (step t161.t16.t16 (cl (= @p_1263 (! (= @p_1292 @p_1198) :named @p_1296))) :rule cong :premises (t161.t16.t10 t161.t16.t15)) (anchor :step t161.t16.t17 :args ((:= (veriT_vr124 B$) veriT_sk15) (:= (veriT_vr125 C$) veriT_sk16))) (step t161.t16.t17.t1 (cl @p_1289) :rule refl) (step t161.t16.t17.t2 (cl @p_1298) :rule cong :premises (t161.t16.t17.t1)) (step t161.t16.t17.t3 (cl @p_1291) :rule refl) (step t161.t16.t17.t4 (cl @p_1299) :rule cong :premises (t161.t16.t17.t2 t161.t16.t17.t3)) (step t161.t16.t17.t5 (cl (! (= veriT_vr124 veriT_sk15) :named @p_1302)) :rule refl) (step t161.t16.t17.t6 (cl (! (= veriT_vr125 veriT_sk16) :named @p_1303)) :rule refl) (step t161.t16.t17.t7 (cl (! (= @p_1192 (! (pair$ veriT_sk15 veriT_sk16) :named @p_1207)) :named @p_1304)) :rule cong :premises (t161.t16.t17.t5 t161.t16.t17.t6)) (step t161.t16.t17.t8 (cl (= @p_1267 (! (is_res$ @p_1199 @p_1207) :named @p_1301))) :rule cong :premises (t161.t16.t17.t4 t161.t16.t17.t7)) (step t161.t16.t17.t9 (cl @p_1289) :rule refl) (step t161.t16.t17.t10 (cl @p_1293) :rule cong :premises (t161.t16.t17.t9)) (step t161.t16.t17.t11 (cl @p_1291) :rule refl) (step t161.t16.t17.t12 (cl @p_1294) :rule cong :premises (t161.t16.t17.t10 t161.t16.t17.t11)) (step t161.t16.t17.t13 (cl @p_1302) :rule refl) (step t161.t16.t17.t14 (cl @p_1303) :rule refl) (step t161.t16.t17.t15 (cl @p_1304) :rule cong :premises (t161.t16.t17.t13 t161.t16.t17.t14)) (step t161.t16.t17.t16 (cl (= @p_1271 (! (is_res$ @p_1206 @p_1207) :named @p_1305))) :rule cong :premises (t161.t16.t17.t12 t161.t16.t17.t15)) (step t161.t16.t17.t17 (cl (= @p_1272 (! (= @p_1301 @p_1305) :named @p_1297))) :rule cong :premises (t161.t16.t17.t8 t161.t16.t17.t16)) (step t161.t16.t17 (cl (= @p_1264 @p_1297)) :rule sko_forall) (step t161.t16.t18 (cl (= @p_1273 (! (and @p_1296 @p_1297) :named @p_1306))) :rule cong :premises (t161.t16.t16 t161.t16.t17)) (step t161.t16.t19 (cl (= @p_1254 (! (or @p_1198 @p_1306) :named @p_1287))) :rule cong :premises (t161.t16.t5 t161.t16.t18)) (step t161.t16 (cl (= @p_1283 @p_1287)) :rule sko_forall) (step t161.t17 (cl (! (= @p_1286 (! (=> @p_1287 @p_1284) :named @p_1308)) :named @p_1307)) :rule cong :premises (t161.t16)) (step t161.t18 (cl (not @p_1307) (not @p_1286) @p_1308) :rule equiv_pos2) (step t161.t19 (cl @p_1308) :rule th_resolution :premises (t161.t15 t161.t17 t161.t18)) (anchor :step t161.t20 :args ((:= (veriT_vr126 E$) veriT_vr128) (:= (veriT_vr127 D$) veriT_vr129))) (step t161.t20.t1 (cl (! (= veriT_vr126 veriT_vr128) :named @p_1311)) :rule refl) (step t161.t20.t2 (cl (! (= veriT_vr127 veriT_vr129) :named @p_1312)) :rule refl) (step t161.t20.t3 (cl (! (= @p_1274 (! (pair$a veriT_vr128 veriT_vr129) :named @p_1209)) :named @p_1313)) :rule cong :premises (t161.t20.t1 t161.t20.t2)) (step t161.t20.t4 (cl (= @p_1275 (! (is_res$a @p_714 @p_1209) :named @p_1310))) :rule cong :premises (t161.t20.t3)) (step t161.t20.t5 (cl @p_1311) :rule refl) (step t161.t20.t6 (cl @p_1312) :rule refl) (step t161.t20.t7 (cl @p_1313) :rule cong :premises (t161.t20.t5 t161.t20.t6)) (step t161.t20.t8 (cl (= @p_1279 (! (is_res$a @p_712 @p_1209) :named @p_1314))) :rule cong :premises (t161.t20.t7)) (step t161.t20.t9 (cl (= @p_1280 (! (= @p_1310 @p_1314) :named @p_1315))) :rule cong :premises (t161.t20.t4 t161.t20.t8)) (step t161.t20 (cl (= @p_1281 (! (forall ((veriT_vr128 E$) (veriT_vr129 D$)) @p_1315) :named @p_1309))) :rule bind) (step t161.t21 (cl (= @p_1282 (! (and @p_1208 @p_1309) :named @p_1316))) :rule cong :premises (t161.t20)) (step t161.t22 (cl (= @p_1284 (! (or @p_720 @p_1316) :named @p_1317))) :rule cong :premises (t161.t21)) (step t161.t23 (cl (! (= @p_1308 (! (=> @p_1287 @p_1317) :named @p_1318)) :named @p_1319)) :rule cong :premises (t161.t22)) (step t161.t24 (cl (not @p_1319) (not @p_1308) @p_1318) :rule equiv_pos2) (step t161.t25 (cl @p_1318) :rule th_resolution :premises (t161.t19 t161.t23 t161.t24)) (step t161 (cl @p_1252 @p_1318) :rule subproof :discharge (h1)) (step t162 (cl @p_1320 @p_1188) :rule or :premises (t160)) (step t163 (cl (! (or @p_1320 @p_1318) :named @p_1322) (! (not @p_1320) :named @p_1321)) :rule or_neg) (step t164 (cl (not @p_1321) @p_1018) :rule not_not) (step t165 (cl @p_1322 @p_1018) :rule th_resolution :premises (t164 t163)) (step t166 (cl @p_1322 (! (not @p_1318) :named @p_1336)) :rule or_neg) (step t167 (cl @p_1322) :rule th_resolution :premises (t162 t161 t165 t166)) (step t168 (cl @p_1159 @p_1323) :rule or :premises (t155)) (step t169 (cl @p_1323) :rule resolution :premises (t168 t125)) (step t170 (cl @p_1185) :rule resolution :premises (t150 t169)) (step t171 (cl @p_1168) :rule resolution :premises (t132 t170)) (step t172 (cl @p_1324 (! (not @p_842) :named @p_1676) (not @p_1325)) :rule and_neg) (step t173 (cl @p_1159 @p_1326) :rule or :premises (t156)) (step t174 (cl @p_1326) :rule resolution :premises (t173 t125)) (step t175 (cl @p_1327 (! (not @p_1328) :named @p_1669) (not @p_1329)) :rule and_neg) (step t176 (cl @p_1159 @p_1330) :rule or :premises (t157)) (step t177 (cl @p_1330) :rule resolution :premises (t176 t125)) (step t178 (cl @p_1331 (not @p_1332) (not @p_1333)) :rule and_neg) (step t179 (cl @p_1159 @p_1334) :rule or :premises (t158)) (step t180 (cl @p_1334) :rule resolution :premises (t179 t125)) (step t181 (cl @p_1287 (not @p_1198)) :rule or_neg) (step t182 (cl @p_1296 @p_1292 @p_1198) :rule equiv_neg2) (step t183 (cl @p_1306 (not @p_1296) (not @p_1297)) :rule and_neg) (step t184 (cl @p_1287 (not @p_1306)) :rule or_neg) (step t185 (cl (! (not @p_1208) :named @p_1337) (! (not @p_726) :named @p_1338) @p_720) :rule equiv_pos2) (step t186 (cl (! (not @p_1316) :named @p_1335) @p_1208) :rule and_pos) (step t187 (cl @p_1335 @p_1309) :rule and_pos) (step t188 (cl (! (not @p_1317) :named @p_1339) @p_720 @p_1316) :rule or_pos) (step t189 (cl @p_1336 (not @p_1287) @p_1317) :rule implies_pos) (step t190 (cl @p_1320 @p_1318) :rule or :premises (t167)) (step t191 (cl @p_1337 @p_1338) :rule resolution :premises (t185 t122)) (step t192 (cl @p_1339 @p_1316) :rule resolution :premises (t188 t122)) (step t193 (cl @p_1318) :rule resolution :premises (t190 t118)) (step t194 (cl @p_1187 @p_1340) :rule or :premises (t152)) (step t195 (cl (or (! (not @p_1340) :named @p_1341) (! (or @p_1198 (! (not @p_1292) :named @p_1346) @p_1198) :named @p_1342))) :rule forall_inst :args ((:= veriT_vr103 veriT_sk13) (:= veriT_vr104 veriT_sk14))) (step t196 (cl @p_1341 @p_1342) :rule or :premises (t195)) (step t197 (cl (! (or @p_1187 @p_1342) :named @p_1344) (! (not @p_1187) :named @p_1343)) :rule or_neg) (step t198 (cl (not @p_1343) @p_1155) :rule not_not) (step t199 (cl @p_1344 @p_1155) :rule th_resolution :premises (t198 t197)) (step t200 (cl @p_1344 (! (not @p_1342) :named @p_1345)) :rule or_neg) (step t201 (cl @p_1344) :rule th_resolution :premises (t194 t196 t199 t200)) (anchor :step t202) (assume t202.h1 @p_1342) (step t202.t2 (cl (! (= @p_1342 (! (or @p_1198 @p_1346) :named @p_1347)) :named @p_1348)) :rule ac_simp) (step t202.t3 (cl (not @p_1348) @p_1345 @p_1347) :rule equiv_pos2) (step t202.t4 (cl @p_1347) :rule th_resolution :premises (t202.h1 t202.t2 t202.t3)) (step t202 (cl @p_1345 @p_1347) :rule subproof :discharge (h1)) (step t203 (cl @p_1187 @p_1342) :rule or :premises (t201)) (step t204 (cl (! (or @p_1187 @p_1347) :named @p_1349) @p_1343) :rule or_neg) (step t205 (cl @p_1349 @p_1155) :rule th_resolution :premises (t198 t204)) (step t206 (cl @p_1349 (! (not @p_1347) :named @p_1350)) :rule or_neg) (step t207 (cl @p_1349) :rule th_resolution :premises (t203 t202 t205 t206)) (step t208 (cl @p_1350 @p_1198 @p_1346) :rule or_pos) (step t209 (cl @p_1187 @p_1347) :rule or :premises (t207)) (step t210 (cl @p_1347) :rule resolution :premises (t209 t120)) (step t211 (cl @p_1187 @p_1351) :rule or :premises (t153)) (step t212 (cl @p_1187 @p_1352) :rule or :premises (t154)) (step t213 (cl (or @p_1163 (! (not (! (and @p_1328 (! (is_res$b @p_1353 @p_747) :named @p_1670)) :named @p_1668)) :named @p_1671))) :rule forall_inst :args ((:= veriT_vr111 veriT_sk9) (:= veriT_vr112 veriT_sk10))) (step t214 (cl (or (! (not @p_1309) :named @p_1354) (! (= @p_822 @p_1328) :named @p_1672))) :rule forall_inst :args ((:= veriT_vr128 veriT_sk9) (:= veriT_vr129 veriT_sk10))) (step t215 (cl (or @p_1354 (! (= @p_784 @p_1332) :named @p_1673))) :rule forall_inst :args ((:= veriT_vr128 veriT_sk3) (:= veriT_vr129 veriT_sk4))) (step t216 (cl (or @p_1354 (! (= (! (is_res$a @p_714 @p_841) :named @p_1675) @p_842) :named @p_1674))) :rule forall_inst :args ((:= veriT_vr128 veriT_sk11) (:= veriT_vr129 veriT_sk12))) (step t217 (cl (or @p_1187 (! (or @p_1198 (! (and @p_1296 (! (forall ((veriT_vr105 B$) (veriT_vr106 C$)) (! (= (! (is_res$ @p_1199 @p_1087) :named @p_1359) (! (is_res$ @p_1206 @p_1087) :named @p_1364)) :named @p_1366)) :named @p_1357)) :named @p_1368)) :named @p_1355))) :rule forall_inst :args ((:= veriT_vr103 veriT_sk13) (:= veriT_vr104 veriT_sk14))) (anchor :step t218) (assume t218.h1 @p_1355) (anchor :step t218.t2 :args ((:= (veriT_vr105 B$) veriT_vr148) (:= (veriT_vr106 C$) veriT_vr149))) (step t218.t2.t1 (cl (! (= veriT_vr105 veriT_vr148) :named @p_1361)) :rule refl) (step t218.t2.t2 (cl (! (= veriT_vr106 veriT_vr149) :named @p_1362)) :rule refl) (step t218.t2.t3 (cl (! (= @p_1087 (! (pair$ veriT_vr148 veriT_vr149) :named @p_1358)) :named @p_1363)) :rule cong :premises (t218.t2.t1 t218.t2.t2)) (step t218.t2.t4 (cl (= @p_1359 (! (is_res$ @p_1199 @p_1358) :named @p_1360))) :rule cong :premises (t218.t2.t3)) (step t218.t2.t5 (cl @p_1361) :rule refl) (step t218.t2.t6 (cl @p_1362) :rule refl) (step t218.t2.t7 (cl @p_1363) :rule cong :premises (t218.t2.t5 t218.t2.t6)) (step t218.t2.t8 (cl (= @p_1364 (! (is_res$ @p_1206 @p_1358) :named @p_1365))) :rule cong :premises (t218.t2.t7)) (step t218.t2.t9 (cl (= @p_1366 (! (= @p_1360 @p_1365) :named @p_1367))) :rule cong :premises (t218.t2.t4 t218.t2.t8)) (step t218.t2 (cl (= @p_1357 (! (forall ((veriT_vr148 B$) (veriT_vr149 C$)) @p_1367) :named @p_1369))) :rule bind) (step t218.t3 (cl (= @p_1368 (! (and @p_1296 @p_1369) :named @p_1370))) :rule cong :premises (t218.t2)) (step t218.t4 (cl (! (= @p_1355 (! (or @p_1198 @p_1370) :named @p_1373)) :named @p_1371)) :rule cong :premises (t218.t3)) (step t218.t5 (cl (not @p_1371) (! (not @p_1355) :named @p_1372) @p_1373) :rule equiv_pos2) (step t218.t6 (cl @p_1373) :rule th_resolution :premises (t218.h1 t218.t4 t218.t5)) (anchor :step t218.t7 :args ((:= (veriT_vr148 B$) veriT_vr150) (:= (veriT_vr149 C$) veriT_vr151))) (step t218.t7.t1 (cl (! (= veriT_vr148 veriT_vr150) :named @p_1376)) :rule refl) (step t218.t7.t2 (cl (! (= veriT_vr149 veriT_vr151) :named @p_1377)) :rule refl) (step t218.t7.t3 (cl (! (= @p_1358 (! (pair$ veriT_vr150 veriT_vr151) :named @p_1356)) :named @p_1378)) :rule cong :premises (t218.t7.t1 t218.t7.t2)) (step t218.t7.t4 (cl (= @p_1360 (! (is_res$ @p_1199 @p_1356) :named @p_1375))) :rule cong :premises (t218.t7.t3)) (step t218.t7.t5 (cl @p_1376) :rule refl) (step t218.t7.t6 (cl @p_1377) :rule refl) (step t218.t7.t7 (cl @p_1378) :rule cong :premises (t218.t7.t5 t218.t7.t6)) (step t218.t7.t8 (cl (= @p_1365 (! (is_res$ @p_1206 @p_1356) :named @p_1379))) :rule cong :premises (t218.t7.t7)) (step t218.t7.t9 (cl (= @p_1367 (! (= @p_1375 @p_1379) :named @p_1380))) :rule cong :premises (t218.t7.t4 t218.t7.t8)) (step t218.t7 (cl (= @p_1369 (! (forall ((veriT_vr150 B$) (veriT_vr151 C$)) @p_1380) :named @p_1374))) :rule bind) (step t218.t8 (cl (= @p_1370 (! (and @p_1296 @p_1374) :named @p_1381))) :rule cong :premises (t218.t7)) (step t218.t9 (cl (! (= @p_1373 (! (or @p_1198 @p_1381) :named @p_1382)) :named @p_1383)) :rule cong :premises (t218.t8)) (step t218.t10 (cl (not @p_1383) (not @p_1373) @p_1382) :rule equiv_pos2) (step t218.t11 (cl @p_1382) :rule th_resolution :premises (t218.t6 t218.t9 t218.t10)) (step t218 (cl @p_1372 @p_1382) :rule subproof :discharge (h1)) (step t219 (cl @p_1187 @p_1355) :rule or :premises (t217)) (step t220 (cl (! (or @p_1187 @p_1382) :named @p_1384) @p_1343) :rule or_neg) (step t221 (cl @p_1384 @p_1155) :rule th_resolution :premises (t198 t220)) (step t222 (cl @p_1384 (! (not @p_1382) :named @p_1677)) :rule or_neg) (step t223 (cl @p_1384) :rule th_resolution :premises (t219 t218 t221 t222)) (step t224 (cl (or @p_1385 (! (=> (! (forall ((veriT_vr97 A$) (veriT_vr98 C$)) (! (or (! (is_fail$ (! (run$ (! (fun_app$ veriT_sk0 veriT_vr97) :named @p_1417) veriT_vr98) :named @p_1388)) :named @p_1386) (! (and (! (= (! (is_fail$ (! (run$ (! (fun_app$ veriT_sk1 veriT_vr97) :named @p_1420) veriT_vr98) :named @p_1387)) :named @p_1423) @p_1386) :named @p_1428) (! (forall ((veriT_vr99 B$) (veriT_vr100 C$)) (! (= (! (is_res$ @p_1387 @p_1035) :named @p_1434) (! (is_res$ @p_1388 @p_1035) :named @p_1439)) :named @p_1441)) :named @p_1430)) :named @p_1443)) :named @p_1445)) :named @p_1412) (! (or @p_1333 (! (and (! (= @p_789 @p_1333) :named @p_1410) (! (forall ((veriT_vr93 F$) (veriT_vr102 D$)) (! (= (! (is_res$b @p_788 @p_1039) :named @p_1449) (! (is_res$b @p_1389 @p_1039) :named @p_1454)) :named @p_1456)) :named @p_1447)) :named @p_1458)) :named @p_1460)) :named @p_1390))) :rule forall_inst :args ((:= veriT_vr94 veriT_sk3) (:= veriT_vr95 veriT_sk0) (:= veriT_vr96 veriT_sk1) (:= veriT_vr101 veriT_sk4))) (anchor :step t225) (assume t225.h1 @p_1390) (anchor :step t225.t2 :args ((:= (veriT_vr97 A$) veriT_vr165) (:= (veriT_vr98 C$) veriT_vr166))) (step t225.t2.t1 (cl (! (= veriT_vr97 veriT_vr165) :named @p_1419)) :rule refl) (step t225.t2.t2 (cl (! (= @p_1417 (! (fun_app$ veriT_sk0 veriT_vr165) :named @p_1418)) :named @p_1425)) :rule cong :premises (t225.t2.t1)) (step t225.t2.t3 (cl (! (= veriT_vr98 veriT_vr166) :named @p_1422)) :rule refl) (step t225.t2.t4 (cl (! (= @p_1388 (! (run$ @p_1418 veriT_vr166) :named @p_1415)) :named @p_1426)) :rule cong :premises (t225.t2.t2 t225.t2.t3)) (step t225.t2.t5 (cl (! (= @p_1386 (! (is_fail$ @p_1415) :named @p_1413)) :named @p_1427)) :rule cong :premises (t225.t2.t4)) (step t225.t2.t6 (cl @p_1419) :rule refl) (step t225.t2.t7 (cl (! (= @p_1420 (! (fun_app$ veriT_sk1 veriT_vr165) :named @p_1421)) :named @p_1432)) :rule cong :premises (t225.t2.t6)) (step t225.t2.t8 (cl @p_1422) :rule refl) (step t225.t2.t9 (cl (! (= @p_1387 (! (run$ @p_1421 veriT_vr166) :named @p_1414)) :named @p_1433)) :rule cong :premises (t225.t2.t7 t225.t2.t8)) (step t225.t2.t10 (cl (= @p_1423 (! (is_fail$ @p_1414) :named @p_1424))) :rule cong :premises (t225.t2.t9)) (step t225.t2.t11 (cl @p_1419) :rule refl) (step t225.t2.t12 (cl @p_1425) :rule cong :premises (t225.t2.t11)) (step t225.t2.t13 (cl @p_1422) :rule refl) (step t225.t2.t14 (cl @p_1426) :rule cong :premises (t225.t2.t12 t225.t2.t13)) (step t225.t2.t15 (cl @p_1427) :rule cong :premises (t225.t2.t14)) (step t225.t2.t16 (cl (= @p_1428 (! (= @p_1424 @p_1413) :named @p_1429))) :rule cong :premises (t225.t2.t10 t225.t2.t15)) (anchor :step t225.t2.t17 :args ((:= (veriT_vr99 B$) veriT_vr167) (:= (veriT_vr100 C$) veriT_vr168))) (step t225.t2.t17.t1 (cl @p_1419) :rule refl) (step t225.t2.t17.t2 (cl @p_1432) :rule cong :premises (t225.t2.t17.t1)) (step t225.t2.t17.t3 (cl @p_1422) :rule refl) (step t225.t2.t17.t4 (cl @p_1433) :rule cong :premises (t225.t2.t17.t2 t225.t2.t17.t3)) (step t225.t2.t17.t5 (cl (! (= veriT_vr99 veriT_vr167) :named @p_1436)) :rule refl) (step t225.t2.t17.t6 (cl (! (= veriT_vr100 veriT_vr168) :named @p_1437)) :rule refl) (step t225.t2.t17.t7 (cl (! (= @p_1035 (! (pair$ veriT_vr167 veriT_vr168) :named @p_1416)) :named @p_1438)) :rule cong :premises (t225.t2.t17.t5 t225.t2.t17.t6)) (step t225.t2.t17.t8 (cl (= @p_1434 (! (is_res$ @p_1414 @p_1416) :named @p_1435))) :rule cong :premises (t225.t2.t17.t4 t225.t2.t17.t7)) (step t225.t2.t17.t9 (cl @p_1419) :rule refl) (step t225.t2.t17.t10 (cl @p_1425) :rule cong :premises (t225.t2.t17.t9)) (step t225.t2.t17.t11 (cl @p_1422) :rule refl) (step t225.t2.t17.t12 (cl @p_1426) :rule cong :premises (t225.t2.t17.t10 t225.t2.t17.t11)) (step t225.t2.t17.t13 (cl @p_1436) :rule refl) (step t225.t2.t17.t14 (cl @p_1437) :rule refl) (step t225.t2.t17.t15 (cl @p_1438) :rule cong :premises (t225.t2.t17.t13 t225.t2.t17.t14)) (step t225.t2.t17.t16 (cl (= @p_1439 (! (is_res$ @p_1415 @p_1416) :named @p_1440))) :rule cong :premises (t225.t2.t17.t12 t225.t2.t17.t15)) (step t225.t2.t17.t17 (cl (= @p_1441 (! (= @p_1435 @p_1440) :named @p_1442))) :rule cong :premises (t225.t2.t17.t8 t225.t2.t17.t16)) (step t225.t2.t17 (cl (= @p_1430 (! (forall ((veriT_vr167 B$) (veriT_vr168 C$)) @p_1442) :named @p_1431))) :rule bind) (step t225.t2.t18 (cl (= @p_1443 (! (and @p_1429 @p_1431) :named @p_1444))) :rule cong :premises (t225.t2.t16 t225.t2.t17)) (step t225.t2.t19 (cl (= @p_1445 (! (or @p_1413 @p_1444) :named @p_1446))) :rule cong :premises (t225.t2.t5 t225.t2.t18)) (step t225.t2 (cl (= @p_1412 (! (forall ((veriT_vr165 A$) (veriT_vr166 C$)) @p_1446) :named @p_1462))) :rule bind) (anchor :step t225.t3 :args ((:= (veriT_vr93 F$) veriT_vr169) (:= (veriT_vr102 D$) veriT_vr170))) (step t225.t3.t1 (cl (! (= veriT_vr93 veriT_vr169) :named @p_1451)) :rule refl) (step t225.t3.t2 (cl (! (= veriT_vr102 veriT_vr170) :named @p_1452)) :rule refl) (step t225.t3.t3 (cl (! (= @p_1039 (! (pair$b veriT_vr169 veriT_vr170) :named @p_1448)) :named @p_1453)) :rule cong :premises (t225.t3.t1 t225.t3.t2)) (step t225.t3.t4 (cl (= @p_1449 (! (is_res$b @p_788 @p_1448) :named @p_1450))) :rule cong :premises (t225.t3.t3)) (step t225.t3.t5 (cl @p_1451) :rule refl) (step t225.t3.t6 (cl @p_1452) :rule refl) (step t225.t3.t7 (cl @p_1453) :rule cong :premises (t225.t3.t5 t225.t3.t6)) (step t225.t3.t8 (cl (= @p_1454 (! (is_res$b @p_1389 @p_1448) :named @p_1455))) :rule cong :premises (t225.t3.t7)) (step t225.t3.t9 (cl (= @p_1456 (! (= @p_1450 @p_1455) :named @p_1457))) :rule cong :premises (t225.t3.t4 t225.t3.t8)) (step t225.t3 (cl (= @p_1447 (! (forall ((veriT_vr169 F$) (veriT_vr170 D$)) @p_1457) :named @p_1459))) :rule bind) (step t225.t4 (cl (= @p_1458 (! (and @p_1410 @p_1459) :named @p_1461))) :rule cong :premises (t225.t3)) (step t225.t5 (cl (= @p_1460 (! (or @p_1333 @p_1461) :named @p_1463))) :rule cong :premises (t225.t4)) (step t225.t6 (cl (! (= @p_1390 (! (=> @p_1462 @p_1463) :named @p_1466)) :named @p_1464)) :rule cong :premises (t225.t2 t225.t5)) (step t225.t7 (cl (not @p_1464) (! (not @p_1390) :named @p_1465) @p_1466) :rule equiv_pos2) (step t225.t8 (cl @p_1466) :rule th_resolution :premises (t225.h1 t225.t6 t225.t7)) (anchor :step t225.t9 :args ((:= (veriT_vr165 A$) veriT_vr171) (:= (veriT_vr166 C$) veriT_vr172))) (step t225.t9.t1 (cl (! (= veriT_vr165 veriT_vr171) :named @p_1469)) :rule refl) (step t225.t9.t2 (cl (! (= @p_1418 @p_1468) :named @p_1473)) :rule cong :premises (t225.t9.t1)) (step t225.t9.t3 (cl (! (= veriT_vr166 veriT_vr172) :named @p_1471)) :rule refl) (step t225.t9.t4 (cl (! (= @p_1415 @p_1393) :named @p_1474)) :rule cong :premises (t225.t9.t2 t225.t9.t3)) (step t225.t9.t5 (cl (! (= @p_1413 @p_1391) :named @p_1475)) :rule cong :premises (t225.t9.t4)) (step t225.t9.t6 (cl @p_1469) :rule refl) (step t225.t9.t7 (cl (! (= @p_1421 @p_1470) :named @p_1478)) :rule cong :premises (t225.t9.t6)) (step t225.t9.t8 (cl @p_1471) :rule refl) (step t225.t9.t9 (cl (! (= @p_1414 @p_1392) :named @p_1479)) :rule cong :premises (t225.t9.t7 t225.t9.t8)) (step t225.t9.t10 (cl (= @p_1424 @p_1472)) :rule cong :premises (t225.t9.t9)) (step t225.t9.t11 (cl @p_1469) :rule refl) (step t225.t9.t12 (cl @p_1473) :rule cong :premises (t225.t9.t11)) (step t225.t9.t13 (cl @p_1471) :rule refl) (step t225.t9.t14 (cl @p_1474) :rule cong :premises (t225.t9.t12 t225.t9.t13)) (step t225.t9.t15 (cl @p_1475) :rule cong :premises (t225.t9.t14)) (step t225.t9.t16 (cl (= @p_1429 @p_1476)) :rule cong :premises (t225.t9.t10 t225.t9.t15)) (anchor :step t225.t9.t17 :args ((:= (veriT_vr167 B$) veriT_vr173) (:= (veriT_vr168 C$) veriT_vr174))) (step t225.t9.t17.t1 (cl @p_1469) :rule refl) (step t225.t9.t17.t2 (cl @p_1478) :rule cong :premises (t225.t9.t17.t1)) (step t225.t9.t17.t3 (cl @p_1471) :rule refl) (step t225.t9.t17.t4 (cl @p_1479) :rule cong :premises (t225.t9.t17.t2 t225.t9.t17.t3)) (step t225.t9.t17.t5 (cl (! (= veriT_vr167 veriT_vr173) :named @p_1481)) :rule refl) (step t225.t9.t17.t6 (cl (! (= veriT_vr168 veriT_vr174) :named @p_1482)) :rule refl) (step t225.t9.t17.t7 (cl (! (= @p_1416 @p_1394) :named @p_1483)) :rule cong :premises (t225.t9.t17.t5 t225.t9.t17.t6)) (step t225.t9.t17.t8 (cl (= @p_1435 @p_1480)) :rule cong :premises (t225.t9.t17.t4 t225.t9.t17.t7)) (step t225.t9.t17.t9 (cl @p_1469) :rule refl) (step t225.t9.t17.t10 (cl @p_1473) :rule cong :premises (t225.t9.t17.t9)) (step t225.t9.t17.t11 (cl @p_1471) :rule refl) (step t225.t9.t17.t12 (cl @p_1474) :rule cong :premises (t225.t9.t17.t10 t225.t9.t17.t11)) (step t225.t9.t17.t13 (cl @p_1481) :rule refl) (step t225.t9.t17.t14 (cl @p_1482) :rule refl) (step t225.t9.t17.t15 (cl @p_1483) :rule cong :premises (t225.t9.t17.t13 t225.t9.t17.t14)) (step t225.t9.t17.t16 (cl (= @p_1440 @p_1484)) :rule cong :premises (t225.t9.t17.t12 t225.t9.t17.t15)) (step t225.t9.t17.t17 (cl (= @p_1442 @p_1485)) :rule cong :premises (t225.t9.t17.t8 t225.t9.t17.t16)) (step t225.t9.t17 (cl (= @p_1431 @p_1477)) :rule bind) (step t225.t9.t18 (cl (= @p_1444 @p_1486)) :rule cong :premises (t225.t9.t16 t225.t9.t17)) (step t225.t9.t19 (cl (= @p_1446 @p_1467)) :rule cong :premises (t225.t9.t5 t225.t9.t18)) (step t225.t9 (cl (= @p_1462 (! (forall ((veriT_vr171 A$) (veriT_vr172 C$)) @p_1467) :named @p_1496))) :rule bind) (anchor :step t225.t10 :args ((:= (veriT_vr169 F$) veriT_vr175) (:= (veriT_vr170 D$) veriT_vr176))) (step t225.t10.t1 (cl (! (= veriT_vr169 veriT_vr175) :named @p_1489)) :rule refl) (step t225.t10.t2 (cl (! (= veriT_vr170 veriT_vr176) :named @p_1490)) :rule refl) (step t225.t10.t3 (cl (! (= @p_1448 (! (pair$b veriT_vr175 veriT_vr176) :named @p_1487)) :named @p_1491)) :rule cong :premises (t225.t10.t1 t225.t10.t2)) (step t225.t10.t4 (cl (= @p_1450 (! (is_res$b @p_788 @p_1487) :named @p_1488))) :rule cong :premises (t225.t10.t3)) (step t225.t10.t5 (cl @p_1489) :rule refl) (step t225.t10.t6 (cl @p_1490) :rule refl) (step t225.t10.t7 (cl @p_1491) :rule cong :premises (t225.t10.t5 t225.t10.t6)) (step t225.t10.t8 (cl (= @p_1455 (! (is_res$b @p_1389 @p_1487) :named @p_1492))) :rule cong :premises (t225.t10.t7)) (step t225.t10.t9 (cl (= @p_1457 (! (= @p_1488 @p_1492) :named @p_1493))) :rule cong :premises (t225.t10.t4 t225.t10.t8)) (step t225.t10 (cl (= @p_1459 (! (forall ((veriT_vr175 F$) (veriT_vr176 D$)) @p_1493) :named @p_1494))) :rule bind) (step t225.t11 (cl (= @p_1461 (! (and @p_1410 @p_1494) :named @p_1495))) :rule cong :premises (t225.t10)) (step t225.t12 (cl (= @p_1463 (! (or @p_1333 @p_1495) :named @p_1497))) :rule cong :premises (t225.t11)) (step t225.t13 (cl (! (= @p_1466 (! (=> @p_1496 @p_1497) :named @p_1499)) :named @p_1498)) :rule cong :premises (t225.t9 t225.t12)) (step t225.t14 (cl (not @p_1498) (not @p_1466) @p_1499) :rule equiv_pos2) (step t225.t15 (cl @p_1499) :rule th_resolution :premises (t225.t8 t225.t13 t225.t14)) (anchor :step t225.t16 :args ((:= (veriT_vr171 A$) veriT_sk25) (:= (veriT_vr172 C$) veriT_sk26))) (step t225.t16.t1 (cl (! (= veriT_vr171 veriT_sk25) :named @p_1502)) :rule refl) (step t225.t16.t2 (cl (! (= @p_1468 (! (fun_app$ veriT_sk0 veriT_sk25) :named @p_1501)) :named @p_1506)) :rule cong :premises (t225.t16.t1)) (step t225.t16.t3 (cl (! (= veriT_vr172 veriT_sk26) :named @p_1504)) :rule refl) (step t225.t16.t4 (cl (! (= @p_1393 (! (run$ @p_1501 veriT_sk26) :named @p_1408)) :named @p_1507)) :rule cong :premises (t225.t16.t2 t225.t16.t3)) (step t225.t16.t5 (cl (! (= @p_1391 (! (is_fail$ @p_1408) :named @p_1400)) :named @p_1508)) :rule cong :premises (t225.t16.t4)) (step t225.t16.t6 (cl @p_1502) :rule refl) (step t225.t16.t7 (cl (! (= @p_1470 (! (fun_app$ veriT_sk1 veriT_sk25) :named @p_1503)) :named @p_1511)) :rule cong :premises (t225.t16.t6)) (step t225.t16.t8 (cl @p_1504) :rule refl) (step t225.t16.t9 (cl (! (= @p_1392 (! (run$ @p_1503 veriT_sk26) :named @p_1401)) :named @p_1512)) :rule cong :premises (t225.t16.t7 t225.t16.t8)) (step t225.t16.t10 (cl (= @p_1472 (! (is_fail$ @p_1401) :named @p_1505))) :rule cong :premises (t225.t16.t9)) (step t225.t16.t11 (cl @p_1502) :rule refl) (step t225.t16.t12 (cl @p_1506) :rule cong :premises (t225.t16.t11)) (step t225.t16.t13 (cl @p_1504) :rule refl) (step t225.t16.t14 (cl @p_1507) :rule cong :premises (t225.t16.t12 t225.t16.t13)) (step t225.t16.t15 (cl @p_1508) :rule cong :premises (t225.t16.t14)) (step t225.t16.t16 (cl (= @p_1476 (! (= @p_1505 @p_1400) :named @p_1509))) :rule cong :premises (t225.t16.t10 t225.t16.t15)) (anchor :step t225.t16.t17 :args ((:= (veriT_vr173 B$) veriT_sk27) (:= (veriT_vr174 C$) veriT_sk28))) (step t225.t16.t17.t1 (cl @p_1502) :rule refl) (step t225.t16.t17.t2 (cl @p_1511) :rule cong :premises (t225.t16.t17.t1)) (step t225.t16.t17.t3 (cl @p_1504) :rule refl) (step t225.t16.t17.t4 (cl @p_1512) :rule cong :premises (t225.t16.t17.t2 t225.t16.t17.t3)) (step t225.t16.t17.t5 (cl (! (= veriT_vr173 veriT_sk27) :named @p_1515)) :rule refl) (step t225.t16.t17.t6 (cl (! (= veriT_vr174 veriT_sk28) :named @p_1516)) :rule refl) (step t225.t16.t17.t7 (cl (! (= @p_1394 (! (pair$ veriT_sk27 veriT_sk28) :named @p_1409)) :named @p_1517)) :rule cong :premises (t225.t16.t17.t5 t225.t16.t17.t6)) (step t225.t16.t17.t8 (cl (= @p_1480 (! (is_res$ @p_1401 @p_1409) :named @p_1514))) :rule cong :premises (t225.t16.t17.t4 t225.t16.t17.t7)) (step t225.t16.t17.t9 (cl @p_1502) :rule refl) (step t225.t16.t17.t10 (cl @p_1506) :rule cong :premises (t225.t16.t17.t9)) (step t225.t16.t17.t11 (cl @p_1504) :rule refl) (step t225.t16.t17.t12 (cl @p_1507) :rule cong :premises (t225.t16.t17.t10 t225.t16.t17.t11)) (step t225.t16.t17.t13 (cl @p_1515) :rule refl) (step t225.t16.t17.t14 (cl @p_1516) :rule refl) (step t225.t16.t17.t15 (cl @p_1517) :rule cong :premises (t225.t16.t17.t13 t225.t16.t17.t14)) (step t225.t16.t17.t16 (cl (= @p_1484 (! (is_res$ @p_1408 @p_1409) :named @p_1518))) :rule cong :premises (t225.t16.t17.t12 t225.t16.t17.t15)) (step t225.t16.t17.t17 (cl (= @p_1485 (! (= @p_1514 @p_1518) :named @p_1510))) :rule cong :premises (t225.t16.t17.t8 t225.t16.t17.t16)) (step t225.t16.t17 (cl (= @p_1477 @p_1510)) :rule sko_forall) (step t225.t16.t18 (cl (= @p_1486 (! (and @p_1509 @p_1510) :named @p_1519))) :rule cong :premises (t225.t16.t16 t225.t16.t17)) (step t225.t16.t19 (cl (= @p_1467 (! (or @p_1400 @p_1519) :named @p_1500))) :rule cong :premises (t225.t16.t5 t225.t16.t18)) (step t225.t16 (cl (= @p_1496 @p_1500)) :rule sko_forall) (step t225.t17 (cl (! (= @p_1499 (! (=> @p_1500 @p_1497) :named @p_1521)) :named @p_1520)) :rule cong :premises (t225.t16)) (step t225.t18 (cl (not @p_1520) (not @p_1499) @p_1521) :rule equiv_pos2) (step t225.t19 (cl @p_1521) :rule th_resolution :premises (t225.t15 t225.t17 t225.t18)) (anchor :step t225.t20 :args ((:= (veriT_vr175 F$) veriT_vr177) (:= (veriT_vr176 D$) veriT_vr178))) (step t225.t20.t1 (cl (! (= veriT_vr175 veriT_vr177) :named @p_1524)) :rule refl) (step t225.t20.t2 (cl (! (= veriT_vr176 veriT_vr178) :named @p_1525)) :rule refl) (step t225.t20.t3 (cl (! (= @p_1487 (! (pair$b veriT_vr177 veriT_vr178) :named @p_1411)) :named @p_1526)) :rule cong :premises (t225.t20.t1 t225.t20.t2)) (step t225.t20.t4 (cl (= @p_1488 (! (is_res$b @p_788 @p_1411) :named @p_1523))) :rule cong :premises (t225.t20.t3)) (step t225.t20.t5 (cl @p_1524) :rule refl) (step t225.t20.t6 (cl @p_1525) :rule refl) (step t225.t20.t7 (cl @p_1526) :rule cong :premises (t225.t20.t5 t225.t20.t6)) (step t225.t20.t8 (cl (= @p_1492 (! (is_res$b @p_1389 @p_1411) :named @p_1527))) :rule cong :premises (t225.t20.t7)) (step t225.t20.t9 (cl (= @p_1493 (! (= @p_1523 @p_1527) :named @p_1528))) :rule cong :premises (t225.t20.t4 t225.t20.t8)) (step t225.t20 (cl (= @p_1494 (! (forall ((veriT_vr177 F$) (veriT_vr178 D$)) @p_1528) :named @p_1522))) :rule bind) (step t225.t21 (cl (= @p_1495 (! (and @p_1410 @p_1522) :named @p_1529))) :rule cong :premises (t225.t20)) (step t225.t22 (cl (= @p_1497 (! (or @p_1333 @p_1529) :named @p_1530))) :rule cong :premises (t225.t21)) (step t225.t23 (cl (! (= @p_1521 (! (=> @p_1500 @p_1530) :named @p_1531)) :named @p_1532)) :rule cong :premises (t225.t22)) (step t225.t24 (cl (not @p_1532) (not @p_1521) @p_1531) :rule equiv_pos2) (step t225.t25 (cl @p_1531) :rule th_resolution :premises (t225.t19 t225.t23 t225.t24)) (step t225 (cl @p_1465 @p_1531) :rule subproof :discharge (h1)) (step t226 (cl @p_1385 @p_1390) :rule or :premises (t224)) (step t227 (cl (! (or @p_1385 @p_1531) :named @p_1534) @p_1533) :rule or_neg) (step t228 (cl @p_1534 @p_1154) :rule th_resolution :premises (t159 t227)) (step t229 (cl @p_1534 (! (not @p_1531) :named @p_1678)) :rule or_neg) (step t230 (cl @p_1534) :rule th_resolution :premises (t226 t225 t228 t229)) (step t231 (cl (or @p_1385 (! (=> @p_1412 (! (or @p_1329 (! (and (! (= (is_fail$b @p_826) @p_1329) :named @p_1555) (! (forall ((veriT_vr93 F$) (veriT_vr102 D$)) (! (= (! (is_res$b @p_826 @p_1039) :named @p_1583) (! (is_res$b @p_1353 @p_1039) :named @p_1588)) :named @p_1590)) :named @p_1581)) :named @p_1592)) :named @p_1594)) :named @p_1535))) :rule forall_inst :args ((:= veriT_vr94 veriT_sk9) (:= veriT_vr95 veriT_sk0) (:= veriT_vr96 veriT_sk1) (:= veriT_vr101 veriT_sk10))) (anchor :step t232) (assume t232.h1 @p_1535) (anchor :step t232.t2 :args ((:= (veriT_vr97 A$) veriT_vr179) (:= (veriT_vr98 C$) veriT_vr180))) (step t232.t2.t1 (cl (! (= veriT_vr97 veriT_vr179) :named @p_1562)) :rule refl) (step t232.t2.t2 (cl (! (= @p_1417 (! (fun_app$ veriT_sk0 veriT_vr179) :named @p_1561)) :named @p_1566)) :rule cong :premises (t232.t2.t1)) (step t232.t2.t3 (cl (! (= veriT_vr98 veriT_vr180) :named @p_1564)) :rule refl) (step t232.t2.t4 (cl (! (= @p_1388 (! (run$ @p_1561 veriT_vr180) :named @p_1559)) :named @p_1567)) :rule cong :premises (t232.t2.t2 t232.t2.t3)) (step t232.t2.t5 (cl (! (= @p_1386 (! (is_fail$ @p_1559) :named @p_1557)) :named @p_1568)) :rule cong :premises (t232.t2.t4)) (step t232.t2.t6 (cl @p_1562) :rule refl) (step t232.t2.t7 (cl (! (= @p_1420 (! (fun_app$ veriT_sk1 veriT_vr179) :named @p_1563)) :named @p_1571)) :rule cong :premises (t232.t2.t6)) (step t232.t2.t8 (cl @p_1564) :rule refl) (step t232.t2.t9 (cl (! (= @p_1387 (! (run$ @p_1563 veriT_vr180) :named @p_1558)) :named @p_1572)) :rule cong :premises (t232.t2.t7 t232.t2.t8)) (step t232.t2.t10 (cl (= @p_1423 (! (is_fail$ @p_1558) :named @p_1565))) :rule cong :premises (t232.t2.t9)) (step t232.t2.t11 (cl @p_1562) :rule refl) (step t232.t2.t12 (cl @p_1566) :rule cong :premises (t232.t2.t11)) (step t232.t2.t13 (cl @p_1564) :rule refl) (step t232.t2.t14 (cl @p_1567) :rule cong :premises (t232.t2.t12 t232.t2.t13)) (step t232.t2.t15 (cl @p_1568) :rule cong :premises (t232.t2.t14)) (step t232.t2.t16 (cl (= @p_1428 (! (= @p_1565 @p_1557) :named @p_1569))) :rule cong :premises (t232.t2.t10 t232.t2.t15)) (anchor :step t232.t2.t17 :args ((:= (veriT_vr99 B$) veriT_vr181) (:= (veriT_vr100 C$) veriT_vr182))) (step t232.t2.t17.t1 (cl @p_1562) :rule refl) (step t232.t2.t17.t2 (cl @p_1571) :rule cong :premises (t232.t2.t17.t1)) (step t232.t2.t17.t3 (cl @p_1564) :rule refl) (step t232.t2.t17.t4 (cl @p_1572) :rule cong :premises (t232.t2.t17.t2 t232.t2.t17.t3)) (step t232.t2.t17.t5 (cl (! (= veriT_vr99 veriT_vr181) :named @p_1574)) :rule refl) (step t232.t2.t17.t6 (cl (! (= veriT_vr100 veriT_vr182) :named @p_1575)) :rule refl) (step t232.t2.t17.t7 (cl (! (= @p_1035 (! (pair$ veriT_vr181 veriT_vr182) :named @p_1560)) :named @p_1576)) :rule cong :premises (t232.t2.t17.t5 t232.t2.t17.t6)) (step t232.t2.t17.t8 (cl (= @p_1434 (! (is_res$ @p_1558 @p_1560) :named @p_1573))) :rule cong :premises (t232.t2.t17.t4 t232.t2.t17.t7)) (step t232.t2.t17.t9 (cl @p_1562) :rule refl) (step t232.t2.t17.t10 (cl @p_1566) :rule cong :premises (t232.t2.t17.t9)) (step t232.t2.t17.t11 (cl @p_1564) :rule refl) (step t232.t2.t17.t12 (cl @p_1567) :rule cong :premises (t232.t2.t17.t10 t232.t2.t17.t11)) (step t232.t2.t17.t13 (cl @p_1574) :rule refl) (step t232.t2.t17.t14 (cl @p_1575) :rule refl) (step t232.t2.t17.t15 (cl @p_1576) :rule cong :premises (t232.t2.t17.t13 t232.t2.t17.t14)) (step t232.t2.t17.t16 (cl (= @p_1439 (! (is_res$ @p_1559 @p_1560) :named @p_1577))) :rule cong :premises (t232.t2.t17.t12 t232.t2.t17.t15)) (step t232.t2.t17.t17 (cl (= @p_1441 (! (= @p_1573 @p_1577) :named @p_1578))) :rule cong :premises (t232.t2.t17.t8 t232.t2.t17.t16)) (step t232.t2.t17 (cl (= @p_1430 (! (forall ((veriT_vr181 B$) (veriT_vr182 C$)) @p_1578) :named @p_1570))) :rule bind) (step t232.t2.t18 (cl (= @p_1443 (! (and @p_1569 @p_1570) :named @p_1579))) :rule cong :premises (t232.t2.t16 t232.t2.t17)) (step t232.t2.t19 (cl (= @p_1445 (! (or @p_1557 @p_1579) :named @p_1580))) :rule cong :premises (t232.t2.t5 t232.t2.t18)) (step t232.t2 (cl (= @p_1412 (! (forall ((veriT_vr179 A$) (veriT_vr180 C$)) @p_1580) :named @p_1596))) :rule bind) (anchor :step t232.t3 :args ((:= (veriT_vr93 F$) veriT_vr183) (:= (veriT_vr102 D$) veriT_vr184))) (step t232.t3.t1 (cl (! (= veriT_vr93 veriT_vr183) :named @p_1585)) :rule refl) (step t232.t3.t2 (cl (! (= veriT_vr102 veriT_vr184) :named @p_1586)) :rule refl) (step t232.t3.t3 (cl (! (= @p_1039 (! (pair$b veriT_vr183 veriT_vr184) :named @p_1582)) :named @p_1587)) :rule cong :premises (t232.t3.t1 t232.t3.t2)) (step t232.t3.t4 (cl (= @p_1583 (! (is_res$b @p_826 @p_1582) :named @p_1584))) :rule cong :premises (t232.t3.t3)) (step t232.t3.t5 (cl @p_1585) :rule refl) (step t232.t3.t6 (cl @p_1586) :rule refl) (step t232.t3.t7 (cl @p_1587) :rule cong :premises (t232.t3.t5 t232.t3.t6)) (step t232.t3.t8 (cl (= @p_1588 (! (is_res$b @p_1353 @p_1582) :named @p_1589))) :rule cong :premises (t232.t3.t7)) (step t232.t3.t9 (cl (= @p_1590 (! (= @p_1584 @p_1589) :named @p_1591))) :rule cong :premises (t232.t3.t4 t232.t3.t8)) (step t232.t3 (cl (= @p_1581 (! (forall ((veriT_vr183 F$) (veriT_vr184 D$)) @p_1591) :named @p_1593))) :rule bind) (step t232.t4 (cl (= @p_1592 (! (and @p_1555 @p_1593) :named @p_1595))) :rule cong :premises (t232.t3)) (step t232.t5 (cl (= @p_1594 (! (or @p_1329 @p_1595) :named @p_1597))) :rule cong :premises (t232.t4)) (step t232.t6 (cl (! (= @p_1535 (! (=> @p_1596 @p_1597) :named @p_1600)) :named @p_1598)) :rule cong :premises (t232.t2 t232.t5)) (step t232.t7 (cl (not @p_1598) (! (not @p_1535) :named @p_1599) @p_1600) :rule equiv_pos2) (step t232.t8 (cl @p_1600) :rule th_resolution :premises (t232.h1 t232.t6 t232.t7)) (anchor :step t232.t9 :args ((:= (veriT_vr179 A$) veriT_vr185) (:= (veriT_vr180 C$) veriT_vr186))) (step t232.t9.t1 (cl (! (= veriT_vr179 veriT_vr185) :named @p_1603)) :rule refl) (step t232.t9.t2 (cl (! (= @p_1561 @p_1602) :named @p_1607)) :rule cong :premises (t232.t9.t1)) (step t232.t9.t3 (cl (! (= veriT_vr180 veriT_vr186) :named @p_1605)) :rule refl) (step t232.t9.t4 (cl (! (= @p_1559 @p_1538) :named @p_1608)) :rule cong :premises (t232.t9.t2 t232.t9.t3)) (step t232.t9.t5 (cl (! (= @p_1557 @p_1536) :named @p_1609)) :rule cong :premises (t232.t9.t4)) (step t232.t9.t6 (cl @p_1603) :rule refl) (step t232.t9.t7 (cl (! (= @p_1563 @p_1604) :named @p_1612)) :rule cong :premises (t232.t9.t6)) (step t232.t9.t8 (cl @p_1605) :rule refl) (step t232.t9.t9 (cl (! (= @p_1558 @p_1537) :named @p_1613)) :rule cong :premises (t232.t9.t7 t232.t9.t8)) (step t232.t9.t10 (cl (= @p_1565 @p_1606)) :rule cong :premises (t232.t9.t9)) (step t232.t9.t11 (cl @p_1603) :rule refl) (step t232.t9.t12 (cl @p_1607) :rule cong :premises (t232.t9.t11)) (step t232.t9.t13 (cl @p_1605) :rule refl) (step t232.t9.t14 (cl @p_1608) :rule cong :premises (t232.t9.t12 t232.t9.t13)) (step t232.t9.t15 (cl @p_1609) :rule cong :premises (t232.t9.t14)) (step t232.t9.t16 (cl (= @p_1569 @p_1610)) :rule cong :premises (t232.t9.t10 t232.t9.t15)) (anchor :step t232.t9.t17 :args ((:= (veriT_vr181 B$) veriT_vr187) (:= (veriT_vr182 C$) veriT_vr188))) (step t232.t9.t17.t1 (cl @p_1603) :rule refl) (step t232.t9.t17.t2 (cl @p_1612) :rule cong :premises (t232.t9.t17.t1)) (step t232.t9.t17.t3 (cl @p_1605) :rule refl) (step t232.t9.t17.t4 (cl @p_1613) :rule cong :premises (t232.t9.t17.t2 t232.t9.t17.t3)) (step t232.t9.t17.t5 (cl (! (= veriT_vr181 veriT_vr187) :named @p_1615)) :rule refl) (step t232.t9.t17.t6 (cl (! (= veriT_vr182 veriT_vr188) :named @p_1616)) :rule refl) (step t232.t9.t17.t7 (cl (! (= @p_1560 @p_1539) :named @p_1617)) :rule cong :premises (t232.t9.t17.t5 t232.t9.t17.t6)) (step t232.t9.t17.t8 (cl (= @p_1573 @p_1614)) :rule cong :premises (t232.t9.t17.t4 t232.t9.t17.t7)) (step t232.t9.t17.t9 (cl @p_1603) :rule refl) (step t232.t9.t17.t10 (cl @p_1607) :rule cong :premises (t232.t9.t17.t9)) (step t232.t9.t17.t11 (cl @p_1605) :rule refl) (step t232.t9.t17.t12 (cl @p_1608) :rule cong :premises (t232.t9.t17.t10 t232.t9.t17.t11)) (step t232.t9.t17.t13 (cl @p_1615) :rule refl) (step t232.t9.t17.t14 (cl @p_1616) :rule refl) (step t232.t9.t17.t15 (cl @p_1617) :rule cong :premises (t232.t9.t17.t13 t232.t9.t17.t14)) (step t232.t9.t17.t16 (cl (= @p_1577 @p_1618)) :rule cong :premises (t232.t9.t17.t12 t232.t9.t17.t15)) (step t232.t9.t17.t17 (cl (= @p_1578 @p_1619)) :rule cong :premises (t232.t9.t17.t8 t232.t9.t17.t16)) (step t232.t9.t17 (cl (= @p_1570 @p_1611)) :rule bind) (step t232.t9.t18 (cl (= @p_1579 @p_1620)) :rule cong :premises (t232.t9.t16 t232.t9.t17)) (step t232.t9.t19 (cl (= @p_1580 @p_1601)) :rule cong :premises (t232.t9.t5 t232.t9.t18)) (step t232.t9 (cl (= @p_1596 (! (forall ((veriT_vr185 A$) (veriT_vr186 C$)) @p_1601) :named @p_1630))) :rule bind) (anchor :step t232.t10 :args ((:= (veriT_vr183 F$) veriT_vr189) (:= (veriT_vr184 D$) veriT_vr190))) (step t232.t10.t1 (cl (! (= veriT_vr183 veriT_vr189) :named @p_1623)) :rule refl) (step t232.t10.t2 (cl (! (= veriT_vr184 veriT_vr190) :named @p_1624)) :rule refl) (step t232.t10.t3 (cl (! (= @p_1582 (! (pair$b veriT_vr189 veriT_vr190) :named @p_1621)) :named @p_1625)) :rule cong :premises (t232.t10.t1 t232.t10.t2)) (step t232.t10.t4 (cl (= @p_1584 (! (is_res$b @p_826 @p_1621) :named @p_1622))) :rule cong :premises (t232.t10.t3)) (step t232.t10.t5 (cl @p_1623) :rule refl) (step t232.t10.t6 (cl @p_1624) :rule refl) (step t232.t10.t7 (cl @p_1625) :rule cong :premises (t232.t10.t5 t232.t10.t6)) (step t232.t10.t8 (cl (= @p_1589 (! (is_res$b @p_1353 @p_1621) :named @p_1626))) :rule cong :premises (t232.t10.t7)) (step t232.t10.t9 (cl (= @p_1591 (! (= @p_1622 @p_1626) :named @p_1627))) :rule cong :premises (t232.t10.t4 t232.t10.t8)) (step t232.t10 (cl (= @p_1593 (! (forall ((veriT_vr189 F$) (veriT_vr190 D$)) @p_1627) :named @p_1628))) :rule bind) (step t232.t11 (cl (= @p_1595 (! (and @p_1555 @p_1628) :named @p_1629))) :rule cong :premises (t232.t10)) (step t232.t12 (cl (= @p_1597 (! (or @p_1329 @p_1629) :named @p_1631))) :rule cong :premises (t232.t11)) (step t232.t13 (cl (! (= @p_1600 (! (=> @p_1630 @p_1631) :named @p_1633)) :named @p_1632)) :rule cong :premises (t232.t9 t232.t12)) (step t232.t14 (cl (not @p_1632) (not @p_1600) @p_1633) :rule equiv_pos2) (step t232.t15 (cl @p_1633) :rule th_resolution :premises (t232.t8 t232.t13 t232.t14)) (anchor :step t232.t16 :args ((:= (veriT_vr185 A$) veriT_sk29) (:= (veriT_vr186 C$) veriT_sk30))) (step t232.t16.t1 (cl (! (= veriT_vr185 veriT_sk29) :named @p_1636)) :rule refl) (step t232.t16.t2 (cl (! (= @p_1602 (! (fun_app$ veriT_sk0 veriT_sk29) :named @p_1635)) :named @p_1640)) :rule cong :premises (t232.t16.t1)) (step t232.t16.t3 (cl (! (= veriT_vr186 veriT_sk30) :named @p_1638)) :rule refl) (step t232.t16.t4 (cl (! (= @p_1538 (! (run$ @p_1635 veriT_sk30) :named @p_1553)) :named @p_1641)) :rule cong :premises (t232.t16.t2 t232.t16.t3)) (step t232.t16.t5 (cl (! (= @p_1536 (! (is_fail$ @p_1553) :named @p_1545)) :named @p_1642)) :rule cong :premises (t232.t16.t4)) (step t232.t16.t6 (cl @p_1636) :rule refl) (step t232.t16.t7 (cl (! (= @p_1604 (! (fun_app$ veriT_sk1 veriT_sk29) :named @p_1637)) :named @p_1645)) :rule cong :premises (t232.t16.t6)) (step t232.t16.t8 (cl @p_1638) :rule refl) (step t232.t16.t9 (cl (! (= @p_1537 (! (run$ @p_1637 veriT_sk30) :named @p_1546)) :named @p_1646)) :rule cong :premises (t232.t16.t7 t232.t16.t8)) (step t232.t16.t10 (cl (= @p_1606 (! (is_fail$ @p_1546) :named @p_1639))) :rule cong :premises (t232.t16.t9)) (step t232.t16.t11 (cl @p_1636) :rule refl) (step t232.t16.t12 (cl @p_1640) :rule cong :premises (t232.t16.t11)) (step t232.t16.t13 (cl @p_1638) :rule refl) (step t232.t16.t14 (cl @p_1641) :rule cong :premises (t232.t16.t12 t232.t16.t13)) (step t232.t16.t15 (cl @p_1642) :rule cong :premises (t232.t16.t14)) (step t232.t16.t16 (cl (= @p_1610 (! (= @p_1639 @p_1545) :named @p_1643))) :rule cong :premises (t232.t16.t10 t232.t16.t15)) (anchor :step t232.t16.t17 :args ((:= (veriT_vr187 B$) veriT_sk31) (:= (veriT_vr188 C$) veriT_sk32))) (step t232.t16.t17.t1 (cl @p_1636) :rule refl) (step t232.t16.t17.t2 (cl @p_1645) :rule cong :premises (t232.t16.t17.t1)) (step t232.t16.t17.t3 (cl @p_1638) :rule refl) (step t232.t16.t17.t4 (cl @p_1646) :rule cong :premises (t232.t16.t17.t2 t232.t16.t17.t3)) (step t232.t16.t17.t5 (cl (! (= veriT_vr187 veriT_sk31) :named @p_1649)) :rule refl) (step t232.t16.t17.t6 (cl (! (= veriT_vr188 veriT_sk32) :named @p_1650)) :rule refl) (step t232.t16.t17.t7 (cl (! (= @p_1539 (! (pair$ veriT_sk31 veriT_sk32) :named @p_1554)) :named @p_1651)) :rule cong :premises (t232.t16.t17.t5 t232.t16.t17.t6)) (step t232.t16.t17.t8 (cl (= @p_1614 (! (is_res$ @p_1546 @p_1554) :named @p_1648))) :rule cong :premises (t232.t16.t17.t4 t232.t16.t17.t7)) (step t232.t16.t17.t9 (cl @p_1636) :rule refl) (step t232.t16.t17.t10 (cl @p_1640) :rule cong :premises (t232.t16.t17.t9)) (step t232.t16.t17.t11 (cl @p_1638) :rule refl) (step t232.t16.t17.t12 (cl @p_1641) :rule cong :premises (t232.t16.t17.t10 t232.t16.t17.t11)) (step t232.t16.t17.t13 (cl @p_1649) :rule refl) (step t232.t16.t17.t14 (cl @p_1650) :rule refl) (step t232.t16.t17.t15 (cl @p_1651) :rule cong :premises (t232.t16.t17.t13 t232.t16.t17.t14)) (step t232.t16.t17.t16 (cl (= @p_1618 (! (is_res$ @p_1553 @p_1554) :named @p_1652))) :rule cong :premises (t232.t16.t17.t12 t232.t16.t17.t15)) (step t232.t16.t17.t17 (cl (= @p_1619 (! (= @p_1648 @p_1652) :named @p_1644))) :rule cong :premises (t232.t16.t17.t8 t232.t16.t17.t16)) (step t232.t16.t17 (cl (= @p_1611 @p_1644)) :rule sko_forall) (step t232.t16.t18 (cl (= @p_1620 (! (and @p_1643 @p_1644) :named @p_1653))) :rule cong :premises (t232.t16.t16 t232.t16.t17)) (step t232.t16.t19 (cl (= @p_1601 (! (or @p_1545 @p_1653) :named @p_1634))) :rule cong :premises (t232.t16.t5 t232.t16.t18)) (step t232.t16 (cl (= @p_1630 @p_1634)) :rule sko_forall) (step t232.t17 (cl (! (= @p_1633 (! (=> @p_1634 @p_1631) :named @p_1655)) :named @p_1654)) :rule cong :premises (t232.t16)) (step t232.t18 (cl (not @p_1654) (not @p_1633) @p_1655) :rule equiv_pos2) (step t232.t19 (cl @p_1655) :rule th_resolution :premises (t232.t15 t232.t17 t232.t18)) (anchor :step t232.t20 :args ((:= (veriT_vr189 F$) veriT_vr191) (:= (veriT_vr190 D$) veriT_vr192))) (step t232.t20.t1 (cl (! (= veriT_vr189 veriT_vr191) :named @p_1658)) :rule refl) (step t232.t20.t2 (cl (! (= veriT_vr190 veriT_vr192) :named @p_1659)) :rule refl) (step t232.t20.t3 (cl (! (= @p_1621 (! (pair$b veriT_vr191 veriT_vr192) :named @p_1556)) :named @p_1660)) :rule cong :premises (t232.t20.t1 t232.t20.t2)) (step t232.t20.t4 (cl (= @p_1622 (! (is_res$b @p_826 @p_1556) :named @p_1657))) :rule cong :premises (t232.t20.t3)) (step t232.t20.t5 (cl @p_1658) :rule refl) (step t232.t20.t6 (cl @p_1659) :rule refl) (step t232.t20.t7 (cl @p_1660) :rule cong :premises (t232.t20.t5 t232.t20.t6)) (step t232.t20.t8 (cl (= @p_1626 (! (is_res$b @p_1353 @p_1556) :named @p_1661))) :rule cong :premises (t232.t20.t7)) (step t232.t20.t9 (cl (= @p_1627 (! (= @p_1657 @p_1661) :named @p_1662))) :rule cong :premises (t232.t20.t4 t232.t20.t8)) (step t232.t20 (cl (= @p_1628 (! (forall ((veriT_vr191 F$) (veriT_vr192 D$)) @p_1662) :named @p_1656))) :rule bind) (step t232.t21 (cl (= @p_1629 (! (and @p_1555 @p_1656) :named @p_1663))) :rule cong :premises (t232.t20)) (step t232.t22 (cl (= @p_1631 (! (or @p_1329 @p_1663) :named @p_1664))) :rule cong :premises (t232.t21)) (step t232.t23 (cl (! (= @p_1655 (! (=> @p_1634 @p_1664) :named @p_1665)) :named @p_1666)) :rule cong :premises (t232.t22)) (step t232.t24 (cl (not @p_1666) (not @p_1655) @p_1665) :rule equiv_pos2) (step t232.t25 (cl @p_1665) :rule th_resolution :premises (t232.t19 t232.t23 t232.t24)) (step t232 (cl @p_1599 @p_1665) :rule subproof :discharge (h1)) (step t233 (cl @p_1385 @p_1535) :rule or :premises (t231)) (step t234 (cl (! (or @p_1385 @p_1665) :named @p_1667) @p_1533) :rule or_neg) (step t235 (cl @p_1667 @p_1154) :rule th_resolution :premises (t159 t234)) (step t236 (cl @p_1667 (! (not @p_1665) :named @p_1679)) :rule or_neg) (step t237 (cl @p_1667) :rule th_resolution :premises (t233 t232 t235 t236)) (step t238 (cl @p_1668 @p_1669 (not @p_1670)) :rule and_neg) (step t239 (cl @p_1163 @p_1671) :rule or :premises (t213)) (step t240 (cl (! (not @p_1672) :named @p_1721) (not @p_822) @p_1328) :rule equiv_pos2) (step t241 (cl @p_1354 @p_1672) :rule or :premises (t214)) (step t242 (cl (! (not @p_1673) :named @p_1711) (not @p_784) @p_1332) :rule equiv_pos2) (step t243 (cl @p_1354 @p_1673) :rule or :premises (t215)) (step t244 (cl (not @p_1674) @p_1675 @p_1676) :rule equiv_pos1) (step t245 (cl @p_1354 @p_1674) :rule or :premises (t216)) (step t246 (cl (not @p_1381) @p_1374) :rule and_pos) (step t247 (cl @p_1677 @p_1198 @p_1381) :rule or_pos) (step t248 (cl @p_1187 @p_1382) :rule or :premises (t223)) (step t249 (cl @p_1382) :rule resolution :premises (t248 t120)) (step t250 (cl @p_1500 (not @p_1400)) :rule or_neg) (step t251 (cl @p_1509 @p_1505 @p_1400) :rule equiv_neg2) (step t252 (cl @p_1510 (! (not @p_1514) :named @p_1696) (! (not @p_1518) :named @p_1919)) :rule equiv_neg1) (step t253 (cl @p_1510 @p_1514 @p_1518) :rule equiv_neg2) (step t254 (cl @p_1519 (not @p_1509) (not @p_1510)) :rule and_neg) (step t255 (cl @p_1500 (not @p_1519)) :rule or_neg) (step t256 (cl (not @p_1410) (not @p_789) @p_1333) :rule equiv_pos2) (step t257 (cl (not @p_1529) @p_1410) :rule and_pos) (step t258 (cl (! (not @p_1530) :named @p_1710) @p_1333 @p_1529) :rule or_pos) (step t259 (cl @p_1678 (not @p_1500) @p_1530) :rule implies_pos) (step t260 (cl @p_1385 @p_1531) :rule or :premises (t230)) (step t261 (cl @p_1531) :rule resolution :premises (t260 t119)) (step t262 (cl @p_1634 (! (not @p_1545) :named @p_1929)) :rule or_neg) (step t263 (cl @p_1643 @p_1639 @p_1545) :rule equiv_neg2) (step t264 (cl @p_1644 (! (not @p_1648) :named @p_1700) (! (not @p_1652) :named @p_1705)) :rule equiv_neg1) (step t265 (cl @p_1644 @p_1648 @p_1652) :rule equiv_neg2) (step t266 (cl @p_1653 (not @p_1643) (! (not @p_1644) :named @p_1931)) :rule and_neg) (step t267 (cl @p_1634 (! (not @p_1653) :named @p_1930)) :rule or_neg) (step t268 (cl (not @p_1663) @p_1656) :rule and_pos) (step t269 (cl (! (not @p_1664) :named @p_1720) @p_1329 @p_1663) :rule or_pos) (step t270 (cl @p_1679 (! (not @p_1634) :named @p_1928) @p_1664) :rule implies_pos) (step t271 (cl @p_1385 @p_1665) :rule or :premises (t237)) (step t272 (cl @p_1665) :rule resolution :premises (t271 t119)) (step t273 (cl (or @p_1341 (! (or @p_1400 (! (not @p_1505) :named @p_1683) @p_1400) :named @p_1680))) :rule forall_inst :args ((:= veriT_vr103 veriT_sk25) (:= veriT_vr104 veriT_sk26))) (step t274 (cl @p_1341 @p_1680) :rule or :premises (t273)) (step t275 (cl (! (or @p_1187 @p_1680) :named @p_1681) @p_1343) :rule or_neg) (step t276 (cl @p_1681 @p_1155) :rule th_resolution :premises (t198 t275)) (step t277 (cl @p_1681 (! (not @p_1680) :named @p_1682)) :rule or_neg) (step t278 (cl @p_1681) :rule th_resolution :premises (t194 t274 t276 t277)) (anchor :step t279) (assume t279.h1 @p_1680) (step t279.t2 (cl (! (= @p_1680 (! (or @p_1400 @p_1683) :named @p_1684)) :named @p_1685)) :rule ac_simp) (step t279.t3 (cl (not @p_1685) @p_1682 @p_1684) :rule equiv_pos2) (step t279.t4 (cl @p_1684) :rule th_resolution :premises (t279.h1 t279.t2 t279.t3)) (step t279 (cl @p_1682 @p_1684) :rule subproof :discharge (h1)) (step t280 (cl @p_1187 @p_1680) :rule or :premises (t278)) (step t281 (cl (! (or @p_1187 @p_1684) :named @p_1686) @p_1343) :rule or_neg) (step t282 (cl @p_1686 @p_1155) :rule th_resolution :premises (t198 t281)) (step t283 (cl @p_1686 (! (not @p_1684) :named @p_1694)) :rule or_neg) (step t284 (cl @p_1686) :rule th_resolution :premises (t280 t279 t282 t283)) (step t285 (cl (or @p_1341 (! (or @p_1545 (! (not @p_1639) :named @p_1690) @p_1545) :named @p_1687))) :rule forall_inst :args ((:= veriT_vr103 veriT_sk29) (:= veriT_vr104 veriT_sk30))) (step t286 (cl @p_1341 @p_1687) :rule or :premises (t285)) (step t287 (cl (! (or @p_1187 @p_1687) :named @p_1688) @p_1343) :rule or_neg) (step t288 (cl @p_1688 @p_1155) :rule th_resolution :premises (t198 t287)) (step t289 (cl @p_1688 (! (not @p_1687) :named @p_1689)) :rule or_neg) (step t290 (cl @p_1688) :rule th_resolution :premises (t194 t286 t288 t289)) (anchor :step t291) (assume t291.h1 @p_1687) (step t291.t2 (cl (! (= @p_1687 (! (or @p_1545 @p_1690) :named @p_1691)) :named @p_1692)) :rule ac_simp) (step t291.t3 (cl (not @p_1692) @p_1689 @p_1691) :rule equiv_pos2) (step t291.t4 (cl @p_1691) :rule th_resolution :premises (t291.h1 t291.t2 t291.t3)) (step t291 (cl @p_1689 @p_1691) :rule subproof :discharge (h1)) (step t292 (cl @p_1187 @p_1687) :rule or :premises (t290)) (step t293 (cl (! (or @p_1187 @p_1691) :named @p_1693) @p_1343) :rule or_neg) (step t294 (cl @p_1693 @p_1155) :rule th_resolution :premises (t198 t293)) (step t295 (cl @p_1693 (! (not @p_1691) :named @p_1695)) :rule or_neg) (step t296 (cl @p_1693) :rule th_resolution :premises (t292 t291 t294 t295)) (step t297 (cl @p_1694 @p_1400 @p_1683) :rule or_pos) (step t298 (cl @p_1187 @p_1684) :rule or :premises (t284)) (step t299 (cl @p_1684) :rule resolution :premises (t298 t120)) (step t300 (cl @p_1695 @p_1545 @p_1690) :rule or_pos) (step t301 (cl @p_1187 @p_1691) :rule or :premises (t296)) (step t302 (cl @p_1691) :rule resolution :premises (t301 t120)) (step t303 (cl (or (! (not @p_1351) :named @p_1697) (! (or @p_1400 @p_1696 @p_1518) :named @p_1698))) :rule forall_inst :args ((:= veriT_vr103 veriT_sk25) (:= veriT_vr104 veriT_sk26) (:= veriT_vr105 veriT_sk27) (:= veriT_vr106 veriT_sk28))) (step t304 (cl @p_1697 @p_1698) :rule or :premises (t303)) (step t305 (cl (! (or @p_1187 @p_1698) :named @p_1699) @p_1343) :rule or_neg) (step t306 (cl @p_1699 @p_1155) :rule th_resolution :premises (t198 t305)) (step t307 (cl @p_1699 (! (not @p_1698) :named @p_1703)) :rule or_neg) (step t308 (cl @p_1699) :rule th_resolution :premises (t211 t304 t306 t307)) (step t309 (cl (or @p_1697 (! (or @p_1545 @p_1700 @p_1652) :named @p_1701))) :rule forall_inst :args ((:= veriT_vr103 veriT_sk29) (:= veriT_vr104 veriT_sk30) (:= veriT_vr105 veriT_sk31) (:= veriT_vr106 veriT_sk32))) (step t310 (cl @p_1697 @p_1701) :rule or :premises (t309)) (step t311 (cl (! (or @p_1187 @p_1701) :named @p_1702) @p_1343) :rule or_neg) (step t312 (cl @p_1702 @p_1155) :rule th_resolution :premises (t198 t311)) (step t313 (cl @p_1702 (! (not @p_1701) :named @p_1704)) :rule or_neg) (step t314 (cl @p_1702) :rule th_resolution :premises (t211 t310 t312 t313)) (step t315 (cl @p_1703 @p_1400 @p_1696 @p_1518) :rule or_pos) (step t316 (cl @p_1187 @p_1698) :rule or :premises (t308)) (step t317 (cl @p_1698) :rule resolution :premises (t316 t120)) (step t318 (cl @p_1704 @p_1545 @p_1700 @p_1652) :rule or_pos) (step t319 (cl @p_1187 @p_1701) :rule or :premises (t314)) (step t320 (cl @p_1701) :rule resolution :premises (t319 t120)) (step t321 (cl @p_1545 @p_1652 @p_1644) :rule resolution :premises (t318 t265 t320)) (step t322 (cl (or (! (not @p_1352) :named @p_1706) (! (or @p_1545 @p_1705 @p_1648) :named @p_1707))) :rule forall_inst :args ((:= veriT_vr103 veriT_sk29) (:= veriT_vr104 veriT_sk30) (:= veriT_vr105 veriT_sk31) (:= veriT_vr106 veriT_sk32))) (step t323 (cl @p_1706 @p_1707) :rule or :premises (t322)) (step t324 (cl (! (or @p_1187 @p_1707) :named @p_1708) @p_1343) :rule or_neg) (step t325 (cl @p_1708 @p_1155) :rule th_resolution :premises (t198 t324)) (step t326 (cl @p_1708 (! (not @p_1707) :named @p_1709)) :rule or_neg) (step t327 (cl @p_1708) :rule th_resolution :premises (t212 t323 t325 t326)) (step t328 (cl @p_1709 @p_1545 @p_1705 @p_1648) :rule or_pos) (step t329 (cl @p_1187 @p_1707) :rule or :premises (t327)) (step t330 (cl @p_1707) :rule resolution :premises (t329 t120)) (step t331 (cl @p_1710 @p_1711 @p_1178) :rule resolution :premises (t257 t258 t256 t178 t242 t128 t127 t180)) (step t332 (cl (or (! (not @p_1656) :named @p_1712) (! (forall ((veriT_vr191 F$) (veriT_vr192 D$)) (or (not @p_1657) @p_1661)) :named @p_1713))) :rule qnt_cnf) (step t333 (cl @p_1712 @p_1713) :rule or :premises (t332)) (step t334 (cl (or (! (not @p_1713) :named @p_1714) (! (or (! (not @p_827) :named @p_1719) @p_1670) :named @p_1715))) :rule forall_inst :args ((:= veriT_vr191 veriT_sk7) (:= veriT_vr192 veriT_sk8))) (step t335 (cl @p_1714 @p_1715) :rule or :premises (t334)) (step t336 (cl (! (or @p_1712 @p_1715) :named @p_1717) (! (not @p_1712) :named @p_1716)) :rule or_neg) (step t337 (cl (not @p_1716) @p_1656) :rule not_not) (step t338 (cl @p_1717 @p_1656) :rule th_resolution :premises (t337 t336)) (step t339 (cl @p_1717 (! (not @p_1715) :named @p_1718)) :rule or_neg) (step t340 (cl @p_1717) :rule th_resolution :premises (t333 t335 t338 t339)) (step t341 (cl @p_1718 @p_1719 @p_1670) :rule or_pos) (step t342 (cl @p_1712 @p_1715) :rule or :premises (t340)) (step t343 (cl @p_1720 @p_1668 @p_1721 @p_1179) :rule resolution :premises (t342 t268 t341 t269 t238 t175 t240 t134 t133 t177)) (step t344 (cl (or @p_1165 @p_1179)) :rule forall_inst :args ((:= veriT_vr113 veriT_sk9) (:= veriT_vr114 veriT_sk10))) (step t345 (cl (or @p_1165 (! (not (! (and @p_1675 (! (is_res$b (! (run$b (c$ veriT_sk11 veriT_sk1) veriT_sk12) :named @p_1757) @p_747) :named @p_1753)) :named @p_1752)) :named @p_1754))) :rule forall_inst :args ((:= veriT_vr113 veriT_sk11) (:= veriT_vr114 veriT_sk12))) (step t346 (cl (or (! (not @p_1374) :named @p_1755) @p_1297)) :rule forall_inst :args ((:= veriT_vr150 veriT_sk15) (:= veriT_vr151 veriT_sk16))) (step t347 (cl (or @p_1187 (! (or @p_1400 (! (and @p_1509 (! (forall ((veriT_vr105 B$) (veriT_vr106 C$)) (! (= (! (is_res$ @p_1401 @p_1087) :named @p_1726) (! (is_res$ @p_1408 @p_1087) :named @p_1731)) :named @p_1733)) :named @p_1724)) :named @p_1735)) :named @p_1722))) :rule forall_inst :args ((:= veriT_vr103 veriT_sk25) (:= veriT_vr104 veriT_sk26))) (anchor :step t348) (assume t348.h1 @p_1722) (anchor :step t348.t2 :args ((:= (veriT_vr105 B$) veriT_vr207) (:= (veriT_vr106 C$) veriT_vr208))) (step t348.t2.t1 (cl (! (= veriT_vr105 veriT_vr207) :named @p_1728)) :rule refl) (step t348.t2.t2 (cl (! (= veriT_vr106 veriT_vr208) :named @p_1729)) :rule refl) (step t348.t2.t3 (cl (! (= @p_1087 (! (pair$ veriT_vr207 veriT_vr208) :named @p_1725)) :named @p_1730)) :rule cong :premises (t348.t2.t1 t348.t2.t2)) (step t348.t2.t4 (cl (= @p_1726 (! (is_res$ @p_1401 @p_1725) :named @p_1727))) :rule cong :premises (t348.t2.t3)) (step t348.t2.t5 (cl @p_1728) :rule refl) (step t348.t2.t6 (cl @p_1729) :rule refl) (step t348.t2.t7 (cl @p_1730) :rule cong :premises (t348.t2.t5 t348.t2.t6)) (step t348.t2.t8 (cl (= @p_1731 (! (is_res$ @p_1408 @p_1725) :named @p_1732))) :rule cong :premises (t348.t2.t7)) (step t348.t2.t9 (cl (= @p_1733 (! (= @p_1727 @p_1732) :named @p_1734))) :rule cong :premises (t348.t2.t4 t348.t2.t8)) (step t348.t2 (cl (= @p_1724 (! (forall ((veriT_vr207 B$) (veriT_vr208 C$)) @p_1734) :named @p_1736))) :rule bind) (step t348.t3 (cl (= @p_1735 (! (and @p_1509 @p_1736) :named @p_1737))) :rule cong :premises (t348.t2)) (step t348.t4 (cl (! (= @p_1722 (! (or @p_1400 @p_1737) :named @p_1740)) :named @p_1738)) :rule cong :premises (t348.t3)) (step t348.t5 (cl (not @p_1738) (! (not @p_1722) :named @p_1739) @p_1740) :rule equiv_pos2) (step t348.t6 (cl @p_1740) :rule th_resolution :premises (t348.h1 t348.t4 t348.t5)) (anchor :step t348.t7 :args ((:= (veriT_vr207 B$) veriT_vr209) (:= (veriT_vr208 C$) veriT_vr210))) (step t348.t7.t1 (cl (! (= veriT_vr207 veriT_vr209) :named @p_1743)) :rule refl) (step t348.t7.t2 (cl (! (= veriT_vr208 veriT_vr210) :named @p_1744)) :rule refl) (step t348.t7.t3 (cl (! (= @p_1725 (! (pair$ veriT_vr209 veriT_vr210) :named @p_1723)) :named @p_1745)) :rule cong :premises (t348.t7.t1 t348.t7.t2)) (step t348.t7.t4 (cl (= @p_1727 (! (is_res$ @p_1401 @p_1723) :named @p_1742))) :rule cong :premises (t348.t7.t3)) (step t348.t7.t5 (cl @p_1743) :rule refl) (step t348.t7.t6 (cl @p_1744) :rule refl) (step t348.t7.t7 (cl @p_1745) :rule cong :premises (t348.t7.t5 t348.t7.t6)) (step t348.t7.t8 (cl (= @p_1732 (! (is_res$ @p_1408 @p_1723) :named @p_1746))) :rule cong :premises (t348.t7.t7)) (step t348.t7.t9 (cl (= @p_1734 (! (= @p_1742 @p_1746) :named @p_1747))) :rule cong :premises (t348.t7.t4 t348.t7.t8)) (step t348.t7 (cl (= @p_1736 (! (forall ((veriT_vr209 B$) (veriT_vr210 C$)) @p_1747) :named @p_1741))) :rule bind) (step t348.t8 (cl (= @p_1737 (! (and @p_1509 @p_1741) :named @p_1748))) :rule cong :premises (t348.t7)) (step t348.t9 (cl (! (= @p_1740 (! (or @p_1400 @p_1748) :named @p_1749)) :named @p_1750)) :rule cong :premises (t348.t8)) (step t348.t10 (cl (not @p_1750) (not @p_1740) @p_1749) :rule equiv_pos2) (step t348.t11 (cl @p_1749) :rule th_resolution :premises (t348.t6 t348.t9 t348.t10)) (step t348 (cl @p_1739 @p_1749) :rule subproof :discharge (h1)) (step t349 (cl @p_1187 @p_1722) :rule or :premises (t347)) (step t350 (cl (! (or @p_1187 @p_1749) :named @p_1751) @p_1343) :rule or_neg) (step t351 (cl @p_1751 @p_1155) :rule th_resolution :premises (t198 t350)) (step t352 (cl @p_1751 (! (not @p_1749) :named @p_1756)) :rule or_neg) (step t353 (cl @p_1751) :rule th_resolution :premises (t349 t348 t351 t352)) (step t354 (cl @p_1165 @p_1179) :rule or :premises (t344)) (step t355 (cl @p_1752 (not @p_1675) (not @p_1753)) :rule and_neg) (step t356 (cl @p_1165 @p_1754) :rule or :premises (t345)) (step t357 (cl @p_1755 @p_1297) :rule or :premises (t346)) (step t358 (cl (not @p_1748) @p_1741) :rule and_pos) (step t359 (cl @p_1756 @p_1400 @p_1748) :rule or_pos) (step t360 (cl @p_1187 @p_1749) :rule or :premises (t353)) (step t361 (cl @p_1749) :rule resolution :premises (t360 t120)) (step t362 (cl (or @p_1385 (! (=> @p_1412 (! (or @p_1325 (! (and (! (= (is_fail$b @p_1757) @p_1325) :named @p_1778) (! (forall ((veriT_vr93 F$) (veriT_vr102 D$)) (! (= (! (is_res$b @p_1757 @p_1039) :named @p_1806) (! (is_res$b @p_846 @p_1039) :named @p_1811)) :named @p_1813)) :named @p_1804)) :named @p_1815)) :named @p_1817)) :named @p_1758))) :rule forall_inst :args ((:= veriT_vr94 veriT_sk11) (:= veriT_vr95 veriT_sk0) (:= veriT_vr96 veriT_sk1) (:= veriT_vr101 veriT_sk12))) (anchor :step t363) (assume t363.h1 @p_1758) (anchor :step t363.t2 :args ((:= (veriT_vr97 A$) veriT_vr237) (:= (veriT_vr98 C$) veriT_vr238))) (step t363.t2.t1 (cl (! (= veriT_vr97 veriT_vr237) :named @p_1785)) :rule refl) (step t363.t2.t2 (cl (! (= @p_1417 (! (fun_app$ veriT_sk0 veriT_vr237) :named @p_1784)) :named @p_1789)) :rule cong :premises (t363.t2.t1)) (step t363.t2.t3 (cl (! (= veriT_vr98 veriT_vr238) :named @p_1787)) :rule refl) (step t363.t2.t4 (cl (! (= @p_1388 (! (run$ @p_1784 veriT_vr238) :named @p_1782)) :named @p_1790)) :rule cong :premises (t363.t2.t2 t363.t2.t3)) (step t363.t2.t5 (cl (! (= @p_1386 (! (is_fail$ @p_1782) :named @p_1780)) :named @p_1791)) :rule cong :premises (t363.t2.t4)) (step t363.t2.t6 (cl @p_1785) :rule refl) (step t363.t2.t7 (cl (! (= @p_1420 (! (fun_app$ veriT_sk1 veriT_vr237) :named @p_1786)) :named @p_1794)) :rule cong :premises (t363.t2.t6)) (step t363.t2.t8 (cl @p_1787) :rule refl) (step t363.t2.t9 (cl (! (= @p_1387 (! (run$ @p_1786 veriT_vr238) :named @p_1781)) :named @p_1795)) :rule cong :premises (t363.t2.t7 t363.t2.t8)) (step t363.t2.t10 (cl (= @p_1423 (! (is_fail$ @p_1781) :named @p_1788))) :rule cong :premises (t363.t2.t9)) (step t363.t2.t11 (cl @p_1785) :rule refl) (step t363.t2.t12 (cl @p_1789) :rule cong :premises (t363.t2.t11)) (step t363.t2.t13 (cl @p_1787) :rule refl) (step t363.t2.t14 (cl @p_1790) :rule cong :premises (t363.t2.t12 t363.t2.t13)) (step t363.t2.t15 (cl @p_1791) :rule cong :premises (t363.t2.t14)) (step t363.t2.t16 (cl (= @p_1428 (! (= @p_1788 @p_1780) :named @p_1792))) :rule cong :premises (t363.t2.t10 t363.t2.t15)) (anchor :step t363.t2.t17 :args ((:= (veriT_vr99 B$) veriT_vr239) (:= (veriT_vr100 C$) veriT_vr240))) (step t363.t2.t17.t1 (cl @p_1785) :rule refl) (step t363.t2.t17.t2 (cl @p_1794) :rule cong :premises (t363.t2.t17.t1)) (step t363.t2.t17.t3 (cl @p_1787) :rule refl) (step t363.t2.t17.t4 (cl @p_1795) :rule cong :premises (t363.t2.t17.t2 t363.t2.t17.t3)) (step t363.t2.t17.t5 (cl (! (= veriT_vr99 veriT_vr239) :named @p_1797)) :rule refl) (step t363.t2.t17.t6 (cl (! (= veriT_vr100 veriT_vr240) :named @p_1798)) :rule refl) (step t363.t2.t17.t7 (cl (! (= @p_1035 (! (pair$ veriT_vr239 veriT_vr240) :named @p_1783)) :named @p_1799)) :rule cong :premises (t363.t2.t17.t5 t363.t2.t17.t6)) (step t363.t2.t17.t8 (cl (= @p_1434 (! (is_res$ @p_1781 @p_1783) :named @p_1796))) :rule cong :premises (t363.t2.t17.t4 t363.t2.t17.t7)) (step t363.t2.t17.t9 (cl @p_1785) :rule refl) (step t363.t2.t17.t10 (cl @p_1789) :rule cong :premises (t363.t2.t17.t9)) (step t363.t2.t17.t11 (cl @p_1787) :rule refl) (step t363.t2.t17.t12 (cl @p_1790) :rule cong :premises (t363.t2.t17.t10 t363.t2.t17.t11)) (step t363.t2.t17.t13 (cl @p_1797) :rule refl) (step t363.t2.t17.t14 (cl @p_1798) :rule refl) (step t363.t2.t17.t15 (cl @p_1799) :rule cong :premises (t363.t2.t17.t13 t363.t2.t17.t14)) (step t363.t2.t17.t16 (cl (= @p_1439 (! (is_res$ @p_1782 @p_1783) :named @p_1800))) :rule cong :premises (t363.t2.t17.t12 t363.t2.t17.t15)) (step t363.t2.t17.t17 (cl (= @p_1441 (! (= @p_1796 @p_1800) :named @p_1801))) :rule cong :premises (t363.t2.t17.t8 t363.t2.t17.t16)) (step t363.t2.t17 (cl (= @p_1430 (! (forall ((veriT_vr239 B$) (veriT_vr240 C$)) @p_1801) :named @p_1793))) :rule bind) (step t363.t2.t18 (cl (= @p_1443 (! (and @p_1792 @p_1793) :named @p_1802))) :rule cong :premises (t363.t2.t16 t363.t2.t17)) (step t363.t2.t19 (cl (= @p_1445 (! (or @p_1780 @p_1802) :named @p_1803))) :rule cong :premises (t363.t2.t5 t363.t2.t18)) (step t363.t2 (cl (= @p_1412 (! (forall ((veriT_vr237 A$) (veriT_vr238 C$)) @p_1803) :named @p_1819))) :rule bind) (anchor :step t363.t3 :args ((:= (veriT_vr93 F$) veriT_vr241) (:= (veriT_vr102 D$) veriT_vr242))) (step t363.t3.t1 (cl (! (= veriT_vr93 veriT_vr241) :named @p_1808)) :rule refl) (step t363.t3.t2 (cl (! (= veriT_vr102 veriT_vr242) :named @p_1809)) :rule refl) (step t363.t3.t3 (cl (! (= @p_1039 (! (pair$b veriT_vr241 veriT_vr242) :named @p_1805)) :named @p_1810)) :rule cong :premises (t363.t3.t1 t363.t3.t2)) (step t363.t3.t4 (cl (= @p_1806 (! (is_res$b @p_1757 @p_1805) :named @p_1807))) :rule cong :premises (t363.t3.t3)) (step t363.t3.t5 (cl @p_1808) :rule refl) (step t363.t3.t6 (cl @p_1809) :rule refl) (step t363.t3.t7 (cl @p_1810) :rule cong :premises (t363.t3.t5 t363.t3.t6)) (step t363.t3.t8 (cl (= @p_1811 (! (is_res$b @p_846 @p_1805) :named @p_1812))) :rule cong :premises (t363.t3.t7)) (step t363.t3.t9 (cl (= @p_1813 (! (= @p_1807 @p_1812) :named @p_1814))) :rule cong :premises (t363.t3.t4 t363.t3.t8)) (step t363.t3 (cl (= @p_1804 (! (forall ((veriT_vr241 F$) (veriT_vr242 D$)) @p_1814) :named @p_1816))) :rule bind) (step t363.t4 (cl (= @p_1815 (! (and @p_1778 @p_1816) :named @p_1818))) :rule cong :premises (t363.t3)) (step t363.t5 (cl (= @p_1817 (! (or @p_1325 @p_1818) :named @p_1820))) :rule cong :premises (t363.t4)) (step t363.t6 (cl (! (= @p_1758 (! (=> @p_1819 @p_1820) :named @p_1823)) :named @p_1821)) :rule cong :premises (t363.t2 t363.t5)) (step t363.t7 (cl (not @p_1821) (! (not @p_1758) :named @p_1822) @p_1823) :rule equiv_pos2) (step t363.t8 (cl @p_1823) :rule th_resolution :premises (t363.h1 t363.t6 t363.t7)) (anchor :step t363.t9 :args ((:= (veriT_vr237 A$) veriT_vr243) (:= (veriT_vr238 C$) veriT_vr244))) (step t363.t9.t1 (cl (! (= veriT_vr237 veriT_vr243) :named @p_1826)) :rule refl) (step t363.t9.t2 (cl (! (= @p_1784 @p_1825) :named @p_1830)) :rule cong :premises (t363.t9.t1)) (step t363.t9.t3 (cl (! (= veriT_vr238 veriT_vr244) :named @p_1828)) :rule refl) (step t363.t9.t4 (cl (! (= @p_1782 @p_1761) :named @p_1831)) :rule cong :premises (t363.t9.t2 t363.t9.t3)) (step t363.t9.t5 (cl (! (= @p_1780 @p_1759) :named @p_1832)) :rule cong :premises (t363.t9.t4)) (step t363.t9.t6 (cl @p_1826) :rule refl) (step t363.t9.t7 (cl (! (= @p_1786 @p_1827) :named @p_1835)) :rule cong :premises (t363.t9.t6)) (step t363.t9.t8 (cl @p_1828) :rule refl) (step t363.t9.t9 (cl (! (= @p_1781 @p_1760) :named @p_1836)) :rule cong :premises (t363.t9.t7 t363.t9.t8)) (step t363.t9.t10 (cl (= @p_1788 @p_1829)) :rule cong :premises (t363.t9.t9)) (step t363.t9.t11 (cl @p_1826) :rule refl) (step t363.t9.t12 (cl @p_1830) :rule cong :premises (t363.t9.t11)) (step t363.t9.t13 (cl @p_1828) :rule refl) (step t363.t9.t14 (cl @p_1831) :rule cong :premises (t363.t9.t12 t363.t9.t13)) (step t363.t9.t15 (cl @p_1832) :rule cong :premises (t363.t9.t14)) (step t363.t9.t16 (cl (= @p_1792 @p_1833)) :rule cong :premises (t363.t9.t10 t363.t9.t15)) (anchor :step t363.t9.t17 :args ((:= (veriT_vr239 B$) veriT_vr245) (:= (veriT_vr240 C$) veriT_vr246))) (step t363.t9.t17.t1 (cl @p_1826) :rule refl) (step t363.t9.t17.t2 (cl @p_1835) :rule cong :premises (t363.t9.t17.t1)) (step t363.t9.t17.t3 (cl @p_1828) :rule refl) (step t363.t9.t17.t4 (cl @p_1836) :rule cong :premises (t363.t9.t17.t2 t363.t9.t17.t3)) (step t363.t9.t17.t5 (cl (! (= veriT_vr239 veriT_vr245) :named @p_1838)) :rule refl) (step t363.t9.t17.t6 (cl (! (= veriT_vr240 veriT_vr246) :named @p_1839)) :rule refl) (step t363.t9.t17.t7 (cl (! (= @p_1783 @p_1762) :named @p_1840)) :rule cong :premises (t363.t9.t17.t5 t363.t9.t17.t6)) (step t363.t9.t17.t8 (cl (= @p_1796 @p_1837)) :rule cong :premises (t363.t9.t17.t4 t363.t9.t17.t7)) (step t363.t9.t17.t9 (cl @p_1826) :rule refl) (step t363.t9.t17.t10 (cl @p_1830) :rule cong :premises (t363.t9.t17.t9)) (step t363.t9.t17.t11 (cl @p_1828) :rule refl) (step t363.t9.t17.t12 (cl @p_1831) :rule cong :premises (t363.t9.t17.t10 t363.t9.t17.t11)) (step t363.t9.t17.t13 (cl @p_1838) :rule refl) (step t363.t9.t17.t14 (cl @p_1839) :rule refl) (step t363.t9.t17.t15 (cl @p_1840) :rule cong :premises (t363.t9.t17.t13 t363.t9.t17.t14)) (step t363.t9.t17.t16 (cl (= @p_1800 @p_1841)) :rule cong :premises (t363.t9.t17.t12 t363.t9.t17.t15)) (step t363.t9.t17.t17 (cl (= @p_1801 @p_1842)) :rule cong :premises (t363.t9.t17.t8 t363.t9.t17.t16)) (step t363.t9.t17 (cl (= @p_1793 @p_1834)) :rule bind) (step t363.t9.t18 (cl (= @p_1802 @p_1843)) :rule cong :premises (t363.t9.t16 t363.t9.t17)) (step t363.t9.t19 (cl (= @p_1803 @p_1824)) :rule cong :premises (t363.t9.t5 t363.t9.t18)) (step t363.t9 (cl (= @p_1819 (! (forall ((veriT_vr243 A$) (veriT_vr244 C$)) @p_1824) :named @p_1853))) :rule bind) (anchor :step t363.t10 :args ((:= (veriT_vr241 F$) veriT_vr247) (:= (veriT_vr242 D$) veriT_vr248))) (step t363.t10.t1 (cl (! (= veriT_vr241 veriT_vr247) :named @p_1846)) :rule refl) (step t363.t10.t2 (cl (! (= veriT_vr242 veriT_vr248) :named @p_1847)) :rule refl) (step t363.t10.t3 (cl (! (= @p_1805 (! (pair$b veriT_vr247 veriT_vr248) :named @p_1844)) :named @p_1848)) :rule cong :premises (t363.t10.t1 t363.t10.t2)) (step t363.t10.t4 (cl (= @p_1807 (! (is_res$b @p_1757 @p_1844) :named @p_1845))) :rule cong :premises (t363.t10.t3)) (step t363.t10.t5 (cl @p_1846) :rule refl) (step t363.t10.t6 (cl @p_1847) :rule refl) (step t363.t10.t7 (cl @p_1848) :rule cong :premises (t363.t10.t5 t363.t10.t6)) (step t363.t10.t8 (cl (= @p_1812 (! (is_res$b @p_846 @p_1844) :named @p_1849))) :rule cong :premises (t363.t10.t7)) (step t363.t10.t9 (cl (= @p_1814 (! (= @p_1845 @p_1849) :named @p_1850))) :rule cong :premises (t363.t10.t4 t363.t10.t8)) (step t363.t10 (cl (= @p_1816 (! (forall ((veriT_vr247 F$) (veriT_vr248 D$)) @p_1850) :named @p_1851))) :rule bind) (step t363.t11 (cl (= @p_1818 (! (and @p_1778 @p_1851) :named @p_1852))) :rule cong :premises (t363.t10)) (step t363.t12 (cl (= @p_1820 (! (or @p_1325 @p_1852) :named @p_1854))) :rule cong :premises (t363.t11)) (step t363.t13 (cl (! (= @p_1823 (! (=> @p_1853 @p_1854) :named @p_1856)) :named @p_1855)) :rule cong :premises (t363.t9 t363.t12)) (step t363.t14 (cl (not @p_1855) (not @p_1823) @p_1856) :rule equiv_pos2) (step t363.t15 (cl @p_1856) :rule th_resolution :premises (t363.t8 t363.t13 t363.t14)) (anchor :step t363.t16 :args ((:= (veriT_vr243 A$) veriT_sk41) (:= (veriT_vr244 C$) veriT_sk42))) (step t363.t16.t1 (cl (! (= veriT_vr243 veriT_sk41) :named @p_1859)) :rule refl) (step t363.t16.t2 (cl (! (= @p_1825 (! (fun_app$ veriT_sk0 veriT_sk41) :named @p_1858)) :named @p_1863)) :rule cong :premises (t363.t16.t1)) (step t363.t16.t3 (cl (! (= veriT_vr244 veriT_sk42) :named @p_1861)) :rule refl) (step t363.t16.t4 (cl (! (= @p_1761 (! (run$ @p_1858 veriT_sk42) :named @p_1776)) :named @p_1864)) :rule cong :premises (t363.t16.t2 t363.t16.t3)) (step t363.t16.t5 (cl (! (= @p_1759 (! (is_fail$ @p_1776) :named @p_1768)) :named @p_1865)) :rule cong :premises (t363.t16.t4)) (step t363.t16.t6 (cl @p_1859) :rule refl) (step t363.t16.t7 (cl (! (= @p_1827 (! (fun_app$ veriT_sk1 veriT_sk41) :named @p_1860)) :named @p_1868)) :rule cong :premises (t363.t16.t6)) (step t363.t16.t8 (cl @p_1861) :rule refl) (step t363.t16.t9 (cl (! (= @p_1760 (! (run$ @p_1860 veriT_sk42) :named @p_1769)) :named @p_1869)) :rule cong :premises (t363.t16.t7 t363.t16.t8)) (step t363.t16.t10 (cl (= @p_1829 (! (is_fail$ @p_1769) :named @p_1862))) :rule cong :premises (t363.t16.t9)) (step t363.t16.t11 (cl @p_1859) :rule refl) (step t363.t16.t12 (cl @p_1863) :rule cong :premises (t363.t16.t11)) (step t363.t16.t13 (cl @p_1861) :rule refl) (step t363.t16.t14 (cl @p_1864) :rule cong :premises (t363.t16.t12 t363.t16.t13)) (step t363.t16.t15 (cl @p_1865) :rule cong :premises (t363.t16.t14)) (step t363.t16.t16 (cl (= @p_1833 (! (= @p_1862 @p_1768) :named @p_1866))) :rule cong :premises (t363.t16.t10 t363.t16.t15)) (anchor :step t363.t16.t17 :args ((:= (veriT_vr245 B$) veriT_sk43) (:= (veriT_vr246 C$) veriT_sk44))) (step t363.t16.t17.t1 (cl @p_1859) :rule refl) (step t363.t16.t17.t2 (cl @p_1868) :rule cong :premises (t363.t16.t17.t1)) (step t363.t16.t17.t3 (cl @p_1861) :rule refl) (step t363.t16.t17.t4 (cl @p_1869) :rule cong :premises (t363.t16.t17.t2 t363.t16.t17.t3)) (step t363.t16.t17.t5 (cl (! (= veriT_vr245 veriT_sk43) :named @p_1872)) :rule refl) (step t363.t16.t17.t6 (cl (! (= veriT_vr246 veriT_sk44) :named @p_1873)) :rule refl) (step t363.t16.t17.t7 (cl (! (= @p_1762 (! (pair$ veriT_sk43 veriT_sk44) :named @p_1777)) :named @p_1874)) :rule cong :premises (t363.t16.t17.t5 t363.t16.t17.t6)) (step t363.t16.t17.t8 (cl (= @p_1837 (! (is_res$ @p_1769 @p_1777) :named @p_1871))) :rule cong :premises (t363.t16.t17.t4 t363.t16.t17.t7)) (step t363.t16.t17.t9 (cl @p_1859) :rule refl) (step t363.t16.t17.t10 (cl @p_1863) :rule cong :premises (t363.t16.t17.t9)) (step t363.t16.t17.t11 (cl @p_1861) :rule refl) (step t363.t16.t17.t12 (cl @p_1864) :rule cong :premises (t363.t16.t17.t10 t363.t16.t17.t11)) (step t363.t16.t17.t13 (cl @p_1872) :rule refl) (step t363.t16.t17.t14 (cl @p_1873) :rule refl) (step t363.t16.t17.t15 (cl @p_1874) :rule cong :premises (t363.t16.t17.t13 t363.t16.t17.t14)) (step t363.t16.t17.t16 (cl (= @p_1841 (! (is_res$ @p_1776 @p_1777) :named @p_1875))) :rule cong :premises (t363.t16.t17.t12 t363.t16.t17.t15)) (step t363.t16.t17.t17 (cl (= @p_1842 (! (= @p_1871 @p_1875) :named @p_1867))) :rule cong :premises (t363.t16.t17.t8 t363.t16.t17.t16)) (step t363.t16.t17 (cl (= @p_1834 @p_1867)) :rule sko_forall) (step t363.t16.t18 (cl (= @p_1843 (! (and @p_1866 @p_1867) :named @p_1876))) :rule cong :premises (t363.t16.t16 t363.t16.t17)) (step t363.t16.t19 (cl (= @p_1824 (! (or @p_1768 @p_1876) :named @p_1857))) :rule cong :premises (t363.t16.t5 t363.t16.t18)) (step t363.t16 (cl (= @p_1853 @p_1857)) :rule sko_forall) (step t363.t17 (cl (! (= @p_1856 (! (=> @p_1857 @p_1854) :named @p_1878)) :named @p_1877)) :rule cong :premises (t363.t16)) (step t363.t18 (cl (not @p_1877) (not @p_1856) @p_1878) :rule equiv_pos2) (step t363.t19 (cl @p_1878) :rule th_resolution :premises (t363.t15 t363.t17 t363.t18)) (anchor :step t363.t20 :args ((:= (veriT_vr247 F$) veriT_vr249) (:= (veriT_vr248 D$) veriT_vr250))) (step t363.t20.t1 (cl (! (= veriT_vr247 veriT_vr249) :named @p_1881)) :rule refl) (step t363.t20.t2 (cl (! (= veriT_vr248 veriT_vr250) :named @p_1882)) :rule refl) (step t363.t20.t3 (cl (! (= @p_1844 (! (pair$b veriT_vr249 veriT_vr250) :named @p_1779)) :named @p_1883)) :rule cong :premises (t363.t20.t1 t363.t20.t2)) (step t363.t20.t4 (cl (= @p_1845 (! (is_res$b @p_1757 @p_1779) :named @p_1880))) :rule cong :premises (t363.t20.t3)) (step t363.t20.t5 (cl @p_1881) :rule refl) (step t363.t20.t6 (cl @p_1882) :rule refl) (step t363.t20.t7 (cl @p_1883) :rule cong :premises (t363.t20.t5 t363.t20.t6)) (step t363.t20.t8 (cl (= @p_1849 (! (is_res$b @p_846 @p_1779) :named @p_1884))) :rule cong :premises (t363.t20.t7)) (step t363.t20.t9 (cl (= @p_1850 (! (= @p_1880 @p_1884) :named @p_1885))) :rule cong :premises (t363.t20.t4 t363.t20.t8)) (step t363.t20 (cl (= @p_1851 (! (forall ((veriT_vr249 F$) (veriT_vr250 D$)) @p_1885) :named @p_1879))) :rule bind) (step t363.t21 (cl (= @p_1852 (! (and @p_1778 @p_1879) :named @p_1886))) :rule cong :premises (t363.t20)) (step t363.t22 (cl (= @p_1854 (! (or @p_1325 @p_1886) :named @p_1887))) :rule cong :premises (t363.t21)) (step t363.t23 (cl (! (= @p_1878 (! (=> @p_1857 @p_1887) :named @p_1888)) :named @p_1889)) :rule cong :premises (t363.t22)) (step t363.t24 (cl (not @p_1889) (not @p_1878) @p_1888) :rule equiv_pos2) (step t363.t25 (cl @p_1888) :rule th_resolution :premises (t363.t19 t363.t23 t363.t24)) (step t363 (cl @p_1822 @p_1888) :rule subproof :discharge (h1)) (step t364 (cl @p_1385 @p_1758) :rule or :premises (t362)) (step t365 (cl (! (or @p_1385 @p_1888) :named @p_1890) @p_1533) :rule or_neg) (step t366 (cl @p_1890 @p_1154) :rule th_resolution :premises (t159 t365)) (step t367 (cl @p_1890 (! (not @p_1888) :named @p_1891)) :rule or_neg) (step t368 (cl @p_1890) :rule th_resolution :premises (t364 t363 t366 t367)) (step t369 (cl @p_1857 (not @p_1768)) :rule or_neg) (step t370 (cl @p_1866 @p_1862 @p_1768) :rule equiv_neg2) (step t371 (cl @p_1867 (! (not @p_1871) :named @p_1900) (! (not @p_1875) :named @p_1904)) :rule equiv_neg1) (step t372 (cl @p_1867 @p_1871 @p_1875) :rule equiv_neg2) (step t373 (cl @p_1876 (not @p_1866) (not @p_1867)) :rule and_neg) (step t374 (cl @p_1857 (not @p_1876)) :rule or_neg) (step t375 (cl (not @p_1886) @p_1879) :rule and_pos) (step t376 (cl (! (not @p_1887) :named @p_1916) @p_1325 @p_1886) :rule or_pos) (step t377 (cl @p_1891 (not @p_1857) @p_1887) :rule implies_pos) (step t378 (cl @p_1385 @p_1888) :rule or :premises (t368)) (step t379 (cl @p_1888) :rule resolution :premises (t378 t119)) (step t380 (cl (or @p_1341 (! (or @p_1768 (! (not @p_1862) :named @p_1895) @p_1768) :named @p_1892))) :rule forall_inst :args ((:= veriT_vr103 veriT_sk41) (:= veriT_vr104 veriT_sk42))) (step t381 (cl @p_1341 @p_1892) :rule or :premises (t380)) (step t382 (cl (! (or @p_1187 @p_1892) :named @p_1893) @p_1343) :rule or_neg) (step t383 (cl @p_1893 @p_1155) :rule th_resolution :premises (t198 t382)) (step t384 (cl @p_1893 (! (not @p_1892) :named @p_1894)) :rule or_neg) (step t385 (cl @p_1893) :rule th_resolution :premises (t194 t381 t383 t384)) (anchor :step t386) (assume t386.h1 @p_1892) (step t386.t2 (cl (! (= @p_1892 (! (or @p_1768 @p_1895) :named @p_1896)) :named @p_1897)) :rule ac_simp) (step t386.t3 (cl (not @p_1897) @p_1894 @p_1896) :rule equiv_pos2) (step t386.t4 (cl @p_1896) :rule th_resolution :premises (t386.h1 t386.t2 t386.t3)) (step t386 (cl @p_1894 @p_1896) :rule subproof :discharge (h1)) (step t387 (cl @p_1187 @p_1892) :rule or :premises (t385)) (step t388 (cl (! (or @p_1187 @p_1896) :named @p_1898) @p_1343) :rule or_neg) (step t389 (cl @p_1898 @p_1155) :rule th_resolution :premises (t198 t388)) (step t390 (cl @p_1898 (! (not @p_1896) :named @p_1899)) :rule or_neg) (step t391 (cl @p_1898) :rule th_resolution :premises (t387 t386 t389 t390)) (step t392 (cl @p_1899 @p_1768 @p_1895) :rule or_pos) (step t393 (cl @p_1187 @p_1896) :rule or :premises (t391)) (step t394 (cl @p_1896) :rule resolution :premises (t393 t120)) (step t395 (cl (or @p_1697 (! (or @p_1768 @p_1900 @p_1875) :named @p_1901))) :rule forall_inst :args ((:= veriT_vr103 veriT_sk41) (:= veriT_vr104 veriT_sk42) (:= veriT_vr105 veriT_sk43) (:= veriT_vr106 veriT_sk44))) (step t396 (cl @p_1697 @p_1901) :rule or :premises (t395)) (step t397 (cl (! (or @p_1187 @p_1901) :named @p_1902) @p_1343) :rule or_neg) (step t398 (cl @p_1902 @p_1155) :rule th_resolution :premises (t198 t397)) (step t399 (cl @p_1902 (! (not @p_1901) :named @p_1903)) :rule or_neg) (step t400 (cl @p_1902) :rule th_resolution :premises (t211 t396 t398 t399)) (step t401 (cl @p_1903 @p_1768 @p_1900 @p_1875) :rule or_pos) (step t402 (cl @p_1187 @p_1901) :rule or :premises (t400)) (step t403 (cl @p_1901) :rule resolution :premises (t402 t120)) (step t404 (cl @p_1768 @p_1875 @p_1867) :rule resolution :premises (t401 t372 t403)) (step t405 (cl (or @p_1706 (! (or @p_1768 @p_1904 @p_1871) :named @p_1905))) :rule forall_inst :args ((:= veriT_vr103 veriT_sk41) (:= veriT_vr104 veriT_sk42) (:= veriT_vr105 veriT_sk43) (:= veriT_vr106 veriT_sk44))) (step t406 (cl @p_1706 @p_1905) :rule or :premises (t405)) (step t407 (cl (! (or @p_1187 @p_1905) :named @p_1906) @p_1343) :rule or_neg) (step t408 (cl @p_1906 @p_1155) :rule th_resolution :premises (t198 t407)) (step t409 (cl @p_1906 (! (not @p_1905) :named @p_1907)) :rule or_neg) (step t410 (cl @p_1906) :rule th_resolution :premises (t212 t406 t408 t409)) (step t411 (cl @p_1907 @p_1768 @p_1904 @p_1871) :rule or_pos) (step t412 (cl @p_1187 @p_1905) :rule or :premises (t410)) (step t413 (cl @p_1905) :rule resolution :premises (t412 t120)) (step t414 (cl (or (! (not @p_1879) :named @p_1908) (! (forall ((veriT_vr249 F$) (veriT_vr250 D$)) (or (not @p_1884) @p_1880)) :named @p_1909))) :rule qnt_cnf) (step t415 (cl @p_1908 @p_1909) :rule or :premises (t414)) (step t416 (cl (or (! (not @p_1909) :named @p_1910) (! (or (! (not @p_847) :named @p_1915) @p_1753) :named @p_1911))) :rule forall_inst :args ((:= veriT_vr249 veriT_sk7) (:= veriT_vr250 veriT_sk8))) (step t417 (cl @p_1910 @p_1911) :rule or :premises (t416)) (step t418 (cl (! (or @p_1908 @p_1911) :named @p_1913) (! (not @p_1908) :named @p_1912)) :rule or_neg) (step t419 (cl (not @p_1912) @p_1879) :rule not_not) (step t420 (cl @p_1913 @p_1879) :rule th_resolution :premises (t419 t418)) (step t421 (cl @p_1913 (! (not @p_1911) :named @p_1914)) :rule or_neg) (step t422 (cl @p_1913) :rule th_resolution :premises (t415 t417 t420 t421)) (step t423 (cl @p_1914 @p_1915 @p_1753) :rule or_pos) (step t424 (cl @p_1908 @p_1911) :rule or :premises (t422)) (step t425 (cl @p_1916 @p_820 @p_780 @p_1335) :rule resolution :premises (t424 t423 t375 t355 t376 t244 t172 t356 t142 t141 t147 t151 t148 t144 t149 t136 t130 t135 t129 t245 t191 t187 t186 t174 t171)) (step t426 (cl @p_1287) :rule resolution :premises (t357 t183 t246 t182 t247 t208 t184 t181 t249 t210)) (step t427 (cl @p_1317) :rule resolution :premises (t189 t426 t193)) (step t428 (cl @p_1316) :rule resolution :premises (t192 t427)) (step t429 (cl @p_1208) :rule resolution :premises (t186 t428)) (step t430 (cl @p_1309) :rule resolution :premises (t187 t428)) (step t431 (cl @p_1338) :rule resolution :premises (t191 t429)) (step t432 (cl @p_1672) :rule resolution :premises (t241 t430)) (step t433 (cl @p_1673) :rule resolution :premises (t243 t430)) (step t434 (cl @p_1857) :rule resolution :premises (t411 t371 t404 t373 t370 t392 t374 t369 t413 t394)) (step t435 (cl @p_1887) :rule resolution :premises (t377 t434 t379)) (step t436 (cl @p_1400 @p_1518 @p_1510) :rule resolution :premises (t315 t253 t317)) (step t437 (cl (or (! (not @p_1741) :named @p_1917) (! (forall ((veriT_vr209 B$) (veriT_vr210 C$)) (or (not @p_1746) @p_1742)) :named @p_1918))) :rule qnt_cnf) (step t438 (cl @p_1917 @p_1918) :rule or :premises (t437)) (step t439 (cl (or (! (not @p_1918) :named @p_1920) (! (or @p_1919 @p_1514) :named @p_1921))) :rule forall_inst :args ((:= veriT_vr209 veriT_sk27) (:= veriT_vr210 veriT_sk28))) (step t440 (cl @p_1920 @p_1921) :rule or :premises (t439)) (step t441 (cl (! (or @p_1917 @p_1921) :named @p_1923) (! (not @p_1917) :named @p_1922)) :rule or_neg) (step t442 (cl (not @p_1922) @p_1741) :rule not_not) (step t443 (cl @p_1923 @p_1741) :rule th_resolution :premises (t442 t441)) (step t444 (cl @p_1923 (! (not @p_1921) :named @p_1924)) :rule or_neg) (step t445 (cl @p_1923) :rule th_resolution :premises (t438 t440 t443 t444)) (step t446 (cl @p_1924 @p_1919 @p_1514) :rule or_pos) (step t447 (cl @p_1917 @p_1921) :rule or :premises (t445)) (step t448 (cl @p_1500) :rule resolution :premises (t446 t252 t436 t447 t254 t358 t251 t359 t297 t255 t250 t361 t299)) (step t449 (cl @p_1530) :rule resolution :premises (t259 t448 t261)) (step t450 (cl @p_1178) :rule resolution :premises (t331 t449 t433)) (step t451 (cl @p_820) :rule resolution :premises (t425 t450 t428 t435)) (step t452 (cl @p_1925) :rule resolution :premises (t129 t450 t431)) (step t453 (cl @p_1165) :rule resolution :premises (t354 t451)) (step t454 (cl @p_1167) :rule resolution :premises (t130 t452)) (step t455 (cl @p_1166) :rule resolution :premises (t147 t453)) (step t456 (cl @p_1170) :rule resolution :premises (t148 t455)) (step t457 (cl @p_1926) :rule resolution :premises (t149 t456 t171 t454)) (step t458 (cl @p_1927) :rule resolution :premises (t140 t457)) (step t459 (cl @p_1181) :rule resolution :premises (t139 t458)) (step t460 (cl @p_1671) :rule resolution :premises (t239 t459)) (step t461 (cl @p_1720) :rule resolution :premises (t343 t460 t432 t451)) (step t462 (cl @p_1928) :rule resolution :premises (t270 t461 t272)) (step t463 (cl @p_1929) :rule resolution :premises (t262 t462)) (step t464 (cl @p_1930) :rule resolution :premises (t267 t462)) (step t465 (cl @p_1690) :rule resolution :premises (t300 t463 t302)) (step t466 (cl @p_1643) :rule resolution :premises (t263 t465 t463)) (step t467 (cl @p_1931) :rule resolution :premises (t266 t466 t464)) (step t468 (cl @p_1652) :rule resolution :premises (t321 t467 t463)) (step t469 (cl @p_1700) :rule resolution :premises (t264 t468 t467)) (step t470 (cl) :rule resolution :premises (t328 t468 t463 t330 t469)) -a352c3d2d258129c9c0fa30de525ad6ea4644748 543 0 +672f5a048dc0215d5adebfbf2f0a3a36f69e286e 910 0 unsat -(define-fun veriT_sk0 () Exp$ (! (choice ((veriT_vr40 Exp$)) (not (! (=> (! (member$ veriT_vr40 (! (myset$ z$) :named @p_199)) :named @p_278) (! (not (! (forall ((veriT_vr41 FreeExp$)) (! (not (! (= veriT_vr40 (! (fun_app$ uu$ veriT_vr41) :named @p_281)) :named @p_282)) :named @p_283)) :named @p_279)) :named @p_284)) :named @p_277))) :named @p_201)) -(define-fun veriT_sk1 () FreeExp_list$ (! (choice ((veriT_vr42 FreeExp_list$)) (! (= z$ (! (map2$ uu$ veriT_vr42) :named @p_286)) :named @p_285)) :named @p_301)) -(define-fun veriT_sk2 () FreeExp$ (! (choice ((veriT_vr48 FreeExp$)) (not (! (not (! (= veriT_sk0 (! (abs_Exp$ (! (myImage$ exprel$ (! (insert$ veriT_vr48 bot$) :named @p_356)) :named @p_357)) :named @p_358)) :named @p_359)) :named @p_355))) :named @p_366)) -(assume axiom0 (! (forall ((?v0 FreeExp$)) (! (= (! (fun_app$ uu$ ?v0) :named @p_3) (! (abs_Exp$ (! (myImage$ exprel$ (! (insert$ ?v0 bot$) :named @p_6)) :named @p_8)) :named @p_10)) :named @p_12)) :named @p_2)) -(assume axiom1 (! (forall ((?v0 FreeExp_list$)) (! (= (! (abs_ExpList$ ?v0) :named @p_1) (! (map2$ uu$ ?v0) :named @p_27)) :named @p_29)) :named @p_24)) -(assume axiom2 (! (forall ((?v0 Exp$)) (! (=> (! (forall ((?v1 FreeExp$)) (! (=> (! (= ?v0 (! (abs_Exp$ (! (myImage$ exprel$ (! (insert$ ?v1 bot$) :named @p_42)) :named @p_44)) :named @p_46)) :named @p_48) false) :named @p_50)) :named @p_40) false) :named @p_52)) :named @p_39)) -(assume axiom3 (! (forall ((?v0 Exp_list$) (?v1 FreeExp_exp_fun$)) (! (= (! (exists ((?v2 FreeExp_list$)) (! (= ?v0 (! (map2$ ?v1 ?v2) :named @p_74)) :named @p_76)) :named @p_72) (! (forall ((?v2 Exp$)) (! (=> (! (member$ ?v2 (! (myset$ ?v0) :named @p_81)) :named @p_83) (! (exists ((?v3 FreeExp$)) (! (= ?v2 (! (fun_app$ ?v1 ?v3) :named @p_89)) :named @p_91)) :named @p_85)) :named @p_93)) :named @p_78)) :named @p_95)) :named @p_71)) -(assume axiom4 (! (not (! (exists ((?v0 FreeExp_list$)) (! (= @p_1 z$) :named @p_178)) :named @p_176)) :named @p_180)) -(anchor :step t6 :args ((:= (?v0 FreeExp$) veriT_vr0))) -(step t6.t1 (cl (! (= ?v0 veriT_vr0) :named @p_5)) :rule refl) -(step t6.t2 (cl (= @p_3 (! (fun_app$ uu$ veriT_vr0) :named @p_4))) :rule cong :premises (t6.t1)) -(step t6.t3 (cl @p_5) :rule refl) -(step t6.t4 (cl (= @p_6 (! (insert$ veriT_vr0 bot$) :named @p_7))) :rule cong :premises (t6.t3)) -(step t6.t5 (cl (= @p_8 (! (myImage$ exprel$ @p_7) :named @p_9))) :rule cong :premises (t6.t4)) -(step t6.t6 (cl (= @p_10 (! (abs_Exp$ @p_9) :named @p_11))) :rule cong :premises (t6.t5)) -(step t6.t7 (cl (= @p_12 (! (= @p_4 @p_11) :named @p_13))) :rule cong :premises (t6.t2 t6.t6)) -(step t6 (cl (! (= @p_2 (! (forall ((veriT_vr0 FreeExp$)) @p_13) :named @p_15)) :named @p_14)) :rule bind) -(step t7 (cl (not @p_14) (not @p_2) @p_15) :rule equiv_pos2) -(step t8 (cl @p_15) :rule th_resolution :premises (axiom0 t6 t7)) -(anchor :step t9 :args ((:= (veriT_vr0 FreeExp$) veriT_vr1))) -(step t9.t1 (cl (! (= veriT_vr0 veriT_vr1) :named @p_17)) :rule refl) -(step t9.t2 (cl (= @p_4 (! (fun_app$ uu$ veriT_vr1) :named @p_16))) :rule cong :premises (t9.t1)) -(step t9.t3 (cl @p_17) :rule refl) -(step t9.t4 (cl (= @p_7 (! (insert$ veriT_vr1 bot$) :named @p_18))) :rule cong :premises (t9.t3)) -(step t9.t5 (cl (= @p_9 (! (myImage$ exprel$ @p_18) :named @p_19))) :rule cong :premises (t9.t4)) -(step t9.t6 (cl (= @p_11 (! (abs_Exp$ @p_19) :named @p_20))) :rule cong :premises (t9.t5)) -(step t9.t7 (cl (= @p_13 (! (= @p_16 @p_20) :named @p_21))) :rule cong :premises (t9.t2 t9.t6)) -(step t9 (cl (! (= @p_15 (! (forall ((veriT_vr1 FreeExp$)) @p_21) :named @p_23)) :named @p_22)) :rule bind) -(step t10 (cl (not @p_22) (not @p_15) @p_23) :rule equiv_pos2) -(step t11 (cl @p_23) :rule th_resolution :premises (t8 t9 t10)) -(anchor :step t12 :args ((:= (?v0 FreeExp_list$) veriT_vr2))) -(step t12.t1 (cl (! (= ?v0 veriT_vr2) :named @p_26)) :rule refl) -(step t12.t2 (cl (= @p_1 (! (abs_ExpList$ veriT_vr2) :named @p_25))) :rule cong :premises (t12.t1)) -(step t12.t3 (cl @p_26) :rule refl) -(step t12.t4 (cl (= @p_27 (! (map2$ uu$ veriT_vr2) :named @p_28))) :rule cong :premises (t12.t3)) -(step t12.t5 (cl (= @p_29 (! (= @p_25 @p_28) :named @p_30))) :rule cong :premises (t12.t2 t12.t4)) -(step t12 (cl (! (= @p_24 (! (forall ((veriT_vr2 FreeExp_list$)) @p_30) :named @p_32)) :named @p_31)) :rule bind) -(step t13 (cl (not @p_31) (not @p_24) @p_32) :rule equiv_pos2) -(step t14 (cl @p_32) :rule th_resolution :premises (axiom1 t12 t13)) -(anchor :step t15 :args ((:= (veriT_vr2 FreeExp_list$) veriT_vr3))) -(step t15.t1 (cl (! (= veriT_vr2 veriT_vr3) :named @p_34)) :rule refl) -(step t15.t2 (cl (= @p_25 (! (abs_ExpList$ veriT_vr3) :named @p_33))) :rule cong :premises (t15.t1)) -(step t15.t3 (cl @p_34) :rule refl) -(step t15.t4 (cl (= @p_28 (! (map2$ uu$ veriT_vr3) :named @p_35))) :rule cong :premises (t15.t3)) -(step t15.t5 (cl (= @p_30 (! (= @p_33 @p_35) :named @p_36))) :rule cong :premises (t15.t2 t15.t4)) -(step t15 (cl (! (= @p_32 (! (forall ((veriT_vr3 FreeExp_list$)) @p_36) :named @p_38)) :named @p_37)) :rule bind) -(step t16 (cl (not @p_37) (not @p_32) @p_38) :rule equiv_pos2) -(step t17 (cl @p_38) :rule th_resolution :premises (t14 t15 t16)) -(anchor :step t18 :args ((:= (?v0 Exp$) veriT_vr4))) -(anchor :step t18.t1 :args ((:= (?v1 FreeExp$) veriT_vr5))) -(step t18.t1.t1 (cl (= ?v0 veriT_vr4)) :rule refl) -(step t18.t1.t2 (cl (= ?v1 veriT_vr5)) :rule refl) -(step t18.t1.t3 (cl (= @p_42 (! (insert$ veriT_vr5 bot$) :named @p_43))) :rule cong :premises (t18.t1.t2)) -(step t18.t1.t4 (cl (= @p_44 (! (myImage$ exprel$ @p_43) :named @p_45))) :rule cong :premises (t18.t1.t3)) -(step t18.t1.t5 (cl (= @p_46 (! (abs_Exp$ @p_45) :named @p_47))) :rule cong :premises (t18.t1.t4)) -(step t18.t1.t6 (cl (= @p_48 (! (= veriT_vr4 @p_47) :named @p_49))) :rule cong :premises (t18.t1.t1 t18.t1.t5)) -(step t18.t1.t7 (cl (= @p_50 (! (=> @p_49 false) :named @p_51))) :rule cong :premises (t18.t1.t6)) -(step t18.t1 (cl (= @p_40 (! (forall ((veriT_vr5 FreeExp$)) @p_51) :named @p_41))) :rule bind) -(step t18.t2 (cl (= @p_52 (! (=> @p_41 false) :named @p_53))) :rule cong :premises (t18.t1)) -(step t18 (cl (! (= @p_39 (! (forall ((veriT_vr4 Exp$)) @p_53) :named @p_55)) :named @p_54)) :rule bind) -(step t19 (cl (not @p_54) (not @p_39) @p_55) :rule equiv_pos2) -(step t20 (cl @p_55) :rule th_resolution :premises (axiom2 t18 t19)) -(anchor :step t21 :args ((veriT_vr4 Exp$))) -(anchor :step t21.t1 :args ((veriT_vr5 FreeExp$))) -(step t21.t1.t1 (cl (= @p_51 (! (not @p_49) :named @p_57))) :rule implies_simplify) -(step t21.t1 (cl (= @p_41 (! (forall ((veriT_vr5 FreeExp$)) @p_57) :named @p_56))) :rule bind) -(step t21.t2 (cl (= @p_53 (! (=> @p_56 false) :named @p_58))) :rule cong :premises (t21.t1)) -(step t21.t3 (cl (= @p_58 (! (not @p_56) :named @p_59))) :rule implies_simplify) -(step t21.t4 (cl (= @p_53 @p_59)) :rule trans :premises (t21.t2 t21.t3)) -(step t21 (cl (! (= @p_55 (! (forall ((veriT_vr4 Exp$)) @p_59) :named @p_61)) :named @p_60)) :rule bind) -(step t22 (cl (not @p_60) (not @p_55) @p_61) :rule equiv_pos2) -(step t23 (cl @p_61) :rule th_resolution :premises (t20 t21 t22)) -(anchor :step t24 :args ((:= (veriT_vr4 Exp$) veriT_vr6))) -(anchor :step t24.t1 :args ((:= (veriT_vr5 FreeExp$) veriT_vr7))) -(step t24.t1.t1 (cl (= veriT_vr4 veriT_vr6)) :rule refl) -(step t24.t1.t2 (cl (= veriT_vr5 veriT_vr7)) :rule refl) -(step t24.t1.t3 (cl (= @p_43 (! (insert$ veriT_vr7 bot$) :named @p_63))) :rule cong :premises (t24.t1.t2)) -(step t24.t1.t4 (cl (= @p_45 (! (myImage$ exprel$ @p_63) :named @p_64))) :rule cong :premises (t24.t1.t3)) -(step t24.t1.t5 (cl (= @p_47 (! (abs_Exp$ @p_64) :named @p_65))) :rule cong :premises (t24.t1.t4)) -(step t24.t1.t6 (cl (= @p_49 (! (= veriT_vr6 @p_65) :named @p_66))) :rule cong :premises (t24.t1.t1 t24.t1.t5)) -(step t24.t1.t7 (cl (= @p_57 (! (not @p_66) :named @p_67))) :rule cong :premises (t24.t1.t6)) -(step t24.t1 (cl (= @p_56 (! (forall ((veriT_vr7 FreeExp$)) @p_67) :named @p_62))) :rule bind) -(step t24.t2 (cl (= @p_59 (! (not @p_62) :named @p_68))) :rule cong :premises (t24.t1)) -(step t24 (cl (! (= @p_61 (! (forall ((veriT_vr6 Exp$)) @p_68) :named @p_70)) :named @p_69)) :rule bind) -(step t25 (cl (not @p_69) (not @p_61) @p_70) :rule equiv_pos2) -(step t26 (cl @p_70) :rule th_resolution :premises (t23 t24 t25)) -(anchor :step t27 :args ((:= (?v0 Exp_list$) veriT_vr8) (:= (?v1 FreeExp_exp_fun$) veriT_vr9))) -(anchor :step t27.t1 :args ((:= (?v2 FreeExp_list$) veriT_vr10))) -(step t27.t1.t1 (cl (! (= ?v0 veriT_vr8) :named @p_80)) :rule refl) -(step t27.t1.t2 (cl (! (= ?v1 veriT_vr9) :named @p_88)) :rule refl) -(step t27.t1.t3 (cl (= ?v2 veriT_vr10)) :rule refl) -(step t27.t1.t4 (cl (= @p_74 (! (map2$ veriT_vr9 veriT_vr10) :named @p_75))) :rule cong :premises (t27.t1.t2 t27.t1.t3)) -(step t27.t1.t5 (cl (= @p_76 (! (= veriT_vr8 @p_75) :named @p_77))) :rule cong :premises (t27.t1.t1 t27.t1.t4)) -(step t27.t1 (cl (= @p_72 (! (exists ((veriT_vr10 FreeExp_list$)) @p_77) :named @p_73))) :rule bind) -(anchor :step t27.t2 :args ((:= (?v2 Exp$) veriT_vr11))) -(step t27.t2.t1 (cl (! (= ?v2 veriT_vr11) :named @p_87)) :rule refl) -(step t27.t2.t2 (cl @p_80) :rule refl) -(step t27.t2.t3 (cl (= @p_81 (! (myset$ veriT_vr8) :named @p_82))) :rule cong :premises (t27.t2.t2)) -(step t27.t2.t4 (cl (= @p_83 (! (member$ veriT_vr11 @p_82) :named @p_84))) :rule cong :premises (t27.t2.t1 t27.t2.t3)) -(anchor :step t27.t2.t5 :args ((:= (?v3 FreeExp$) veriT_vr12))) -(step t27.t2.t5.t1 (cl @p_87) :rule refl) -(step t27.t2.t5.t2 (cl @p_88) :rule refl) -(step t27.t2.t5.t3 (cl (= ?v3 veriT_vr12)) :rule refl) -(step t27.t2.t5.t4 (cl (= @p_89 (! (fun_app$ veriT_vr9 veriT_vr12) :named @p_90))) :rule cong :premises (t27.t2.t5.t2 t27.t2.t5.t3)) -(step t27.t2.t5.t5 (cl (= @p_91 (! (= veriT_vr11 @p_90) :named @p_92))) :rule cong :premises (t27.t2.t5.t1 t27.t2.t5.t4)) -(step t27.t2.t5 (cl (= @p_85 (! (exists ((veriT_vr12 FreeExp$)) @p_92) :named @p_86))) :rule bind) -(step t27.t2.t6 (cl (= @p_93 (! (=> @p_84 @p_86) :named @p_94))) :rule cong :premises (t27.t2.t4 t27.t2.t5)) -(step t27.t2 (cl (= @p_78 (! (forall ((veriT_vr11 Exp$)) @p_94) :named @p_79))) :rule bind) -(step t27.t3 (cl (= @p_95 (! (= @p_73 @p_79) :named @p_96))) :rule cong :premises (t27.t1 t27.t2)) -(step t27 (cl (! (= @p_71 (! (forall ((veriT_vr8 Exp_list$) (veriT_vr9 FreeExp_exp_fun$)) @p_96) :named @p_98)) :named @p_97)) :rule bind) -(step t28 (cl (not @p_97) (not @p_71) @p_98) :rule equiv_pos2) -(step t29 (cl @p_98) :rule th_resolution :premises (axiom3 t27 t28)) -(anchor :step t30 :args ((veriT_vr8 Exp_list$) (veriT_vr9 FreeExp_exp_fun$))) -(step t30.t1 (cl (= @p_96 (! (and (! (=> @p_73 @p_79) :named @p_115) (! (=> @p_79 @p_73) :named @p_128)) :named @p_99))) :rule connective_def) -(step t30 (cl (! (= @p_98 (! (forall ((veriT_vr8 Exp_list$) (veriT_vr9 FreeExp_exp_fun$)) @p_99) :named @p_101)) :named @p_100)) :rule bind) -(step t31 (cl (not @p_100) (not @p_98) @p_101) :rule equiv_pos2) -(step t32 (cl @p_101) :rule th_resolution :premises (t29 t30 t31)) -(anchor :step t33 :args ((:= (veriT_vr8 Exp_list$) veriT_vr13) (:= (veriT_vr9 FreeExp_exp_fun$) veriT_vr14))) -(anchor :step t33.t1 :args ((:= (veriT_vr10 FreeExp_list$) veriT_vr15))) -(step t33.t1.t1 (cl (! (= veriT_vr8 veriT_vr13) :named @p_107)) :rule refl) -(step t33.t1.t2 (cl (! (= veriT_vr9 veriT_vr14) :named @p_111)) :rule refl) -(step t33.t1.t3 (cl (= veriT_vr10 veriT_vr15)) :rule refl) -(step t33.t1.t4 (cl (= @p_75 (! (map2$ veriT_vr14 veriT_vr15) :named @p_104))) :rule cong :premises (t33.t1.t2 t33.t1.t3)) -(step t33.t1.t5 (cl (= @p_77 (! (= veriT_vr13 @p_104) :named @p_105))) :rule cong :premises (t33.t1.t1 t33.t1.t4)) -(step t33.t1 (cl (= @p_73 (! (exists ((veriT_vr15 FreeExp_list$)) @p_105) :named @p_103))) :rule bind) -(anchor :step t33.t2 :args ((:= (veriT_vr11 Exp$) veriT_vr16))) -(step t33.t2.t1 (cl (! (= veriT_vr11 veriT_vr16) :named @p_110)) :rule refl) -(step t33.t2.t2 (cl @p_107) :rule refl) -(step t33.t2.t3 (cl (! (= @p_82 (! (myset$ veriT_vr13) :named @p_102)) :named @p_118)) :rule cong :premises (t33.t2.t2)) -(step t33.t2.t4 (cl (= @p_84 (! (member$ veriT_vr16 @p_102) :named @p_108))) :rule cong :premises (t33.t2.t1 t33.t2.t3)) -(anchor :step t33.t2.t5 :args ((:= (veriT_vr12 FreeExp$) veriT_vr17))) -(step t33.t2.t5.t1 (cl @p_110) :rule refl) -(step t33.t2.t5.t2 (cl @p_111) :rule refl) -(step t33.t2.t5.t3 (cl (= veriT_vr12 veriT_vr17)) :rule refl) -(step t33.t2.t5.t4 (cl (= @p_90 (! (fun_app$ veriT_vr14 veriT_vr17) :named @p_112))) :rule cong :premises (t33.t2.t5.t2 t33.t2.t5.t3)) -(step t33.t2.t5.t5 (cl (= @p_92 (! (= veriT_vr16 @p_112) :named @p_113))) :rule cong :premises (t33.t2.t5.t1 t33.t2.t5.t4)) -(step t33.t2.t5 (cl (= @p_86 (! (exists ((veriT_vr17 FreeExp$)) @p_113) :named @p_109))) :rule bind) -(step t33.t2.t6 (cl (= @p_94 (! (=> @p_108 @p_109) :named @p_114))) :rule cong :premises (t33.t2.t4 t33.t2.t5)) -(step t33.t2 (cl (= @p_79 (! (forall ((veriT_vr16 Exp$)) @p_114) :named @p_106))) :rule bind) -(step t33.t3 (cl (= @p_115 (! (=> @p_103 @p_106) :named @p_116))) :rule cong :premises (t33.t1 t33.t2)) -(anchor :step t33.t4 :args ((:= (veriT_vr11 Exp$) veriT_vr18))) -(step t33.t4.t1 (cl (! (= veriT_vr11 veriT_vr18) :named @p_121)) :rule refl) -(step t33.t4.t2 (cl @p_107) :rule refl) -(step t33.t4.t3 (cl @p_118) :rule cong :premises (t33.t4.t2)) -(step t33.t4.t4 (cl (= @p_84 (! (member$ veriT_vr18 @p_102) :named @p_119))) :rule cong :premises (t33.t4.t1 t33.t4.t3)) -(anchor :step t33.t4.t5 :args ((:= (veriT_vr12 FreeExp$) veriT_vr19))) -(step t33.t4.t5.t1 (cl @p_121) :rule refl) -(step t33.t4.t5.t2 (cl @p_111) :rule refl) -(step t33.t4.t5.t3 (cl (= veriT_vr12 veriT_vr19)) :rule refl) -(step t33.t4.t5.t4 (cl (= @p_90 (! (fun_app$ veriT_vr14 veriT_vr19) :named @p_122))) :rule cong :premises (t33.t4.t5.t2 t33.t4.t5.t3)) -(step t33.t4.t5.t5 (cl (= @p_92 (! (= veriT_vr18 @p_122) :named @p_123))) :rule cong :premises (t33.t4.t5.t1 t33.t4.t5.t4)) -(step t33.t4.t5 (cl (= @p_86 (! (exists ((veriT_vr19 FreeExp$)) @p_123) :named @p_120))) :rule bind) -(step t33.t4.t6 (cl (= @p_94 (! (=> @p_119 @p_120) :named @p_124))) :rule cong :premises (t33.t4.t4 t33.t4.t5)) -(step t33.t4 (cl (= @p_79 (! (forall ((veriT_vr18 Exp$)) @p_124) :named @p_117))) :rule bind) -(anchor :step t33.t5 :args ((:= (veriT_vr10 FreeExp_list$) veriT_vr20))) -(step t33.t5.t1 (cl @p_107) :rule refl) -(step t33.t5.t2 (cl @p_111) :rule refl) -(step t33.t5.t3 (cl (= veriT_vr10 veriT_vr20)) :rule refl) -(step t33.t5.t4 (cl (= @p_75 (! (map2$ veriT_vr14 veriT_vr20) :named @p_126))) :rule cong :premises (t33.t5.t2 t33.t5.t3)) -(step t33.t5.t5 (cl (= @p_77 (! (= veriT_vr13 @p_126) :named @p_127))) :rule cong :premises (t33.t5.t1 t33.t5.t4)) -(step t33.t5 (cl (= @p_73 (! (exists ((veriT_vr20 FreeExp_list$)) @p_127) :named @p_125))) :rule bind) -(step t33.t6 (cl (= @p_128 (! (=> @p_117 @p_125) :named @p_129))) :rule cong :premises (t33.t4 t33.t5)) -(step t33.t7 (cl (= @p_99 (! (and @p_116 @p_129) :named @p_130))) :rule cong :premises (t33.t3 t33.t6)) -(step t33 (cl (! (= @p_101 (! (forall ((veriT_vr13 Exp_list$) (veriT_vr14 FreeExp_exp_fun$)) @p_130) :named @p_132)) :named @p_131)) :rule bind) -(step t34 (cl (not @p_131) (not @p_101) @p_132) :rule equiv_pos2) -(step t35 (cl @p_132) :rule th_resolution :premises (t32 t33 t34)) -(anchor :step t36 :args ((:= (veriT_vr13 Exp_list$) veriT_vr21) (:= (veriT_vr14 FreeExp_exp_fun$) veriT_vr22))) -(anchor :step t36.t1 :args ((:= (veriT_vr15 FreeExp_list$) veriT_vr23))) -(step t36.t1.t1 (cl (! (= veriT_vr13 veriT_vr21) :named @p_137)) :rule refl) -(step t36.t1.t2 (cl (! (= veriT_vr14 veriT_vr22) :named @p_142)) :rule refl) -(step t36.t1.t3 (cl (= veriT_vr15 veriT_vr23)) :rule refl) -(step t36.t1.t4 (cl (= @p_104 (! (map2$ veriT_vr22 veriT_vr23) :named @p_135))) :rule cong :premises (t36.t1.t2 t36.t1.t3)) -(step t36.t1.t5 (cl (= @p_105 (! (= veriT_vr21 @p_135) :named @p_136))) :rule cong :premises (t36.t1.t1 t36.t1.t4)) -(step t36.t1 (cl (= @p_103 (! (exists ((veriT_vr23 FreeExp_list$)) @p_136) :named @p_134))) :rule bind) -(anchor :step t36.t2 :args ((:= (veriT_vr16 Exp$) veriT_vr24))) -(step t36.t2.t1 (cl (! (= veriT_vr16 veriT_vr24) :named @p_141)) :rule refl) -(step t36.t2.t2 (cl @p_137) :rule refl) -(step t36.t2.t3 (cl (! (= @p_102 (! (myset$ veriT_vr21) :named @p_138)) :named @p_147)) :rule cong :premises (t36.t2.t2)) -(step t36.t2.t4 (cl (= @p_108 (! (member$ veriT_vr24 @p_138) :named @p_139))) :rule cong :premises (t36.t2.t1 t36.t2.t3)) -(anchor :step t36.t2.t5 :args ((:= (veriT_vr17 FreeExp$) veriT_vr25))) -(step t36.t2.t5.t1 (cl @p_141) :rule refl) -(step t36.t2.t5.t2 (cl @p_142) :rule refl) -(step t36.t2.t5.t3 (cl (= veriT_vr17 veriT_vr25)) :rule refl) -(step t36.t2.t5.t4 (cl (= @p_112 (! (fun_app$ veriT_vr22 veriT_vr25) :named @p_143))) :rule cong :premises (t36.t2.t5.t2 t36.t2.t5.t3)) -(step t36.t2.t5.t5 (cl (= @p_113 (! (= veriT_vr24 @p_143) :named @p_144))) :rule cong :premises (t36.t2.t5.t1 t36.t2.t5.t4)) -(step t36.t2.t5 (cl (= @p_109 (! (exists ((veriT_vr25 FreeExp$)) @p_144) :named @p_140))) :rule bind) -(step t36.t2.t6 (cl (= @p_114 (! (=> @p_139 @p_140) :named @p_145))) :rule cong :premises (t36.t2.t4 t36.t2.t5)) -(step t36.t2 (cl (= @p_106 (! (forall ((veriT_vr24 Exp$)) @p_145) :named @p_133))) :rule bind) -(step t36.t3 (cl (= @p_116 (! (=> @p_134 @p_133) :named @p_146))) :rule cong :premises (t36.t1 t36.t2)) -(anchor :step t36.t4 :args ((:= (veriT_vr18 Exp$) veriT_vr24))) -(step t36.t4.t1 (cl (! (= veriT_vr18 veriT_vr24) :named @p_148)) :rule refl) -(step t36.t4.t2 (cl @p_137) :rule refl) -(step t36.t4.t3 (cl @p_147) :rule cong :premises (t36.t4.t2)) -(step t36.t4.t4 (cl (= @p_119 @p_139)) :rule cong :premises (t36.t4.t1 t36.t4.t3)) -(anchor :step t36.t4.t5 :args ((:= (veriT_vr19 FreeExp$) veriT_vr25))) -(step t36.t4.t5.t1 (cl @p_148) :rule refl) -(step t36.t4.t5.t2 (cl @p_142) :rule refl) -(step t36.t4.t5.t3 (cl (= veriT_vr19 veriT_vr25)) :rule refl) -(step t36.t4.t5.t4 (cl (= @p_122 @p_143)) :rule cong :premises (t36.t4.t5.t2 t36.t4.t5.t3)) -(step t36.t4.t5.t5 (cl (= @p_123 @p_144)) :rule cong :premises (t36.t4.t5.t1 t36.t4.t5.t4)) -(step t36.t4.t5 (cl (= @p_120 @p_140)) :rule bind) -(step t36.t4.t6 (cl (= @p_124 @p_145)) :rule cong :premises (t36.t4.t4 t36.t4.t5)) -(step t36.t4 (cl (= @p_117 @p_133)) :rule bind) -(anchor :step t36.t5 :args ((:= (veriT_vr20 FreeExp_list$) veriT_vr23))) -(step t36.t5.t1 (cl @p_137) :rule refl) -(step t36.t5.t2 (cl @p_142) :rule refl) -(step t36.t5.t3 (cl (= veriT_vr20 veriT_vr23)) :rule refl) -(step t36.t5.t4 (cl (= @p_126 @p_135)) :rule cong :premises (t36.t5.t2 t36.t5.t3)) -(step t36.t5.t5 (cl (= @p_127 @p_136)) :rule cong :premises (t36.t5.t1 t36.t5.t4)) -(step t36.t5 (cl (= @p_125 @p_134)) :rule bind) -(step t36.t6 (cl (= @p_129 (! (=> @p_133 @p_134) :named @p_149))) :rule cong :premises (t36.t4 t36.t5)) -(step t36.t7 (cl (= @p_130 (! (and @p_146 @p_149) :named @p_150))) :rule cong :premises (t36.t3 t36.t6)) -(step t36 (cl (! (= @p_132 (! (forall ((veriT_vr21 Exp_list$) (veriT_vr22 FreeExp_exp_fun$)) @p_150) :named @p_152)) :named @p_151)) :rule bind) -(step t37 (cl (not @p_151) (not @p_132) @p_152) :rule equiv_pos2) -(step t38 (cl @p_152) :rule th_resolution :premises (t35 t36 t37)) -(anchor :step t39 :args ((:= (veriT_vr21 Exp_list$) veriT_vr21) (:= (veriT_vr22 FreeExp_exp_fun$) veriT_vr22))) -(anchor :step t39.t1 :args ((:= (veriT_vr24 Exp$) veriT_vr26))) -(step t39.t1.t1 (cl (! (= veriT_vr24 veriT_vr26) :named @p_156)) :rule refl) -(step t39.t1.t2 (cl (= @p_139 (! (member$ veriT_vr26 @p_138) :named @p_154))) :rule cong :premises (t39.t1.t1)) -(anchor :step t39.t1.t3 :args ((:= (veriT_vr25 FreeExp$) veriT_vr27))) -(step t39.t1.t3.t1 (cl @p_156) :rule refl) -(step t39.t1.t3.t2 (cl (= veriT_vr25 veriT_vr27)) :rule refl) -(step t39.t1.t3.t3 (cl (= @p_143 (! (fun_app$ veriT_vr22 veriT_vr27) :named @p_157))) :rule cong :premises (t39.t1.t3.t2)) -(step t39.t1.t3.t4 (cl (= @p_144 (! (= veriT_vr26 @p_157) :named @p_158))) :rule cong :premises (t39.t1.t3.t1 t39.t1.t3.t3)) -(step t39.t1.t3 (cl (= @p_140 (! (exists ((veriT_vr27 FreeExp$)) @p_158) :named @p_155))) :rule bind) -(step t39.t1.t4 (cl (= @p_145 (! (=> @p_154 @p_155) :named @p_159))) :rule cong :premises (t39.t1.t2 t39.t1.t3)) -(step t39.t1 (cl (= @p_133 (! (forall ((veriT_vr26 Exp$)) @p_159) :named @p_153))) :rule bind) -(anchor :step t39.t2 :args ((:= (veriT_vr23 FreeExp_list$) veriT_vr28))) -(step t39.t2.t1 (cl (= veriT_vr23 veriT_vr28)) :rule refl) -(step t39.t2.t2 (cl (= @p_135 (! (map2$ veriT_vr22 veriT_vr28) :named @p_161))) :rule cong :premises (t39.t2.t1)) -(step t39.t2.t3 (cl (= @p_136 (! (= veriT_vr21 @p_161) :named @p_162))) :rule cong :premises (t39.t2.t2)) -(step t39.t2 (cl (= @p_134 (! (exists ((veriT_vr28 FreeExp_list$)) @p_162) :named @p_160))) :rule bind) -(step t39.t3 (cl (= @p_149 (! (=> @p_153 @p_160) :named @p_163))) :rule cong :premises (t39.t1 t39.t2)) -(step t39.t4 (cl (= @p_150 (! (and @p_146 @p_163) :named @p_164))) :rule cong :premises (t39.t3)) -(step t39 (cl (! (= @p_152 (! (forall ((veriT_vr21 Exp_list$) (veriT_vr22 FreeExp_exp_fun$)) @p_164) :named @p_166)) :named @p_165)) :rule bind) -(step t40 (cl (not @p_165) (not @p_152) @p_166) :rule equiv_pos2) -(step t41 (cl @p_166) :rule th_resolution :premises (t38 t39 t40)) -(anchor :step t42 :args ((veriT_vr21 Exp_list$) (veriT_vr22 FreeExp_exp_fun$))) -(step t42.t1 (cl (= @p_134 (! (not (forall ((veriT_vr23 FreeExp_list$)) (not @p_136))) :named @p_167))) :rule connective_def) -(step t42.t2 (cl (= @p_146 (! (=> @p_167 @p_133) :named @p_168))) :rule cong :premises (t42.t1)) -(anchor :step t42.t3 :args ((veriT_vr26 Exp$))) -(step t42.t3.t1 (cl (= @p_155 (! (not (forall ((veriT_vr27 FreeExp$)) (not @p_158))) :named @p_170))) :rule connective_def) -(step t42.t3.t2 (cl (= @p_159 (! (=> @p_154 @p_170) :named @p_171))) :rule cong :premises (t42.t3.t1)) -(step t42.t3 (cl (= @p_153 (! (forall ((veriT_vr26 Exp$)) @p_171) :named @p_169))) :rule bind) -(step t42.t4 (cl (= @p_163 (! (=> @p_169 @p_160) :named @p_172))) :rule cong :premises (t42.t3)) -(step t42.t5 (cl (= @p_164 (! (and @p_168 @p_172) :named @p_173))) :rule cong :premises (t42.t2 t42.t4)) -(step t42 (cl (! (= @p_166 (! (forall ((veriT_vr21 Exp_list$) (veriT_vr22 FreeExp_exp_fun$)) @p_173) :named @p_175)) :named @p_174)) :rule bind) -(step t43 (cl (not @p_174) (not @p_166) @p_175) :rule equiv_pos2) -(step t44 (cl @p_175) :rule th_resolution :premises (t41 t42 t43)) -(anchor :step t45 :args ((:= (?v0 FreeExp_list$) veriT_vr29))) -(step t45.t1 (cl (= ?v0 veriT_vr29)) :rule refl) -(step t45.t2 (cl (= @p_1 (! (abs_ExpList$ veriT_vr29) :named @p_177))) :rule cong :premises (t45.t1)) -(step t45.t3 (cl (= @p_178 (! (= z$ @p_177) :named @p_179))) :rule cong :premises (t45.t2)) -(step t45 (cl (= @p_176 (! (exists ((veriT_vr29 FreeExp_list$)) @p_179) :named @p_181))) :rule bind) -(step t46 (cl (! (= @p_180 (! (not @p_181) :named @p_183)) :named @p_182)) :rule cong :premises (t45)) -(step t47 (cl (! (not @p_182) :named @p_185) (! (not @p_180) :named @p_184) @p_183) :rule equiv_pos2) -(step t48 (cl (not @p_184) @p_176) :rule not_not) -(step t49 (cl @p_185 @p_176 @p_183) :rule th_resolution :premises (t48 t47)) -(step t50 (cl @p_183) :rule th_resolution :premises (axiom4 t46 t49)) -(anchor :step t51 :args ((:= (veriT_vr29 FreeExp_list$) veriT_vr30))) -(step t51.t1 (cl (= veriT_vr29 veriT_vr30)) :rule refl) -(step t51.t2 (cl (= @p_177 (! (abs_ExpList$ veriT_vr30) :named @p_186))) :rule cong :premises (t51.t1)) -(step t51.t3 (cl (= @p_179 (! (= z$ @p_186) :named @p_187))) :rule cong :premises (t51.t2)) -(step t51 (cl (= @p_181 (! (exists ((veriT_vr30 FreeExp_list$)) @p_187) :named @p_188))) :rule bind) -(step t52 (cl (! (= @p_183 (! (not @p_188) :named @p_190)) :named @p_189)) :rule cong :premises (t51)) -(step t53 (cl (! (not @p_189) :named @p_192) (! (not @p_183) :named @p_191) @p_190) :rule equiv_pos2) -(step t54 (cl (not @p_191) @p_181) :rule not_not) -(step t55 (cl @p_192 @p_181 @p_190) :rule th_resolution :premises (t54 t53)) -(step t56 (cl @p_190) :rule th_resolution :premises (t50 t52 t55)) -(step t57 (cl (= @p_188 (! (not (! (forall ((veriT_vr30 FreeExp_list$)) (not @p_187)) :named @p_198)) :named @p_193))) :rule connective_def) -(step t58 (cl (! (= @p_190 (! (not @p_193) :named @p_195)) :named @p_194)) :rule cong :premises (t57)) -(step t59 (cl (! (not @p_194) :named @p_197) (! (not @p_190) :named @p_196) @p_195) :rule equiv_pos2) -(step t60 (cl (not @p_196) @p_188) :rule not_not) -(step t61 (cl @p_197 @p_188 @p_195) :rule th_resolution :premises (t60 t59)) -(step t62 (cl (not @p_195) @p_198) :rule not_not) -(step t63 (cl @p_197 @p_188 @p_198) :rule th_resolution :premises (t62 t61)) -(step t64 (cl @p_195) :rule th_resolution :premises (t56 t58 t63)) -(step t65 (cl @p_198) :rule th_resolution :premises (t62 t64)) -(step t66 (cl (or (! (not @p_175) :named @p_336) (! (and (! (=> (! (not (! (forall ((veriT_vr23 FreeExp_list$)) (! (not (! (= z$ (! (map2$ uu$ veriT_vr23) :named @p_203)) :named @p_205)) :named @p_207)) :named @p_202)) :named @p_209) (! (forall ((veriT_vr24 Exp$)) (! (=> (! (member$ veriT_vr24 @p_199) :named @p_212) (! (exists ((veriT_vr25 FreeExp$)) (! (= veriT_vr24 (! (fun_app$ uu$ veriT_vr25) :named @p_217)) :named @p_219)) :named @p_214)) :named @p_221)) :named @p_211)) :named @p_223) (! (=> (! (forall ((veriT_vr26 Exp$)) (! (=> (! (member$ veriT_vr26 @p_199) :named @p_227) (! (not (! (forall ((veriT_vr27 FreeExp$)) (! (not (! (= veriT_vr26 (! (fun_app$ uu$ veriT_vr27) :named @p_231)) :named @p_232)) :named @p_233)) :named @p_228)) :named @p_235)) :named @p_237)) :named @p_226) (! (exists ((veriT_vr28 FreeExp_list$)) (! (= z$ (! (map2$ uu$ veriT_vr28) :named @p_240)) :named @p_241)) :named @p_239)) :named @p_242)) :named @p_200))) :rule forall_inst :args ((:= veriT_vr21 z$) (:= veriT_vr22 uu$))) -(anchor :step t67) -(assume t67.h1 @p_200) -(anchor :step t67.t2 :args ((:= (veriT_vr23 FreeExp_list$) veriT_vr31))) -(step t67.t2.t1 (cl (= veriT_vr23 veriT_vr31)) :rule refl) -(step t67.t2.t2 (cl (= @p_203 (! (map2$ uu$ veriT_vr31) :named @p_204))) :rule cong :premises (t67.t2.t1)) -(step t67.t2.t3 (cl (= @p_205 (! (= z$ @p_204) :named @p_206))) :rule cong :premises (t67.t2.t2)) -(step t67.t2.t4 (cl (= @p_207 (! (not @p_206) :named @p_208))) :rule cong :premises (t67.t2.t3)) -(step t67.t2 (cl (= @p_202 (! (forall ((veriT_vr31 FreeExp_list$)) @p_208) :named @p_210))) :rule bind) -(step t67.t3 (cl (= @p_209 (! (not @p_210) :named @p_224))) :rule cong :premises (t67.t2)) -(anchor :step t67.t4 :args ((:= (veriT_vr24 Exp$) veriT_vr32))) -(step t67.t4.t1 (cl (! (= veriT_vr24 veriT_vr32) :named @p_216)) :rule refl) -(step t67.t4.t2 (cl (= @p_212 (! (member$ veriT_vr32 @p_199) :named @p_213))) :rule cong :premises (t67.t4.t1)) -(anchor :step t67.t4.t3 :args ((:= (veriT_vr25 FreeExp$) veriT_vr33))) -(step t67.t4.t3.t1 (cl @p_216) :rule refl) -(step t67.t4.t3.t2 (cl (= veriT_vr25 veriT_vr33)) :rule refl) -(step t67.t4.t3.t3 (cl (= @p_217 (! (fun_app$ uu$ veriT_vr33) :named @p_218))) :rule cong :premises (t67.t4.t3.t2)) -(step t67.t4.t3.t4 (cl (= @p_219 (! (= veriT_vr32 @p_218) :named @p_220))) :rule cong :premises (t67.t4.t3.t1 t67.t4.t3.t3)) -(step t67.t4.t3 (cl (= @p_214 (! (exists ((veriT_vr33 FreeExp$)) @p_220) :named @p_215))) :rule bind) -(step t67.t4.t4 (cl (= @p_221 (! (=> @p_213 @p_215) :named @p_222))) :rule cong :premises (t67.t4.t2 t67.t4.t3)) -(step t67.t4 (cl (= @p_211 (! (forall ((veriT_vr32 Exp$)) @p_222) :named @p_225))) :rule bind) -(step t67.t5 (cl (= @p_223 (! (=> @p_224 @p_225) :named @p_245))) :rule cong :premises (t67.t3 t67.t4)) -(anchor :step t67.t6 :args ((:= (veriT_vr26 Exp$) veriT_vr32))) -(step t67.t6.t1 (cl (! (= veriT_vr26 veriT_vr32) :named @p_230)) :rule refl) -(step t67.t6.t2 (cl (= @p_227 @p_213)) :rule cong :premises (t67.t6.t1)) -(anchor :step t67.t6.t3 :args ((:= (veriT_vr27 FreeExp$) veriT_vr33))) -(step t67.t6.t3.t1 (cl @p_230) :rule refl) -(step t67.t6.t3.t2 (cl (= veriT_vr27 veriT_vr33)) :rule refl) -(step t67.t6.t3.t3 (cl (= @p_231 @p_218)) :rule cong :premises (t67.t6.t3.t2)) -(step t67.t6.t3.t4 (cl (= @p_232 @p_220)) :rule cong :premises (t67.t6.t3.t1 t67.t6.t3.t3)) -(step t67.t6.t3.t5 (cl (= @p_233 (! (not @p_220) :named @p_234))) :rule cong :premises (t67.t6.t3.t4)) -(step t67.t6.t3 (cl (= @p_228 (! (forall ((veriT_vr33 FreeExp$)) @p_234) :named @p_229))) :rule bind) -(step t67.t6.t4 (cl (= @p_235 (! (not @p_229) :named @p_236))) :rule cong :premises (t67.t6.t3)) -(step t67.t6.t5 (cl (= @p_237 (! (=> @p_213 @p_236) :named @p_238))) :rule cong :premises (t67.t6.t2 t67.t6.t4)) -(step t67.t6 (cl (= @p_226 (! (forall ((veriT_vr32 Exp$)) @p_238) :named @p_243))) :rule bind) -(anchor :step t67.t7 :args ((:= (veriT_vr28 FreeExp_list$) veriT_vr31))) -(step t67.t7.t1 (cl (= veriT_vr28 veriT_vr31)) :rule refl) -(step t67.t7.t2 (cl (= @p_240 @p_204)) :rule cong :premises (t67.t7.t1)) -(step t67.t7.t3 (cl (= @p_241 @p_206)) :rule cong :premises (t67.t7.t2)) -(step t67.t7 (cl (= @p_239 (! (exists ((veriT_vr31 FreeExp_list$)) @p_206) :named @p_244))) :rule bind) -(step t67.t8 (cl (= @p_242 (! (=> @p_243 @p_244) :named @p_246))) :rule cong :premises (t67.t6 t67.t7)) -(step t67.t9 (cl (! (= @p_200 (! (and @p_245 @p_246) :named @p_249)) :named @p_247)) :rule cong :premises (t67.t5 t67.t8)) -(step t67.t10 (cl (not @p_247) (! (not @p_200) :named @p_248) @p_249) :rule equiv_pos2) -(step t67.t11 (cl @p_249) :rule th_resolution :premises (t67.h1 t67.t9 t67.t10)) -(anchor :step t67.t12 :args ((:= (veriT_vr32 Exp$) veriT_vr34))) -(step t67.t12.t1 (cl (! (= veriT_vr32 veriT_vr34) :named @p_252)) :rule refl) -(step t67.t12.t2 (cl (= @p_213 (! (member$ veriT_vr34 @p_199) :named @p_250))) :rule cong :premises (t67.t12.t1)) -(anchor :step t67.t12.t3 :args ((:= (veriT_vr33 FreeExp$) veriT_vr35))) -(step t67.t12.t3.t1 (cl @p_252) :rule refl) -(step t67.t12.t3.t2 (cl (= veriT_vr33 veriT_vr35)) :rule refl) -(step t67.t12.t3.t3 (cl (= @p_218 (! (fun_app$ uu$ veriT_vr35) :named @p_253))) :rule cong :premises (t67.t12.t3.t2)) -(step t67.t12.t3.t4 (cl (= @p_220 (! (= veriT_vr34 @p_253) :named @p_254))) :rule cong :premises (t67.t12.t3.t1 t67.t12.t3.t3)) -(step t67.t12.t3.t5 (cl (= @p_234 (! (not @p_254) :named @p_255))) :rule cong :premises (t67.t12.t3.t4)) -(step t67.t12.t3 (cl (= @p_229 (! (forall ((veriT_vr35 FreeExp$)) @p_255) :named @p_251))) :rule bind) -(step t67.t12.t4 (cl (= @p_236 (! (not @p_251) :named @p_256))) :rule cong :premises (t67.t12.t3)) -(step t67.t12.t5 (cl (= @p_238 (! (=> @p_250 @p_256) :named @p_257))) :rule cong :premises (t67.t12.t2 t67.t12.t4)) -(step t67.t12 (cl (= @p_243 (! (forall ((veriT_vr34 Exp$)) @p_257) :named @p_260))) :rule bind) -(anchor :step t67.t13 :args ((:= (veriT_vr31 FreeExp_list$) veriT_vr36))) -(step t67.t13.t1 (cl (= veriT_vr31 veriT_vr36)) :rule refl) -(step t67.t13.t2 (cl (= @p_204 (! (map2$ uu$ veriT_vr36) :named @p_258))) :rule cong :premises (t67.t13.t1)) -(step t67.t13.t3 (cl (= @p_206 (! (= z$ @p_258) :named @p_259))) :rule cong :premises (t67.t13.t2)) -(step t67.t13 (cl (= @p_244 (! (exists ((veriT_vr36 FreeExp_list$)) @p_259) :named @p_261))) :rule bind) -(step t67.t14 (cl (= @p_246 (! (=> @p_260 @p_261) :named @p_262))) :rule cong :premises (t67.t12 t67.t13)) -(step t67.t15 (cl (! (= @p_249 (! (and @p_245 @p_262) :named @p_264)) :named @p_263)) :rule cong :premises (t67.t14)) -(step t67.t16 (cl (not @p_263) (not @p_249) @p_264) :rule equiv_pos2) -(step t67.t17 (cl @p_264) :rule th_resolution :premises (t67.t11 t67.t15 t67.t16)) -(anchor :step t67.t18 :args ((:= (veriT_vr31 FreeExp_list$) veriT_vr37))) -(step t67.t18.t1 (cl (= veriT_vr31 veriT_vr37)) :rule refl) -(step t67.t18.t2 (cl (= @p_204 (! (map2$ uu$ veriT_vr37) :named @p_265))) :rule cong :premises (t67.t18.t1)) -(step t67.t18.t3 (cl (= @p_206 (! (= z$ @p_265) :named @p_266))) :rule cong :premises (t67.t18.t2)) -(step t67.t18.t4 (cl (= @p_208 (! (not @p_266) :named @p_267))) :rule cong :premises (t67.t18.t3)) -(step t67.t18 (cl (= @p_210 (! (forall ((veriT_vr37 FreeExp_list$)) @p_267) :named @p_268))) :rule bind) -(step t67.t19 (cl (= @p_224 (! (not @p_268) :named @p_275))) :rule cong :premises (t67.t18)) -(anchor :step t67.t20 :args ((:= (veriT_vr32 Exp$) veriT_vr38))) -(step t67.t20.t1 (cl (! (= veriT_vr32 veriT_vr38) :named @p_271)) :rule refl) -(step t67.t20.t2 (cl (= @p_213 (! (member$ veriT_vr38 @p_199) :named @p_269))) :rule cong :premises (t67.t20.t1)) -(anchor :step t67.t20.t3 :args ((:= (veriT_vr33 FreeExp$) veriT_vr39))) -(step t67.t20.t3.t1 (cl @p_271) :rule refl) -(step t67.t20.t3.t2 (cl (= veriT_vr33 veriT_vr39)) :rule refl) -(step t67.t20.t3.t3 (cl (= @p_218 (! (fun_app$ uu$ veriT_vr39) :named @p_272))) :rule cong :premises (t67.t20.t3.t2)) -(step t67.t20.t3.t4 (cl (= @p_220 (! (= veriT_vr38 @p_272) :named @p_273))) :rule cong :premises (t67.t20.t3.t1 t67.t20.t3.t3)) -(step t67.t20.t3 (cl (= @p_215 (! (exists ((veriT_vr39 FreeExp$)) @p_273) :named @p_270))) :rule bind) -(step t67.t20.t4 (cl (= @p_222 (! (=> @p_269 @p_270) :named @p_274))) :rule cong :premises (t67.t20.t2 t67.t20.t3)) -(step t67.t20 (cl (= @p_225 (! (forall ((veriT_vr38 Exp$)) @p_274) :named @p_276))) :rule bind) -(step t67.t21 (cl (= @p_245 (! (=> @p_275 @p_276) :named @p_289))) :rule cong :premises (t67.t19 t67.t20)) -(anchor :step t67.t22 :args ((:= (veriT_vr34 Exp$) veriT_vr40))) -(step t67.t22.t1 (cl (! (= veriT_vr34 veriT_vr40) :named @p_280)) :rule refl) -(step t67.t22.t2 (cl (= @p_250 @p_278)) :rule cong :premises (t67.t22.t1)) -(anchor :step t67.t22.t3 :args ((:= (veriT_vr35 FreeExp$) veriT_vr41))) -(step t67.t22.t3.t1 (cl @p_280) :rule refl) -(step t67.t22.t3.t2 (cl (= veriT_vr35 veriT_vr41)) :rule refl) -(step t67.t22.t3.t3 (cl (= @p_253 @p_281)) :rule cong :premises (t67.t22.t3.t2)) -(step t67.t22.t3.t4 (cl (= @p_254 @p_282)) :rule cong :premises (t67.t22.t3.t1 t67.t22.t3.t3)) -(step t67.t22.t3.t5 (cl (= @p_255 @p_283)) :rule cong :premises (t67.t22.t3.t4)) -(step t67.t22.t3 (cl (= @p_251 @p_279)) :rule bind) -(step t67.t22.t4 (cl (= @p_256 @p_284)) :rule cong :premises (t67.t22.t3)) -(step t67.t22.t5 (cl (= @p_257 @p_277)) :rule cong :premises (t67.t22.t2 t67.t22.t4)) -(step t67.t22 (cl (= @p_260 (! (forall ((veriT_vr40 Exp$)) @p_277) :named @p_287))) :rule bind) -(anchor :step t67.t23 :args ((:= (veriT_vr36 FreeExp_list$) veriT_vr42))) -(step t67.t23.t1 (cl (= veriT_vr36 veriT_vr42)) :rule refl) -(step t67.t23.t2 (cl (= @p_258 @p_286)) :rule cong :premises (t67.t23.t1)) -(step t67.t23.t3 (cl (= @p_259 @p_285)) :rule cong :premises (t67.t23.t2)) -(step t67.t23 (cl (= @p_261 (! (exists ((veriT_vr42 FreeExp_list$)) @p_285) :named @p_288))) :rule bind) -(step t67.t24 (cl (= @p_262 (! (=> @p_287 @p_288) :named @p_290))) :rule cong :premises (t67.t22 t67.t23)) -(step t67.t25 (cl (! (= @p_264 (! (and @p_289 @p_290) :named @p_292)) :named @p_291)) :rule cong :premises (t67.t21 t67.t24)) -(step t67.t26 (cl (not @p_291) (not @p_264) @p_292) :rule equiv_pos2) -(step t67.t27 (cl @p_292) :rule th_resolution :premises (t67.t17 t67.t25 t67.t26)) -(anchor :step t67.t28 :args ((:= (veriT_vr40 Exp$) veriT_sk0))) -(step t67.t28.t1 (cl (! (= veriT_vr40 veriT_sk0) :named @p_295)) :rule refl) -(step t67.t28.t2 (cl (= @p_278 (! (member$ veriT_sk0 @p_199) :named @p_293))) :rule cong :premises (t67.t28.t1)) -(anchor :step t67.t28.t3 :args ((veriT_vr41 FreeExp$))) -(step t67.t28.t3.t1 (cl @p_295) :rule refl) -(step t67.t28.t3.t2 (cl (= @p_282 (! (= @p_281 veriT_sk0) :named @p_296))) :rule cong :premises (t67.t28.t3.t1)) -(step t67.t28.t3.t3 (cl (= @p_283 (! (not @p_296) :named @p_297))) :rule cong :premises (t67.t28.t3.t2)) -(step t67.t28.t3 (cl (= @p_279 (! (forall ((veriT_vr41 FreeExp$)) @p_297) :named @p_294))) :rule bind) -(step t67.t28.t4 (cl (= @p_284 (! (not @p_294) :named @p_298))) :rule cong :premises (t67.t28.t3)) -(step t67.t28.t5 (cl (= @p_277 (! (=> @p_293 @p_298) :named @p_299))) :rule cong :premises (t67.t28.t2 t67.t28.t4)) -(step t67.t28 (cl (= @p_287 @p_299)) :rule sko_forall) -(anchor :step t67.t29 :args ((:= (veriT_vr42 FreeExp_list$) veriT_sk1))) -(step t67.t29.t1 (cl (= veriT_vr42 veriT_sk1)) :rule refl) -(step t67.t29.t2 (cl (= @p_286 (! (map2$ uu$ veriT_sk1) :named @p_302))) :rule cong :premises (t67.t29.t1)) -(step t67.t29.t3 (cl (= @p_285 (! (= z$ @p_302) :named @p_300))) :rule cong :premises (t67.t29.t2)) -(step t67.t29 (cl (= @p_288 @p_300)) :rule sko_ex) -(step t67.t30 (cl (= @p_290 (! (=> @p_299 @p_300) :named @p_303))) :rule cong :premises (t67.t28 t67.t29)) -(step t67.t31 (cl (! (= @p_292 (! (and @p_289 @p_303) :named @p_305)) :named @p_304)) :rule cong :premises (t67.t30)) -(step t67.t32 (cl (not @p_304) (not @p_292) @p_305) :rule equiv_pos2) -(step t67.t33 (cl @p_305) :rule th_resolution :premises (t67.t27 t67.t31 t67.t32)) -(anchor :step t67.t34 :args ((:= (veriT_vr37 FreeExp_list$) veriT_vr43))) -(step t67.t34.t1 (cl (= veriT_vr37 veriT_vr43)) :rule refl) -(step t67.t34.t2 (cl (= @p_265 (! (map2$ uu$ veriT_vr43) :named @p_307))) :rule cong :premises (t67.t34.t1)) -(step t67.t34.t3 (cl (= @p_266 (! (= z$ @p_307) :named @p_308))) :rule cong :premises (t67.t34.t2)) -(step t67.t34.t4 (cl (= @p_267 (! (not @p_308) :named @p_309))) :rule cong :premises (t67.t34.t3)) -(step t67.t34 (cl (= @p_268 (! (forall ((veriT_vr43 FreeExp_list$)) @p_309) :named @p_306))) :rule bind) -(step t67.t35 (cl (= @p_275 (! (not @p_306) :named @p_310))) :rule cong :premises (t67.t34)) -(anchor :step t67.t36 :args ((:= (veriT_vr38 Exp$) veriT_vr44))) -(step t67.t36.t1 (cl (! (= veriT_vr38 veriT_vr44) :named @p_314)) :rule refl) -(step t67.t36.t2 (cl (= @p_269 (! (member$ veriT_vr44 @p_199) :named @p_312))) :rule cong :premises (t67.t36.t1)) -(anchor :step t67.t36.t3 :args ((:= (veriT_vr39 FreeExp$) veriT_vr45))) -(step t67.t36.t3.t1 (cl @p_314) :rule refl) -(step t67.t36.t3.t2 (cl (= veriT_vr39 veriT_vr45)) :rule refl) -(step t67.t36.t3.t3 (cl (= @p_272 (! (fun_app$ uu$ veriT_vr45) :named @p_315))) :rule cong :premises (t67.t36.t3.t2)) -(step t67.t36.t3.t4 (cl (= @p_273 (! (= veriT_vr44 @p_315) :named @p_316))) :rule cong :premises (t67.t36.t3.t1 t67.t36.t3.t3)) -(step t67.t36.t3 (cl (= @p_270 (! (exists ((veriT_vr45 FreeExp$)) @p_316) :named @p_313))) :rule bind) -(step t67.t36.t4 (cl (= @p_274 (! (=> @p_312 @p_313) :named @p_317))) :rule cong :premises (t67.t36.t2 t67.t36.t3)) -(step t67.t36 (cl (= @p_276 (! (forall ((veriT_vr44 Exp$)) @p_317) :named @p_311))) :rule bind) -(step t67.t37 (cl (= @p_289 (! (=> @p_310 @p_311) :named @p_318))) :rule cong :premises (t67.t35 t67.t36)) -(anchor :step t67.t38 :args ((:= (veriT_vr41 FreeExp$) veriT_vr45))) -(step t67.t38.t1 (cl (= veriT_vr41 veriT_vr45)) :rule refl) -(step t67.t38.t2 (cl (= @p_281 @p_315)) :rule cong :premises (t67.t38.t1)) -(step t67.t38.t3 (cl (= @p_296 (! (= veriT_sk0 @p_315) :named @p_319))) :rule cong :premises (t67.t38.t2)) -(step t67.t38.t4 (cl (= @p_297 (! (not @p_319) :named @p_320))) :rule cong :premises (t67.t38.t3)) -(step t67.t38 (cl (= @p_294 (! (forall ((veriT_vr45 FreeExp$)) @p_320) :named @p_321))) :rule bind) -(step t67.t39 (cl (= @p_298 (! (not @p_321) :named @p_322))) :rule cong :premises (t67.t38)) -(step t67.t40 (cl (= @p_299 (! (=> @p_293 @p_322) :named @p_323))) :rule cong :premises (t67.t39)) -(step t67.t41 (cl (= @p_303 (! (=> @p_323 @p_300) :named @p_324))) :rule cong :premises (t67.t40)) -(step t67.t42 (cl (! (= @p_305 (! (and @p_318 @p_324) :named @p_326)) :named @p_325)) :rule cong :premises (t67.t37 t67.t41)) -(step t67.t43 (cl (not @p_325) (not @p_305) @p_326) :rule equiv_pos2) -(step t67.t44 (cl @p_326) :rule th_resolution :premises (t67.t33 t67.t42 t67.t43)) -(anchor :step t67.t45 :args ((:= (veriT_vr45 FreeExp$) veriT_vr46))) -(step t67.t45.t1 (cl (= veriT_vr45 veriT_vr46)) :rule refl) -(step t67.t45.t2 (cl (= @p_315 (! (fun_app$ uu$ veriT_vr46) :named @p_328))) :rule cong :premises (t67.t45.t1)) -(step t67.t45.t3 (cl (= @p_319 (! (= veriT_sk0 @p_328) :named @p_329))) :rule cong :premises (t67.t45.t2)) -(step t67.t45.t4 (cl (= @p_320 (! (not @p_329) :named @p_330))) :rule cong :premises (t67.t45.t3)) -(step t67.t45 (cl (= @p_321 (! (forall ((veriT_vr46 FreeExp$)) @p_330) :named @p_327))) :rule bind) -(step t67.t46 (cl (= @p_322 (! (not @p_327) :named @p_331))) :rule cong :premises (t67.t45)) -(step t67.t47 (cl (= @p_323 (! (=> @p_293 @p_331) :named @p_332))) :rule cong :premises (t67.t46)) -(step t67.t48 (cl (= @p_324 (! (=> @p_332 @p_300) :named @p_333))) :rule cong :premises (t67.t47)) -(step t67.t49 (cl (! (= @p_326 (! (and @p_318 @p_333) :named @p_334)) :named @p_335)) :rule cong :premises (t67.t48)) -(step t67.t50 (cl (not @p_335) (not @p_326) @p_334) :rule equiv_pos2) -(step t67.t51 (cl @p_334) :rule th_resolution :premises (t67.t44 t67.t49 t67.t50)) -(step t67 (cl @p_248 @p_334) :rule subproof :discharge (h1)) -(step t68 (cl @p_336 @p_200) :rule or :premises (t66)) -(step t69 (cl (! (or @p_336 @p_334) :named @p_338) (! (not @p_336) :named @p_337)) :rule or_neg) -(step t70 (cl (not @p_337) @p_175) :rule not_not) -(step t71 (cl @p_338 @p_175) :rule th_resolution :premises (t70 t69)) -(step t72 (cl @p_338 (! (not @p_334) :named @p_340)) :rule or_neg) -(step t73 (cl @p_338) :rule th_resolution :premises (t68 t67 t71 t72)) -(step t74 (cl @p_332 (! (not @p_331) :named @p_339)) :rule implies_neg2) -(step t75 (cl (not @p_339) @p_327) :rule not_not) -(step t76 (cl @p_332 @p_327) :rule th_resolution :premises (t75 t74)) -(step t77 (cl (not @p_333) (! (not @p_332) :named @p_393) @p_300) :rule implies_pos) -(step t78 (cl @p_340 @p_333) :rule and_pos) -(step t79 (cl @p_336 @p_334) :rule or :premises (t73)) -(step t80 (cl @p_334) :rule resolution :premises (t79 t44)) -(step t81 (cl @p_333) :rule resolution :premises (t78 t80)) -(step t82 (cl (or (! (not @p_70) :named @p_377) (! (not (! (forall ((veriT_vr7 FreeExp$)) (! (not (! (= @p_65 veriT_sk0) :named @p_346)) :named @p_348)) :named @p_342)) :named @p_341))) :rule forall_inst :args ((:= veriT_vr6 veriT_sk0))) -(anchor :step t83) -(assume t83.h1 @p_341) -(anchor :step t83.t2 :args ((:= (veriT_vr7 FreeExp$) veriT_vr47))) -(step t83.t2.t1 (cl (= veriT_vr7 veriT_vr47)) :rule refl) -(step t83.t2.t2 (cl (= @p_63 (! (insert$ veriT_vr47 bot$) :named @p_343))) :rule cong :premises (t83.t2.t1)) -(step t83.t2.t3 (cl (= @p_64 (! (myImage$ exprel$ @p_343) :named @p_344))) :rule cong :premises (t83.t2.t2)) -(step t83.t2.t4 (cl (= @p_65 (! (abs_Exp$ @p_344) :named @p_345))) :rule cong :premises (t83.t2.t3)) -(step t83.t2.t5 (cl (= @p_346 (! (= veriT_sk0 @p_345) :named @p_347))) :rule cong :premises (t83.t2.t4)) -(step t83.t2.t6 (cl (= @p_348 (! (not @p_347) :named @p_349))) :rule cong :premises (t83.t2.t5)) -(step t83.t2 (cl (= @p_342 (! (forall ((veriT_vr47 FreeExp$)) @p_349) :named @p_350))) :rule bind) -(step t83.t3 (cl (! (= @p_341 (! (not @p_350) :named @p_353)) :named @p_351)) :rule cong :premises (t83.t2)) -(step t83.t4 (cl (! (not @p_351) :named @p_354) (! (not @p_341) :named @p_352) @p_353) :rule equiv_pos2) -(step t83.t5 (cl (! (not @p_352) :named @p_376) @p_342) :rule not_not) -(step t83.t6 (cl @p_354 @p_342 @p_353) :rule th_resolution :premises (t83.t5 t83.t4)) -(step t83.t7 (cl @p_353) :rule th_resolution :premises (t83.h1 t83.t3 t83.t6)) -(anchor :step t83.t8 :args ((:= (veriT_vr47 FreeExp$) veriT_vr48))) -(step t83.t8.t1 (cl (= veriT_vr47 veriT_vr48)) :rule refl) -(step t83.t8.t2 (cl (= @p_343 @p_356)) :rule cong :premises (t83.t8.t1)) -(step t83.t8.t3 (cl (= @p_344 @p_357)) :rule cong :premises (t83.t8.t2)) -(step t83.t8.t4 (cl (= @p_345 @p_358)) :rule cong :premises (t83.t8.t3)) -(step t83.t8.t5 (cl (= @p_347 @p_359)) :rule cong :premises (t83.t8.t4)) -(step t83.t8.t6 (cl (= @p_349 @p_355)) :rule cong :premises (t83.t8.t5)) -(step t83.t8 (cl (= @p_350 (! (forall ((veriT_vr48 FreeExp$)) @p_355) :named @p_360))) :rule bind) -(step t83.t9 (cl (! (= @p_353 (! (not @p_360) :named @p_362)) :named @p_361)) :rule cong :premises (t83.t8)) -(step t83.t10 (cl (! (not @p_361) :named @p_364) (! (not @p_353) :named @p_363) @p_362) :rule equiv_pos2) -(step t83.t11 (cl (not @p_363) @p_350) :rule not_not) -(step t83.t12 (cl @p_364 @p_350 @p_362) :rule th_resolution :premises (t83.t11 t83.t10)) -(step t83.t13 (cl @p_362) :rule th_resolution :premises (t83.t7 t83.t9 t83.t12)) -(anchor :step t83.t14 :args ((:= (veriT_vr48 FreeExp$) veriT_sk2))) -(step t83.t14.t1 (cl (= veriT_vr48 veriT_sk2)) :rule refl) -(step t83.t14.t2 (cl (= @p_356 (! (insert$ veriT_sk2 bot$) :named @p_367))) :rule cong :premises (t83.t14.t1)) -(step t83.t14.t3 (cl (= @p_357 (! (myImage$ exprel$ @p_367) :named @p_368))) :rule cong :premises (t83.t14.t2)) -(step t83.t14.t4 (cl (= @p_358 (! (abs_Exp$ @p_368) :named @p_369))) :rule cong :premises (t83.t14.t3)) -(step t83.t14.t5 (cl (= @p_359 (! (= veriT_sk0 @p_369) :named @p_365))) :rule cong :premises (t83.t14.t4)) -(step t83.t14.t6 (cl (= @p_355 (! (not @p_365) :named @p_370))) :rule cong :premises (t83.t14.t5)) -(step t83.t14 (cl (= @p_360 @p_370)) :rule sko_forall) -(step t83.t15 (cl (! (= @p_362 (! (not @p_370) :named @p_372)) :named @p_371)) :rule cong :premises (t83.t14)) -(step t83.t16 (cl (! (not @p_371) :named @p_374) (! (not @p_362) :named @p_373) @p_372) :rule equiv_pos2) -(step t83.t17 (cl (not @p_373) @p_360) :rule not_not) -(step t83.t18 (cl @p_374 @p_360 @p_372) :rule th_resolution :premises (t83.t17 t83.t16)) -(step t83.t19 (cl (! (not @p_372) :named @p_375) @p_365) :rule not_not) -(step t83.t20 (cl @p_374 @p_360 @p_365) :rule th_resolution :premises (t83.t19 t83.t18)) -(step t83.t21 (cl @p_372) :rule th_resolution :premises (t83.t13 t83.t15 t83.t20)) -(step t83.t22 (cl @p_375 @p_365) :rule not_not) -(step t83.t23 (cl @p_365) :rule th_resolution :premises (t83.t22 t83.t21)) -(step t83.t24 (cl (= @p_372 @p_365)) :rule not_simplify) -(step t83.t25 (cl @p_365) :rule th_resolution :premises (t83.t23 t83.t24)) -(step t83 (cl @p_352 @p_365) :rule subproof :discharge (h1)) -(step t84 (cl @p_376 @p_342) :rule not_not) -(step t85 (cl @p_342 @p_365) :rule th_resolution :premises (t84 t83)) -(step t86 (cl @p_377 @p_341) :rule or :premises (t82)) -(step t87 (cl (! (or @p_377 @p_365) :named @p_379) (! (not @p_377) :named @p_378)) :rule or_neg) -(step t88 (cl (not @p_378) @p_70) :rule not_not) -(step t89 (cl @p_379 @p_70) :rule th_resolution :premises (t88 t87)) -(step t90 (cl @p_379 @p_370) :rule or_neg) -(step t91 (cl @p_379) :rule th_resolution :premises (t86 t85 t89 t90)) -(step t92 (cl @p_377 @p_365) :rule or :premises (t91)) -(step t93 (cl @p_365) :rule resolution :premises (t92 t26)) -(step t94 (cl (or @p_331 (! (not (! (= veriT_sk0 (! (fun_app$ uu$ veriT_sk2) :named @p_381)) :named @p_392)) :named @p_382))) :rule forall_inst :args ((:= veriT_vr46 veriT_sk2))) -(step t95 (cl (or @p_193 (! (not (! (= z$ (! (abs_ExpList$ veriT_sk1) :named @p_380)) :named @p_389)) :named @p_383))) :rule forall_inst :args ((:= veriT_vr30 veriT_sk1))) -(step t96 (cl (or (! (not @p_38) :named @p_384) (! (= @p_302 @p_380) :named @p_385))) :rule forall_inst :args ((:= veriT_vr3 veriT_sk1))) -(step t97 (cl (or (! (not @p_23) :named @p_386) (! (= @p_369 @p_381) :named @p_387))) :rule forall_inst :args ((:= veriT_vr1 veriT_sk2))) -(step t98 (cl @p_331 @p_382) :rule or :premises (t94)) -(step t99 (cl @p_193 @p_383) :rule or :premises (t95)) -(step t100 (cl @p_383) :rule resolution :premises (t99 t65)) -(step t101 (cl @p_384 @p_385) :rule or :premises (t96)) -(step t102 (cl @p_385) :rule resolution :premises (t101 t17)) -(step t103 (cl @p_386 @p_387) :rule or :premises (t97)) -(step t104 (cl @p_387) :rule resolution :premises (t103 t11)) -(step t105 (cl (! (= z$ z$) :named @p_388)) :rule eq_reflexive) -(step t106 (cl (not @p_388) (! (not @p_300) :named @p_390) (! (not @p_385) :named @p_391) @p_389) :rule eq_transitive) -(step t107 (cl @p_390 @p_391 @p_389) :rule th_resolution :premises (t106 t105)) -(step t108 (cl @p_390) :rule resolution :premises (t107 t100 t102)) -(step t109 (cl @p_370 (not @p_387) @p_392) :rule eq_transitive) -(step t110 (cl @p_392) :rule resolution :premises (t109 t93 t104)) -(step t111 (cl @p_393) :rule resolution :premises (t77 t108 t81)) -(step t112 (cl @p_331) :rule resolution :premises (t98 t110)) -(step t113 (cl) :rule resolution :premises (t76 t111 t112)) -c24fc06f55d92aed7783d8234aedb7ced3e99be7 2 0 -(error "status is not unsat.") -unknown +(define-fun veriT_sk0 () V$ (! (choice ((veriT_vr65 V$)) (not (! (not (! (= x2$ (! (rraise$ veriT_vr65) :named @p_401)) :named @p_402)) :named @p_400))) :named @p_414)) +(define-fun veriT_sk1 () Abort$ (! (choice ((veriT_vr66 Abort$)) (not (! (not (! (= x2$ (! (rabort$ veriT_vr66) :named @p_404)) :named @p_405)) :named @p_403))) :named @p_418)) +(define-fun veriT_sk3 () V_list_v_result$ (! (choice ((veriT_vr73 V_list_v_result$)) (! (= (! (fun_evaluate$ st$a env$ (cons$ e$ nil$)) :named @p_3) (! (pair$ (! (fst$ @p_3) :named @p_378) veriT_vr73) :named @p_461)) :named @p_460)) :named @p_465)) +(define-fun veriT_sk11 () V_list_v_result$ (! (choice ((veriT_vr108 V_list_v_result$)) (! (= (! (fix_clock$ st$a @p_3) :named @p_470) (! (pair$ st$ veriT_vr108) :named @p_503)) :named @p_502)) :named @p_515)) +(assume a0 (! (forall ((?v0 V$)) (! (= (! (fun_app$ uua$ ?v0) :named @p_9) (! (fun_app$ (! (fun_evaluate_match$ st$ env$ ?v0 pes$) :named @p_12) ?v0) :named @p_14)) :named @p_16)) :named @p_8)) +(assume a1 (! (forall ((?v0 Abort$)) (! (= (! (fun_app$a uub$ ?v0) :named @p_28) (! (pair$ st$ (! (rerr$ (! (rabort$ ?v0) :named @p_31)) :named @p_33)) :named @p_35)) :named @p_37)) :named @p_27)) +(assume a2 (! (forall ((?v0 Astate$) (?v1 Astate$) (?v2 Nat$)) (! (= (! (fun_app$b (! (uu$ ?v0 ?v1) :named @p_5) ?v2) :named @p_53) (! (ite (! (less_eq$ (! (clock$ ?v1) :named @p_1) (! (clock$ ?v0) :named @p_2)) :named @p_57) @p_1 @p_2) :named @p_61)) :named @p_63)) :named @p_49)) +(assume a3 (! (= @p_470 (! (pair$ st$ r$) :named @p_609)) :named @p_628)) +(assume a4 (! (less_eq$ (! (clock$ @p_378) :named @p_371) (! (clock$ st$a) :named @p_7)) :named @p_369)) +(assume a5 (! (forall ((?v0 Nat$) (?v1 Nat$) (?v2 Nat$)) (! (=> (! (and (! (less_eq$ ?v0 ?v1) :named @p_81) (! (less_eq$ ?v2 ?v0) :named @p_84)) :named @p_86) (! (less_eq$ ?v2 ?v1) :named @p_90)) :named @p_92)) :named @p_80)) +(assume a6 (! (forall ((?v0 Astate$) (?v1 Astate_v_list_v_result_prod$)) (! (= (! (= ?v0 (! (fst$ ?v1) :named @p_107)) :named @p_109) (! (exists ((?v2 V_list_v_result$)) (! (= ?v1 (! (pair$ ?v0 ?v2) :named @p_115)) :named @p_117)) :named @p_111)) :named @p_119)) :named @p_106)) +(assume a7 (! (forall ((?v0 V_error_result$)) (! (=> (! (and (! (forall ((?v1 V$)) (! (=> (! (= ?v0 (! (rraise$ ?v1) :named @p_174)) :named @p_6) false) :named @p_177)) :named @p_172) (! (forall ((?v1 Abort$)) (! (=> (! (= ?v0 (! (rabort$ ?v1) :named @p_182)) :named @p_184) false) :named @p_186)) :named @p_179)) :named @p_188) false) :named @p_190)) :named @p_171)) +(assume a8 (! (forall ((?v0 V_astate_v_list_v_result_prod_fun$) (?v1 Abort_astate_v_list_v_result_prod_fun$) (?v2 V$)) (! (= (! (case_error_result$ ?v0 ?v1 (! (rraise$ ?v2) :named @p_217)) :named @p_219) (! (fun_app$ ?v0 ?v2) :named @p_223)) :named @p_225)) :named @p_216)) +(assume a9 (! (forall ((?v0 V_astate_v_list_v_result_prod_fun$) (?v1 Abort_astate_v_list_v_result_prod_fun$) (?v2 Abort$)) (! (= (! (case_error_result$ ?v0 ?v1 (! (rabort$ ?v2) :named @p_238)) :named @p_240) (! (fun_app$a ?v1 ?v2) :named @p_244)) :named @p_246)) :named @p_237)) +(assume a10 (! (forall ((?v0 Astate$) (?v1 Astate$) (?v2 V_list_v_result$) (?v3 Astate$)) (! (=> (! (= (! (fix_clock$ ?v0 (! (pair$ ?v1 ?v2) :named @p_259)) :named @p_4) (! (pair$ ?v3 ?v2) :named @p_263)) :named @p_265) (! (less_eq$ (! (clock$ ?v3) :named @p_268) @p_1) :named @p_272)) :named @p_274)) :named @p_258)) +(assume a11 (! (forall ((?v0 Astate$) (?v1 Astate$) (?v2 V_list_v_result$)) (! (= @p_4 (! (pair$ (! (update_clock$ @p_5 ?v1) :named @p_297) ?v2) :named @p_300)) :named @p_302)) :named @p_291)) +(assume a12 (! (forall ((?v0 V_error_result$) (?v1 V$)) (! (=> (! (and (! (= r$ (! (rerr$ ?v0) :named @p_319)) :named @p_321) @p_6) :named @p_326) (! (less_eq$ (! (clock$ (! (fst$ (! (fun_app$ (! (fun_evaluate_match$ st$ env$ ?v1 pes$) :named @p_329) ?v1) :named @p_331)) :named @p_333)) :named @p_335) (! (clock$ st$) :named @p_318)) :named @p_337)) :named @p_339)) :named @p_317)) +(assume a13 (! (not (! (=> (! (= r$ (! (rerr$ x2$) :named @p_615)) :named @p_359) (! (less_eq$ (! (clock$ (! (fst$ (! (case_error_result$ uua$ uub$ x2$) :named @p_602)) :named @p_530)) :named @p_370) @p_7) :named @p_360)) :named @p_364)) :named @p_358)) +(anchor :step t15 :args ((:= (?v0 V$) veriT_vr0))) +(step t15.t1 (cl (! (= ?v0 veriT_vr0) :named @p_11)) :rule refl) +(step t15.t2 (cl (= @p_9 (! (fun_app$ uua$ veriT_vr0) :named @p_10))) :rule cong :premises (t15.t1)) +(step t15.t3 (cl @p_11) :rule refl) +(step t15.t4 (cl (= @p_12 (! (fun_evaluate_match$ st$ env$ veriT_vr0 pes$) :named @p_13))) :rule cong :premises (t15.t3)) +(step t15.t5 (cl @p_11) :rule refl) +(step t15.t6 (cl (= @p_14 (! (fun_app$ @p_13 veriT_vr0) :named @p_15))) :rule cong :premises (t15.t4 t15.t5)) +(step t15.t7 (cl (= @p_16 (! (= @p_10 @p_15) :named @p_17))) :rule cong :premises (t15.t2 t15.t6)) +(step t15 (cl (! (= @p_8 (! (forall ((veriT_vr0 V$)) @p_17) :named @p_19)) :named @p_18)) :rule bind) +(step t16 (cl (not @p_18) (not @p_8) @p_19) :rule equiv_pos2) +(step t17 (cl @p_19) :rule th_resolution :premises (a0 t15 t16)) +(anchor :step t18 :args ((:= (veriT_vr0 V$) veriT_vr1))) +(step t18.t1 (cl (! (= veriT_vr0 veriT_vr1) :named @p_21)) :rule refl) +(step t18.t2 (cl (= @p_10 (! (fun_app$ uua$ veriT_vr1) :named @p_20))) :rule cong :premises (t18.t1)) +(step t18.t3 (cl @p_21) :rule refl) +(step t18.t4 (cl (= @p_13 (! (fun_evaluate_match$ st$ env$ veriT_vr1 pes$) :named @p_22))) :rule cong :premises (t18.t3)) +(step t18.t5 (cl @p_21) :rule refl) +(step t18.t6 (cl (= @p_15 (! (fun_app$ @p_22 veriT_vr1) :named @p_23))) :rule cong :premises (t18.t4 t18.t5)) +(step t18.t7 (cl (= @p_17 (! (= @p_20 @p_23) :named @p_24))) :rule cong :premises (t18.t2 t18.t6)) +(step t18 (cl (! (= @p_19 (! (forall ((veriT_vr1 V$)) @p_24) :named @p_26)) :named @p_25)) :rule bind) +(step t19 (cl (not @p_25) (not @p_19) @p_26) :rule equiv_pos2) +(step t20 (cl @p_26) :rule th_resolution :premises (t17 t18 t19)) +(anchor :step t21 :args ((:= (?v0 Abort$) veriT_vr2))) +(step t21.t1 (cl (! (= ?v0 veriT_vr2) :named @p_30)) :rule refl) +(step t21.t2 (cl (= @p_28 (! (fun_app$a uub$ veriT_vr2) :named @p_29))) :rule cong :premises (t21.t1)) +(step t21.t3 (cl @p_30) :rule refl) +(step t21.t4 (cl (= @p_31 (! (rabort$ veriT_vr2) :named @p_32))) :rule cong :premises (t21.t3)) +(step t21.t5 (cl (= @p_33 (! (rerr$ @p_32) :named @p_34))) :rule cong :premises (t21.t4)) +(step t21.t6 (cl (= @p_35 (! (pair$ st$ @p_34) :named @p_36))) :rule cong :premises (t21.t5)) +(step t21.t7 (cl (= @p_37 (! (= @p_29 @p_36) :named @p_38))) :rule cong :premises (t21.t2 t21.t6)) +(step t21 (cl (! (= @p_27 (! (forall ((veriT_vr2 Abort$)) @p_38) :named @p_40)) :named @p_39)) :rule bind) +(step t22 (cl (not @p_39) (not @p_27) @p_40) :rule equiv_pos2) +(step t23 (cl @p_40) :rule th_resolution :premises (a1 t21 t22)) +(anchor :step t24 :args ((:= (veriT_vr2 Abort$) veriT_vr3))) +(step t24.t1 (cl (! (= veriT_vr2 veriT_vr3) :named @p_42)) :rule refl) +(step t24.t2 (cl (= @p_29 (! (fun_app$a uub$ veriT_vr3) :named @p_41))) :rule cong :premises (t24.t1)) +(step t24.t3 (cl @p_42) :rule refl) +(step t24.t4 (cl (= @p_32 (! (rabort$ veriT_vr3) :named @p_43))) :rule cong :premises (t24.t3)) +(step t24.t5 (cl (= @p_34 (! (rerr$ @p_43) :named @p_44))) :rule cong :premises (t24.t4)) +(step t24.t6 (cl (= @p_36 (! (pair$ st$ @p_44) :named @p_45))) :rule cong :premises (t24.t5)) +(step t24.t7 (cl (= @p_38 (! (= @p_41 @p_45) :named @p_46))) :rule cong :premises (t24.t2 t24.t6)) +(step t24 (cl (! (= @p_40 (! (forall ((veriT_vr3 Abort$)) @p_46) :named @p_48)) :named @p_47)) :rule bind) +(step t25 (cl (not @p_47) (not @p_40) @p_48) :rule equiv_pos2) +(step t26 (cl @p_48) :rule th_resolution :premises (t23 t24 t25)) +(anchor :step t27 :args ((:= (?v0 Astate$) veriT_vr4) (:= (?v1 Astate$) veriT_vr5) (:= (?v2 Nat$) veriT_vr6))) +(step t27.t1 (cl (! (= ?v0 veriT_vr4) :named @p_56)) :rule refl) +(step t27.t2 (cl (! (= ?v1 veriT_vr5) :named @p_55)) :rule refl) +(step t27.t3 (cl (= @p_5 (! (uu$ veriT_vr4 veriT_vr5) :named @p_52))) :rule cong :premises (t27.t1 t27.t2)) +(step t27.t4 (cl (= ?v2 veriT_vr6)) :rule refl) +(step t27.t5 (cl (= @p_53 (! (fun_app$b @p_52 veriT_vr6) :named @p_54))) :rule cong :premises (t27.t3 t27.t4)) +(step t27.t6 (cl @p_55) :rule refl) +(step t27.t7 (cl (! (= @p_1 (! (clock$ veriT_vr5) :named @p_50)) :named @p_59)) :rule cong :premises (t27.t6)) +(step t27.t8 (cl @p_56) :rule refl) +(step t27.t9 (cl (! (= @p_2 (! (clock$ veriT_vr4) :named @p_51)) :named @p_60)) :rule cong :premises (t27.t8)) +(step t27.t10 (cl (= @p_57 (! (less_eq$ @p_50 @p_51) :named @p_58))) :rule cong :premises (t27.t7 t27.t9)) +(step t27.t11 (cl @p_55) :rule refl) +(step t27.t12 (cl @p_59) :rule cong :premises (t27.t11)) +(step t27.t13 (cl @p_56) :rule refl) +(step t27.t14 (cl @p_60) :rule cong :premises (t27.t13)) +(step t27.t15 (cl (= @p_61 (! (ite @p_58 @p_50 @p_51) :named @p_62))) :rule cong :premises (t27.t10 t27.t12 t27.t14)) +(step t27.t16 (cl (= @p_63 (! (= @p_54 @p_62) :named @p_64))) :rule cong :premises (t27.t5 t27.t15)) +(step t27 (cl (! (= @p_49 (! (forall ((veriT_vr4 Astate$) (veriT_vr5 Astate$) (veriT_vr6 Nat$)) @p_64) :named @p_66)) :named @p_65)) :rule bind) +(step t28 (cl (not @p_65) (not @p_49) @p_66) :rule equiv_pos2) +(step t29 (cl @p_66) :rule th_resolution :premises (a2 t27 t28)) +(anchor :step t30 :args ((:= (veriT_vr4 Astate$) veriT_vr7) (:= (veriT_vr5 Astate$) veriT_vr8) (:= (veriT_vr6 Nat$) veriT_vr9))) +(step t30.t1 (cl (! (= veriT_vr4 veriT_vr7) :named @p_72)) :rule refl) +(step t30.t2 (cl (! (= veriT_vr5 veriT_vr8) :named @p_71)) :rule refl) +(step t30.t3 (cl (= @p_52 (! (uu$ veriT_vr7 veriT_vr8) :named @p_69))) :rule cong :premises (t30.t1 t30.t2)) +(step t30.t4 (cl (= veriT_vr6 veriT_vr9)) :rule refl) +(step t30.t5 (cl (= @p_54 (! (fun_app$b @p_69 veriT_vr9) :named @p_70))) :rule cong :premises (t30.t3 t30.t4)) +(step t30.t6 (cl @p_71) :rule refl) +(step t30.t7 (cl (! (= @p_50 (! (clock$ veriT_vr8) :named @p_67)) :named @p_74)) :rule cong :premises (t30.t6)) +(step t30.t8 (cl @p_72) :rule refl) +(step t30.t9 (cl (! (= @p_51 (! (clock$ veriT_vr7) :named @p_68)) :named @p_75)) :rule cong :premises (t30.t8)) +(step t30.t10 (cl (= @p_58 (! (less_eq$ @p_67 @p_68) :named @p_73))) :rule cong :premises (t30.t7 t30.t9)) +(step t30.t11 (cl @p_71) :rule refl) +(step t30.t12 (cl @p_74) :rule cong :premises (t30.t11)) +(step t30.t13 (cl @p_72) :rule refl) +(step t30.t14 (cl @p_75) :rule cong :premises (t30.t13)) +(step t30.t15 (cl (= @p_62 (! (ite @p_73 @p_67 @p_68) :named @p_76))) :rule cong :premises (t30.t10 t30.t12 t30.t14)) +(step t30.t16 (cl (= @p_64 (! (= @p_70 @p_76) :named @p_77))) :rule cong :premises (t30.t5 t30.t15)) +(step t30 (cl (! (= @p_66 (! (forall ((veriT_vr7 Astate$) (veriT_vr8 Astate$) (veriT_vr9 Nat$)) @p_77) :named @p_79)) :named @p_78)) :rule bind) +(step t31 (cl (not @p_78) (not @p_66) @p_79) :rule equiv_pos2) +(step t32 (cl @p_79) :rule th_resolution :premises (t29 t30 t31)) +(anchor :step t33 :args ((:= (?v0 Nat$) veriT_vr10) (:= (?v1 Nat$) veriT_vr11) (:= (?v2 Nat$) veriT_vr12))) +(step t33.t1 (cl (! (= ?v0 veriT_vr10) :named @p_83)) :rule refl) +(step t33.t2 (cl (! (= ?v1 veriT_vr11) :named @p_89)) :rule refl) +(step t33.t3 (cl (= @p_81 (! (less_eq$ veriT_vr10 veriT_vr11) :named @p_82))) :rule cong :premises (t33.t1 t33.t2)) +(step t33.t4 (cl (! (= ?v2 veriT_vr12) :named @p_88)) :rule refl) +(step t33.t5 (cl @p_83) :rule refl) +(step t33.t6 (cl (= @p_84 (! (less_eq$ veriT_vr12 veriT_vr10) :named @p_85))) :rule cong :premises (t33.t4 t33.t5)) +(step t33.t7 (cl (= @p_86 (! (and @p_82 @p_85) :named @p_87))) :rule cong :premises (t33.t3 t33.t6)) +(step t33.t8 (cl @p_88) :rule refl) +(step t33.t9 (cl @p_89) :rule refl) +(step t33.t10 (cl (= @p_90 (! (less_eq$ veriT_vr12 veriT_vr11) :named @p_91))) :rule cong :premises (t33.t8 t33.t9)) +(step t33.t11 (cl (= @p_92 (! (=> @p_87 @p_91) :named @p_93))) :rule cong :premises (t33.t7 t33.t10)) +(step t33 (cl (! (= @p_80 (! (forall ((veriT_vr10 Nat$) (veriT_vr11 Nat$) (veriT_vr12 Nat$)) @p_93) :named @p_95)) :named @p_94)) :rule bind) +(step t34 (cl (not @p_94) (not @p_80) @p_95) :rule equiv_pos2) +(step t35 (cl @p_95) :rule th_resolution :premises (a5 t33 t34)) +(anchor :step t36 :args ((:= (veriT_vr10 Nat$) veriT_vr13) (:= (veriT_vr11 Nat$) veriT_vr14) (:= (veriT_vr12 Nat$) veriT_vr15))) +(step t36.t1 (cl (! (= veriT_vr10 veriT_vr13) :named @p_97)) :rule refl) +(step t36.t2 (cl (! (= veriT_vr11 veriT_vr14) :named @p_101)) :rule refl) +(step t36.t3 (cl (= @p_82 (! (less_eq$ veriT_vr13 veriT_vr14) :named @p_96))) :rule cong :premises (t36.t1 t36.t2)) +(step t36.t4 (cl (! (= veriT_vr12 veriT_vr15) :named @p_100)) :rule refl) +(step t36.t5 (cl @p_97) :rule refl) +(step t36.t6 (cl (= @p_85 (! (less_eq$ veriT_vr15 veriT_vr13) :named @p_98))) :rule cong :premises (t36.t4 t36.t5)) +(step t36.t7 (cl (= @p_87 (! (and @p_96 @p_98) :named @p_99))) :rule cong :premises (t36.t3 t36.t6)) +(step t36.t8 (cl @p_100) :rule refl) +(step t36.t9 (cl @p_101) :rule refl) +(step t36.t10 (cl (= @p_91 (! (less_eq$ veriT_vr15 veriT_vr14) :named @p_102))) :rule cong :premises (t36.t8 t36.t9)) +(step t36.t11 (cl (= @p_93 (! (=> @p_99 @p_102) :named @p_103))) :rule cong :premises (t36.t7 t36.t10)) +(step t36 (cl (! (= @p_95 (! (forall ((veriT_vr13 Nat$) (veriT_vr14 Nat$) (veriT_vr15 Nat$)) @p_103) :named @p_105)) :named @p_104)) :rule bind) +(step t37 (cl (not @p_104) (not @p_95) @p_105) :rule equiv_pos2) +(step t38 (cl @p_105) :rule th_resolution :premises (t35 t36 t37)) +(anchor :step t39 :args ((:= (?v0 Astate$) veriT_vr16) (:= (?v1 Astate_v_list_v_result_prod$) veriT_vr17))) +(step t39.t1 (cl (! (= ?v0 veriT_vr16) :named @p_114)) :rule refl) +(step t39.t2 (cl (! (= ?v1 veriT_vr17) :named @p_113)) :rule refl) +(step t39.t3 (cl (= @p_107 (! (fst$ veriT_vr17) :named @p_108))) :rule cong :premises (t39.t2)) +(step t39.t4 (cl (= @p_109 (! (= veriT_vr16 @p_108) :named @p_110))) :rule cong :premises (t39.t1 t39.t3)) +(anchor :step t39.t5 :args ((:= (?v2 V_list_v_result$) veriT_vr18))) +(step t39.t5.t1 (cl @p_113) :rule refl) +(step t39.t5.t2 (cl @p_114) :rule refl) +(step t39.t5.t3 (cl (= ?v2 veriT_vr18)) :rule refl) +(step t39.t5.t4 (cl (= @p_115 (! (pair$ veriT_vr16 veriT_vr18) :named @p_116))) :rule cong :premises (t39.t5.t2 t39.t5.t3)) +(step t39.t5.t5 (cl (= @p_117 (! (= veriT_vr17 @p_116) :named @p_118))) :rule cong :premises (t39.t5.t1 t39.t5.t4)) +(step t39.t5 (cl (= @p_111 (! (exists ((veriT_vr18 V_list_v_result$)) @p_118) :named @p_112))) :rule bind) +(step t39.t6 (cl (= @p_119 (! (= @p_110 @p_112) :named @p_120))) :rule cong :premises (t39.t4 t39.t5)) +(step t39 (cl (! (= @p_106 (! (forall ((veriT_vr16 Astate$) (veriT_vr17 Astate_v_list_v_result_prod$)) @p_120) :named @p_122)) :named @p_121)) :rule bind) +(step t40 (cl (not @p_121) (not @p_106) @p_122) :rule equiv_pos2) +(step t41 (cl @p_122) :rule th_resolution :premises (a6 t39 t40)) +(anchor :step t42 :args ((veriT_vr16 Astate$) (veriT_vr17 Astate_v_list_v_result_prod$))) +(step t42.t1 (cl (= @p_120 (! (and (! (=> @p_110 @p_112) :named @p_133) (! (=> @p_112 @p_110) :named @p_140)) :named @p_123))) :rule connective_def) +(step t42 (cl (! (= @p_122 (! (forall ((veriT_vr16 Astate$) (veriT_vr17 Astate_v_list_v_result_prod$)) @p_123) :named @p_125)) :named @p_124)) :rule bind) +(step t43 (cl (not @p_124) (not @p_122) @p_125) :rule equiv_pos2) +(step t44 (cl @p_125) :rule th_resolution :premises (t41 t42 t43)) +(anchor :step t45 :args ((:= (veriT_vr16 Astate$) veriT_vr19) (:= (veriT_vr17 Astate_v_list_v_result_prod$) veriT_vr20))) +(step t45.t1 (cl (! (= veriT_vr16 veriT_vr19) :named @p_130)) :rule refl) +(step t45.t2 (cl (! (= veriT_vr17 veriT_vr20) :named @p_129)) :rule refl) +(step t45.t3 (cl (! (= @p_108 (! (fst$ veriT_vr20) :named @p_127)) :named @p_138)) :rule cong :premises (t45.t2)) +(step t45.t4 (cl (! (= @p_110 (! (= veriT_vr19 @p_127) :named @p_126)) :named @p_139)) :rule cong :premises (t45.t1 t45.t3)) +(anchor :step t45.t5 :args ((:= (veriT_vr18 V_list_v_result$) veriT_vr21))) +(step t45.t5.t1 (cl @p_129) :rule refl) +(step t45.t5.t2 (cl @p_130) :rule refl) +(step t45.t5.t3 (cl (= veriT_vr18 veriT_vr21)) :rule refl) +(step t45.t5.t4 (cl (= @p_116 (! (pair$ veriT_vr19 veriT_vr21) :named @p_131))) :rule cong :premises (t45.t5.t2 t45.t5.t3)) +(step t45.t5.t5 (cl (= @p_118 (! (= veriT_vr20 @p_131) :named @p_132))) :rule cong :premises (t45.t5.t1 t45.t5.t4)) +(step t45.t5 (cl (= @p_112 (! (exists ((veriT_vr21 V_list_v_result$)) @p_132) :named @p_128))) :rule bind) +(step t45.t6 (cl (= @p_133 (! (=> @p_126 @p_128) :named @p_134))) :rule cong :premises (t45.t4 t45.t5)) +(anchor :step t45.t7 :args ((:= (veriT_vr18 V_list_v_result$) veriT_vr22))) +(step t45.t7.t1 (cl @p_129) :rule refl) +(step t45.t7.t2 (cl @p_130) :rule refl) +(step t45.t7.t3 (cl (= veriT_vr18 veriT_vr22)) :rule refl) +(step t45.t7.t4 (cl (= @p_116 (! (pair$ veriT_vr19 veriT_vr22) :named @p_136))) :rule cong :premises (t45.t7.t2 t45.t7.t3)) +(step t45.t7.t5 (cl (= @p_118 (! (= veriT_vr20 @p_136) :named @p_137))) :rule cong :premises (t45.t7.t1 t45.t7.t4)) +(step t45.t7 (cl (= @p_112 (! (exists ((veriT_vr22 V_list_v_result$)) @p_137) :named @p_135))) :rule bind) +(step t45.t8 (cl @p_130) :rule refl) +(step t45.t9 (cl @p_129) :rule refl) +(step t45.t10 (cl @p_138) :rule cong :premises (t45.t9)) +(step t45.t11 (cl @p_139) :rule cong :premises (t45.t8 t45.t10)) +(step t45.t12 (cl (= @p_140 (! (=> @p_135 @p_126) :named @p_141))) :rule cong :premises (t45.t7 t45.t11)) +(step t45.t13 (cl (= @p_123 (! (and @p_134 @p_141) :named @p_142))) :rule cong :premises (t45.t6 t45.t12)) +(step t45 (cl (! (= @p_125 (! (forall ((veriT_vr19 Astate$) (veriT_vr20 Astate_v_list_v_result_prod$)) @p_142) :named @p_144)) :named @p_143)) :rule bind) +(step t46 (cl (not @p_143) (not @p_125) @p_144) :rule equiv_pos2) +(step t47 (cl @p_144) :rule th_resolution :premises (t44 t45 t46)) +(anchor :step t48 :args ((:= (veriT_vr19 Astate$) veriT_vr23) (:= (veriT_vr20 Astate_v_list_v_result_prod$) veriT_vr24))) +(step t48.t1 (cl (! (= veriT_vr19 veriT_vr23) :named @p_149)) :rule refl) +(step t48.t2 (cl (! (= veriT_vr20 veriT_vr24) :named @p_148)) :rule refl) +(step t48.t3 (cl (! (= @p_127 (! (fst$ veriT_vr24) :named @p_147)) :named @p_153)) :rule cong :premises (t48.t2)) +(step t48.t4 (cl (! (= @p_126 (! (= veriT_vr23 @p_147) :named @p_146)) :named @p_154)) :rule cong :premises (t48.t1 t48.t3)) +(anchor :step t48.t5 :args ((:= (veriT_vr21 V_list_v_result$) veriT_vr25))) +(step t48.t5.t1 (cl @p_148) :rule refl) +(step t48.t5.t2 (cl @p_149) :rule refl) +(step t48.t5.t3 (cl (= veriT_vr21 veriT_vr25)) :rule refl) +(step t48.t5.t4 (cl (= @p_131 (! (pair$ veriT_vr23 veriT_vr25) :named @p_150))) :rule cong :premises (t48.t5.t2 t48.t5.t3)) +(step t48.t5.t5 (cl (= @p_132 (! (= veriT_vr24 @p_150) :named @p_151))) :rule cong :premises (t48.t5.t1 t48.t5.t4)) +(step t48.t5 (cl (= @p_128 (! (exists ((veriT_vr25 V_list_v_result$)) @p_151) :named @p_145))) :rule bind) +(step t48.t6 (cl (= @p_134 (! (=> @p_146 @p_145) :named @p_152))) :rule cong :premises (t48.t4 t48.t5)) +(anchor :step t48.t7 :args ((:= (veriT_vr22 V_list_v_result$) veriT_vr25))) +(step t48.t7.t1 (cl @p_148) :rule refl) +(step t48.t7.t2 (cl @p_149) :rule refl) +(step t48.t7.t3 (cl (= veriT_vr22 veriT_vr25)) :rule refl) +(step t48.t7.t4 (cl (= @p_136 @p_150)) :rule cong :premises (t48.t7.t2 t48.t7.t3)) +(step t48.t7.t5 (cl (= @p_137 @p_151)) :rule cong :premises (t48.t7.t1 t48.t7.t4)) +(step t48.t7 (cl (= @p_135 @p_145)) :rule bind) +(step t48.t8 (cl @p_149) :rule refl) +(step t48.t9 (cl @p_148) :rule refl) +(step t48.t10 (cl @p_153) :rule cong :premises (t48.t9)) +(step t48.t11 (cl @p_154) :rule cong :premises (t48.t8 t48.t10)) +(step t48.t12 (cl (= @p_141 (! (=> @p_145 @p_146) :named @p_155))) :rule cong :premises (t48.t7 t48.t11)) +(step t48.t13 (cl (= @p_142 (! (and @p_152 @p_155) :named @p_156))) :rule cong :premises (t48.t6 t48.t12)) +(step t48 (cl (! (= @p_144 (! (forall ((veriT_vr23 Astate$) (veriT_vr24 Astate_v_list_v_result_prod$)) @p_156) :named @p_158)) :named @p_157)) :rule bind) +(step t49 (cl (not @p_157) (not @p_144) @p_158) :rule equiv_pos2) +(step t50 (cl @p_158) :rule th_resolution :premises (t47 t48 t49)) +(anchor :step t51 :args ((:= (veriT_vr23 Astate$) veriT_vr23) (:= (veriT_vr24 Astate_v_list_v_result_prod$) veriT_vr24))) +(anchor :step t51.t1 :args ((:= (veriT_vr25 V_list_v_result$) veriT_vr26))) +(step t51.t1.t1 (cl (= veriT_vr25 veriT_vr26)) :rule refl) +(step t51.t1.t2 (cl (= @p_150 (! (pair$ veriT_vr23 veriT_vr26) :named @p_160))) :rule cong :premises (t51.t1.t1)) +(step t51.t1.t3 (cl (= @p_151 (! (= veriT_vr24 @p_160) :named @p_161))) :rule cong :premises (t51.t1.t2)) +(step t51.t1 (cl (= @p_145 (! (exists ((veriT_vr26 V_list_v_result$)) @p_161) :named @p_159))) :rule bind) +(step t51.t2 (cl (= @p_155 (! (=> @p_159 @p_146) :named @p_162))) :rule cong :premises (t51.t1)) +(step t51.t3 (cl (= @p_156 (! (and @p_152 @p_162) :named @p_163))) :rule cong :premises (t51.t2)) +(step t51 (cl (! (= @p_158 (! (forall ((veriT_vr23 Astate$) (veriT_vr24 Astate_v_list_v_result_prod$)) @p_163) :named @p_165)) :named @p_164)) :rule bind) +(step t52 (cl (not @p_164) (not @p_158) @p_165) :rule equiv_pos2) +(step t53 (cl @p_165) :rule th_resolution :premises (t50 t51 t52)) +(anchor :step t54 :args ((veriT_vr23 Astate$) (veriT_vr24 Astate_v_list_v_result_prod$))) +(step t54.t1 (cl (= @p_159 (! (not (forall ((veriT_vr26 V_list_v_result$)) (! (not @p_161) :named @p_367))) :named @p_166))) :rule connective_def) +(step t54.t2 (cl (= @p_162 (! (=> @p_166 @p_146) :named @p_167))) :rule cong :premises (t54.t1)) +(step t54.t3 (cl (= @p_163 (! (and @p_152 @p_167) :named @p_168))) :rule cong :premises (t54.t2)) +(step t54 (cl (! (= @p_165 (! (forall ((veriT_vr23 Astate$) (veriT_vr24 Astate_v_list_v_result_prod$)) @p_168) :named @p_170)) :named @p_169)) :rule bind) +(step t55 (cl (not @p_169) (not @p_165) @p_170) :rule equiv_pos2) +(step t56 (cl @p_170) :rule th_resolution :premises (t53 t54 t55)) +(anchor :step t57 :args ((:= (?v0 V_error_result$) veriT_vr27))) +(anchor :step t57.t1 :args ((:= (?v1 V$) veriT_vr28))) +(step t57.t1.t1 (cl (! (= ?v0 veriT_vr27) :named @p_181)) :rule refl) +(step t57.t1.t2 (cl (= ?v1 veriT_vr28)) :rule refl) +(step t57.t1.t3 (cl (= @p_174 (! (rraise$ veriT_vr28) :named @p_175))) :rule cong :premises (t57.t1.t2)) +(step t57.t1.t4 (cl (= @p_6 (! (= veriT_vr27 @p_175) :named @p_176))) :rule cong :premises (t57.t1.t1 t57.t1.t3)) +(step t57.t1.t5 (cl (= @p_177 (! (=> @p_176 false) :named @p_178))) :rule cong :premises (t57.t1.t4)) +(step t57.t1 (cl (= @p_172 (! (forall ((veriT_vr28 V$)) @p_178) :named @p_173))) :rule bind) +(anchor :step t57.t2 :args ((:= (?v1 Abort$) veriT_vr29))) +(step t57.t2.t1 (cl @p_181) :rule refl) +(step t57.t2.t2 (cl (= ?v1 veriT_vr29)) :rule refl) +(step t57.t2.t3 (cl (= @p_182 (! (rabort$ veriT_vr29) :named @p_183))) :rule cong :premises (t57.t2.t2)) +(step t57.t2.t4 (cl (= @p_184 (! (= veriT_vr27 @p_183) :named @p_185))) :rule cong :premises (t57.t2.t1 t57.t2.t3)) +(step t57.t2.t5 (cl (= @p_186 (! (=> @p_185 false) :named @p_187))) :rule cong :premises (t57.t2.t4)) +(step t57.t2 (cl (= @p_179 (! (forall ((veriT_vr29 Abort$)) @p_187) :named @p_180))) :rule bind) +(step t57.t3 (cl (= @p_188 (! (and @p_173 @p_180) :named @p_189))) :rule cong :premises (t57.t1 t57.t2)) +(step t57.t4 (cl (= @p_190 (! (=> @p_189 false) :named @p_191))) :rule cong :premises (t57.t3)) +(step t57 (cl (! (= @p_171 (! (forall ((veriT_vr27 V_error_result$)) @p_191) :named @p_193)) :named @p_192)) :rule bind) +(step t58 (cl (not @p_192) (not @p_171) @p_193) :rule equiv_pos2) +(step t59 (cl @p_193) :rule th_resolution :premises (a7 t57 t58)) +(anchor :step t60 :args ((veriT_vr27 V_error_result$))) +(anchor :step t60.t1 :args ((veriT_vr28 V$))) +(step t60.t1.t1 (cl (= @p_178 (! (not @p_176) :named @p_195))) :rule implies_simplify) +(step t60.t1 (cl (= @p_173 (! (forall ((veriT_vr28 V$)) @p_195) :named @p_194))) :rule bind) +(anchor :step t60.t2 :args ((veriT_vr29 Abort$))) +(step t60.t2.t1 (cl (= @p_187 (! (not @p_185) :named @p_197))) :rule implies_simplify) +(step t60.t2 (cl (= @p_180 (! (forall ((veriT_vr29 Abort$)) @p_197) :named @p_196))) :rule bind) +(step t60.t3 (cl (= @p_189 (! (and @p_194 @p_196) :named @p_198))) :rule cong :premises (t60.t1 t60.t2)) +(step t60.t4 (cl (= @p_191 (! (=> @p_198 false) :named @p_199))) :rule cong :premises (t60.t3)) +(step t60.t5 (cl (= @p_199 (! (not @p_198) :named @p_200))) :rule implies_simplify) +(step t60.t6 (cl (= @p_191 @p_200)) :rule trans :premises (t60.t4 t60.t5)) +(step t60 (cl (! (= @p_193 (! (forall ((veriT_vr27 V_error_result$)) @p_200) :named @p_202)) :named @p_201)) :rule bind) +(step t61 (cl (not @p_201) (not @p_193) @p_202) :rule equiv_pos2) +(step t62 (cl @p_202) :rule th_resolution :premises (t59 t60 t61)) +(anchor :step t63 :args ((:= (veriT_vr27 V_error_result$) veriT_vr30))) +(anchor :step t63.t1 :args ((:= (veriT_vr28 V$) veriT_vr31))) +(step t63.t1.t1 (cl (! (= veriT_vr27 veriT_vr30) :named @p_208)) :rule refl) +(step t63.t1.t2 (cl (= veriT_vr28 veriT_vr31)) :rule refl) +(step t63.t1.t3 (cl (= @p_175 (! (rraise$ veriT_vr31) :named @p_204))) :rule cong :premises (t63.t1.t2)) +(step t63.t1.t4 (cl (= @p_176 (! (= veriT_vr30 @p_204) :named @p_205))) :rule cong :premises (t63.t1.t1 t63.t1.t3)) +(step t63.t1.t5 (cl (= @p_195 (! (not @p_205) :named @p_206))) :rule cong :premises (t63.t1.t4)) +(step t63.t1 (cl (= @p_194 (! (forall ((veriT_vr31 V$)) @p_206) :named @p_203))) :rule bind) +(anchor :step t63.t2 :args ((:= (veriT_vr29 Abort$) veriT_vr32))) +(step t63.t2.t1 (cl @p_208) :rule refl) +(step t63.t2.t2 (cl (= veriT_vr29 veriT_vr32)) :rule refl) +(step t63.t2.t3 (cl (= @p_183 (! (rabort$ veriT_vr32) :named @p_209))) :rule cong :premises (t63.t2.t2)) +(step t63.t2.t4 (cl (= @p_185 (! (= veriT_vr30 @p_209) :named @p_210))) :rule cong :premises (t63.t2.t1 t63.t2.t3)) +(step t63.t2.t5 (cl (= @p_197 (! (not @p_210) :named @p_211))) :rule cong :premises (t63.t2.t4)) +(step t63.t2 (cl (= @p_196 (! (forall ((veriT_vr32 Abort$)) @p_211) :named @p_207))) :rule bind) +(step t63.t3 (cl (= @p_198 (! (and @p_203 @p_207) :named @p_212))) :rule cong :premises (t63.t1 t63.t2)) +(step t63.t4 (cl (= @p_200 (! (not @p_212) :named @p_213))) :rule cong :premises (t63.t3)) +(step t63 (cl (! (= @p_202 (! (forall ((veriT_vr30 V_error_result$)) @p_213) :named @p_215)) :named @p_214)) :rule bind) +(step t64 (cl (not @p_214) (not @p_202) @p_215) :rule equiv_pos2) +(step t65 (cl @p_215) :rule th_resolution :premises (t62 t63 t64)) +(anchor :step t66 :args ((:= (?v0 V_astate_v_list_v_result_prod_fun$) veriT_vr33) (:= (?v1 Abort_astate_v_list_v_result_prod_fun$) veriT_vr34) (:= (?v2 V$) veriT_vr35))) +(step t66.t1 (cl (! (= ?v0 veriT_vr33) :named @p_221)) :rule refl) +(step t66.t2 (cl (= ?v1 veriT_vr34)) :rule refl) +(step t66.t3 (cl (! (= ?v2 veriT_vr35) :named @p_222)) :rule refl) +(step t66.t4 (cl (= @p_217 (! (rraise$ veriT_vr35) :named @p_218))) :rule cong :premises (t66.t3)) +(step t66.t5 (cl (= @p_219 (! (case_error_result$ veriT_vr33 veriT_vr34 @p_218) :named @p_220))) :rule cong :premises (t66.t1 t66.t2 t66.t4)) +(step t66.t6 (cl @p_221) :rule refl) +(step t66.t7 (cl @p_222) :rule refl) +(step t66.t8 (cl (= @p_223 (! (fun_app$ veriT_vr33 veriT_vr35) :named @p_224))) :rule cong :premises (t66.t6 t66.t7)) +(step t66.t9 (cl (= @p_225 (! (= @p_220 @p_224) :named @p_226))) :rule cong :premises (t66.t5 t66.t8)) +(step t66 (cl (! (= @p_216 (! (forall ((veriT_vr33 V_astate_v_list_v_result_prod_fun$) (veriT_vr34 Abort_astate_v_list_v_result_prod_fun$) (veriT_vr35 V$)) @p_226) :named @p_228)) :named @p_227)) :rule bind) +(step t67 (cl (not @p_227) (not @p_216) @p_228) :rule equiv_pos2) +(step t68 (cl @p_228) :rule th_resolution :premises (a8 t66 t67)) +(anchor :step t69 :args ((:= (veriT_vr33 V_astate_v_list_v_result_prod_fun$) veriT_vr36) (:= (veriT_vr34 Abort_astate_v_list_v_result_prod_fun$) veriT_vr37) (:= (veriT_vr35 V$) veriT_vr38))) +(step t69.t1 (cl (! (= veriT_vr33 veriT_vr36) :named @p_231)) :rule refl) +(step t69.t2 (cl (= veriT_vr34 veriT_vr37)) :rule refl) +(step t69.t3 (cl (! (= veriT_vr35 veriT_vr38) :named @p_232)) :rule refl) +(step t69.t4 (cl (= @p_218 (! (rraise$ veriT_vr38) :named @p_229))) :rule cong :premises (t69.t3)) +(step t69.t5 (cl (= @p_220 (! (case_error_result$ veriT_vr36 veriT_vr37 @p_229) :named @p_230))) :rule cong :premises (t69.t1 t69.t2 t69.t4)) +(step t69.t6 (cl @p_231) :rule refl) +(step t69.t7 (cl @p_232) :rule refl) +(step t69.t8 (cl (= @p_224 (! (fun_app$ veriT_vr36 veriT_vr38) :named @p_233))) :rule cong :premises (t69.t6 t69.t7)) +(step t69.t9 (cl (= @p_226 (! (= @p_230 @p_233) :named @p_234))) :rule cong :premises (t69.t5 t69.t8)) +(step t69 (cl (! (= @p_228 (! (forall ((veriT_vr36 V_astate_v_list_v_result_prod_fun$) (veriT_vr37 Abort_astate_v_list_v_result_prod_fun$) (veriT_vr38 V$)) @p_234) :named @p_236)) :named @p_235)) :rule bind) +(step t70 (cl (not @p_235) (not @p_228) @p_236) :rule equiv_pos2) +(step t71 (cl @p_236) :rule th_resolution :premises (t68 t69 t70)) +(anchor :step t72 :args ((:= (?v0 V_astate_v_list_v_result_prod_fun$) veriT_vr39) (:= (?v1 Abort_astate_v_list_v_result_prod_fun$) veriT_vr40) (:= (?v2 Abort$) veriT_vr41))) +(step t72.t1 (cl (= ?v0 veriT_vr39)) :rule refl) +(step t72.t2 (cl (! (= ?v1 veriT_vr40) :named @p_242)) :rule refl) +(step t72.t3 (cl (! (= ?v2 veriT_vr41) :named @p_243)) :rule refl) +(step t72.t4 (cl (= @p_238 (! (rabort$ veriT_vr41) :named @p_239))) :rule cong :premises (t72.t3)) +(step t72.t5 (cl (= @p_240 (! (case_error_result$ veriT_vr39 veriT_vr40 @p_239) :named @p_241))) :rule cong :premises (t72.t1 t72.t2 t72.t4)) +(step t72.t6 (cl @p_242) :rule refl) +(step t72.t7 (cl @p_243) :rule refl) +(step t72.t8 (cl (= @p_244 (! (fun_app$a veriT_vr40 veriT_vr41) :named @p_245))) :rule cong :premises (t72.t6 t72.t7)) +(step t72.t9 (cl (= @p_246 (! (= @p_241 @p_245) :named @p_247))) :rule cong :premises (t72.t5 t72.t8)) +(step t72 (cl (! (= @p_237 (! (forall ((veriT_vr39 V_astate_v_list_v_result_prod_fun$) (veriT_vr40 Abort_astate_v_list_v_result_prod_fun$) (veriT_vr41 Abort$)) @p_247) :named @p_249)) :named @p_248)) :rule bind) +(step t73 (cl (not @p_248) (not @p_237) @p_249) :rule equiv_pos2) +(step t74 (cl @p_249) :rule th_resolution :premises (a9 t72 t73)) +(anchor :step t75 :args ((:= (veriT_vr39 V_astate_v_list_v_result_prod_fun$) veriT_vr42) (:= (veriT_vr40 Abort_astate_v_list_v_result_prod_fun$) veriT_vr43) (:= (veriT_vr41 Abort$) veriT_vr44))) +(step t75.t1 (cl (= veriT_vr39 veriT_vr42)) :rule refl) +(step t75.t2 (cl (! (= veriT_vr40 veriT_vr43) :named @p_252)) :rule refl) +(step t75.t3 (cl (! (= veriT_vr41 veriT_vr44) :named @p_253)) :rule refl) +(step t75.t4 (cl (= @p_239 (! (rabort$ veriT_vr44) :named @p_250))) :rule cong :premises (t75.t3)) +(step t75.t5 (cl (= @p_241 (! (case_error_result$ veriT_vr42 veriT_vr43 @p_250) :named @p_251))) :rule cong :premises (t75.t1 t75.t2 t75.t4)) +(step t75.t6 (cl @p_252) :rule refl) +(step t75.t7 (cl @p_253) :rule refl) +(step t75.t8 (cl (= @p_245 (! (fun_app$a veriT_vr43 veriT_vr44) :named @p_254))) :rule cong :premises (t75.t6 t75.t7)) +(step t75.t9 (cl (= @p_247 (! (= @p_251 @p_254) :named @p_255))) :rule cong :premises (t75.t5 t75.t8)) +(step t75 (cl (! (= @p_249 (! (forall ((veriT_vr42 V_astate_v_list_v_result_prod_fun$) (veriT_vr43 Abort_astate_v_list_v_result_prod_fun$) (veriT_vr44 Abort$)) @p_255) :named @p_257)) :named @p_256)) :rule bind) +(step t76 (cl (not @p_256) (not @p_249) @p_257) :rule equiv_pos2) +(step t77 (cl @p_257) :rule th_resolution :premises (t74 t75 t76)) +(anchor :step t78 :args ((:= (?v0 Astate$) veriT_vr45) (:= (?v1 Astate$) veriT_vr46) (:= (?v2 V_list_v_result$) veriT_vr47) (:= (?v3 Astate$) veriT_vr48))) +(step t78.t1 (cl (= ?v0 veriT_vr45)) :rule refl) +(step t78.t2 (cl (! (= ?v1 veriT_vr46) :named @p_270)) :rule refl) +(step t78.t3 (cl (! (= ?v2 veriT_vr47) :named @p_262)) :rule refl) +(step t78.t4 (cl (= @p_259 (! (pair$ veriT_vr46 veriT_vr47) :named @p_260))) :rule cong :premises (t78.t2 t78.t3)) +(step t78.t5 (cl (= @p_4 (! (fix_clock$ veriT_vr45 @p_260) :named @p_261))) :rule cong :premises (t78.t1 t78.t4)) +(step t78.t6 (cl (! (= ?v3 veriT_vr48) :named @p_267)) :rule refl) +(step t78.t7 (cl @p_262) :rule refl) +(step t78.t8 (cl (= @p_263 (! (pair$ veriT_vr48 veriT_vr47) :named @p_264))) :rule cong :premises (t78.t6 t78.t7)) +(step t78.t9 (cl (= @p_265 (! (= @p_261 @p_264) :named @p_266))) :rule cong :premises (t78.t5 t78.t8)) +(step t78.t10 (cl @p_267) :rule refl) +(step t78.t11 (cl (= @p_268 (! (clock$ veriT_vr48) :named @p_269))) :rule cong :premises (t78.t10)) +(step t78.t12 (cl @p_270) :rule refl) +(step t78.t13 (cl (= @p_1 (! (clock$ veriT_vr46) :named @p_271))) :rule cong :premises (t78.t12)) +(step t78.t14 (cl (= @p_272 (! (less_eq$ @p_269 @p_271) :named @p_273))) :rule cong :premises (t78.t11 t78.t13)) +(step t78.t15 (cl (= @p_274 (! (=> @p_266 @p_273) :named @p_275))) :rule cong :premises (t78.t9 t78.t14)) +(step t78 (cl (! (= @p_258 (! (forall ((veriT_vr45 Astate$) (veriT_vr46 Astate$) (veriT_vr47 V_list_v_result$) (veriT_vr48 Astate$)) @p_275) :named @p_277)) :named @p_276)) :rule bind) +(step t79 (cl (not @p_276) (not @p_258) @p_277) :rule equiv_pos2) +(step t80 (cl @p_277) :rule th_resolution :premises (a10 t78 t79)) +(anchor :step t81 :args ((:= (veriT_vr45 Astate$) veriT_vr49) (:= (veriT_vr46 Astate$) veriT_vr50) (:= (veriT_vr47 V_list_v_result$) veriT_vr51) (:= (veriT_vr48 Astate$) veriT_vr52))) +(step t81.t1 (cl (= veriT_vr45 veriT_vr49)) :rule refl) +(step t81.t2 (cl (! (= veriT_vr46 veriT_vr50) :named @p_285)) :rule refl) +(step t81.t3 (cl (! (= veriT_vr47 veriT_vr51) :named @p_280)) :rule refl) +(step t81.t4 (cl (= @p_260 (! (pair$ veriT_vr50 veriT_vr51) :named @p_278))) :rule cong :premises (t81.t2 t81.t3)) +(step t81.t5 (cl (= @p_261 (! (fix_clock$ veriT_vr49 @p_278) :named @p_279))) :rule cong :premises (t81.t1 t81.t4)) +(step t81.t6 (cl (! (= veriT_vr48 veriT_vr52) :named @p_283)) :rule refl) +(step t81.t7 (cl @p_280) :rule refl) +(step t81.t8 (cl (= @p_264 (! (pair$ veriT_vr52 veriT_vr51) :named @p_281))) :rule cong :premises (t81.t6 t81.t7)) +(step t81.t9 (cl (= @p_266 (! (= @p_279 @p_281) :named @p_282))) :rule cong :premises (t81.t5 t81.t8)) +(step t81.t10 (cl @p_283) :rule refl) +(step t81.t11 (cl (= @p_269 (! (clock$ veriT_vr52) :named @p_284))) :rule cong :premises (t81.t10)) +(step t81.t12 (cl @p_285) :rule refl) +(step t81.t13 (cl (= @p_271 (! (clock$ veriT_vr50) :named @p_286))) :rule cong :premises (t81.t12)) +(step t81.t14 (cl (= @p_273 (! (less_eq$ @p_284 @p_286) :named @p_287))) :rule cong :premises (t81.t11 t81.t13)) +(step t81.t15 (cl (= @p_275 (! (=> @p_282 @p_287) :named @p_288))) :rule cong :premises (t81.t9 t81.t14)) +(step t81 (cl (! (= @p_277 (! (forall ((veriT_vr49 Astate$) (veriT_vr50 Astate$) (veriT_vr51 V_list_v_result$) (veriT_vr52 Astate$)) @p_288) :named @p_290)) :named @p_289)) :rule bind) +(step t82 (cl (not @p_289) (not @p_277) @p_290) :rule equiv_pos2) +(step t83 (cl @p_290) :rule th_resolution :premises (t80 t81 t82)) +(anchor :step t84 :args ((:= (?v0 Astate$) veriT_vr53) (:= (?v1 Astate$) veriT_vr54) (:= (?v2 V_list_v_result$) veriT_vr55))) +(step t84.t1 (cl (! (= ?v0 veriT_vr53) :named @p_294)) :rule refl) +(step t84.t2 (cl (! (= ?v1 veriT_vr54) :named @p_295)) :rule refl) +(step t84.t3 (cl (! (= ?v2 veriT_vr55) :named @p_299)) :rule refl) +(step t84.t4 (cl (= @p_259 (! (pair$ veriT_vr54 veriT_vr55) :named @p_292))) :rule cong :premises (t84.t2 t84.t3)) +(step t84.t5 (cl (= @p_4 (! (fix_clock$ veriT_vr53 @p_292) :named @p_293))) :rule cong :premises (t84.t1 t84.t4)) +(step t84.t6 (cl @p_294) :rule refl) +(step t84.t7 (cl @p_295) :rule refl) +(step t84.t8 (cl (= @p_5 (! (uu$ veriT_vr53 veriT_vr54) :named @p_296))) :rule cong :premises (t84.t6 t84.t7)) +(step t84.t9 (cl @p_295) :rule refl) +(step t84.t10 (cl (= @p_297 (! (update_clock$ @p_296 veriT_vr54) :named @p_298))) :rule cong :premises (t84.t8 t84.t9)) +(step t84.t11 (cl @p_299) :rule refl) +(step t84.t12 (cl (= @p_300 (! (pair$ @p_298 veriT_vr55) :named @p_301))) :rule cong :premises (t84.t10 t84.t11)) +(step t84.t13 (cl (= @p_302 (! (= @p_293 @p_301) :named @p_303))) :rule cong :premises (t84.t5 t84.t12)) +(step t84 (cl (! (= @p_291 (! (forall ((veriT_vr53 Astate$) (veriT_vr54 Astate$) (veriT_vr55 V_list_v_result$)) @p_303) :named @p_305)) :named @p_304)) :rule bind) +(step t85 (cl (not @p_304) (not @p_291) @p_305) :rule equiv_pos2) +(step t86 (cl @p_305) :rule th_resolution :premises (a11 t84 t85)) +(anchor :step t87 :args ((:= (veriT_vr53 Astate$) veriT_vr56) (:= (veriT_vr54 Astate$) veriT_vr57) (:= (veriT_vr55 V_list_v_result$) veriT_vr58))) +(step t87.t1 (cl (! (= veriT_vr53 veriT_vr56) :named @p_308)) :rule refl) +(step t87.t2 (cl (! (= veriT_vr54 veriT_vr57) :named @p_309)) :rule refl) +(step t87.t3 (cl (! (= veriT_vr55 veriT_vr58) :named @p_312)) :rule refl) +(step t87.t4 (cl (= @p_292 (! (pair$ veriT_vr57 veriT_vr58) :named @p_306))) :rule cong :premises (t87.t2 t87.t3)) +(step t87.t5 (cl (= @p_293 (! (fix_clock$ veriT_vr56 @p_306) :named @p_307))) :rule cong :premises (t87.t1 t87.t4)) +(step t87.t6 (cl @p_308) :rule refl) +(step t87.t7 (cl @p_309) :rule refl) +(step t87.t8 (cl (= @p_296 (! (uu$ veriT_vr56 veriT_vr57) :named @p_310))) :rule cong :premises (t87.t6 t87.t7)) +(step t87.t9 (cl @p_309) :rule refl) +(step t87.t10 (cl (= @p_298 (! (update_clock$ @p_310 veriT_vr57) :named @p_311))) :rule cong :premises (t87.t8 t87.t9)) +(step t87.t11 (cl @p_312) :rule refl) +(step t87.t12 (cl (= @p_301 (! (pair$ @p_311 veriT_vr58) :named @p_313))) :rule cong :premises (t87.t10 t87.t11)) +(step t87.t13 (cl (= @p_303 (! (= @p_307 @p_313) :named @p_314))) :rule cong :premises (t87.t5 t87.t12)) +(step t87 (cl (! (= @p_305 (! (forall ((veriT_vr56 Astate$) (veriT_vr57 Astate$) (veriT_vr58 V_list_v_result$)) @p_314) :named @p_316)) :named @p_315)) :rule bind) +(step t88 (cl (not @p_315) (not @p_305) @p_316) :rule equiv_pos2) +(step t89 (cl @p_316) :rule th_resolution :premises (t86 t87 t88)) +(anchor :step t90 :args ((:= (?v0 V_error_result$) veriT_vr59) (:= (?v1 V$) veriT_vr60))) +(step t90.t1 (cl (! (= ?v0 veriT_vr59) :named @p_323)) :rule refl) +(step t90.t2 (cl (= @p_319 (! (rerr$ veriT_vr59) :named @p_320))) :rule cong :premises (t90.t1)) +(step t90.t3 (cl (= @p_321 (! (= r$ @p_320) :named @p_322))) :rule cong :premises (t90.t2)) +(step t90.t4 (cl @p_323) :rule refl) +(step t90.t5 (cl (! (= ?v1 veriT_vr60) :named @p_328)) :rule refl) +(step t90.t6 (cl (= @p_174 (! (rraise$ veriT_vr60) :named @p_324))) :rule cong :premises (t90.t5)) +(step t90.t7 (cl (= @p_6 (! (= veriT_vr59 @p_324) :named @p_325))) :rule cong :premises (t90.t4 t90.t6)) +(step t90.t8 (cl (= @p_326 (! (and @p_322 @p_325) :named @p_327))) :rule cong :premises (t90.t3 t90.t7)) +(step t90.t9 (cl @p_328) :rule refl) +(step t90.t10 (cl (= @p_329 (! (fun_evaluate_match$ st$ env$ veriT_vr60 pes$) :named @p_330))) :rule cong :premises (t90.t9)) +(step t90.t11 (cl @p_328) :rule refl) +(step t90.t12 (cl (= @p_331 (! (fun_app$ @p_330 veriT_vr60) :named @p_332))) :rule cong :premises (t90.t10 t90.t11)) +(step t90.t13 (cl (= @p_333 (! (fst$ @p_332) :named @p_334))) :rule cong :premises (t90.t12)) +(step t90.t14 (cl (= @p_335 (! (clock$ @p_334) :named @p_336))) :rule cong :premises (t90.t13)) +(step t90.t15 (cl (= @p_337 (! (less_eq$ @p_336 @p_318) :named @p_338))) :rule cong :premises (t90.t14)) +(step t90.t16 (cl (= @p_339 (! (=> @p_327 @p_338) :named @p_340))) :rule cong :premises (t90.t8 t90.t15)) +(step t90 (cl (! (= @p_317 (! (forall ((veriT_vr59 V_error_result$) (veriT_vr60 V$)) @p_340) :named @p_342)) :named @p_341)) :rule bind) +(step t91 (cl (not @p_341) (not @p_317) @p_342) :rule equiv_pos2) +(step t92 (cl @p_342) :rule th_resolution :premises (a12 t90 t91)) +(anchor :step t93 :args ((:= (veriT_vr59 V_error_result$) veriT_vr61) (:= (veriT_vr60 V$) veriT_vr62))) +(step t93.t1 (cl (! (= veriT_vr59 veriT_vr61) :named @p_345)) :rule refl) +(step t93.t2 (cl (= @p_320 (! (rerr$ veriT_vr61) :named @p_343))) :rule cong :premises (t93.t1)) +(step t93.t3 (cl (= @p_322 (! (= r$ @p_343) :named @p_344))) :rule cong :premises (t93.t2)) +(step t93.t4 (cl @p_345) :rule refl) +(step t93.t5 (cl (! (= veriT_vr60 veriT_vr62) :named @p_349)) :rule refl) +(step t93.t6 (cl (= @p_324 (! (rraise$ veriT_vr62) :named @p_346))) :rule cong :premises (t93.t5)) +(step t93.t7 (cl (= @p_325 (! (= veriT_vr61 @p_346) :named @p_347))) :rule cong :premises (t93.t4 t93.t6)) +(step t93.t8 (cl (= @p_327 (! (and @p_344 @p_347) :named @p_348))) :rule cong :premises (t93.t3 t93.t7)) +(step t93.t9 (cl @p_349) :rule refl) +(step t93.t10 (cl (= @p_330 (! (fun_evaluate_match$ st$ env$ veriT_vr62 pes$) :named @p_350))) :rule cong :premises (t93.t9)) +(step t93.t11 (cl @p_349) :rule refl) +(step t93.t12 (cl (= @p_332 (! (fun_app$ @p_350 veriT_vr62) :named @p_351))) :rule cong :premises (t93.t10 t93.t11)) +(step t93.t13 (cl (= @p_334 (! (fst$ @p_351) :named @p_352))) :rule cong :premises (t93.t12)) +(step t93.t14 (cl (= @p_336 (! (clock$ @p_352) :named @p_353))) :rule cong :premises (t93.t13)) +(step t93.t15 (cl (= @p_338 (! (less_eq$ @p_353 @p_318) :named @p_354))) :rule cong :premises (t93.t14)) +(step t93.t16 (cl (= @p_340 (! (=> @p_348 @p_354) :named @p_355))) :rule cong :premises (t93.t8 t93.t15)) +(step t93 (cl (! (= @p_342 (! (forall ((veriT_vr61 V_error_result$) (veriT_vr62 V$)) @p_355) :named @p_357)) :named @p_356)) :rule bind) +(step t94 (cl (not @p_356) (not @p_342) @p_357) :rule equiv_pos2) +(step t95 (cl @p_357) :rule th_resolution :premises (t92 t93 t94)) +(step t96 (cl (! (= @p_358 (! (and @p_359 (! (not @p_360) :named @p_366)) :named @p_362)) :named @p_361)) :rule bool_simplify) +(step t97 (cl (! (not @p_361) :named @p_365) (! (not @p_358) :named @p_363) @p_362) :rule equiv_pos2) +(step t98 (cl (not @p_363) @p_364) :rule not_not) +(step t99 (cl @p_365 @p_364 @p_362) :rule th_resolution :premises (t98 t97)) +(step t100 (cl @p_362) :rule th_resolution :premises (a13 t96 t99)) +(step t101 (cl @p_359) :rule and :premises (t100)) +(step t102 (cl @p_366) :rule and :premises (t100)) +(step t103 (cl (or (! (not @p_105) :named @p_368) (! (forall ((veriT_vr13 Nat$) (veriT_vr14 Nat$) (veriT_vr15 Nat$)) (or (not @p_96) (not @p_98) @p_102)) :named @p_573))) :rule qnt_cnf) +(step t104 (cl (or (! (not @p_170) :named @p_431) (! (forall ((veriT_vr23 Astate$) (veriT_vr24 Astate_v_list_v_result_prod$) (veriT_vr26 V_list_v_result$)) (or @p_367 @p_146)) :named @p_629))) :rule qnt_cnf) +(step t105 (cl (or @p_368 (! (=> (! (and @p_369 (! (less_eq$ @p_370 @p_371) :named @p_373)) :named @p_372) @p_360) :named @p_374))) :rule forall_inst :args ((:= veriT_vr13 @p_371) (:= veriT_vr14 @p_7) (:= veriT_vr15 @p_370))) +(step t106 (cl @p_372 (! (not @p_369) :named @p_574) (! (not @p_373) :named @p_375)) :rule and_neg) +(step t107 (cl (! (not @p_374) :named @p_376) (! (not @p_372) :named @p_377) @p_360) :rule implies_pos) +(step t108 (cl @p_368 @p_374) :rule or :premises (t105)) +(step t109 (cl @p_372 @p_375) :rule resolution :premises (t106 a4)) +(step t110 (cl @p_376 @p_377) :rule resolution :premises (t107 t102)) +(step t111 (cl @p_374) :rule resolution :premises (t108 t38)) +(step t112 (cl @p_377) :rule resolution :premises (t110 t111)) +(step t113 (cl @p_375) :rule resolution :premises (t109 t112)) +(step t114 (cl (not (! (not @p_368) :named @p_578)) @p_105) :rule not_not) +(step t115 (cl (or (! (not @p_316) :named @p_547) (! (= (fix_clock$ st$a (pair$ @p_378 r$)) (pair$ (! (update_clock$ (uu$ st$a @p_378) @p_378) :named @p_561) r$)) :named @p_548))) :rule forall_inst :args ((:= veriT_vr56 st$a) (:= veriT_vr57 @p_378) (:= veriT_vr58 r$))) +(step t116 (cl (or (! (not @p_215) :named @p_427) (! (not (! (and (! (forall ((veriT_vr31 V$)) (! (not (! (= x2$ @p_204) :named @p_382)) :named @p_384)) :named @p_380) (! (forall ((veriT_vr32 Abort$)) (! (not (! (= x2$ @p_209) :named @p_388)) :named @p_390)) :named @p_386)) :named @p_392)) :named @p_379))) :rule forall_inst :args ((:= veriT_vr30 x2$))) +(anchor :step t117) +(assume t117.h1 @p_379) +(anchor :step t117.t2 :args ((:= (veriT_vr31 V$) veriT_vr63))) +(step t117.t2.t1 (cl (= veriT_vr31 veriT_vr63)) :rule refl) +(step t117.t2.t2 (cl (= @p_204 (! (rraise$ veriT_vr63) :named @p_381))) :rule cong :premises (t117.t2.t1)) +(step t117.t2.t3 (cl (= @p_382 (! (= x2$ @p_381) :named @p_383))) :rule cong :premises (t117.t2.t2)) +(step t117.t2.t4 (cl (= @p_384 (! (not @p_383) :named @p_385))) :rule cong :premises (t117.t2.t3)) +(step t117.t2 (cl (= @p_380 (! (forall ((veriT_vr63 V$)) @p_385) :named @p_393))) :rule bind) +(anchor :step t117.t3 :args ((:= (veriT_vr32 Abort$) veriT_vr64))) +(step t117.t3.t1 (cl (= veriT_vr32 veriT_vr64)) :rule refl) +(step t117.t3.t2 (cl (= @p_209 (! (rabort$ veriT_vr64) :named @p_387))) :rule cong :premises (t117.t3.t1)) +(step t117.t3.t3 (cl (= @p_388 (! (= x2$ @p_387) :named @p_389))) :rule cong :premises (t117.t3.t2)) +(step t117.t3.t4 (cl (= @p_390 (! (not @p_389) :named @p_391))) :rule cong :premises (t117.t3.t3)) +(step t117.t3 (cl (= @p_386 (! (forall ((veriT_vr64 Abort$)) @p_391) :named @p_394))) :rule bind) +(step t117.t4 (cl (= @p_392 (! (and @p_393 @p_394) :named @p_395))) :rule cong :premises (t117.t2 t117.t3)) +(step t117.t5 (cl (! (= @p_379 (! (not @p_395) :named @p_398)) :named @p_396)) :rule cong :premises (t117.t4)) +(step t117.t6 (cl (! (not @p_396) :named @p_399) (! (not @p_379) :named @p_397) @p_398) :rule equiv_pos2) +(step t117.t7 (cl (! (not @p_397) :named @p_426) @p_392) :rule not_not) +(step t117.t8 (cl @p_399 @p_392 @p_398) :rule th_resolution :premises (t117.t7 t117.t6)) +(step t117.t9 (cl @p_398) :rule th_resolution :premises (t117.h1 t117.t5 t117.t8)) +(anchor :step t117.t10 :args ((:= (veriT_vr63 V$) veriT_vr65))) +(step t117.t10.t1 (cl (= veriT_vr63 veriT_vr65)) :rule refl) +(step t117.t10.t2 (cl (= @p_381 @p_401)) :rule cong :premises (t117.t10.t1)) +(step t117.t10.t3 (cl (= @p_383 @p_402)) :rule cong :premises (t117.t10.t2)) +(step t117.t10.t4 (cl (= @p_385 @p_400)) :rule cong :premises (t117.t10.t3)) +(step t117.t10 (cl (= @p_393 (! (forall ((veriT_vr65 V$)) @p_400) :named @p_406))) :rule bind) +(anchor :step t117.t11 :args ((:= (veriT_vr64 Abort$) veriT_vr66))) +(step t117.t11.t1 (cl (= veriT_vr64 veriT_vr66)) :rule refl) +(step t117.t11.t2 (cl (= @p_387 @p_404)) :rule cong :premises (t117.t11.t1)) +(step t117.t11.t3 (cl (= @p_389 @p_405)) :rule cong :premises (t117.t11.t2)) +(step t117.t11.t4 (cl (= @p_391 @p_403)) :rule cong :premises (t117.t11.t3)) +(step t117.t11 (cl (= @p_394 (! (forall ((veriT_vr66 Abort$)) @p_403) :named @p_407))) :rule bind) +(step t117.t12 (cl (= @p_395 (! (and @p_406 @p_407) :named @p_408))) :rule cong :premises (t117.t10 t117.t11)) +(step t117.t13 (cl (! (= @p_398 (! (not @p_408) :named @p_410)) :named @p_409)) :rule cong :premises (t117.t12)) +(step t117.t14 (cl (! (not @p_409) :named @p_412) (! (not @p_398) :named @p_411) @p_410) :rule equiv_pos2) +(step t117.t15 (cl (not @p_411) @p_395) :rule not_not) +(step t117.t16 (cl @p_412 @p_395 @p_410) :rule th_resolution :premises (t117.t15 t117.t14)) +(step t117.t17 (cl @p_410) :rule th_resolution :premises (t117.t9 t117.t13 t117.t16)) +(anchor :step t117.t18 :args ((:= (veriT_vr65 V$) veriT_sk0))) +(step t117.t18.t1 (cl (= veriT_vr65 veriT_sk0)) :rule refl) +(step t117.t18.t2 (cl (= @p_401 (! (rraise$ veriT_sk0) :named @p_415))) :rule cong :premises (t117.t18.t1)) +(step t117.t18.t3 (cl (= @p_402 (! (= x2$ @p_415) :named @p_416))) :rule cong :premises (t117.t18.t2)) +(step t117.t18.t4 (cl (= @p_400 (! (not @p_416) :named @p_413))) :rule cong :premises (t117.t18.t3)) +(step t117.t18 (cl (= @p_406 @p_413)) :rule sko_forall) +(anchor :step t117.t19 :args ((:= (veriT_vr66 Abort$) veriT_sk1))) +(step t117.t19.t1 (cl (= veriT_vr66 veriT_sk1)) :rule refl) +(step t117.t19.t2 (cl (= @p_404 (! (rabort$ veriT_sk1) :named @p_419))) :rule cong :premises (t117.t19.t1)) +(step t117.t19.t3 (cl (= @p_405 (! (= x2$ @p_419) :named @p_420))) :rule cong :premises (t117.t19.t2)) +(step t117.t19.t4 (cl (= @p_403 (! (not @p_420) :named @p_417))) :rule cong :premises (t117.t19.t3)) +(step t117.t19 (cl (= @p_407 @p_417)) :rule sko_forall) +(step t117.t20 (cl (= @p_408 (! (and @p_413 @p_417) :named @p_421))) :rule cong :premises (t117.t18 t117.t19)) +(step t117.t21 (cl (! (= @p_410 (! (not @p_421) :named @p_422)) :named @p_423)) :rule cong :premises (t117.t20)) +(step t117.t22 (cl (! (not @p_423) :named @p_425) (! (not @p_410) :named @p_424) @p_422) :rule equiv_pos2) +(step t117.t23 (cl (not @p_424) @p_408) :rule not_not) +(step t117.t24 (cl @p_425 @p_408 @p_422) :rule th_resolution :premises (t117.t23 t117.t22)) +(step t117.t25 (cl @p_422) :rule th_resolution :premises (t117.t17 t117.t21 t117.t24)) +(step t117 (cl @p_397 @p_422) :rule subproof :discharge (h1)) +(step t118 (cl @p_426 @p_392) :rule not_not) +(step t119 (cl @p_392 @p_422) :rule th_resolution :premises (t118 t117)) +(step t120 (cl @p_427 @p_379) :rule or :premises (t116)) +(step t121 (cl (! (or @p_427 @p_422) :named @p_429) (! (not @p_427) :named @p_428)) :rule or_neg) +(step t122 (cl (not @p_428) @p_215) :rule not_not) +(step t123 (cl @p_429 @p_215) :rule th_resolution :premises (t122 t121)) +(step t124 (cl @p_429 (! (not @p_422) :named @p_430)) :rule or_neg) +(step t125 (cl (not @p_430) @p_421) :rule not_not) +(step t126 (cl @p_429 @p_421) :rule th_resolution :premises (t125 t124)) +(step t127 (cl @p_429) :rule th_resolution :premises (t120 t119 t123 t126)) +(step t128 (cl (not (! (not @p_431) :named @p_468)) @p_170) :rule not_not) +(step t129 (cl (or @p_431 (! (and (! (=> (! (= @p_378 @p_378) :named @p_432) (! (exists ((veriT_vr25 V_list_v_result$)) (! (= @p_3 (! (pair$ @p_378 veriT_vr25) :named @p_435)) :named @p_437)) :named @p_434)) :named @p_439) (! (=> (! (not (! (forall ((veriT_vr26 V_list_v_result$)) (! (not (! (= @p_3 (! (pair$ @p_378 veriT_vr26) :named @p_442)) :named @p_443)) :named @p_444)) :named @p_441)) :named @p_446) @p_432) :named @p_448)) :named @p_433))) :rule forall_inst :args ((:= veriT_vr23 @p_378) (:= veriT_vr24 @p_3))) +(anchor :step t130) +(assume t130.h1 @p_433) +(anchor :step t130.t2 :args ((:= (veriT_vr25 V_list_v_result$) veriT_vr72))) +(step t130.t2.t1 (cl (= veriT_vr25 veriT_vr72)) :rule refl) +(step t130.t2.t2 (cl (= @p_435 (! (pair$ @p_378 veriT_vr72) :named @p_436))) :rule cong :premises (t130.t2.t1)) +(step t130.t2.t3 (cl (= @p_437 (! (= @p_3 @p_436) :named @p_438))) :rule cong :premises (t130.t2.t2)) +(step t130.t2 (cl (= @p_434 (! (exists ((veriT_vr72 V_list_v_result$)) @p_438) :named @p_440))) :rule bind) +(step t130.t3 (cl (= @p_439 (! (=> @p_432 @p_440) :named @p_450))) :rule cong :premises (t130.t2)) +(anchor :step t130.t4 :args ((:= (veriT_vr26 V_list_v_result$) veriT_vr72))) +(step t130.t4.t1 (cl (= veriT_vr26 veriT_vr72)) :rule refl) +(step t130.t4.t2 (cl (= @p_442 @p_436)) :rule cong :premises (t130.t4.t1)) +(step t130.t4.t3 (cl (= @p_443 @p_438)) :rule cong :premises (t130.t4.t2)) +(step t130.t4.t4 (cl (= @p_444 (! (not @p_438) :named @p_445))) :rule cong :premises (t130.t4.t3)) +(step t130.t4 (cl (= @p_441 (! (forall ((veriT_vr72 V_list_v_result$)) @p_445) :named @p_447))) :rule bind) +(step t130.t5 (cl (= @p_446 (! (not @p_447) :named @p_449))) :rule cong :premises (t130.t4)) +(step t130.t6 (cl (= @p_448 (! (=> @p_449 @p_432) :named @p_451))) :rule cong :premises (t130.t5)) +(step t130.t7 (cl (! (= @p_433 (! (and @p_450 @p_451) :named @p_454)) :named @p_452)) :rule cong :premises (t130.t3 t130.t6)) +(step t130.t8 (cl (not @p_452) (! (not @p_433) :named @p_453) @p_454) :rule equiv_pos2) +(step t130.t9 (cl @p_454) :rule th_resolution :premises (t130.h1 t130.t7 t130.t8)) +(step t130.t10 (cl (= @p_432 true)) :rule eq_simplify) +(step t130.t11 (cl (= @p_450 (! (=> true @p_440) :named @p_455))) :rule cong :premises (t130.t10)) +(step t130.t12 (cl (= @p_455 @p_440)) :rule implies_simplify) +(step t130.t13 (cl (= @p_450 @p_440)) :rule trans :premises (t130.t11 t130.t12)) +(step t130.t14 (cl (= @p_451 (! (=> @p_449 true) :named @p_456))) :rule cong :premises (t130.t10)) +(step t130.t15 (cl (= @p_456 true)) :rule implies_simplify) +(step t130.t16 (cl (= @p_451 true)) :rule trans :premises (t130.t14 t130.t15)) +(step t130.t17 (cl (= @p_454 (! (and @p_440 true) :named @p_457))) :rule cong :premises (t130.t13 t130.t16)) +(step t130.t18 (cl (= @p_457 (! (and @p_440) :named @p_458))) :rule and_simplify) +(step t130.t19 (cl (= @p_458 @p_440)) :rule and_simplify) +(step t130.t20 (cl (! (= @p_454 @p_440) :named @p_459)) :rule trans :premises (t130.t17 t130.t18 t130.t19)) +(step t130.t21 (cl (not @p_459) (not @p_454) @p_440) :rule equiv_pos2) +(step t130.t22 (cl @p_440) :rule th_resolution :premises (t130.t9 t130.t20 t130.t21)) +(anchor :step t130.t23 :args ((:= (veriT_vr72 V_list_v_result$) veriT_vr73))) +(step t130.t23.t1 (cl (= veriT_vr72 veriT_vr73)) :rule refl) +(step t130.t23.t2 (cl (= @p_436 @p_461)) :rule cong :premises (t130.t23.t1)) +(step t130.t23.t3 (cl (= @p_438 @p_460)) :rule cong :premises (t130.t23.t2)) +(step t130.t23 (cl (! (= @p_440 (! (exists ((veriT_vr73 V_list_v_result$)) @p_460) :named @p_463)) :named @p_462)) :rule bind) +(step t130.t24 (cl (not @p_462) (not @p_440) @p_463) :rule equiv_pos2) +(step t130.t25 (cl @p_463) :rule th_resolution :premises (t130.t22 t130.t23 t130.t24)) +(anchor :step t130.t26 :args ((:= (veriT_vr73 V_list_v_result$) veriT_sk3))) +(step t130.t26.t1 (cl (= veriT_vr73 veriT_sk3)) :rule refl) +(step t130.t26.t2 (cl (= @p_461 (! (pair$ @p_378 veriT_sk3) :named @p_466))) :rule cong :premises (t130.t26.t1)) +(step t130.t26.t3 (cl (= @p_460 (! (= @p_3 @p_466) :named @p_464))) :rule cong :premises (t130.t26.t2)) +(step t130.t26 (cl (! (= @p_463 @p_464) :named @p_467)) :rule sko_ex) +(step t130.t27 (cl (not @p_467) (not @p_463) @p_464) :rule equiv_pos2) +(step t130.t28 (cl @p_464) :rule th_resolution :premises (t130.t25 t130.t26 t130.t27)) +(step t130 (cl @p_453 @p_464) :rule subproof :discharge (h1)) +(step t131 (cl @p_431 @p_433) :rule or :premises (t129)) +(step t132 (cl (! (or @p_431 @p_464) :named @p_469) @p_468) :rule or_neg) +(step t133 (cl @p_469 @p_170) :rule th_resolution :premises (t128 t132)) +(step t134 (cl @p_469 (! (not @p_464) :named @p_595)) :rule or_neg) +(step t135 (cl @p_469) :rule th_resolution :premises (t131 t130 t133 t134)) +(step t136 (cl (or @p_431 (! (and (! (=> (! (= st$ (! (fst$ @p_470) :named @p_650)) :named @p_471) (! (exists ((veriT_vr25 V_list_v_result$)) (! (= @p_470 (! (pair$ st$ veriT_vr25) :named @p_474)) :named @p_476)) :named @p_473)) :named @p_478) (! (=> (! (not (! (forall ((veriT_vr26 V_list_v_result$)) (! (not (! (= @p_470 (! (pair$ st$ veriT_vr26) :named @p_481)) :named @p_482)) :named @p_483)) :named @p_480)) :named @p_485) @p_471) :named @p_487)) :named @p_472))) :rule forall_inst :args ((:= veriT_vr23 st$) (:= veriT_vr24 @p_470))) +(anchor :step t137) +(assume t137.h1 @p_472) +(anchor :step t137.t2 :args ((:= (veriT_vr25 V_list_v_result$) veriT_vr106))) +(step t137.t2.t1 (cl (= veriT_vr25 veriT_vr106)) :rule refl) +(step t137.t2.t2 (cl (= @p_474 (! (pair$ st$ veriT_vr106) :named @p_475))) :rule cong :premises (t137.t2.t1)) +(step t137.t2.t3 (cl (= @p_476 (! (= @p_470 @p_475) :named @p_477))) :rule cong :premises (t137.t2.t2)) +(step t137.t2 (cl (= @p_473 (! (exists ((veriT_vr106 V_list_v_result$)) @p_477) :named @p_479))) :rule bind) +(step t137.t3 (cl (= @p_478 (! (=> @p_471 @p_479) :named @p_489))) :rule cong :premises (t137.t2)) +(anchor :step t137.t4 :args ((:= (veriT_vr26 V_list_v_result$) veriT_vr106))) +(step t137.t4.t1 (cl (= veriT_vr26 veriT_vr106)) :rule refl) +(step t137.t4.t2 (cl (= @p_481 @p_475)) :rule cong :premises (t137.t4.t1)) +(step t137.t4.t3 (cl (= @p_482 @p_477)) :rule cong :premises (t137.t4.t2)) +(step t137.t4.t4 (cl (= @p_483 (! (not @p_477) :named @p_484))) :rule cong :premises (t137.t4.t3)) +(step t137.t4 (cl (= @p_480 (! (forall ((veriT_vr106 V_list_v_result$)) @p_484) :named @p_486))) :rule bind) +(step t137.t5 (cl (= @p_485 (! (not @p_486) :named @p_488))) :rule cong :premises (t137.t4)) +(step t137.t6 (cl (= @p_487 (! (=> @p_488 @p_471) :named @p_490))) :rule cong :premises (t137.t5)) +(step t137.t7 (cl (! (= @p_472 (! (and @p_489 @p_490) :named @p_493)) :named @p_491)) :rule cong :premises (t137.t3 t137.t6)) +(step t137.t8 (cl (not @p_491) (! (not @p_472) :named @p_492) @p_493) :rule equiv_pos2) +(step t137.t9 (cl @p_493) :rule th_resolution :premises (t137.h1 t137.t7 t137.t8)) +(anchor :step t137.t10 :args ((:= (veriT_vr106 V_list_v_result$) veriT_vr107))) +(step t137.t10.t1 (cl (= veriT_vr106 veriT_vr107)) :rule refl) +(step t137.t10.t2 (cl (= @p_475 (! (pair$ st$ veriT_vr107) :named @p_494))) :rule cong :premises (t137.t10.t1)) +(step t137.t10.t3 (cl (= @p_477 (! (= @p_470 @p_494) :named @p_495))) :rule cong :premises (t137.t10.t2)) +(step t137.t10.t4 (cl (= @p_484 (! (not @p_495) :named @p_496))) :rule cong :premises (t137.t10.t3)) +(step t137.t10 (cl (= @p_486 (! (forall ((veriT_vr107 V_list_v_result$)) @p_496) :named @p_497))) :rule bind) +(step t137.t11 (cl (= @p_488 (! (not @p_497) :named @p_498))) :rule cong :premises (t137.t10)) +(step t137.t12 (cl (= @p_490 (! (=> @p_498 @p_471) :named @p_499))) :rule cong :premises (t137.t11)) +(step t137.t13 (cl (! (= @p_493 (! (and @p_489 @p_499) :named @p_501)) :named @p_500)) :rule cong :premises (t137.t12)) +(step t137.t14 (cl (not @p_500) (not @p_493) @p_501) :rule equiv_pos2) +(step t137.t15 (cl @p_501) :rule th_resolution :premises (t137.t9 t137.t13 t137.t14)) +(anchor :step t137.t16 :args ((:= (veriT_vr106 V_list_v_result$) veriT_vr108))) +(step t137.t16.t1 (cl (= veriT_vr106 veriT_vr108)) :rule refl) +(step t137.t16.t2 (cl (= @p_475 @p_503)) :rule cong :premises (t137.t16.t1)) +(step t137.t16.t3 (cl (= @p_477 @p_502)) :rule cong :premises (t137.t16.t2)) +(step t137.t16 (cl (= @p_479 (! (exists ((veriT_vr108 V_list_v_result$)) @p_502) :named @p_504))) :rule bind) +(step t137.t17 (cl (= @p_489 (! (=> @p_471 @p_504) :named @p_510))) :rule cong :premises (t137.t16)) +(anchor :step t137.t18 :args ((:= (veriT_vr107 V_list_v_result$) veriT_vr109))) +(step t137.t18.t1 (cl (= veriT_vr107 veriT_vr109)) :rule refl) +(step t137.t18.t2 (cl (= @p_494 (! (pair$ st$ veriT_vr109) :named @p_505))) :rule cong :premises (t137.t18.t1)) +(step t137.t18.t3 (cl (= @p_495 (! (= @p_470 @p_505) :named @p_506))) :rule cong :premises (t137.t18.t2)) +(step t137.t18.t4 (cl (= @p_496 (! (not @p_506) :named @p_507))) :rule cong :premises (t137.t18.t3)) +(step t137.t18 (cl (= @p_497 (! (forall ((veriT_vr109 V_list_v_result$)) @p_507) :named @p_508))) :rule bind) +(step t137.t19 (cl (= @p_498 (! (not @p_508) :named @p_509))) :rule cong :premises (t137.t18)) +(step t137.t20 (cl (= @p_499 (! (=> @p_509 @p_471) :named @p_511))) :rule cong :premises (t137.t19)) +(step t137.t21 (cl (! (= @p_501 (! (and @p_510 @p_511) :named @p_513)) :named @p_512)) :rule cong :premises (t137.t17 t137.t20)) +(step t137.t22 (cl (not @p_512) (not @p_501) @p_513) :rule equiv_pos2) +(step t137.t23 (cl @p_513) :rule th_resolution :premises (t137.t15 t137.t21 t137.t22)) +(anchor :step t137.t24 :args ((:= (veriT_vr108 V_list_v_result$) veriT_sk11))) +(step t137.t24.t1 (cl (= veriT_vr108 veriT_sk11)) :rule refl) +(step t137.t24.t2 (cl (= @p_503 (! (pair$ st$ veriT_sk11) :named @p_516))) :rule cong :premises (t137.t24.t1)) +(step t137.t24.t3 (cl (= @p_502 (! (= @p_470 @p_516) :named @p_514))) :rule cong :premises (t137.t24.t2)) +(step t137.t24 (cl (= @p_504 @p_514)) :rule sko_ex) +(step t137.t25 (cl (= @p_510 (! (=> @p_471 @p_514) :named @p_517))) :rule cong :premises (t137.t24)) +(step t137.t26 (cl (! (= @p_513 (! (and @p_517 @p_511) :named @p_519)) :named @p_518)) :rule cong :premises (t137.t25)) +(step t137.t27 (cl (not @p_518) (not @p_513) @p_519) :rule equiv_pos2) +(step t137.t28 (cl @p_519) :rule th_resolution :premises (t137.t23 t137.t26 t137.t27)) +(anchor :step t137.t29 :args ((:= (veriT_vr109 V_list_v_result$) veriT_vr110))) +(step t137.t29.t1 (cl (= veriT_vr109 veriT_vr110)) :rule refl) +(step t137.t29.t2 (cl (= @p_505 (! (pair$ st$ veriT_vr110) :named @p_521))) :rule cong :premises (t137.t29.t1)) +(step t137.t29.t3 (cl (= @p_506 (! (= @p_470 @p_521) :named @p_522))) :rule cong :premises (t137.t29.t2)) +(step t137.t29.t4 (cl (= @p_507 (! (not @p_522) :named @p_523))) :rule cong :premises (t137.t29.t3)) +(step t137.t29 (cl (= @p_508 (! (forall ((veriT_vr110 V_list_v_result$)) @p_523) :named @p_520))) :rule bind) +(step t137.t30 (cl (= @p_509 (! (not @p_520) :named @p_524))) :rule cong :premises (t137.t29)) +(step t137.t31 (cl (= @p_511 (! (=> @p_524 @p_471) :named @p_525))) :rule cong :premises (t137.t30)) +(step t137.t32 (cl (! (= @p_519 (! (and @p_517 @p_525) :named @p_526)) :named @p_527)) :rule cong :premises (t137.t31)) +(step t137.t33 (cl (not @p_527) (not @p_519) @p_526) :rule equiv_pos2) +(step t137.t34 (cl @p_526) :rule th_resolution :premises (t137.t28 t137.t32 t137.t33)) +(step t137 (cl @p_492 @p_526) :rule subproof :discharge (h1)) +(step t138 (cl @p_431 @p_472) :rule or :premises (t136)) +(step t139 (cl (! (or @p_431 @p_526) :named @p_528) @p_468) :rule or_neg) +(step t140 (cl @p_528 @p_170) :rule th_resolution :premises (t128 t139)) +(step t141 (cl @p_528 (! (not @p_526) :named @p_553)) :rule or_neg) +(step t142 (cl @p_528) :rule th_resolution :premises (t138 t137 t140 t141)) +(step t143 (cl (not (! (not (! (not @p_79) :named @p_529)) :named @p_537)) @p_79) :rule not_not) +(step t144 (cl (or @p_529 (! (= (! (fun_app$b (! (uu$ @p_378 @p_530) :named @p_655) @p_371) :named @p_532) (! (ite @p_373 @p_370 @p_371) :named @p_533)) :named @p_531))) :rule forall_inst :args ((:= veriT_vr7 @p_378) (:= veriT_vr8 @p_530) (:= veriT_vr9 @p_371))) +(anchor :step t145) +(assume t145.h1 @p_531) +(step t145.t2 (cl (! (= @p_531 (! (and (! (= @p_532 @p_533) :named @p_555) (! (ite @p_373 (= @p_370 @p_533) (! (= @p_371 @p_533) :named @p_557)) :named @p_556)) :named @p_534)) :named @p_535)) :rule ite_intro) +(step t145.t3 (cl (not @p_535) (! (not @p_531) :named @p_536) @p_534) :rule equiv_pos2) +(step t145.t4 (cl @p_534) :rule th_resolution :premises (t145.h1 t145.t2 t145.t3)) +(step t145 (cl @p_536 @p_534) :rule subproof :discharge (h1)) +(step t146 (cl @p_529 @p_531) :rule or :premises (t144)) +(step t147 (cl (! (or @p_529 @p_534) :named @p_538) @p_537) :rule or_neg) +(step t148 (cl @p_538 @p_79) :rule th_resolution :premises (t143 t147)) +(step t149 (cl @p_538 (! (not @p_534) :named @p_554)) :rule or_neg) +(step t150 (cl @p_538) :rule th_resolution :premises (t146 t145 t148 t149)) +(step t151 (cl (or @p_529 (! (= (! (fun_app$b (! (uu$ @p_378 st$) :named @p_656) @p_371) :named @p_540) (! (ite (! (less_eq$ @p_318 @p_371) :named @p_542) @p_318 @p_371) :named @p_541)) :named @p_539))) :rule forall_inst :args ((:= veriT_vr7 @p_378) (:= veriT_vr8 st$) (:= veriT_vr9 @p_371))) +(anchor :step t152) +(assume t152.h1 @p_539) +(step t152.t2 (cl (! (= @p_539 (! (and (! (= @p_540 @p_541) :named @p_560) (ite @p_542 (! (= @p_318 @p_541) :named @p_662) (= @p_371 @p_541))) :named @p_543)) :named @p_544)) :rule ite_intro) +(step t152.t3 (cl (not @p_544) (! (not @p_539) :named @p_545) @p_543) :rule equiv_pos2) +(step t152.t4 (cl @p_543) :rule th_resolution :premises (t152.h1 t152.t2 t152.t3)) +(step t152 (cl @p_545 @p_543) :rule subproof :discharge (h1)) +(step t153 (cl @p_529 @p_539) :rule or :premises (t151)) +(step t154 (cl (! (or @p_529 @p_543) :named @p_546) @p_537) :rule or_neg) +(step t155 (cl @p_546 @p_79) :rule th_resolution :premises (t143 t154)) +(step t156 (cl @p_546 (! (not @p_543) :named @p_559)) :rule or_neg) +(step t157 (cl @p_546) :rule th_resolution :premises (t153 t152 t155 t156)) +(step t158 (cl @p_547 @p_548) :rule or :premises (t115)) +(step t159 (cl @p_548) :rule resolution :premises (t158 t89)) +(step t160 (cl @p_421 (! (not @p_413) :named @p_549) (! (not @p_417) :named @p_550)) :rule and_neg) +(step t161 (cl (not @p_549) @p_416) :rule not_not) +(step t162 (cl @p_421 @p_416 @p_550) :rule th_resolution :premises (t161 t160)) +(step t163 (cl (not @p_550) @p_420) :rule not_not) +(step t164 (cl @p_421 @p_416 @p_420) :rule th_resolution :premises (t163 t162)) +(step t165 (cl @p_427 @p_422) :rule or :premises (t127)) +(step t166 (cl @p_422) :rule resolution :premises (t165 t65)) +(step t167 (cl @p_431 @p_464) :rule or :premises (t135)) +(step t168 (cl @p_464) :rule resolution :premises (t167 t56)) +(step t169 (cl (! (not @p_525) :named @p_552) (! (not @p_524) :named @p_551) @p_471) :rule implies_pos) +(step t170 (cl (not @p_551) @p_520) :rule not_not) +(step t171 (cl @p_552 @p_520 @p_471) :rule th_resolution :premises (t170 t169)) +(step t172 (cl @p_553 @p_525) :rule and_pos) +(step t173 (cl @p_431 @p_526) :rule or :premises (t142)) +(step t174 (cl @p_526) :rule resolution :premises (t173 t56)) +(step t175 (cl @p_525) :rule resolution :premises (t172 t174)) +(step t176 (cl @p_554 @p_555) :rule and_pos) +(step t177 (cl (! (not @p_556) :named @p_558) @p_373 @p_557) :rule ite_pos1) +(step t178 (cl @p_554 @p_556) :rule and_pos) +(step t179 (cl @p_529 @p_534) :rule or :premises (t150)) +(step t180 (cl @p_558 @p_557) :rule resolution :premises (t177 t113)) +(step t181 (cl @p_534) :rule resolution :premises (t179 t32)) +(step t182 (cl @p_555) :rule resolution :premises (t176 t181)) +(step t183 (cl @p_556) :rule resolution :premises (t178 t181)) +(step t184 (cl @p_557) :rule resolution :premises (t180 t183)) +(step t185 (cl @p_559 @p_560) :rule and_pos) +(step t186 (cl @p_529 @p_543) :rule or :premises (t157)) +(step t187 (cl @p_543) :rule resolution :premises (t186 t32)) +(step t188 (cl @p_560) :rule resolution :premises (t185 t187)) +(step t189 (cl (! (not (! (= st$ @p_530) :named @p_651)) :named @p_654) (! (= @p_318 @p_370) :named @p_663)) :rule eq_congruent) +(step t190 (cl (or (! (not @p_357) :named @p_565) (! (=> (! (and @p_359 @p_416) :named @p_562) (! (less_eq$ (! (clock$ (! (fst$ (! (fun_app$ (fun_evaluate_match$ st$ env$ veriT_sk0 pes$) veriT_sk0) :named @p_583)) :named @p_618)) :named @p_619) @p_318) :named @p_564)) :named @p_563))) :rule forall_inst :args ((:= veriT_vr61 x2$) (:= veriT_vr62 veriT_sk0))) +(step t191 (cl (or @p_547 (! (= (! (fix_clock$ st$a @p_466) :named @p_596) (! (pair$ @p_561 veriT_sk3) :named @p_676)) :named @p_566))) :rule forall_inst :args ((:= veriT_vr56 st$a) (:= veriT_vr57 @p_378) (:= veriT_vr58 veriT_sk3))) +(step t192 (cl (or (! (not @p_290) :named @p_569) (! (=> @p_548 (! (less_eq$ (! (clock$ @p_561) :named @p_575) @p_371) :named @p_568)) :named @p_567))) :rule forall_inst :args ((:= veriT_vr49 st$a) (:= veriT_vr50 @p_378) (:= veriT_vr51 r$) (:= veriT_vr52 @p_561))) +(step t193 (cl (or (! (not @p_236) :named @p_571) (! (= (! (case_error_result$ uua$ uub$ @p_415) :named @p_621) (! (fun_app$ uua$ veriT_sk0) :named @p_584)) :named @p_572))) :rule forall_inst :args ((:= veriT_vr36 uua$) (:= veriT_vr37 uub$) (:= veriT_vr38 veriT_sk0))) +(step t194 (cl @p_562 (! (not @p_359) :named @p_614) @p_413) :rule and_neg) +(step t195 (cl (not @p_563) (not @p_562) @p_564) :rule implies_pos) +(step t196 (cl @p_565 @p_563) :rule or :premises (t190)) +(step t197 (cl @p_562 @p_413) :rule resolution :premises (t194 t101)) +(step t198 (cl @p_563) :rule resolution :premises (t196 t95)) +(step t199 (cl @p_547 @p_566) :rule or :premises (t191)) +(step t200 (cl @p_566) :rule resolution :premises (t199 t89)) +(step t201 (cl (! (not @p_567) :named @p_570) (not @p_548) @p_568) :rule implies_pos) +(step t202 (cl @p_569 @p_567) :rule or :premises (t192)) +(step t203 (cl @p_570 @p_568) :rule resolution :premises (t201 t159)) +(step t204 (cl @p_567) :rule resolution :premises (t202 t83)) +(step t205 (cl @p_568) :rule resolution :premises (t203 t204)) +(step t206 (cl @p_571 @p_572) :rule or :premises (t193)) +(step t207 (cl @p_572) :rule resolution :premises (t206 t71)) +(step t208 (cl @p_368 @p_573) :rule or :premises (t103)) +(step t209 (cl (or (! (not @p_573) :named @p_576) (! (or @p_574 (! (not @p_568) :named @p_581) (! (less_eq$ @p_575 @p_7) :named @p_582)) :named @p_577))) :rule forall_inst :args ((:= veriT_vr13 @p_371) (:= veriT_vr14 @p_7) (:= veriT_vr15 @p_575))) +(step t210 (cl @p_576 @p_577) :rule or :premises (t209)) +(step t211 (cl (! (or @p_368 @p_577) :named @p_579) @p_578) :rule or_neg) +(step t212 (cl @p_579 @p_105) :rule th_resolution :premises (t114 t211)) +(step t213 (cl @p_579 (! (not @p_577) :named @p_580)) :rule or_neg) +(step t214 (cl @p_579) :rule th_resolution :premises (t208 t210 t212 t213)) +(step t215 (cl @p_580 @p_574 @p_581 @p_582) :rule or_pos) +(step t216 (cl @p_368 @p_577) :rule or :premises (t214)) +(step t217 (cl @p_580 @p_582) :rule resolution :premises (t215 a4 t205)) +(step t218 (cl @p_577) :rule resolution :premises (t216 t38)) +(step t219 (cl @p_582) :rule resolution :premises (t217 t218)) +(step t220 (cl (or (! (not @p_257) :named @p_585) (! (= (! (case_error_result$ uua$ uub$ @p_419) :named @p_603) (! (fun_app$a uub$ veriT_sk1) :named @p_599)) :named @p_586))) :rule forall_inst :args ((:= veriT_vr42 uua$) (:= veriT_vr43 uub$) (:= veriT_vr44 veriT_sk1))) +(step t221 (cl (or @p_368 (! (=> (! (and @p_582 (! (less_eq$ @p_370 @p_575) :named @p_588)) :named @p_587) @p_360) :named @p_589))) :rule forall_inst :args ((:= veriT_vr13 @p_575) (:= veriT_vr14 @p_7) (:= veriT_vr15 @p_370))) +(step t222 (cl (or (! (not @p_26) :named @p_593) (! (= @p_583 @p_584) :named @p_594))) :rule forall_inst :args ((:= veriT_vr1 veriT_sk0))) +(step t223 (cl @p_585 @p_586) :rule or :premises (t220)) +(step t224 (cl @p_586) :rule resolution :premises (t223 t77)) +(step t225 (cl @p_587 (not @p_582) (! (not @p_588) :named @p_590)) :rule and_neg) +(step t226 (cl (! (not @p_589) :named @p_591) (! (not @p_587) :named @p_592) @p_360) :rule implies_pos) +(step t227 (cl @p_368 @p_589) :rule or :premises (t221)) +(step t228 (cl @p_587 @p_590) :rule resolution :premises (t225 t219)) +(step t229 (cl @p_591 @p_592) :rule resolution :premises (t226 t102)) +(step t230 (cl @p_589) :rule resolution :premises (t227 t38)) +(step t231 (cl @p_592) :rule resolution :premises (t229 t230)) +(step t232 (cl @p_590) :rule resolution :premises (t228 t231)) +(step t233 (cl @p_593 @p_594) :rule or :premises (t222)) +(step t234 (cl @p_594) :rule resolution :premises (t233 t20)) +(step t235 (cl (not (! (= st$a st$a) :named @p_597)) @p_595 (! (= @p_470 @p_596) :named @p_598)) :rule eq_congruent) +(step t236 (cl @p_597) :rule eq_reflexive) +(step t237 (cl @p_595 @p_598) :rule th_resolution :premises (t235 t236)) +(step t238 (cl (or (! (not @p_48) :named @p_600) (! (= @p_599 (! (pair$ st$ (! (rerr$ @p_419) :named @p_608)) :named @p_610)) :named @p_601))) :rule forall_inst :args ((:= veriT_vr3 veriT_sk1))) +(step t239 (cl @p_600 @p_601) :rule or :premises (t238)) +(step t240 (cl @p_601) :rule resolution :premises (t239 t26)) +(step t241 (cl (! (not (! (= uua$ uua$) :named @p_604)) :named @p_623) (! (not (! (= uub$ uub$) :named @p_607)) :named @p_605) @p_417 (! (= @p_602 @p_603) :named @p_606)) :rule eq_congruent) +(step t242 (cl @p_604) :rule eq_reflexive) +(step t243 (cl @p_605 @p_417 @p_606) :rule th_resolution :premises (t241 t242)) +(step t244 (cl @p_607) :rule eq_reflexive) +(step t245 (cl @p_417 @p_606) :rule th_resolution :premises (t243 t244)) +(step t246 (cl (not (! (= st$ st$) :named @p_611)) (! (not (! (= r$ @p_608) :named @p_616)) :named @p_612) (! (= @p_609 @p_610) :named @p_613)) :rule eq_congruent) +(step t247 (cl @p_611) :rule eq_reflexive) +(step t248 (cl @p_612 @p_613) :rule th_resolution :premises (t246 t247)) +(step t249 (cl @p_614 (not (! (= @p_615 @p_608) :named @p_617)) @p_616) :rule eq_transitive) +(step t250 (cl @p_417 @p_617) :rule eq_congruent) +(step t251 (cl @p_614 @p_616 @p_417) :rule th_resolution :premises (t249 t250)) +(step t252 (cl @p_613 @p_614 @p_417) :rule th_resolution :premises (t248 t251)) +(step t253 (cl (not (! (= @p_530 @p_618) :named @p_620)) (! (= @p_370 @p_619) :named @p_627)) :rule eq_congruent) +(step t254 (cl (not (! (= @p_602 @p_583) :named @p_622)) @p_620) :rule eq_congruent) +(step t255 (cl (not (! (= @p_602 @p_621) :named @p_624)) (! (not @p_572) :named @p_625) (! (not @p_594) :named @p_626) @p_622) :rule eq_transitive) +(step t256 (cl @p_623 @p_605 @p_413 @p_624) :rule eq_congruent) +(step t257 (cl @p_605 @p_413 @p_624) :rule th_resolution :premises (t256 t242)) +(step t258 (cl @p_413 @p_624) :rule th_resolution :premises (t257 t244)) +(step t259 (cl @p_625 @p_626 @p_622 @p_413) :rule th_resolution :premises (t255 t258)) +(step t260 (cl @p_620 @p_625 @p_626 @p_413) :rule th_resolution :premises (t254 t259)) +(step t261 (cl @p_627 @p_625 @p_626 @p_413) :rule th_resolution :premises (t253 t260)) +(step t262 (cl (or @p_524 (! (not @p_628) :named @p_630))) :rule forall_inst :args ((:= veriT_vr110 r$))) +(step t263 (cl @p_431 @p_629) :rule or :premises (t104)) +(step t264 (cl @p_524 @p_630) :rule or :premises (t262)) +(step t265 (cl @p_524) :rule resolution :premises (t264 a3)) +(step t266 (cl @p_471) :rule resolution :premises (t171 t265 t175)) +(step t267 (cl (or @p_529 (! (= (! (fun_app$b (! (uu$ @p_378 @p_561) :named @p_631) (! (clock$ (update_clock$ @p_631 @p_561)) :named @p_632)) :named @p_634) (! (ite @p_568 @p_575 @p_371) :named @p_635)) :named @p_633))) :rule forall_inst :args ((:= veriT_vr7 @p_378) (:= veriT_vr8 @p_561) (:= veriT_vr9 @p_632))) +(anchor :step t268) +(assume t268.h1 @p_633) +(step t268.t2 (cl (! (= @p_633 (! (and (= @p_634 @p_635) (! (ite @p_568 (! (= @p_575 @p_635) :named @p_647) (= @p_371 @p_635)) :named @p_646)) :named @p_636)) :named @p_637)) :rule ite_intro) +(step t268.t3 (cl (not @p_637) (! (not @p_633) :named @p_638) @p_636) :rule equiv_pos2) +(step t268.t4 (cl @p_636) :rule th_resolution :premises (t268.h1 t268.t2 t268.t3)) +(step t268 (cl @p_638 @p_636) :rule subproof :discharge (h1)) +(step t269 (cl @p_529 @p_633) :rule or :premises (t267)) +(step t270 (cl (! (or @p_529 @p_636) :named @p_639) @p_537) :rule or_neg) +(step t271 (cl @p_639 @p_79) :rule th_resolution :premises (t143 t270)) +(step t272 (cl @p_639 (! (not @p_636) :named @p_648)) :rule or_neg) +(step t273 (cl @p_639) :rule th_resolution :premises (t269 t268 t271 t272)) +(step t274 (cl (or @p_529 (! (= @p_635 (! (fun_app$b @p_631 @p_371) :named @p_641)) :named @p_640))) :rule forall_inst :args ((:= veriT_vr7 @p_378) (:= veriT_vr8 @p_561) (:= veriT_vr9 @p_371))) +(anchor :step t275) +(assume t275.h1 @p_640) +(step t275.t2 (cl (! (= @p_640 (! (= @p_635 @p_641) :named @p_642)) :named @p_643)) :rule ite_intro) +(step t275.t3 (cl (not @p_643) (! (not @p_640) :named @p_644) @p_642) :rule equiv_pos2) +(step t275.t4 (cl @p_642) :rule th_resolution :premises (t275.h1 t275.t2 t275.t3)) +(step t275 (cl @p_644 @p_642) :rule subproof :discharge (h1)) +(step t276 (cl @p_529 @p_640) :rule or :premises (t274)) +(step t277 (cl (! (or @p_529 @p_642) :named @p_645) @p_537) :rule or_neg) +(step t278 (cl @p_645 @p_79) :rule th_resolution :premises (t143 t277)) +(step t279 (cl @p_645 (! (not @p_642) :named @p_696)) :rule or_neg) +(step t280 (cl @p_645) :rule th_resolution :premises (t276 t275 t278 t279)) +(step t281 (cl (! (not @p_646) :named @p_649) @p_581 @p_647) :rule ite_pos2) +(step t282 (cl @p_648 @p_646) :rule and_pos) +(step t283 (cl @p_529 @p_636) :rule or :premises (t273)) +(step t284 (cl @p_649 @p_647) :rule resolution :premises (t281 t205)) +(step t285 (cl @p_636) :rule resolution :premises (t283 t32)) +(step t286 (cl @p_646) :rule resolution :premises (t282 t285)) +(step t287 (cl @p_647) :rule resolution :premises (t284 t286)) +(step t288 (cl @p_529 @p_642) :rule or :premises (t280)) +(step t289 (cl @p_642) :rule resolution :premises (t288 t32)) +(step t290 (cl (! (= @p_371 @p_371) :named @p_671)) :rule eq_reflexive) +(step t291 (cl (! (not @p_471) :named @p_661) (not (! (= @p_530 @p_650) :named @p_652)) @p_651) :rule eq_transitive) +(step t292 (cl (not (! (= @p_470 @p_602) :named @p_653)) @p_652) :rule eq_congruent) +(step t293 (cl @p_630 (not @p_613) (! (not @p_601) :named @p_657) (! (not @p_586) :named @p_658) (! (not @p_606) :named @p_659) @p_653) :rule eq_transitive) +(step t294 (cl (! (not @p_432) :named @p_674) @p_654 (! (= @p_655 @p_656) :named @p_670)) :rule eq_congruent) +(step t295 (cl @p_432) :rule eq_reflexive) +(step t296 (cl @p_630 @p_657 @p_658 @p_659 @p_653 @p_614 @p_417) :rule th_resolution :premises (t293 t252)) +(step t297 (cl @p_630 @p_657 @p_658 @p_653 @p_614 @p_417 @p_417) :rule th_resolution :premises (t296 t245)) +(step t298 (cl @p_630 @p_657 @p_658 @p_653 @p_614 @p_417) :rule contraction :premises (t297)) +(step t299 (cl @p_652 @p_630 @p_657 @p_658 @p_614 @p_417) :rule th_resolution :premises (t292 t298)) +(step t300 (cl (not (! (= @p_371 @p_370) :named @p_664)) (! (not (! (= @p_7 @p_7) :named @p_660)) :named @p_675) @p_574 @p_360) :rule eq_congruent_pred) +(step t301 (cl @p_660) :rule eq_reflexive) +(step t302 (cl @p_661 @p_651 @p_630 @p_657 @p_658 @p_614 @p_417) :rule th_resolution :premises (t291 t299)) +(step t303 (cl (! (not @p_557) :named @p_665) (! (not @p_555) :named @p_666) (! (not (! (= @p_532 @p_540) :named @p_672)) :named @p_667) (! (not @p_560) :named @p_668) (! (not @p_662) :named @p_669) (not @p_663) @p_664) :rule eq_transitive) +(step t304 (cl @p_663 @p_661 @p_630 @p_657 @p_658 @p_614 @p_417) :rule th_resolution :premises (t189 t302)) +(step t305 (cl @p_665 @p_666 @p_667 @p_668 @p_669 @p_664 @p_661 @p_630 @p_657 @p_658 @p_614 @p_417) :rule th_resolution :premises (t303 t304)) +(step t306 (cl (! (not @p_670) :named @p_673) (! (not @p_671) :named @p_699) @p_672) :rule eq_congruent) +(step t307 (cl @p_673 @p_672) :rule th_resolution :premises (t306 t290)) +(step t308 (cl @p_674 @p_670 @p_661 @p_630 @p_657 @p_658 @p_614 @p_417) :rule th_resolution :premises (t294 t302)) +(step t309 (cl @p_670 @p_661 @p_630 @p_657 @p_658 @p_614 @p_417) :rule th_resolution :premises (t308 t295)) +(step t310 (cl @p_672 @p_661 @p_630 @p_657 @p_658 @p_614 @p_417) :rule th_resolution :premises (t307 t309)) +(step t311 (cl @p_665 @p_666 @p_668 @p_669 @p_664 @p_661 @p_630 @p_657 @p_658 @p_614 @p_417 @p_661 @p_630 @p_657 @p_658 @p_614 @p_417) :rule th_resolution :premises (t305 t310)) +(step t312 (cl @p_665 @p_666 @p_668 @p_669 @p_664 @p_661 @p_630 @p_657 @p_658 @p_614 @p_417) :rule contraction :premises (t311)) +(step t313 (cl @p_675 @p_574 @p_360 @p_665 @p_666 @p_668 @p_669 @p_661 @p_630 @p_657 @p_658 @p_614 @p_417) :rule th_resolution :premises (t300 t312)) +(step t314 (cl @p_574 @p_360 @p_665 @p_666 @p_668 @p_669 @p_661 @p_630 @p_657 @p_658 @p_614 @p_417) :rule th_resolution :premises (t313 t301)) +(step t315 (cl @p_669 @p_417) :rule resolution :premises (t314 a3 a4 t101 t102 t266 t182 t184 t188 t224 t240)) +(step t316 (cl (or (! (not @p_629) :named @p_677) (! (or (! (not (! (= @p_676 @p_676) :named @p_682)) :named @p_683) (! (= @p_561 (! (fst$ @p_676) :named @p_691)) :named @p_681)) :named @p_678))) :rule forall_inst :args ((:= veriT_vr23 @p_561) (:= veriT_vr24 @p_676) (:= veriT_vr26 veriT_sk3))) +(step t317 (cl @p_677 @p_678) :rule or :premises (t316)) +(step t318 (cl (! (or @p_431 @p_678) :named @p_679) @p_468) :rule or_neg) +(step t319 (cl @p_679 @p_170) :rule th_resolution :premises (t128 t318)) +(step t320 (cl @p_679 (! (not @p_678) :named @p_680)) :rule or_neg) +(step t321 (cl @p_679) :rule th_resolution :premises (t263 t317 t319 t320)) +(anchor :step t322) +(assume t322.h1 @p_678) +(step t322.t2 (cl (= @p_682 true)) :rule eq_simplify) +(step t322.t3 (cl (= @p_683 (! (not true) :named @p_684))) :rule cong :premises (t322.t2)) +(step t322.t4 (cl (= @p_684 false)) :rule not_simplify) +(step t322.t5 (cl (= @p_683 false)) :rule trans :premises (t322.t3 t322.t4)) +(step t322.t6 (cl (= @p_678 (! (or false @p_681) :named @p_685))) :rule cong :premises (t322.t5)) +(step t322.t7 (cl (= @p_685 (! (or @p_681) :named @p_686))) :rule or_simplify) +(step t322.t8 (cl (= @p_686 @p_681)) :rule or_simplify) +(step t322.t9 (cl (! (= @p_678 @p_681) :named @p_687)) :rule trans :premises (t322.t6 t322.t7 t322.t8)) +(step t322.t10 (cl (not @p_687) @p_680 @p_681) :rule equiv_pos2) +(step t322.t11 (cl @p_681) :rule th_resolution :premises (t322.h1 t322.t9 t322.t10)) +(step t322 (cl @p_680 @p_681) :rule subproof :discharge (h1)) +(step t323 (cl @p_431 @p_678) :rule or :premises (t321)) +(step t324 (cl (! (or @p_431 @p_681) :named @p_688) @p_468) :rule or_neg) +(step t325 (cl @p_688 @p_170) :rule th_resolution :premises (t128 t324)) +(step t326 (cl @p_688 (! (not @p_681) :named @p_693)) :rule or_neg) +(step t327 (cl @p_688) :rule th_resolution :premises (t323 t322 t325 t326)) +(step t328 (cl @p_431 @p_681) :rule or :premises (t327)) +(step t329 (cl @p_681) :rule resolution :premises (t328 t56)) +(step t330 (cl (not @p_598) (! (not @p_566) :named @p_689) (! (= @p_470 @p_676) :named @p_690)) :rule eq_transitive) +(step t331 (cl @p_689 @p_690 @p_595) :rule th_resolution :premises (t330 t237)) +(step t332 (cl (not @p_690) (! (= @p_650 @p_691) :named @p_692)) :rule eq_congruent) +(step t333 (cl @p_692 @p_689 @p_595) :rule th_resolution :premises (t332 t331)) +(step t334 (cl @p_661 (not @p_692) @p_693 (! (= st$ @p_561) :named @p_694)) :rule eq_transitive) +(step t335 (cl @p_661 @p_693 @p_694 @p_689 @p_595) :rule th_resolution :premises (t334 t333)) +(step t336 (cl (! (not @p_694) :named @p_702) (! (= @p_318 @p_575) :named @p_695)) :rule eq_congruent) +(step t337 (cl @p_695 @p_661 @p_693 @p_689 @p_595) :rule th_resolution :premises (t336 t335)) +(step t338 (cl (! (not @p_695) :named @p_704) (! (not @p_647) :named @p_697) @p_696 (! (not (! (= @p_540 @p_641) :named @p_700)) :named @p_698) @p_668 @p_662) :rule eq_transitive) +(step t339 (cl @p_697 @p_696 @p_698 @p_668 @p_662 @p_661 @p_693 @p_689 @p_595) :rule th_resolution :premises (t338 t337)) +(step t340 (cl (! (not (! (= @p_656 @p_631) :named @p_703)) :named @p_701) @p_699 @p_700) :rule eq_congruent) +(step t341 (cl @p_701 @p_700) :rule th_resolution :premises (t340 t290)) +(step t342 (cl @p_674 @p_702 @p_703) :rule eq_congruent) +(step t343 (cl @p_702 @p_703) :rule th_resolution :premises (t342 t295)) +(step t344 (cl @p_703 @p_661 @p_693 @p_689 @p_595) :rule th_resolution :premises (t343 t335)) +(step t345 (cl @p_700 @p_661 @p_693 @p_689 @p_595) :rule th_resolution :premises (t341 t344)) +(step t346 (cl @p_697 @p_696 @p_668 @p_662 @p_661 @p_693 @p_689 @p_595 @p_661 @p_693 @p_689 @p_595) :rule th_resolution :premises (t339 t345)) +(step t347 (cl @p_697 @p_696 @p_668 @p_662 @p_661 @p_693 @p_689 @p_595) :rule contraction :premises (t346)) +(step t348 (cl @p_662) :rule resolution :premises (t347 t266 t188 t200 t287 t289 t168 t329)) +(step t349 (cl @p_417) :rule resolution :premises (t315 t348)) +(step t350 (cl @p_416) :rule resolution :premises (t164 t349 t166)) +(step t351 (cl @p_562) :rule resolution :premises (t197 t350)) +(step t352 (cl @p_564) :rule resolution :premises (t195 t351 t198)) +(step t353 (cl (not @p_627) @p_704 (! (not @p_564) :named @p_705) @p_588) :rule eq_congruent_pred) +(step t354 (cl @p_704 @p_705 @p_588 @p_625 @p_626 @p_413) :rule th_resolution :premises (t353 t261)) +(step t355 (cl @p_705 @p_588 @p_625 @p_626 @p_413 @p_661 @p_693 @p_689 @p_595) :rule th_resolution :premises (t354 t337)) +(step t356 (cl) :rule resolution :premises (t355 t350 t168 t266 t352 t200 t207 t232 t234 t329)) diff --git a/src/HOL/SMT_Examples/SMT_Word_Examples.certs b/src/HOL/SMT_Examples/SMT_Word_Examples.certs --- a/src/HOL/SMT_Examples/SMT_Word_Examples.certs +++ b/src/HOL/SMT_Examples/SMT_Word_Examples.certs @@ -1,365 +1,365 @@ -e165589be66542b081eba62a2be2f8d39e278f08 8 0 +a5d69231f52771aee13986f9557d0f15deceb578 8 0 unsat ((set-logic ) (proof (let ((@x38 (monotonicity (rewrite (= (bvneg (_ bv5 4)) (_ bv11 4))) (= (= (_ bv11 4) (bvneg (_ bv5 4))) (= (_ bv11 4) (_ bv11 4)))))) (let ((@x42 (trans @x38 (rewrite (= (= (_ bv11 4) (_ bv11 4)) true)) (= (= (_ bv11 4) (bvneg (_ bv5 4))) true)))) (let ((@x49 (trans (monotonicity @x42 (= (not (= (_ bv11 4) (bvneg (_ bv5 4)))) (not true))) (rewrite (= (not true) false)) (= (not (= (_ bv11 4) (bvneg (_ bv5 4)))) false)))) (mp (asserted (not (= (_ bv11 4) (bvneg (_ bv5 4))))) @x49 false)))))) -20e2d38b51f6dc863f10c42423e9f6f7a33f7e4b 7 0 +ce29313a11444a23d27ac32aa304904b58c5ef48 7 0 unsat ((set-logic ) (proof (let ((@x35 (monotonicity (rewrite (= (= (_ bv11 4) (_ bv11 4)) true)) (= (not (= (_ bv11 4) (_ bv11 4))) (not true))))) (let ((@x39 (trans @x35 (rewrite (= (not true) false)) (= (not (= (_ bv11 4) (_ bv11 4))) false)))) (mp (asserted (not (= (_ bv11 4) (_ bv11 4)))) @x39 false))))) -d8ead1987eeaf8dcad77816c2da275e02790bc36 7 0 +bb95b2d5c073512432c61cceeaca86ea168b5973 7 0 unsat ((set-logic ) (proof (let ((@x38 (monotonicity (rewrite (= (bvult (_ bv23 8) (_ bv27 8)) true)) (= (not (bvult (_ bv23 8) (_ bv27 8))) (not true))))) (let ((@x42 (trans @x38 (rewrite (= (not true) false)) (= (not (bvult (_ bv23 8) (_ bv27 8))) false)))) (mp (asserted (not (bvult (_ bv23 8) (_ bv27 8)))) @x42 false))))) -4eecaa07b1c9316924af400458f2703dd8953c87 9 0 +26bb2ac93ef8c385bfbf217919bbafac305e5636 9 0 unsat ((set-logic ) (proof (let ((@x38 (monotonicity (rewrite (= (bvadd (_ bv27 5) (_ bv11 5)) (_ bv6 5))) (= (= (bvadd (_ bv27 5) (_ bv11 5)) (_ bv6 5)) (= (_ bv6 5) (_ bv6 5)))))) (let ((@x42 (trans @x38 (rewrite (= (= (_ bv6 5) (_ bv6 5)) true)) (= (= (bvadd (_ bv27 5) (_ bv11 5)) (_ bv6 5)) true)))) (let ((@x45 (monotonicity @x42 (= (not (= (bvadd (_ bv27 5) (_ bv11 5)) (_ bv6 5))) (not true))))) (let ((@x49 (trans @x45 (rewrite (= (not true) false)) (= (not (= (bvadd (_ bv27 5) (_ bv11 5)) (_ bv6 5))) false)))) (mp (asserted (not (= (bvadd (_ bv27 5) (_ bv11 5)) (_ bv6 5)))) @x49 false))))))) -61ca0ebc9b9c8beef8d244b430a042b2d7554237 9 0 +9cf93e929e27dc04c30894bd14ced90c3cc565db 9 0 +unsat +((set-logic ) +(proof +(let ((@x43 (monotonicity (rewrite (= (bvsub (_ bv11 8) (_ bv27 8)) (_ bv240 8))) (rewrite (= (bvneg (_ bv16 8)) (_ bv240 8))) (= (= (bvsub (_ bv11 8) (_ bv27 8)) (bvneg (_ bv16 8))) (= (_ bv240 8) (_ bv240 8)))))) +(let ((@x47 (trans @x43 (rewrite (= (= (_ bv240 8) (_ bv240 8)) true)) (= (= (bvsub (_ bv11 8) (_ bv27 8)) (bvneg (_ bv16 8))) true)))) +(let ((@x50 (monotonicity @x47 (= (not (= (bvsub (_ bv11 8) (_ bv27 8)) (bvneg (_ bv16 8)))) (not true))))) +(let ((@x54 (trans @x50 (rewrite (= (not true) false)) (= (not (= (bvsub (_ bv11 8) (_ bv27 8)) (bvneg (_ bv16 8)))) false)))) +(mp (asserted (not (= (bvsub (_ bv11 8) (_ bv27 8)) (bvneg (_ bv16 8))))) @x54 false))))))) + +0e3ec4ac7c67aebfff2a5df85b922b50d3602563 9 0 unsat ((set-logic ) (proof (let ((@x38 (monotonicity (rewrite (= (bvmul (_ bv7 8) (_ bv3 8)) (_ bv21 8))) (= (= (bvmul (_ bv7 8) (_ bv3 8)) (_ bv21 8)) (= (_ bv21 8) (_ bv21 8)))))) (let ((@x42 (trans @x38 (rewrite (= (= (_ bv21 8) (_ bv21 8)) true)) (= (= (bvmul (_ bv7 8) (_ bv3 8)) (_ bv21 8)) true)))) (let ((@x45 (monotonicity @x42 (= (not (= (bvmul (_ bv7 8) (_ bv3 8)) (_ bv21 8))) (not true))))) (let ((@x49 (trans @x45 (rewrite (= (not true) false)) (= (not (= (bvmul (_ bv7 8) (_ bv3 8)) (_ bv21 8))) false)))) (mp (asserted (not (= (bvmul (_ bv7 8) (_ bv3 8)) (_ bv21 8)))) @x49 false))))))) -cb45ce1f17edce2b3b3ad244b6b8eceaf9ddbf50 7 0 -unsat -((set-logic ) -(proof -(let ((@x35 (monotonicity (rewrite (= (= (_ bv11 5) (_ bv11 5)) true)) (= (not (= (_ bv11 5) (_ bv11 5))) (not true))))) -(let ((@x39 (trans @x35 (rewrite (= (not true) false)) (= (not (= (_ bv11 5) (_ bv11 5))) false)))) -(mp (asserted (not (= (_ bv11 5) (_ bv11 5)))) @x39 false))))) - -b4a0da18f94642970a0d035b1b57fe43e92d2c57 9 0 -unsat -((set-logic ) -(proof -(let ((@x43 (monotonicity (rewrite (= (bvsub (_ bv11 8) (_ bv27 8)) (_ bv240 8))) (rewrite (= (bvneg (_ bv16 8)) (_ bv240 8))) (= (= (bvsub (_ bv11 8) (_ bv27 8)) (bvneg (_ bv16 8))) (= (_ bv240 8) (_ bv240 8)))))) -(let ((@x47 (trans @x43 (rewrite (= (= (_ bv240 8) (_ bv240 8)) true)) (= (= (bvsub (_ bv11 8) (_ bv27 8)) (bvneg (_ bv16 8))) true)))) -(let ((@x50 (monotonicity @x47 (= (not (= (bvsub (_ bv11 8) (_ bv27 8)) (bvneg (_ bv16 8)))) (not true))))) -(let ((@x54 (trans @x50 (rewrite (= (not true) false)) (= (not (= (bvsub (_ bv11 8) (_ bv27 8)) (bvneg (_ bv16 8)))) false)))) -(mp (asserted (not (= (bvsub (_ bv11 8) (_ bv27 8)) (bvneg (_ bv16 8))))) @x54 false))))))) - -78c274ff0caaa3763fad0db197f0c2134d9f5f9e 11 0 +faad761e2741d8b647fa62db13d8b0e649fb03d0 11 0 unsat ((set-logic ) (proof (let ((@x42 (monotonicity (rewrite (= (bvneg (_ bv40 7)) (_ bv88 7))) (= (bvadd (bvneg (_ bv40 7)) (_ bv1 7)) (bvadd (_ bv88 7) (_ bv1 7)))))) (let ((@x47 (trans @x42 (rewrite (= (bvadd (_ bv88 7) (_ bv1 7)) (_ bv89 7))) (= (bvadd (bvneg (_ bv40 7)) (_ bv1 7)) (_ bv89 7))))) (let ((@x52 (monotonicity @x47 (rewrite (= (bvneg (_ bv39 7)) (_ bv89 7))) (= (= (bvadd (bvneg (_ bv40 7)) (_ bv1 7)) (bvneg (_ bv39 7))) (= (_ bv89 7) (_ bv89 7)))))) (let ((@x56 (trans @x52 (rewrite (= (= (_ bv89 7) (_ bv89 7)) true)) (= (= (bvadd (bvneg (_ bv40 7)) (_ bv1 7)) (bvneg (_ bv39 7))) true)))) (let ((@x59 (monotonicity @x56 (= (not (= (bvadd (bvneg (_ bv40 7)) (_ bv1 7)) (bvneg (_ bv39 7)))) (not true))))) (let ((@x63 (trans @x59 (rewrite (= (not true) false)) (= (not (= (bvadd (bvneg (_ bv40 7)) (_ bv1 7)) (bvneg (_ bv39 7)))) false)))) (mp (asserted (not (= (bvadd (bvneg (_ bv40 7)) (_ bv1 7)) (bvneg (_ bv39 7))))) @x63 false))))))))) -7fcdb48d651781a0ed801bb738bfeb88ce1a3408 19 0 +4bf6f825855790123eb3af10c0a8ece72a2696c0 7 0 +unsat +((set-logic ) +(proof +(let ((@x35 (monotonicity (rewrite (= (= (_ bv11 5) (_ bv11 5)) true)) (= (not (= (_ bv11 5) (_ bv11 5))) (not true))))) +(let ((@x39 (trans @x35 (rewrite (= (not true) false)) (= (not (= (_ bv11 5) (_ bv11 5))) false)))) +(mp (asserted (not (= (_ bv11 5) (_ bv11 5)))) @x39 false))))) + +a481dcd4c078eb4bbc4578997c1becc3d0588892 18 0 +unsat +((set-logic ) +(proof +(let ((?x31 (bvmul (_ bv4 4) x$))) +(let (($x32 (= ?x31 (_ bv4 4)))) +(let (($x43 (= (_ bv5 4) x$))) +(let (($x56 (not (or (not $x43) (= (_ bv4 4) ?x31))))) +(let ((@x48 (monotonicity (rewrite (= (= x$ (_ bv5 4)) $x43)) (= (not (= x$ (_ bv5 4))) (not $x43))))) +(let ((@x55 (monotonicity @x48 (rewrite (= $x32 (= (_ bv4 4) ?x31))) (= (or (not (= x$ (_ bv5 4))) $x32) (or (not $x43) (= (_ bv4 4) ?x31)))))) +(let (($x34 (not (=> (= x$ (_ bv5 4)) $x32)))) +(let ((@x39 (rewrite (= (=> (= x$ (_ bv5 4)) $x32) (or (not (= x$ (_ bv5 4))) $x32))))) +(let ((@x60 (trans (monotonicity @x39 (= $x34 (not (or (not (= x$ (_ bv5 4))) $x32)))) (monotonicity @x55 (= (not (or (not (= x$ (_ bv5 4))) $x32)) $x56)) (= $x34 $x56)))) +(let ((@x67 (monotonicity (not-or-elim (mp (asserted $x34) @x60 $x56) $x43) (= ?x31 (bvmul (_ bv4 4) (_ bv5 4)))))) +(let ((@x73 (monotonicity (trans @x67 (rewrite (= (bvmul (_ bv4 4) (_ bv5 4)) (_ bv4 4))) $x32) (= (= (_ bv4 4) ?x31) (= (_ bv4 4) (_ bv4 4)))))) +(let ((@x77 (trans @x73 (rewrite (= (= (_ bv4 4) (_ bv4 4)) true)) (= (= (_ bv4 4) ?x31) true)))) +(let ((@x84 (trans (monotonicity @x77 (= (not (= (_ bv4 4) ?x31)) (not true))) (rewrite (= (not true) false)) (= (not (= (_ bv4 4) ?x31)) false)))) +(mp (not-or-elim (mp (asserted $x34) @x60 $x56) (not (= (_ bv4 4) ?x31))) @x84 false)))))))))))))))) + +e913ddebe8fd3723faed676f00550d0f85717e48 19 0 unsat ((set-logic ) (proof (let ((?x35 (bvadd b$ c$))) (let ((?x36 (bvadd ?x35 a$))) (let ((?x30 (bvmul (_ bv2 32) b$))) (let ((?x31 (bvadd a$ ?x30))) (let ((?x33 (bvadd ?x31 c$))) (let ((?x34 (bvsub ?x33 b$))) (let (($x37 (= ?x34 ?x36))) (let (($x38 (not $x37))) (let ((@x58 (rewrite (= (= (bvadd a$ b$ c$) (bvadd a$ b$ c$)) true)))) (let ((@x48 (rewrite (= (bvsub (bvadd a$ ?x30 c$) b$) (bvadd a$ b$ c$))))) (let ((@x46 (monotonicity (rewrite (= ?x33 (bvadd a$ ?x30 c$))) (= ?x34 (bvsub (bvadd a$ ?x30 c$) b$))))) (let ((@x56 (monotonicity (trans @x46 @x48 (= ?x34 (bvadd a$ b$ c$))) (rewrite (= ?x36 (bvadd a$ b$ c$))) (= $x37 (= (bvadd a$ b$ c$) (bvadd a$ b$ c$)))))) (let ((@x63 (monotonicity (trans @x56 @x58 (= $x37 true)) (= $x38 (not true))))) (let ((@x67 (trans @x63 (rewrite (= (not true) false)) (= $x38 false)))) (mp (asserted $x38) @x67 false))))))))))))))))) -6a1e9b1374089d298641f80da7dba5f13c400a0b 18 0 -unsat -((set-logic ) -(proof -(let ((?x31 (bvmul (_ bv4 4) x$))) -(let (($x32 (= ?x31 (_ bv4 4)))) -(let (($x43 (= (_ bv5 4) x$))) -(let (($x56 (not (or (not $x43) (= (_ bv4 4) ?x31))))) -(let ((@x48 (monotonicity (rewrite (= (= x$ (_ bv5 4)) $x43)) (= (not (= x$ (_ bv5 4))) (not $x43))))) -(let ((@x55 (monotonicity @x48 (rewrite (= $x32 (= (_ bv4 4) ?x31))) (= (or (not (= x$ (_ bv5 4))) $x32) (or (not $x43) (= (_ bv4 4) ?x31)))))) -(let (($x34 (not (=> (= x$ (_ bv5 4)) $x32)))) -(let ((@x39 (rewrite (= (=> (= x$ (_ bv5 4)) $x32) (or (not (= x$ (_ bv5 4))) $x32))))) -(let ((@x60 (trans (monotonicity @x39 (= $x34 (not (or (not (= x$ (_ bv5 4))) $x32)))) (monotonicity @x55 (= (not (or (not (= x$ (_ bv5 4))) $x32)) $x56)) (= $x34 $x56)))) -(let ((@x67 (monotonicity (not-or-elim (mp (asserted $x34) @x60 $x56) $x43) (= ?x31 (bvmul (_ bv4 4) (_ bv5 4)))))) -(let ((@x73 (monotonicity (trans @x67 (rewrite (= (bvmul (_ bv4 4) (_ bv5 4)) (_ bv4 4))) $x32) (= (= (_ bv4 4) ?x31) (= (_ bv4 4) (_ bv4 4)))))) -(let ((@x77 (trans @x73 (rewrite (= (= (_ bv4 4) (_ bv4 4)) true)) (= (= (_ bv4 4) ?x31) true)))) -(let ((@x84 (trans (monotonicity @x77 (= (not (= (_ bv4 4) ?x31)) (not true))) (rewrite (= (not true) false)) (= (not (= (_ bv4 4) ?x31)) false)))) -(mp (not-or-elim (mp (asserted $x34) @x60 $x56) (not (= (_ bv4 4) ?x31))) @x84 false)))))))))))))))) - -c5fc4af7c2aedc018a219b1ff9f416d7b65f5a31 9 0 +1cd4bc28651d39e32aab684ecfdd3be7c1dd0a2c 9 0 unsat ((set-logic ) (proof (let ((@x37 (monotonicity (rewrite (= (bvand (_ bv6 32) (_ bv5 32)) (_ bv4 32))) (= (= (bvand (_ bv6 32) (_ bv5 32)) (_ bv4 32)) (= (_ bv4 32) (_ bv4 32)))))) (let ((@x41 (trans @x37 (rewrite (= (= (_ bv4 32) (_ bv4 32)) true)) (= (= (bvand (_ bv6 32) (_ bv5 32)) (_ bv4 32)) true)))) (let ((@x44 (monotonicity @x41 (= (not (= (bvand (_ bv6 32) (_ bv5 32)) (_ bv4 32))) (not true))))) (let ((@x48 (trans @x44 (rewrite (= (not true) false)) (= (not (= (bvand (_ bv6 32) (_ bv5 32)) (_ bv4 32))) false)))) (mp (asserted (not (= (bvand (_ bv6 32) (_ bv5 32)) (_ bv4 32)))) @x48 false))))))) -1c20d52cf12e17a84c100be59093e532b3bb68be 9 0 +178251ca0606b596bae71a7cf9b656088f51af57 9 0 unsat ((set-logic ) (proof (let ((@x37 (monotonicity (rewrite (= (bvor (_ bv6 8) (_ bv3 8)) (_ bv7 8))) (= (= (bvor (_ bv6 8) (_ bv3 8)) (_ bv7 8)) (= (_ bv7 8) (_ bv7 8)))))) (let ((@x41 (trans @x37 (rewrite (= (= (_ bv7 8) (_ bv7 8)) true)) (= (= (bvor (_ bv6 8) (_ bv3 8)) (_ bv7 8)) true)))) (let ((@x44 (monotonicity @x41 (= (not (= (bvor (_ bv6 8) (_ bv3 8)) (_ bv7 8))) (not true))))) (let ((@x48 (trans @x44 (rewrite (= (not true) false)) (= (not (= (bvor (_ bv6 8) (_ bv3 8)) (_ bv7 8))) false)))) (mp (asserted (not (= (bvor (_ bv6 8) (_ bv3 8)) (_ bv7 8)))) @x48 false))))))) -e3b7b6c3b5d69c891a955965789259491afe936e 9 0 +c2fb3d6f1f3f3e6dd3836f7f610e92c43dd7dfff 8 0 +unsat +((set-logic ) +(proof +(let ((@x36 (monotonicity (rewrite (= (bvnot (_ bv240 16)) (_ bv65295 16))) (= (= (bvnot (_ bv240 16)) (_ bv65295 16)) (= (_ bv65295 16) (_ bv65295 16)))))) +(let ((@x40 (trans @x36 (rewrite (= (= (_ bv65295 16) (_ bv65295 16)) true)) (= (= (bvnot (_ bv240 16)) (_ bv65295 16)) true)))) +(let ((@x47 (trans (monotonicity @x40 (= (not (= (bvnot (_ bv240 16)) (_ bv65295 16))) (not true))) (rewrite (= (not true) false)) (= (not (= (bvnot (_ bv240 16)) (_ bv65295 16))) false)))) +(mp (asserted (not (= (bvnot (_ bv240 16)) (_ bv65295 16)))) @x47 false)))))) + +769bdf70860c69df30d176b7eb677294e426fc4b 9 0 unsat ((set-logic ) (proof (let ((@x37 (monotonicity (rewrite (= (bvxor (_ bv240 8) (_ bv255 8)) (_ bv15 8))) (= (= (bvxor (_ bv240 8) (_ bv255 8)) (_ bv15 8)) (= (_ bv15 8) (_ bv15 8)))))) (let ((@x41 (trans @x37 (rewrite (= (= (_ bv15 8) (_ bv15 8)) true)) (= (= (bvxor (_ bv240 8) (_ bv255 8)) (_ bv15 8)) true)))) (let ((@x44 (monotonicity @x41 (= (not (= (bvxor (_ bv240 8) (_ bv255 8)) (_ bv15 8))) (not true))))) (let ((@x48 (trans @x44 (rewrite (= (not true) false)) (= (not (= (bvxor (_ bv240 8) (_ bv255 8)) (_ bv15 8))) false)))) (mp (asserted (not (= (bvxor (_ bv240 8) (_ bv255 8)) (_ bv15 8)))) @x48 false))))))) -28cf5c7c114782c55ace89ae60a8c9590a1fe7fa 8 0 +584cf4e60989598a0043c67a2cbfb9786830972b 9 0 unsat ((set-logic ) (proof -(let ((@x36 (monotonicity (rewrite (= (bvnot (_ bv240 16)) (_ bv65295 16))) (= (= (bvnot (_ bv240 16)) (_ bv65295 16)) (= (_ bv65295 16) (_ bv65295 16)))))) -(let ((@x40 (trans @x36 (rewrite (= (= (_ bv65295 16) (_ bv65295 16)) true)) (= (= (bvnot (_ bv240 16)) (_ bv65295 16)) true)))) -(let ((@x47 (trans (monotonicity @x40 (= (not (= (bvnot (_ bv240 16)) (_ bv65295 16))) (not true))) (rewrite (= (not true) false)) (= (not (= (bvnot (_ bv240 16)) (_ bv65295 16))) false)))) -(mp (asserted (not (= (bvnot (_ bv240 16)) (_ bv65295 16)))) @x47 false)))))) +(let ((@x37 (monotonicity (rewrite (= (concat (_ bv3 4) (_ bv15 6)) (_ bv207 10))) (= (= (concat (_ bv3 4) (_ bv15 6)) (_ bv207 10)) (= (_ bv207 10) (_ bv207 10)))))) +(let ((@x41 (trans @x37 (rewrite (= (= (_ bv207 10) (_ bv207 10)) true)) (= (= (concat (_ bv3 4) (_ bv15 6)) (_ bv207 10)) true)))) +(let ((@x44 (monotonicity @x41 (= (not (= (concat (_ bv3 4) (_ bv15 6)) (_ bv207 10))) (not true))))) +(let ((@x48 (trans @x44 (rewrite (= (not true) false)) (= (not (= (concat (_ bv3 4) (_ bv15 6)) (_ bv207 10))) false)))) +(mp (asserted (not (= (concat (_ bv3 4) (_ bv15 6)) (_ bv207 10)))) @x48 false))))))) -d8191fbbb76dcd44809576b51b6eff8251b75359 9 0 +c4ba99a31bff950f61b48e2df91d0092a4605b5b 8 0 +unsat +((set-logic ) +(proof +(let ((@x36 (monotonicity (rewrite (= ((_ extract 2 1) (_ bv6 4)) (_ bv3 2))) (= (= ((_ extract 2 1) (_ bv6 4)) (_ bv3 2)) (= (_ bv3 2) (_ bv3 2)))))) +(let ((@x40 (trans @x36 (rewrite (= (= (_ bv3 2) (_ bv3 2)) true)) (= (= ((_ extract 2 1) (_ bv6 4)) (_ bv3 2)) true)))) +(let ((@x47 (trans (monotonicity @x40 (= (not (= ((_ extract 2 1) (_ bv6 4)) (_ bv3 2))) (not true))) (rewrite (= (not true) false)) (= (not (= ((_ extract 2 1) (_ bv6 4)) (_ bv3 2))) false)))) +(mp (asserted (not (= ((_ extract 2 1) (_ bv6 4)) (_ bv3 2)))) @x47 false)))))) + +62fc6678382dfb5f2112f46aac810939a87814fd 9 0 unsat ((set-logic ) (proof (let ((@x37 (monotonicity (rewrite (= (concat (_ bv11 4) (_ bv27 8)) (_ bv2843 12))) (= (= (concat (_ bv11 4) (_ bv27 8)) (_ bv2843 12)) (= (_ bv2843 12) (_ bv2843 12)))))) (let ((@x41 (trans @x37 (rewrite (= (= (_ bv2843 12) (_ bv2843 12)) true)) (= (= (concat (_ bv11 4) (_ bv27 8)) (_ bv2843 12)) true)))) (let ((@x44 (monotonicity @x41 (= (not (= (concat (_ bv11 4) (_ bv27 8)) (_ bv2843 12))) (not true))))) (let ((@x48 (trans @x44 (rewrite (= (not true) false)) (= (not (= (concat (_ bv11 4) (_ bv27 8)) (_ bv2843 12))) false)))) (mp (asserted (not (= (concat (_ bv11 4) (_ bv27 8)) (_ bv2843 12)))) @x48 false))))))) -eda0203202a2208597ba357936c7f6397472d9e3 9 0 -unsat -((set-logic ) -(proof -(let ((@x37 (monotonicity (rewrite (= (concat (_ bv3 4) (_ bv15 6)) (_ bv207 10))) (= (= (concat (_ bv3 4) (_ bv15 6)) (_ bv207 10)) (= (_ bv207 10) (_ bv207 10)))))) -(let ((@x41 (trans @x37 (rewrite (= (= (_ bv207 10) (_ bv207 10)) true)) (= (= (concat (_ bv3 4) (_ bv15 6)) (_ bv207 10)) true)))) -(let ((@x44 (monotonicity @x41 (= (not (= (concat (_ bv3 4) (_ bv15 6)) (_ bv207 10))) (not true))))) -(let ((@x48 (trans @x44 (rewrite (= (not true) false)) (= (not (= (concat (_ bv3 4) (_ bv15 6)) (_ bv207 10))) false)))) -(mp (asserted (not (= (concat (_ bv3 4) (_ bv15 6)) (_ bv207 10)))) @x48 false))))))) - -347626e8b074207fa00db1a5481c346ae674c0ef 8 0 -unsat -((set-logic ) -(proof -(let ((@x36 (monotonicity (rewrite (= ((_ extract 2 1) (_ bv6 4)) (_ bv3 2))) (= (= ((_ extract 2 1) (_ bv6 4)) (_ bv3 2)) (= (_ bv3 2) (_ bv3 2)))))) -(let ((@x40 (trans @x36 (rewrite (= (= (_ bv3 2) (_ bv3 2)) true)) (= (= ((_ extract 2 1) (_ bv6 4)) (_ bv3 2)) true)))) -(let ((@x47 (trans (monotonicity @x40 (= (not (= ((_ extract 2 1) (_ bv6 4)) (_ bv3 2))) (not true))) (rewrite (= (not true) false)) (= (not (= ((_ extract 2 1) (_ bv6 4)) (_ bv3 2))) false)))) -(mp (asserted (not (= ((_ extract 2 1) (_ bv6 4)) (_ bv3 2)))) @x47 false)))))) - -41cbd3386ab2afabe3429a5ba3bb3dba0a63fdda 9 0 +597573e2f4fd839e604ae52ba364ae11700dace1 9 0 unsat ((set-logic ) (proof (let ((@x36 (monotonicity (rewrite (= ((_ zero_extend 6) (_ bv10 4)) (_ bv10 10))) (= (= ((_ zero_extend 6) (_ bv10 4)) (_ bv10 10)) (= (_ bv10 10) (_ bv10 10)))))) (let ((@x40 (trans @x36 (rewrite (= (= (_ bv10 10) (_ bv10 10)) true)) (= (= ((_ zero_extend 6) (_ bv10 4)) (_ bv10 10)) true)))) (let ((@x43 (monotonicity @x40 (= (not (= ((_ zero_extend 6) (_ bv10 4)) (_ bv10 10))) (not true))))) (let ((@x47 (trans @x43 (rewrite (= (not true) false)) (= (not (= ((_ zero_extend 6) (_ bv10 4)) (_ bv10 10))) false)))) (mp (asserted (not (= ((_ zero_extend 6) (_ bv10 4)) (_ bv10 10)))) @x47 false))))))) -4840a0f1cb5ba7cadf4e893f0809e950d55d606f 9 0 +9db301365e8ecb55d7eee63724f390087c022cac 9 0 +unsat +((set-logic ) +(proof +(let ((@x37 (monotonicity (rewrite (= (bvshl (_ bv19 8) (_ bv2 8)) (_ bv76 8))) (= (= (bvshl (_ bv19 8) (_ bv2 8)) (_ bv76 8)) (= (_ bv76 8) (_ bv76 8)))))) +(let ((@x41 (trans @x37 (rewrite (= (= (_ bv76 8) (_ bv76 8)) true)) (= (= (bvshl (_ bv19 8) (_ bv2 8)) (_ bv76 8)) true)))) +(let ((@x44 (monotonicity @x41 (= (not (= (bvshl (_ bv19 8) (_ bv2 8)) (_ bv76 8))) (not true))))) +(let ((@x48 (trans @x44 (rewrite (= (not true) false)) (= (not (= (bvshl (_ bv19 8) (_ bv2 8)) (_ bv76 8))) false)))) +(mp (asserted (not (= (bvshl (_ bv19 8) (_ bv2 8)) (_ bv76 8)))) @x48 false))))))) + +10141671f4de43526d88d4ecd79c12df4bdb4825 9 0 unsat ((set-logic ) (proof (let ((@x36 (monotonicity (rewrite (= ((_ sign_extend 2) (_ bv10 4)) (_ bv58 6))) (= (= ((_ sign_extend 2) (_ bv10 4)) (_ bv58 6)) (= (_ bv58 6) (_ bv58 6)))))) (let ((@x40 (trans @x36 (rewrite (= (= (_ bv58 6) (_ bv58 6)) true)) (= (= ((_ sign_extend 2) (_ bv10 4)) (_ bv58 6)) true)))) (let ((@x43 (monotonicity @x40 (= (not (= ((_ sign_extend 2) (_ bv10 4)) (_ bv58 6))) (not true))))) (let ((@x47 (trans @x43 (rewrite (= (not true) false)) (= (not (= ((_ sign_extend 2) (_ bv10 4)) (_ bv58 6))) false)))) (mp (asserted (not (= ((_ sign_extend 2) (_ bv10 4)) (_ bv58 6)))) @x47 false))))))) -d128f083f8e89abf5c4703b8c8d009ea3df30435 9 0 +f043e921c4475109c2fdff12856bf28a46f470e8 9 0 unsat ((set-logic ) (proof -(let ((@x37 (monotonicity (rewrite (= (bvshl (_ bv19 8) (_ bv2 8)) (_ bv76 8))) (= (= (bvshl (_ bv19 8) (_ bv2 8)) (_ bv76 8)) (= (_ bv76 8) (_ bv76 8)))))) -(let ((@x41 (trans @x37 (rewrite (= (= (_ bv76 8) (_ bv76 8)) true)) (= (= (bvshl (_ bv19 8) (_ bv2 8)) (_ bv76 8)) true)))) -(let ((@x44 (monotonicity @x41 (= (not (= (bvshl (_ bv19 8) (_ bv2 8)) (_ bv76 8))) (not true))))) -(let ((@x48 (trans @x44 (rewrite (= (not true) false)) (= (not (= (bvshl (_ bv19 8) (_ bv2 8)) (_ bv76 8))) false)))) -(mp (asserted (not (= (bvshl (_ bv19 8) (_ bv2 8)) (_ bv76 8)))) @x48 false))))))) +(let ((@x37 (monotonicity (rewrite (= (bvashr (_ bv19 8) (_ bv2 8)) (_ bv4 8))) (= (= (bvashr (_ bv19 8) (_ bv2 8)) (_ bv4 8)) (= (_ bv4 8) (_ bv4 8)))))) +(let ((@x41 (trans @x37 (rewrite (= (= (_ bv4 8) (_ bv4 8)) true)) (= (= (bvashr (_ bv19 8) (_ bv2 8)) (_ bv4 8)) true)))) +(let ((@x44 (monotonicity @x41 (= (not (= (bvashr (_ bv19 8) (_ bv2 8)) (_ bv4 8))) (not true))))) +(let ((@x48 (trans @x44 (rewrite (= (not true) false)) (= (not (= (bvashr (_ bv19 8) (_ bv2 8)) (_ bv4 8))) false)))) +(mp (asserted (not (= (bvashr (_ bv19 8) (_ bv2 8)) (_ bv4 8)))) @x48 false))))))) -1d784062d38bcd3aadcf27beee2ff21ad647962d 9 0 +a14cf81020b4c017a44794d9f507892fc994a0aa 9 0 unsat ((set-logic ) (proof (let ((@x37 (monotonicity (rewrite (= (bvlshr (_ bv25 8) (_ bv2 8)) (_ bv6 8))) (= (= (bvlshr (_ bv25 8) (_ bv2 8)) (_ bv6 8)) (= (_ bv6 8) (_ bv6 8)))))) (let ((@x41 (trans @x37 (rewrite (= (= (_ bv6 8) (_ bv6 8)) true)) (= (= (bvlshr (_ bv25 8) (_ bv2 8)) (_ bv6 8)) true)))) (let ((@x44 (monotonicity @x41 (= (not (= (bvlshr (_ bv25 8) (_ bv2 8)) (_ bv6 8))) (not true))))) (let ((@x48 (trans @x44 (rewrite (= (not true) false)) (= (not (= (bvlshr (_ bv25 8) (_ bv2 8)) (_ bv6 8))) false)))) (mp (asserted (not (= (bvlshr (_ bv25 8) (_ bv2 8)) (_ bv6 8)))) @x48 false))))))) -0ee5cedc38e1172399f1a0c82d9e80da55776724 9 0 -unsat -((set-logic ) -(proof -(let ((@x37 (monotonicity (rewrite (= (bvashr (_ bv19 8) (_ bv2 8)) (_ bv4 8))) (= (= (bvashr (_ bv19 8) (_ bv2 8)) (_ bv4 8)) (= (_ bv4 8) (_ bv4 8)))))) -(let ((@x41 (trans @x37 (rewrite (= (= (_ bv4 8) (_ bv4 8)) true)) (= (= (bvashr (_ bv19 8) (_ bv2 8)) (_ bv4 8)) true)))) -(let ((@x44 (monotonicity @x41 (= (not (= (bvashr (_ bv19 8) (_ bv2 8)) (_ bv4 8))) (not true))))) -(let ((@x48 (trans @x44 (rewrite (= (not true) false)) (= (not (= (bvashr (_ bv19 8) (_ bv2 8)) (_ bv4 8))) false)))) -(mp (asserted (not (= (bvashr (_ bv19 8) (_ bv2 8)) (_ bv4 8)))) @x48 false))))))) - -954b050a7dd5950a1db7cf22773ed0f960e848cf 9 0 +1737667dcdf52add3cf7ec23188f82da46dd2b0a 9 0 unsat ((set-logic ) (proof (let ((@x36 (monotonicity (rewrite (= ((_ rotate_right 2) (_ bv6 4)) (_ bv9 4))) (= (= ((_ rotate_right 2) (_ bv6 4)) (_ bv9 4)) (= (_ bv9 4) (_ bv9 4)))))) (let ((@x40 (trans @x36 (rewrite (= (= (_ bv9 4) (_ bv9 4)) true)) (= (= ((_ rotate_right 2) (_ bv6 4)) (_ bv9 4)) true)))) (let ((@x43 (monotonicity @x40 (= (not (= ((_ rotate_right 2) (_ bv6 4)) (_ bv9 4))) (not true))))) (let ((@x47 (trans @x43 (rewrite (= (not true) false)) (= (not (= ((_ rotate_right 2) (_ bv6 4)) (_ bv9 4))) false)))) (mp (asserted (not (= ((_ rotate_right 2) (_ bv6 4)) (_ bv9 4)))) @x47 false))))))) -adcab1ed49379d48decf485ff9b3a574acbba42e 17 0 +4c62aea85c861b1e65021c56cee22174328eedc0 9 0 +unsat +((set-logic ) +(proof +(let ((@x36 (monotonicity (rewrite (= ((_ rotate_left 1) (_ bv14 4)) (_ bv13 4))) (= (= ((_ rotate_left 1) (_ bv14 4)) (_ bv13 4)) (= (_ bv13 4) (_ bv13 4)))))) +(let ((@x40 (trans @x36 (rewrite (= (= (_ bv13 4) (_ bv13 4)) true)) (= (= ((_ rotate_left 1) (_ bv14 4)) (_ bv13 4)) true)))) +(let ((@x43 (monotonicity @x40 (= (not (= ((_ rotate_left 1) (_ bv14 4)) (_ bv13 4))) (not true))))) +(let ((@x47 (trans @x43 (rewrite (= (not true) false)) (= (not (= ((_ rotate_left 1) (_ bv14 4)) (_ bv13 4))) false)))) +(mp (asserted (not (= ((_ rotate_left 1) (_ bv14 4)) (_ bv13 4)))) @x47 false))))))) + +dfec96be9ace458cbe9ee12898f33db7192c335c 17 0 unsat ((set-logic ) (proof (let ((?x31 (bvand x$ (_ bv255 16)))) (let ((?x29 (bvand x$ (_ bv65280 16)))) (let ((?x32 (bvor ?x29 ?x31))) (let (($x33 (= ?x32 x$))) (let (($x34 (not $x33))) (let ((@x59 (symm (commutativity (= (= x$ ?x32) $x33)) (= $x33 (= x$ ?x32))))) (let ((@x35 (asserted $x34))) (let ((@x63 (mp @x35 (monotonicity @x59 (= $x34 (not (= x$ ?x32)))) (not (= x$ ?x32))))) (let (($x52 (= x$ ?x32))) (let ((@x26 (true-axiom true))) (let (($x53 (or $x52 false false false false false false false false false false false false false false false false))) (let ((@x55 (unit-resolution ((_ th-lemma bv) $x53) @x26 @x26 @x26 @x26 @x26 @x26 @x26 @x26 @x26 @x26 @x26 @x26 @x26 @x26 @x26 @x26 $x52))) (unit-resolution @x55 @x63 false))))))))))))))) -9ed6f1c7a48e735be777f66302217a85b3126246 9 0 -unsat -((set-logic ) -(proof -(let ((@x36 (monotonicity (rewrite (= ((_ rotate_left 1) (_ bv14 4)) (_ bv13 4))) (= (= ((_ rotate_left 1) (_ bv14 4)) (_ bv13 4)) (= (_ bv13 4) (_ bv13 4)))))) -(let ((@x40 (trans @x36 (rewrite (= (= (_ bv13 4) (_ bv13 4)) true)) (= (= ((_ rotate_left 1) (_ bv14 4)) (_ bv13 4)) true)))) -(let ((@x43 (monotonicity @x40 (= (not (= ((_ rotate_left 1) (_ bv14 4)) (_ bv13 4))) (not true))))) -(let ((@x47 (trans @x43 (rewrite (= (not true) false)) (= (not (= ((_ rotate_left 1) (_ bv14 4)) (_ bv13 4))) false)))) -(mp (asserted (not (= ((_ rotate_left 1) (_ bv14 4)) (_ bv13 4)))) @x47 false))))))) - -a287f607ed00218feee9de1c2a188887f4e4fe7f 51 0 +73db5e04efabac69390d8eaa510230b30d68aff6 51 0 unsat ((set-logic ) (proof (let ((?x31 (bvand w$ (_ bv255 16)))) (let (($x32 (= ?x31 w$))) (let (($x64 (not $x32))) (let ((@x318 (symm (commutativity (= (= w$ ?x31) $x32)) (= $x32 (= w$ ?x31))))) (let (($x57 (not (or (bvule (_ bv256 16) w$) $x32)))) (let ((@x49 (monotonicity (rewrite (= (bvult w$ (_ bv256 16)) (not (bvule (_ bv256 16) w$)))) (= (not (bvult w$ (_ bv256 16))) (not (not (bvule (_ bv256 16) w$))))))) (let ((@x53 (trans @x49 (rewrite (= (not (not (bvule (_ bv256 16) w$))) (bvule (_ bv256 16) w$))) (= (not (bvult w$ (_ bv256 16))) (bvule (_ bv256 16) w$))))) (let ((@x56 (monotonicity @x53 (= (or (not (bvult w$ (_ bv256 16))) $x32) (or (bvule (_ bv256 16) w$) $x32))))) (let ((@x59 (monotonicity @x56 (= (not (or (not (bvult w$ (_ bv256 16))) $x32)) $x57)))) (let (($x34 (not (=> (bvult w$ (_ bv256 16)) $x32)))) (let ((@x39 (rewrite (= (=> (bvult w$ (_ bv256 16)) $x32) (or (not (bvult w$ (_ bv256 16))) $x32))))) (let ((@x42 (monotonicity @x39 (= $x34 (not (or (not (bvult w$ (_ bv256 16))) $x32)))))) (let ((@x65 (not-or-elim (mp (asserted $x34) (trans @x42 @x59 (= $x34 $x57)) $x57) $x64))) (let ((@x322 (mp @x65 (monotonicity @x318 (= $x64 (not (= w$ ?x31)))) (not (= w$ ?x31))))) (let (($x300 (= w$ ?x31))) (let (($x81 (= ((_ extract 15 15) w$) (_ bv1 1)))) (let (($x264 (not $x81))) (let (($x74 (= ((_ extract 8 8) w$) (_ bv1 1)))) (let (($x75 (= ((_ extract 9 9) w$) (_ bv1 1)))) (let (($x82 (and $x75 $x74))) (let (($x83 (or $x75 $x74 $x82))) (let (($x76 (= ((_ extract 10 10) w$) (_ bv1 1)))) (let (($x84 (and $x76 $x83))) (let (($x85 (or $x76 $x75 $x74 $x82 $x84))) (let (($x77 (= ((_ extract 11 11) w$) (_ bv1 1)))) (let (($x86 (and $x77 $x85))) (let (($x87 (or $x77 $x76 $x75 $x74 $x82 $x84 $x86))) (let (($x78 (= ((_ extract 12 12) w$) (_ bv1 1)))) (let (($x88 (and $x78 $x87))) (let (($x89 (or $x78 $x77 $x76 $x75 $x74 $x82 $x84 $x86 $x88))) (let (($x79 (= ((_ extract 13 13) w$) (_ bv1 1)))) (let (($x90 (and $x79 $x89))) (let (($x91 (or $x79 $x78 $x77 $x76 $x75 $x74 $x82 $x84 $x86 $x88 $x90))) (let (($x80 (= ((_ extract 14 14) w$) (_ bv1 1)))) (let (($x92 (and $x80 $x91))) (let (($x93 (or $x80 $x79 $x78 $x77 $x76 $x75 $x74 $x82 $x84 $x86 $x88 $x90 $x92))) (let (($x94 (and $x81 $x93))) (let (($x95 (or $x81 $x80 $x79 $x78 $x77 $x76 $x75 $x74 $x82 $x84 $x86 $x88 $x90 $x92 $x94))) (let (($x297 (not $x95))) (let (($x43 (bvule (_ bv256 16) w$))) (let (($x44 (not $x43))) (let ((@x63 (not-or-elim (mp (asserted $x34) (trans @x42 @x59 (= $x34 $x57)) $x57) $x44))) (let ((@x303 (unit-resolution ((_ th-lemma bv) (or $x43 $x297)) @x63 $x297))) (let ((@x26 (true-axiom true))) (let (($x312 (or $x300 false false false false false false false false $x74 $x75 $x76 $x77 $x78 $x79 $x80 $x81))) (let ((@x314 (unit-resolution ((_ th-lemma bv) $x312) @x26 @x26 @x26 @x26 @x26 @x26 @x26 @x26 (unit-resolution (def-axiom (or $x95 (not $x74))) @x303 (not $x74)) (unit-resolution (def-axiom (or $x95 (not $x75))) @x303 (not $x75)) (unit-resolution (def-axiom (or $x95 (not $x76))) @x303 (not $x76)) (unit-resolution (def-axiom (or $x95 (not $x77))) @x303 (not $x77)) (unit-resolution (def-axiom (or $x95 (not $x78))) @x303 (not $x78)) (unit-resolution (def-axiom (or $x95 (not $x79))) @x303 (not $x79)) (unit-resolution (def-axiom (or $x95 (not $x80))) @x303 (not $x80)) (unit-resolution (def-axiom (or $x95 $x264)) @x303 $x264) $x300))) (unit-resolution @x314 @x322 false))))))))))))))))))))))))))))))))))))))))))))))))) -38254797dc481377c1b43bd5f27caf2ac4b4f09e 29 0 +ed93cefa9922cae76b281457731fa49405ea5f1e 12 0 +unsat +((set-logic ) +(proof +(let ((?x31 (p$ true))) +(let (($x29 (bvule (_ bv0 4) a$))) +(let ((?x30 (p$ $x29))) +(let (($x32 (= ?x30 ?x31))) +(let ((@x42 (monotonicity (monotonicity (rewrite (= $x29 true)) $x32) (= $x32 (= ?x31 ?x31))))) +(let ((@x49 (monotonicity (trans @x42 (rewrite (= (= ?x31 ?x31) true)) (= $x32 true)) (= (not $x32) (not true))))) +(let ((@x53 (trans @x49 (rewrite (= (not true) false)) (= (not $x32) false)))) +(mp (asserted (not $x32)) @x53 false)))))))))) + +7378269c0bf8c864db559557bebcaf1734a4d5b0 29 0 unsat ((set-logic ) (proof (let ((?x28 (bv2int$ (_ bv0 2)))) (let (($x183 (<= ?x28 0))) (let (($x184 (not $x183))) (let (($x175 (forall ((?v0 (_ BitVec 2)) )(! (let ((?x47 (bv2int$ ?v0))) (let (($x53 (<= ?x47 0))) (not $x53))) :pattern ( (bv2int$ ?v0) ) :qid k!9)) )) (let (($x57 (forall ((?v0 (_ BitVec 2)) )(! (let ((?x47 (bv2int$ ?v0))) (let (($x53 (<= ?x47 0))) (not $x53))) :qid k!9)) )) (let ((@x177 (refl (= (not (<= (bv2int$ ?0) 0)) (not (<= (bv2int$ ?0) 0)))))) (let ((@x112 (refl (~ (not (<= (bv2int$ ?0) 0)) (not (<= (bv2int$ ?0) 0)))))) (let (($x49 (forall ((?v0 (_ BitVec 2)) )(! (let ((?x47 (bv2int$ ?v0))) (< 0 ?x47)) :qid k!9)) )) (let ((@x56 (rewrite (= (< 0 (bv2int$ ?0)) (not (<= (bv2int$ ?0) 0)))))) (let ((@x115 (mp~ (mp (asserted $x49) (quant-intro @x56 (= $x49 $x57)) $x57) (nnf-pos @x112 (~ $x57 $x57)) $x57))) (let ((@x180 (mp @x115 (quant-intro @x177 (= $x57 $x175)) $x175))) (let (($x187 (not $x175))) (let (($x188 (or $x187 $x184))) (let ((@x189 ((_ quant-inst (_ bv0 2)) $x188))) (let (($x29 (= ?x28 0))) (let ((@x30 (asserted $x29))) (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x29) $x183)) @x30 (unit-resolution @x189 @x180 $x184) false))))))))))))))))))) -73a07817344b4149f448226a2110372c08f215f6 12 0 -unsat -((set-logic ) -(proof -(let ((?x31 (p$ true))) -(let (($x29 (bvule (_ bv0 4) a$))) -(let ((?x30 (p$ $x29))) -(let (($x32 (= ?x30 ?x31))) -(let ((@x42 (monotonicity (monotonicity (rewrite (= $x29 true)) $x32) (= $x32 (= ?x31 ?x31))))) -(let ((@x49 (monotonicity (trans @x42 (rewrite (= (= ?x31 ?x31) true)) (= $x32 true)) (= (not $x32) (not true))))) -(let ((@x53 (trans @x49 (rewrite (= (not true) false)) (= (not $x32) false)))) -(mp (asserted (not $x32)) @x53 false)))))))))) - diff --git a/src/HOL/SMT_Examples/VCC_Max.certs b/src/HOL/SMT_Examples/VCC_Max.certs --- a/src/HOL/SMT_Examples/VCC_Max.certs +++ b/src/HOL/SMT_Examples/VCC_Max.certs @@ -1,2925 +1,2925 @@ -49e1416aaa3d82d5c60160b24fb878147b44ee17 2924 0 +bb3039fa3c51c2ff1e3d9c4077fcbaf0fc7ae1b5 2924 0 unsat ((set-logic ) (declare-fun ?v0!15 () Int) (declare-fun ?v0!14 () Int) (declare-fun ?v0!13 () Int) (proof (let ((?x10076 (b_S_array$ b_T_T_u1$ v_b_P_H_len$))) (let ((?x22595 (b_S_ptr$ ?x10076 v_b_P_H_arr$))) (let ((?x24598 (b_S_idx$ ?x22595 v_b_L_H_p_G_0$ b_T_T_u1$))) (let ((?x10272 (b_S_typemap$ v_b_S_s$))) (let ((?x24302 (b_S_select_o_tm$ ?x10272 ?x24598))) (let ((?x24605 (b_S_ts_n_emb$ ?x24302))) (let (($x24606 (= ?x24605 ?x22595))) (let (($x24611 (b_S_typed$ v_b_S_s$ ?x24598))) (let (($x24614 (not $x24611))) (let (($x24608 (b_S_ts_n_is_n_volatile$ ?x24302))) (let (($x24607 (not $x24606))) (let (($x24615 (or $x24607 $x24608 (not (b_S_ts_n_is_n_array_n_elt$ ?x24302)) $x24614))) (let (($x24616 (not $x24615))) (let (($x11901 (>= v_b_L_H_p_G_0$ 0))) (let (($x20030 (forall ((?v0 Int) )(! (let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$)))) (let (($x10238 (= ?x10163 v_b_S_result_G_0$))) (let (($x11800 (>= (+ ?v0 (* (- 1) v_b_P_H_len$)) 0))) (let (($x12168 (<= ?v0 4294967295))) (let (($x16553 (not $x12168))) (let (($x2815 (>= ?v0 0))) (let (($x3763 (not $x2815))) (or $x3763 $x16553 $x11800 (not $x10238))))))))) :pattern ( (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$) ) :qid k!704)) )) (let (($x20035 (not $x20030))) (let (($x20022 (forall ((?v0 Int) )(! (let ((?x11816 (* (- 1) v_b_S_result_G_0$))) (let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$)))) (let (($x11818 (<= (+ ?x10163 ?x11816) 0))) (let (($x11800 (>= (+ ?v0 (* (- 1) v_b_P_H_len$)) 0))) (let (($x12168 (<= ?v0 4294967295))) (let (($x16553 (not $x12168))) (let (($x2815 (>= ?v0 0))) (let (($x3763 (not $x2815))) (or $x3763 $x16553 $x11800 $x11818))))))))) :pattern ( (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$) ) :qid k!704)) )) (let (($x20027 (not $x20022))) (let (($x20038 (or $x20027 $x20035))) (let (($x20041 (not $x20038))) (let ((?x10078 (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$))) (let ((?x15743 (b_S_idx$ ?x10078 ?v0!15 b_T_T_u1$))) (let ((?x15744 (b_S_read_n_u1$ v_b_S_s$ ?x15743))) (let ((?x16029 (* (- 1) ?x15744))) (let (($x16031 (>= (+ v_b_S_result_G_0$ ?x16029) 0))) (let (($x16009 (<= (+ v_b_P_H_len$ (* (- 1) ?v0!15)) 0))) (let (($x15737 (<= ?v0!15 4294967295))) (let (($x19560 (not $x15737))) (let (($x15736 (>= ?v0!15 0))) (let (($x19559 (not $x15736))) (let (($x19575 (or $x19559 $x19560 $x16009 $x16031))) (let (($x19580 (not $x19575))) (let (($x20044 (or $x19580 $x20041))) (let (($x20047 (not $x20044))) (let (($x10222 (= v_b_S_result_G_0$ v_b_L_H_max_G_1$))) (let (($x19640 (not $x10222))) (let (($x10220 (= v_b_SL_H_witness_G_2$ v_b_SL_H_witness_G_0$))) (let (($x19639 (not $x10220))) (let (($x10218 (= v_b_L_H_p_G_2$ v_b_L_H_p_G_0$))) (let (($x19638 (not $x10218))) (let (($x10216 (= v_b_L_H_max_G_4$ v_b_L_H_max_G_1$))) (let (($x19637 (not $x10216))) (let (($x11432 (>= v_b_SL_H_witness_G_0$ 0))) (let (($x19501 (not $x11432))) (let (($x11429 (>= v_b_L_H_p_G_0$ 1))) (let (($x19474 (not $x11429))) (let (($x15729 (not b_S_position_n_marker$))) (let (($x20050 (or $x15729 $x19474 $x19501 $x19637 $x19638 $x19639 $x19640 $x20047))) (let (($x20053 (not $x20050))) (let (($x20056 (or $x15729 $x20053))) (let (($x20059 (not $x20056))) (let ((?x11484 (* (- 1) v_b_L_H_p_G_0$))) (let ((?x11485 (+ v_b_P_H_len$ ?x11484))) (let (($x11486 (<= ?x11485 0))) (let (($x11487 (not $x11486))) (let (($x20062 (or $x11487 $x19474 $x19501 $x20059))) (let (($x20065 (not $x20062))) (let ((?x10372 (b_S_idx$ ?x10078 v_b_SL_H_witness_G_1$ b_T_T_u1$))) (let ((?x10373 (b_S_read_n_u1$ v_b_S_s$ ?x10372))) (let (($x10374 (= ?x10373 v_b_L_H_max_G_3$))) (let (($x19411 (not $x10374))) (let (($x11647 (<= (+ v_b_P_H_len$ (* (- 1) v_b_SL_H_witness_G_1$)) 0))) (let (($x19412 (or $x11647 $x19411))) (let (($x19413 (not $x19412))) (let (($x19906 (forall ((?v0 Int) )(! (let ((?x11631 (* (- 1) v_b_L_H_max_G_3$))) (let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$)))) (let (($x11633 (<= (+ ?x10163 ?x11631) 0))) (let (($x11615 (>= (+ ?v0 (* (- 1) v_b_L_H_p_G_1$)) 0))) (let (($x12168 (<= ?v0 4294967295))) (let (($x16553 (not $x12168))) (let (($x2815 (>= ?v0 0))) (let (($x3763 (not $x2815))) (or $x3763 $x16553 $x11615 $x11633))))))))) :pattern ( (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$) ) :qid k!704)) )) (let (($x19911 (not $x19906))) (let (($x19914 (or $x19911 $x19413))) (let (($x19917 (not $x19914))) (let ((?x15633 (b_S_idx$ ?x10078 ?v0!14 b_T_T_u1$))) (let ((?x15634 (b_S_read_n_u1$ v_b_S_s$ ?x15633))) (let ((?x15891 (* (- 1) ?x15634))) (let (($x15893 (>= (+ v_b_L_H_max_G_3$ ?x15891) 0))) (let (($x15871 (<= (+ v_b_L_H_p_G_1$ (* (- 1) ?v0!14)) 0))) (let (($x15627 (<= ?v0!14 4294967295))) (let (($x19366 (not $x15627))) (let (($x15626 (>= ?v0!14 0))) (let (($x19365 (not $x15626))) (let (($x19381 (or $x19365 $x19366 $x15871 $x15893))) (let (($x19386 (not $x19381))) (let (($x19920 (or $x19386 $x19917))) (let (($x19923 (not $x19920))) (let (($x11608 (>= (+ v_b_P_H_len$ (* (- 1) v_b_L_H_p_G_1$)) 0))) (let (($x11612 (not $x11608))) (let (($x19926 (or $x11612 $x19923))) (let (($x19929 (not $x19926))) (let (($x19932 (or $x11612 $x19929))) (let (($x19935 (not $x19932))) (let (($x11536 (>= v_b_SL_H_witness_G_1$ 0))) (let (($x19455 (not $x11536))) (let (($x11578 (>= v_b_L_H_p_G_1$ 2))) (let (($x19454 (not $x11578))) (let (($x10358 (b_S_local_n_value_n_is$ v_b_S_s$ b_H_tok_S_1_T_16_o_24$ b_H_loc_o_p$ v_b_L_H_p_G_1$ b_T_T_u4$))) (let (($x19453 (not $x10358))) (let ((?x11581 (* (- 1) v_b_L_H_p_G_1$))) (let ((?x11582 (+ v_b_L_H_p_G_0$ ?x11581))) (let (($x11580 (= ?x11582 (- 1)))) (let (($x19452 (not $x11580))) (let (($x13353 (<= v_b_L_H_p_G_0$ 4294967294))) (let (($x15614 (not $x13353))) (let (($x11570 (>= v_b_L_H_p_G_0$ (- 1)))) (let (($x15611 (not $x11570))) (let (($x19938 (or $x15611 $x15614 $x19452 $x19453 $x19454 $x19455 $x19935))) (let (($x19941 (not $x19938))) (let (($x19944 (or $x15611 $x15614 $x19941))) (let (($x19947 (not $x19944))) (let (($x10392 (= v_b_SL_H_witness_G_1$ v_b_SL_H_witness_G_0$))) (let (($x19513 (not $x10392))) (let (($x10391 (= v_b_L_H_max_G_3$ v_b_L_H_max_G_1$))) (let (($x19512 (not $x10391))) (let ((?x10320 (b_S_idx$ ?x10078 v_b_L_H_p_G_0$ b_T_T_u1$))) (let ((?x10327 (b_S_read_n_u1$ v_b_S_s$ ?x10320))) (let ((?x11517 (* (- 1) ?x10327))) (let (($x11516 (>= (+ v_b_L_H_max_G_1$ ?x11517) 0))) (let (($x11515 (not $x11516))) (let (($x19980 (or $x11515 $x19501 $x19512 $x19513 $x19474 $x19455 $x19947))) (let (($x19983 (not $x19980))) (let (($x10340 (= v_b_SL_H_witness_G_1$ v_b_L_H_p_G_0$))) (let (($x19473 (not $x10340))) (let (($x10338 (= v_b_L_H_max_G_3$ v_b_L_H_max_G_2$))) (let (($x19472 (not $x10338))) (let (($x10335 (b_S_local_n_value_n_is$ v_b_S_s$ b_H_tok_S_1_T_24_o_47$ b_H_loc_o_witness$ v_b_L_H_p_G_0$ b_T_T_u4$))) (let (($x19471 (not $x10335))) (let (($x10334 (b_S_local_n_value_n_is$ v_b_S_s$ b_H_tok_S_1_T_23_o_7$ b_H_loc_o_max$ v_b_L_H_max_G_2$ b_T_T_u1$))) (let (($x19470 (not $x10334))) (let (($x10333 (= v_b_L_H_max_G_2$ ?x10327))) (let (($x19469 (not $x10333))) (let (($x10324 (b_S_thread_n_local$ v_b_S_s$ ?x10320))) (let (($x15599 (not $x10324))) (let (($x10321 (b_S_is$ ?x10320 b_T_T_u1$))) (let (($x15590 (not $x10321))) (let (($x19950 (or $x15590 $x15599 $x19469 $x19470 $x19471 $x19472 $x19473 $x19474 $x19455 $x19947))) (let (($x19953 (not $x19950))) (let (($x19956 (or $x15590 $x15599 $x19953))) (let (($x19959 (not $x19956))) (let (($x10322 (b_S_typed$ v_b_S_s$ ?x10320))) (let (($x15593 (not $x10322))) (let (($x19962 (or $x15590 $x15593 $x19959))) (let (($x19965 (not $x19962))) (let (($x19968 (or $x15590 $x15593 $x19965))) (let (($x19971 (not $x19968))) (let (($x19974 (or $x11516 $x19474 $x19501 $x19971))) (let (($x19977 (not $x19974))) (let (($x19986 (or $x19977 $x19983))) (let (($x19989 (not $x19986))) (let (($x19992 (or $x15590 $x15599 $x19474 $x19501 $x19989))) (let (($x19995 (not $x19992))) (let (($x19998 (or $x15590 $x15599 $x19995))) (let (($x20001 (not $x19998))) (let (($x20004 (or $x15590 $x15593 $x20001))) (let (($x20007 (not $x20004))) (let (($x20010 (or $x15590 $x15593 $x20007))) (let (($x20013 (not $x20010))) (let (($x20016 (or $x11486 $x19474 $x19501 $x20013))) (let (($x20019 (not $x20016))) (let (($x20068 (or $x20019 $x20065))) (let (($x20071 (not $x20068))) (let ((?x2238 (b_S_ptr_n_to$ b_T_T_u1$))) (let (($x10296 (b_S_local_n_value_n_is_n_ptr$ v_b_S_s$ b_H_tok_S_1_T_16_o_3$ b_H_loc_o_arr$ ?x10078 ?x2238))) (let (($x19683 (not $x10296))) (let ((?x10105 (b_S_ptr_n_to_n_int$ ?x10078))) (let (($x10295 (b_S_local_n_value_n_is$ v_b_S_s$ b_H_tok_S_1_T_16_o_3$ b_H_loc_o_arr$ ?x10105 ?x2238))) (let (($x19682 (not $x10295))) (let (($x10294 (b_S_local_n_value_n_is$ v_b_S_s$ b_H_tok_S_1_T_16_o_3$ b_H_loc_o_len$ v_b_P_H_len$ b_T_T_u4$))) (let (($x19681 (not $x10294))) (let (($x10293 (b_S_local_n_value_n_is$ v_b_S_s$ b_H_tok_S_1_T_16_o_3$ b_H_loc_o_max$ v_b_L_H_max_G_1$ b_T_T_u1$))) (let (($x19680 (not $x10293))) (let (($x10292 (b_S_local_n_value_n_is$ v_b_S_s$ b_H_tok_S_1_T_16_o_3$ b_H_loc_o_witness$ v_b_SL_H_witness_G_0$ b_T_T_u4$))) (let (($x19679 (not $x10292))) (let (($x10291 (b_S_local_n_value_n_is$ v_b_S_s$ b_H_tok_S_1_T_16_o_3$ b_H_loc_o_p$ v_b_L_H_p_G_0$ b_T_T_u4$))) (let (($x19678 (not $x10291))) (let (($x10097 (b_S_full_n_stop$ v_b_S_s$))) (let (($x19677 (not $x10097))) (let (($x10204 (b_S_good_n_state_n_ext$ b_H_tok_S_1_T_16_o_3$ v_b_S_s$))) (let (($x19676 (not $x10204))) (let (($x10284 (b_S_call_n_transition$ v_b_S_s$ v_b_S_s$))) (let (($x19675 (not $x10284))) (let ((?x10190 (b_S_idx$ ?x10078 v_b_SL_H_witness_G_0$ b_T_T_u1$))) (let ((?x10191 (b_S_read_n_u1$ v_b_S_s$ ?x10190))) (let (($x10192 (= ?x10191 v_b_L_H_max_G_1$))) (let (($x19674 (not $x10192))) (let (($x11867 (<= (+ v_b_P_H_len$ (* (- 1) v_b_SL_H_witness_G_0$)) 0))) (let (($x19898 (forall ((?v0 Int) )(! (let ((?x11887 (* (- 1) v_b_L_H_max_G_1$))) (let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$)))) (let (($x11889 (<= (+ ?x10163 ?x11887) 0))) (let (($x11871 (>= (+ ?v0 (* (- 1) v_b_L_H_p_G_0$)) 0))) (let (($x12168 (<= ?v0 4294967295))) (let (($x16553 (not $x12168))) (let (($x2815 (>= ?v0 0))) (let (($x3763 (not $x2815))) (or $x3763 $x16553 $x11871 $x11889))))))))) :pattern ( (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$) ) :qid k!704)) )) (let (($x19903 (not $x19898))) (let (($x11898 (>= ?x11485 0))) (let (($x19672 (not $x11898))) (let (($x13326 (<= v_b_L_H_p_G_0$ 4294967295))) (let (($x19671 (not $x13326))) (let (($x19670 (not $x11901))) (let (($x13315 (<= v_b_SL_H_witness_G_0$ 4294967295))) (let (($x19669 (not $x13315))) (let (($x13304 (<= v_b_L_H_max_G_1$ 255))) (let (($x19668 (not $x13304))) (let (($x11911 (>= v_b_L_H_max_G_1$ 0))) (let (($x19667 (not $x11911))) (let ((?x10137 (b_S_idx$ ?x10078 0 b_T_T_u1$))) (let ((?x10144 (b_S_read_n_u1$ v_b_S_s$ ?x10137))) (let (($x10167 (= ?x10144 v_b_L_H_max_G_0$))) (let (($x15548 (not $x10167))) (let (($x11259 (<= v_b_P_H_len$ 0))) (let (($x20074 (or $x11259 $x15548 $x19667 $x19668 $x19669 $x19670 $x19671 $x19672 $x19903 $x11867 $x19674 $x19675 $x19676 $x19677 $x19678 $x19679 $x19680 $x19681 $x19682 $x19683 $x19474 $x19501 $x20071))) (let (($x20077 (not $x20074))) (let (($x10145 (= v_b_L_H_max_G_0$ ?x10144))) (let (($x20080 (or $x11259 $x15548 $x20077))) (let (($x20083 (not $x20080))) (let (($x19890 (forall ((?v0 Int) )(! (let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$)))) (let (($x11404 (>= (+ v_b_L_H_max_G_0$ (* (- 1) ?x10163)) 0))) (let (($x11388 (>= ?v0 1))) (let (($x12168 (<= ?v0 4294967295))) (let (($x16553 (not $x12168))) (let (($x2815 (>= ?v0 0))) (let (($x3763 (not $x2815))) (or $x3763 $x16553 $x11388 $x11404)))))))) :pattern ( (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$) ) :qid k!704)) )) (let (($x19895 (not $x19890))) (let (($x20086 (or $x19895 $x20083))) (let (($x20089 (not $x20086))) (let ((?x15529 (b_S_idx$ ?x10078 ?v0!13 b_T_T_u1$))) (let ((?x15530 (b_S_read_n_u1$ v_b_S_s$ ?x15529))) (let ((?x15531 (* (- 1) ?x15530))) (let (($x15533 (>= (+ v_b_L_H_max_G_0$ ?x15531) 0))) (let (($x15525 (>= ?v0!13 1))) (let (($x15524 (<= ?v0!13 4294967295))) (let (($x19298 (not $x15524))) (let (($x15523 (>= ?v0!13 0))) (let (($x19297 (not $x15523))) (let (($x19313 (or $x19297 $x19298 $x15525 $x15533))) (let (($x19318 (not $x19313))) (let (($x20092 (or $x19318 $x20089))) (let (($x20095 (not $x20092))) (let (($x11382 (>= v_b_P_H_len$ 1))) (let (($x11385 (not $x11382))) (let (($x20098 (or $x11385 $x20095))) (let (($x20101 (not $x20098))) (let (($x20104 (or $x11385 $x20101))) (let (($x20107 (not $x20104))) (let (($x10148 (b_S_local_n_value_n_is$ v_b_S_s$ b_H_tok_S_1_T_16_o_8$ b_H_loc_o_p$ 1 b_T_T_u4$))) (let (($x19727 (not $x10148))) (let (($x10147 (b_S_local_n_value_n_is$ v_b_S_s$ b_H_tok_S_1_T_14_o_3$ b_H_loc_o_witness$ 0 b_T_T_u4$))) (let (($x19726 (not $x10147))) (let (($x10146 (b_S_local_n_value_n_is$ v_b_S_s$ b_H_tok_S_1_T_12_o_3$ b_H_loc_o_max$ v_b_L_H_max_G_0$ b_T_T_u1$))) (let (($x19725 (not $x10146))) (let (($x19724 (not $x10145))) (let (($x10141 (b_S_thread_n_local$ v_b_S_s$ ?x10137))) (let (($x15511 (not $x10141))) (let (($x10138 (b_S_is$ ?x10137 b_T_T_u1$))) (let (($x15502 (not $x10138))) (let (($x20110 (or $x15502 $x15511 $x19724 $x19725 $x19726 $x19727 $x20107))) (let (($x20113 (not $x20110))) (let (($x20116 (or $x15502 $x15511 $x20113))) (let (($x20119 (not $x20116))) (let (($x10139 (b_S_typed$ v_b_S_s$ ?x10137))) (let (($x15505 (not $x10139))) (let (($x20122 (or $x15502 $x15505 $x20119))) (let (($x20125 (not $x20122))) (let ((?x22478 (b_S_select_o_tm$ ?x10272 ?x10137))) (let (($x22602 (b_S_ts_n_is_n_volatile$ ?x22478))) (let (($x22603 (or $x15505 $x22602))) (let (($x22604 (not $x22603))) (let ((?x10079 (b_S_ref$ ?x10078))) (let ((?x10080 (b_S_ptr$ ?x10076 ?x10079))) (let ((?x21014 (b_S_ref$ ?x10080))) (let ((?x21983 (b_S_ptr$ ?x10076 ?x21014))) (let ((?x22343 (b_S_domain$ v_b_S_s$ ?x21983))) (let (($x22596 (b_S_set_n_in$ ?x22595 ?x22343))) (let (($x21179 (= ?x10079 v_b_P_H_arr$))) (let (($x19835 (forall ((?v0 B_S_ctype$) (?v1 Int) )(! (= (b_S_ref$ (b_S_ptr$ ?v0 ?v1)) ?v1) :pattern ( (b_S_ptr$ ?v0 ?v1) ) :qid k!627)) )) (let (($x9655 (forall ((?v0 B_S_ctype$) (?v1 Int) )(! (= (b_S_ref$ (b_S_ptr$ ?v0 ?v1)) ?v1) :qid k!627)) )) (let (($x9654 (= (b_S_ref$ (b_S_ptr$ ?1 ?0)) ?0))) (let ((@x15356 (mp~ (asserted $x9655) (nnf-pos (refl (~ $x9654 $x9654)) (~ $x9655 $x9655)) $x9655))) (let ((@x19840 (mp @x15356 (quant-intro (refl (= $x9654 $x9654)) (= $x9655 $x19835)) $x19835))) (let (($x21152 (not $x19835))) (let (($x21184 (or $x21152 $x21179))) (let ((@x21185 ((_ quant-inst b_T_T_u1$ v_b_P_H_arr$) $x21184))) (let ((@x23445 (unit-resolution @x21185 @x19840 $x21179))) (let ((@x23680 (monotonicity (symm @x23445 (= v_b_P_H_arr$ ?x10079)) (= ?x22595 ?x10080)))) (let (($x21990 (= ?x10080 ?x21983))) (let (($x10084 (b_S_is$ ?x10080 ?x10076))) (let (($x11245 (>= (+ b_S_max_o_u4$ (* (- 1) v_b_P_H_len$)) 0))) (let (($x11243 (>= v_b_P_H_len$ 0))) (let (($x10439 (forall ((?v0 B_S_ptr$) )(! (let (($x10113 (b_S_in_n_writes_n_at$ v_b_H_wrTime_S_1_T_6_o_1$ ?v0))) (not $x10113)) :pattern ( (b_S_in_n_writes_n_at$ v_b_H_wrTime_S_1_T_6_o_1$ ?v0) ) :qid k!704)) )) (let ((?x10111 (b_S_current_n_timestamp$ v_b_S_s$))) (let (($x10112 (= v_b_H_wrTime_S_1_T_6_o_1$ ?x10111))) (let (($x10109 (b_S_local_n_value_n_is$ v_b_S_s$ b_H_tok_S_1_T_6_o_1$ b_H_loc_o_len$ v_b_P_H_len$ b_T_T_u4$))) (let (($x10107 (b_S_local_n_value_n_is_n_ptr$ v_b_S_s$ b_H_tok_S_1_T_6_o_1$ b_H_loc_o_arr$ ?x10078 ?x2238))) (let (($x10106 (b_S_local_n_value_n_is$ v_b_S_s$ b_H_tok_S_1_T_6_o_1$ b_H_loc_o_arr$ ?x10105 ?x2238))) (let (($x11256 (forall ((?v0 B_S_pure_n_function$) )(! (let (($x11251 (>= (+ (b_S_frame_n_level$ ?v0) (* (- 1) b_S_current_n_frame_n_level$)) 0))) (not $x11251)) :pattern ( (b_S_frame_n_level$ ?v0) ) :qid k!704)) )) (let (($x10096 (b_S_good_n_state_n_ext$ b_H_tok_S_1_T_6_o_1$ v_b_S_s$))) (let (($x10095 (b_S_function_n_entry$ v_b_S_s$))) (let (($x10089 (b_S_is_n_non_n_primitive$ ?x10076))) (let ((?x10086 (b_S_kind_n_of$ ?x10076))) (let (($x10087 (= ?x10086 b_S_kind_n_primitive$))) (let (($x10088 (not $x10087))) (let (($x10085 (b_S_typed$ v_b_S_s$ ?x10080))) (let ((?x10082 (b_S_owner$ v_b_S_s$ ?x10080))) (let (($x10083 (= ?x10082 b_S_me$))) (let (($x10081 (b_S_closed$ v_b_S_s$ ?x10080))) (let (($x11260 (not $x11259))) (let (($x11263 (>= v_b_P_H_len$ 1099511627776))) (let (($x11264 (not $x11263))) (let (($x11270 (>= (+ b_S_max_o_u4$ (* (- 1) v_b_SL_H_witness$)) 0))) (let (($x11268 (>= v_b_SL_H_witness$ 0))) (let (($x11278 (>= (+ b_S_max_o_u4$ (* (- 1) v_b_L_H_p$)) 0))) (let (($x11276 (>= v_b_L_H_p$ 0))) (let (($x11286 (>= (+ b_S_max_o_u1$ (* (- 1) v_b_L_H_max$)) 0))) (let (($x11284 (>= v_b_L_H_max$ 0))) (let (($x11342 (and $x11284 $x11286 $x11276 $x11278 $x11268 $x11270 $x11264 $x11260 $x10081 $x10083 $x10084 $x10085 $x10088 $x10089 $x10095 $x10096 $x10097 $x11256 $x10106 $x10107 $x10109 $x10112 $x10439 $x11243 $x11245))) (let (($x11844 (exists ((?v0 Int) )(! (let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$)))) (let (($x10238 (= ?x10163 v_b_S_result_G_0$))) (let (($x11800 (>= (+ ?v0 (* (- 1) v_b_P_H_len$)) 0))) (let (($x11802 (not $x11800))) (let ((?x3113 (* (- 1) b_S_max_o_u4$))) (let ((?x3114 (+ ?v0 ?x3113))) (let (($x3115 (<= ?x3114 0))) (let (($x2815 (>= ?v0 0))) (and $x2815 $x3115 $x11802 $x10238))))))))) :qid k!704)) )) (let (($x11824 (forall ((?v0 Int) )(! (let ((?x11816 (* (- 1) v_b_S_result_G_0$))) (let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$)))) (let (($x11818 (<= (+ ?x10163 ?x11816) 0))) (let (($x11800 (>= (+ ?v0 (* (- 1) v_b_P_H_len$)) 0))) (let (($x11802 (not $x11800))) (let ((?x3113 (* (- 1) b_S_max_o_u4$))) (let ((?x3114 (+ ?v0 ?x3113))) (let (($x3115 (<= ?x3114 0))) (let (($x2815 (>= ?v0 0))) (let (($x11808 (and $x2815 $x3115 $x11802))) (let (($x11813 (not $x11808))) (or $x11813 $x11818)))))))))))) :qid k!704)) )) (let (($x11827 (not $x11824))) (let (($x11847 (or $x11827 $x11844))) (let (($x11850 (and $x11824 $x11847))) (let (($x11792 (and b_S_position_n_marker$ $x11429 $x11432 $x10216 $x10218 $x10220 $x10222))) (let (($x11797 (not $x11792))) (let (($x11853 (or $x11797 $x11850))) (let (($x11856 (and b_S_position_n_marker$ $x11853))) (let (($x11772 (and $x11486 $x11429 $x11432))) (let (($x11777 (not $x11772))) (let (($x11859 (or $x11777 $x11856))) (let (($x11648 (not $x11647))) (let (($x11651 (and $x11648 $x10374))) (let (($x11639 (forall ((?v0 Int) )(! (let ((?x11631 (* (- 1) v_b_L_H_max_G_3$))) (let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$)))) (let (($x11633 (<= (+ ?x10163 ?x11631) 0))) (let (($x11615 (>= (+ ?v0 (* (- 1) v_b_L_H_p_G_1$)) 0))) (let (($x11617 (not $x11615))) (let ((?x3113 (* (- 1) b_S_max_o_u4$))) (let ((?x3114 (+ ?v0 ?x3113))) (let (($x3115 (<= ?x3114 0))) (let (($x2815 (>= ?v0 0))) (let (($x11623 (and $x2815 $x3115 $x11617))) (let (($x11628 (not $x11623))) (or $x11628 $x11633)))))))))))) :qid k!704)) )) (let (($x11642 (not $x11639))) (let (($x11654 (or $x11642 $x11651))) (let (($x11657 (and $x11639 $x11654))) (let (($x11660 (or $x11612 $x11657))) (let (($x11663 (and $x11608 $x11660))) (let ((?x11574 (+ b_S_max_o_u4$ ?x11484))) (let (($x11573 (>= ?x11574 1))) (let (($x11600 (and $x11570 $x11573 $x11580 $x10358 $x11578 $x11536))) (let (($x11605 (not $x11600))) (let (($x11666 (or $x11605 $x11663))) (let (($x11672 (and $x11570 $x11573 $x11666))) (let (($x11725 (and $x11516 $x11432 $x10391 $x10392 $x11429 $x11536))) (let (($x11730 (not $x11725))) (let (($x11733 (or $x11730 $x11672))) (let (($x11562 (and $x10321 $x10324 $x10333 $x10334 $x10335 $x10338 $x10340 $x11429 $x11536))) (let (($x11567 (not $x11562))) (let (($x11677 (or $x11567 $x11672))) (let (($x11683 (and $x10321 $x10324 $x11677))) (let (($x10323 (and $x10321 $x10322))) (let (($x11001 (not $x10323))) (let (($x11688 (or $x11001 $x11683))) (let (($x11694 (and $x10321 $x10322 $x11688))) (let (($x11527 (and $x11515 $x11429 $x11432))) (let (($x11532 (not $x11527))) (let (($x11699 (or $x11532 $x11694))) (let (($x11736 (and $x11699 $x11733))) (let (($x11507 (and $x10321 $x10324 $x11429 $x11432))) (let (($x11512 (not $x11507))) (let (($x11739 (or $x11512 $x11736))) (let (($x11745 (and $x10321 $x10324 $x11739))) (let (($x11750 (or $x11001 $x11745))) (let (($x11756 (and $x10321 $x10322 $x11750))) (let (($x11496 (and $x11487 $x11429 $x11432))) (let (($x11501 (not $x11496))) (let (($x11761 (or $x11501 $x11756))) (let (($x11862 (and $x11761 $x11859))) (let (($x11476 (and $x10284 $x10204 $x10097 $x10291 $x10292 $x10293 $x10294 $x10295 $x10296 $x11429 $x11432))) (let (($x11481 (not $x11476))) (let (($x11868 (not $x11867))) (let (($x11895 (forall ((?v0 Int) )(! (let ((?x11887 (* (- 1) v_b_L_H_max_G_1$))) (let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$)))) (let (($x11889 (<= (+ ?x10163 ?x11887) 0))) (let (($x11871 (>= (+ ?v0 (* (- 1) v_b_L_H_p_G_0$)) 0))) (let (($x11873 (not $x11871))) (let ((?x3113 (* (- 1) b_S_max_o_u4$))) (let ((?x3114 (+ ?v0 ?x3113))) (let (($x3115 (<= ?x3114 0))) (let (($x2815 (>= ?v0 0))) (let (($x11879 (and $x2815 $x3115 $x11873))) (let (($x11884 (not $x11879))) (or $x11884 $x11889)))))))))))) :qid k!704)) )) (let (($x11904 (>= ?x11574 0))) (let (($x11907 (>= (+ b_S_max_o_u4$ (* (- 1) v_b_SL_H_witness_G_0$)) 0))) (let (($x11914 (>= (+ b_S_max_o_u1$ (* (- 1) v_b_L_H_max_G_1$)) 0))) (let (($x11957 (and $x11260 $x10167 $x11911 $x11914 $x11907 $x11901 $x11904 $x11898 $x11895 $x11868 $x10192 $x11429 $x11432))) (let (($x11962 (not $x11957))) (let (($x11971 (or $x11962 $x11481 $x11862))) (let (($x11979 (and $x11260 $x10167 $x11971))) (let (($x11411 (forall ((?v0 Int) )(! (let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$)))) (let (($x11404 (>= (+ v_b_L_H_max_G_0$ (* (- 1) ?x10163)) 0))) (let (($x11388 (>= ?v0 1))) (let (($x11389 (not $x11388))) (let ((?x3113 (* (- 1) b_S_max_o_u4$))) (let ((?x3114 (+ ?v0 ?x3113))) (let (($x3115 (<= ?x3114 0))) (let (($x2815 (>= ?v0 0))) (let (($x11395 (and $x2815 $x3115 $x11389))) (let (($x11400 (not $x11395))) (or $x11400 $x11404))))))))))) :qid k!704)) )) (let (($x11414 (not $x11411))) (let (($x11984 (or $x11414 $x11979))) (let (($x11987 (and $x11411 $x11984))) (let (($x11990 (or $x11385 $x11987))) (let (($x11993 (and $x11382 $x11990))) (let (($x11374 (and $x10138 $x10141 $x10145 $x10146 $x10147 $x10148))) (let (($x11379 (not $x11374))) (let (($x11996 (or $x11379 $x11993))) (let (($x12002 (and $x10138 $x10141 $x11996))) (let (($x10140 (and $x10138 $x10139))) (let (($x11209 (not $x10140))) (let (($x12007 (or $x11209 $x12002))) (let (($x12013 (and $x10138 $x10139 $x12007))) (let (($x10136 (b_S_in_n_domain_n_lab$ v_b_S_s$ ?x10080 ?x10080 b_l_H_public$))) (let (($x11221 (not $x10136))) (let (($x12018 (or $x11221 $x12013))) (let (($x12021 (and $x10136 $x12018))) (let (($x12027 (not (or (not $x11342) $x12021)))) (let (($x10242 (exists ((?v0 Int) )(! (let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$)))) (let (($x10238 (= ?x10163 v_b_S_result_G_0$))) (let (($x10233 (< ?v0 v_b_P_H_len$))) (let (($x3097 (<= ?v0 b_S_max_o_u4$))) (let (($x2766 (<= 0 ?v0))) (and $x2766 (and $x3097 (and $x10233 $x10238)))))))) :qid k!704)) )) (let (($x10244 (and $x10242 (=> $x10242 true)))) (let (($x10237 (forall ((?v0 Int) )(! (let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$)))) (let (($x10235 (<= ?x10163 v_b_S_result_G_0$))) (let (($x10233 (< ?v0 v_b_P_H_len$))) (let (($x3097 (<= ?v0 b_S_max_o_u4$))) (let (($x2766 (<= 0 ?v0))) (let (($x3098 (and $x2766 $x3097))) (let (($x10234 (and $x3098 $x10233))) (=> $x10234 $x10235)))))))) :qid k!704)) )) (let (($x10245 (=> $x10237 $x10244))) (let (($x10227 (and true (and $x10216 (and $x10218 (and $x10220 (and $x10222 true))))))) (let (($x10174 (<= 0 v_b_SL_H_witness_G_0$))) (let (($x10181 (<= 1 v_b_L_H_p_G_0$))) (let (($x10182 (and $x10181 $x10174))) (let (($x10230 (and true (and $x10182 (and $x10182 $x10227))))) (let (($x10247 (=> (and b_S_position_n_marker$ (and $x10182 $x10230)) (and $x10237 $x10245)))) (let (($x10248 (and b_S_position_n_marker$ $x10247))) (let (($x10206 (and true $x10182))) (let (($x10207 (and $x10182 $x10206))) (let (($x10411 (and $x10182 $x10207))) (let (($x10412 (and true $x10411))) (let (($x10413 (and $x10182 $x10412))) (let (($x10410 (<= v_b_P_H_len$ v_b_L_H_p_G_0$))) (let (($x10416 (and true (and $x10182 (and $x10410 $x10413))))) (let (($x10417 (=> $x10416 $x10248))) (let (($x10377 (=> (and (and (< v_b_SL_H_witness_G_1$ v_b_P_H_len$) $x10374) false) true))) (let (($x10375 (and (< v_b_SL_H_witness_G_1$ v_b_P_H_len$) $x10374))) (let (($x10378 (and $x10375 $x10377))) (let (($x10370 (forall ((?v0 Int) )(! (let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$)))) (let (($x10368 (<= ?x10163 v_b_L_H_max_G_3$))) (let (($x3097 (<= ?v0 b_S_max_o_u4$))) (let (($x2766 (<= 0 ?v0))) (let (($x3098 (and $x2766 $x3097))) (let (($x10367 (and $x3098 (< ?v0 v_b_L_H_p_G_1$)))) (=> $x10367 $x10368))))))) :qid k!704)) )) (let (($x10379 (=> $x10370 $x10378))) (let (($x10365 (<= v_b_L_H_p_G_1$ v_b_P_H_len$))) (let (($x10381 (=> $x10365 (and $x10370 $x10379)))) (let (($x10341 (<= 0 v_b_SL_H_witness_G_1$))) (let (($x10360 (and (<= 2 v_b_L_H_p_G_1$) $x10341))) (let (($x10363 (and (= v_b_L_H_p_G_1$ (+ v_b_L_H_p_G_0$ 1)) (and $x10358 (and $x10360 true))))) (let (($x10355 (and (<= 0 (+ v_b_L_H_p_G_0$ 1)) (<= (+ v_b_L_H_p_G_0$ 1) b_S_max_o_u4$)))) (let (($x10383 (=> (and $x10355 $x10363) (and $x10365 $x10381)))) (let (($x10384 (and $x10355 $x10383))) (let (($x10395 (and true (and $x10391 (and $x10392 (and true (and $x10181 $x10341))))))) (let (($x10398 (and true (and $x10182 (and $x10182 $x10395))))) (let (($x10390 (<= ?x10327 v_b_L_H_max_G_1$))) (let (($x10402 (and true (and $x10182 (and $x10390 (and $x10182 $x10398)))))) (let (($x10403 (=> $x10402 $x10384))) (let (($x10346 (and true (and $x10338 (and $x10340 (and true (and $x10181 $x10341))))))) (let (($x10325 (and $x10321 $x10324))) (let (($x10351 (and $x10325 (and $x10333 (and $x10334 (and $x10335 (and (and $x10181 $x10181) $x10346))))))) (let (($x10385 (=> $x10351 $x10384))) (let (($x10387 (=> $x10323 (and $x10325 $x10385)))) (let (($x10331 (and true (and $x10182 (and (< v_b_L_H_max_G_1$ ?x10327) $x10207))))) (let (($x10389 (=> $x10331 (and $x10323 $x10387)))) (let (($x10326 (and $x10325 $x10182))) (let (($x10405 (=> $x10326 (and $x10389 $x10403)))) (let (($x10407 (=> $x10323 (and $x10325 $x10405)))) (let (($x10319 (and true (and $x10182 (and (< v_b_L_H_p_G_0$ v_b_P_H_len$) $x10207))))) (let (($x10409 (=> $x10319 (and $x10323 $x10407)))) (let (($x10300 (and (= ?x10272 ?x10272) (= (b_S_statusmap$ v_b_S_s$) (b_S_statusmap$ v_b_S_s$))))) (let (($x10301 (and $x10300 $x10182))) (let (($x10297 (and $x10295 $x10296))) (let (($x10205 (and $x10204 $x10097))) (let (($x10307 (and $x10205 (and $x10291 (and $x10292 (and $x10293 (and $x10294 (and $x10297 $x10301)))))))) (let (($x10283 (forall ((?v0 B_S_ptr$) )(! (let ((?x10280 (b_S_timestamp$ v_b_S_s$ ?v0))) (<= ?x10280 ?x10280)) :pattern ( (b_S_timestamp$ v_b_S_s$ ?v0) ) :qid k!704)) )) (let (($x10286 (and (<= ?x10111 ?x10111) (and $x10283 $x10284)))) (let (($x10278 (forall ((?v0 B_S_ptr$) )(! (let (($x10260 (b_S_thread_n_local$ v_b_S_s$ ?v0))) (let ((?x10272 (b_S_typemap$ v_b_S_s$))) (let ((?x10273 (b_S_select_o_tm$ ?x10272 ?v0))) (let (($x10275 (and (= ?x10273 ?x10273) $x10260))) (=> $x10260 $x10275))))) :pattern ( (b_S_select_o_tm$ (b_S_typemap$ v_b_S_s$) ?v0) ) :qid k!704)) )) (let (($x10287 (and $x10278 $x10286))) (let (($x10271 (forall ((?v0 B_S_ptr$) )(! (let (($x10260 (b_S_thread_n_local$ v_b_S_s$ ?v0))) (let ((?x10256 (b_S_statusmap$ v_b_S_s$))) (let ((?x10257 (b_S_select_o_sm$ ?x10256 ?v0))) (let (($x10269 (and (= ?x10257 ?x10257) $x10260))) (=> $x10260 $x10269))))) :pattern ( (b_S_select_o_sm$ (b_S_statusmap$ v_b_S_s$) ?v0) ) :qid k!704)) )) (let (($x10288 (and $x10271 $x10287))) (let (($x10267 (forall ((?v0 B_S_ptr$) )(! (let (($x10260 (b_S_thread_n_local$ v_b_S_s$ ?v0))) (let ((?x10261 (b_S_memory$ v_b_S_s$))) (let ((?x10262 (b_S_select_o_mem$ ?x10261 ?v0))) (let (($x10264 (and (= ?x10262 ?x10262) $x10260))) (=> $x10260 $x10264))))) :pattern ( (b_S_select_o_mem$ (b_S_memory$ v_b_S_s$) ?v0) ) :qid k!704)) )) (let (($x10289 (and $x10267 $x10288))) (let (($x10259 (forall ((?v0 B_S_ptr$) )(! (let (($x10253 (= (b_S_kind_n_of$ (b_S_typ$ (b_S_owner$ v_b_S_s$ ?v0))) b_S_kind_n_thread$))) (=> (not $x10253) (not $x10253))) :pattern ( (b_S_select_o_sm$ (b_S_statusmap$ v_b_S_s$) ?v0) ) :qid k!704)) )) (let (($x10290 (and $x10259 $x10289))) (let (($x10311 (and true (and $x10182 (and $x10290 (and $x10286 $x10307)))))) (let (($x10313 (and true (and $x10182 $x10311)))) (let (($x10315 (and true (and $x10182 $x10313)))) (let (($x10419 (=> $x10315 (and $x10409 $x10417)))) (let (($x10203 (not true))) (let (($x10212 (and $x10203 (and $x10182 (and true (and $x10182 (and $x10205 $x10207))))))) (let (($x10213 (and $x10182 $x10212))) (let (($x10214 (and true $x10213))) (let (($x10249 (=> $x10214 $x10248))) (let (($x10420 (and $x10249 $x10419))) (let (($x10194 (and (and (< v_b_SL_H_witness_G_0$ v_b_P_H_len$) $x10192) $x10182))) (let (($x10188 (forall ((?v0 Int) )(! (let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$)))) (let (($x10186 (<= ?x10163 v_b_L_H_max_G_1$))) (let (($x3097 (<= ?v0 b_S_max_o_u4$))) (let (($x2766 (<= 0 ?v0))) (let (($x3098 (and $x2766 $x3097))) (let (($x10185 (and $x3098 (< ?v0 v_b_L_H_p_G_0$)))) (=> $x10185 $x10186))))))) :qid k!704)) )) (let (($x10183 (<= v_b_L_H_p_G_0$ v_b_P_H_len$))) (let (($x10180 (and (<= 0 v_b_L_H_p_G_0$) (<= v_b_L_H_p_G_0$ b_S_max_o_u4$)))) (let (($x10176 (and $x10174 (<= v_b_SL_H_witness_G_0$ b_S_max_o_u4$)))) (let (($x10172 (and (<= 0 v_b_L_H_max_G_1$) (<= v_b_L_H_max_G_1$ b_S_max_o_u1$)))) (let (($x10200 (and $x10172 (and $x10176 (and $x10180 (and $x10182 (and $x10183 (and $x10188 $x10194)))))))) (let (($x10201 (and true $x10200))) (let (($x10074 (< 0 v_b_P_H_len$))) (let (($x10168 (and $x10074 $x10167))) (let (($x10421 (=> (and $x10168 $x10201) $x10420))) (let (($x10166 (forall ((?v0 Int) )(! (let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$)))) (let (($x10164 (<= ?x10163 v_b_L_H_max_G_0$))) (let (($x3097 (<= ?v0 b_S_max_o_u4$))) (let (($x2766 (<= 0 ?v0))) (let (($x3098 (and $x2766 $x3097))) (let (($x10161 (and $x3098 (< ?v0 1)))) (=> $x10161 $x10164))))))) :qid k!704)) )) (let (($x10423 (=> $x10166 (and $x10168 $x10421)))) (let (($x10159 (<= 1 v_b_P_H_len$))) (let (($x10425 (=> $x10159 (and $x10166 $x10423)))) (let (($x10149 (<= 1 1))) (let (($x10154 (and $x10148 (and $x10149 (and $x10149 (and (<= 0 0) (<= 0 0))))))) (let (($x10142 (and $x10138 $x10141))) (let (($x10427 (=> (and $x10142 (and $x10145 (and $x10146 (and $x10147 $x10154)))) (and $x10159 $x10425)))) (let (($x10429 (=> $x10140 (and $x10142 $x10427)))) (let (($x10431 (=> $x10136 (and $x10140 $x10429)))) (let (($x10119 (and (<= 0 v_b_P_H_len$) (<= v_b_P_H_len$ b_S_max_o_u4$)))) (let (($x10116 (forall ((?v0 B_S_ptr$) )(! (let (($x10113 (b_S_in_n_writes_n_at$ v_b_H_wrTime_S_1_T_6_o_1$ ?v0))) (= $x10113 false)) :pattern ( (b_S_in_n_writes_n_at$ v_b_H_wrTime_S_1_T_6_o_1$ ?v0) ) :qid k!704)) )) (let (($x10108 (and $x10106 $x10107))) (let (($x10104 (forall ((?v0 B_S_pure_n_function$) )(! (let ((?x10100 (b_S_frame_n_level$ ?v0))) (< ?x10100 b_S_current_n_frame_n_level$)) :pattern ( (b_S_frame_n_level$ ?v0) ) :qid k!704)) )) (let (($x10098 (and $x10096 $x10097))) (let (($x10125 (and $x10098 (and $x10104 (and $x10108 (and $x10109 (and $x10112 (and $x10116 $x10119)))))))) (let (($x10127 (and true (and $x10095 $x10125)))) (let (($x10094 (and $x10081 (and $x10083 (and $x10084 (and $x10085 (and $x10088 $x10089))))))) (let (($x10073 (< v_b_P_H_len$ 1099511627776))) (let (($x10071 (and (<= 0 v_b_SL_H_witness$) (<= v_b_SL_H_witness$ b_S_max_o_u4$)))) (let (($x10067 (and (<= 0 v_b_L_H_p$) (<= v_b_L_H_p$ b_S_max_o_u4$)))) (let (($x10063 (and (<= 0 v_b_L_H_max$) (<= v_b_L_H_max$ b_S_max_o_u1$)))) (let (($x10133 (and $x10063 (and $x10067 (and $x10071 (and $x10073 (and $x10074 (and $x10094 $x10127)))))))) (let (($x10134 (and true $x10133))) (let (($x10433 (=> $x10134 (and $x10136 $x10431)))) (let (($x10434 (not $x10433))) (let (($x10649 (forall ((?v0 Int) )(! (let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$)))) (let (($x10235 (<= ?x10163 v_b_S_result_G_0$))) (let (($x10233 (< ?v0 v_b_P_H_len$))) (let (($x3097 (<= ?v0 b_S_max_o_u4$))) (let (($x2766 (<= 0 ?v0))) (let (($x3098 (and $x2766 $x3097))) (let (($x10234 (and $x3098 $x10233))) (or (not $x10234) $x10235)))))))) :qid k!704)) )) (let (($x10665 (or (not $x10649) $x10242))) (let (($x10670 (and $x10649 $x10665))) (let (($x10616 (and $x10216 (and $x10218 (and $x10220 $x10222))))) (let (($x10626 (and $x10182 $x10616))) (let (($x10629 (and $x10182 $x10626))) (let (($x10639 (and $x10182 $x10629))) (let (($x10642 (and b_S_position_n_marker$ $x10639))) (let (($x10677 (or (not $x10642) $x10670))) (let (($x10682 (and b_S_position_n_marker$ $x10677))) (let (($x11134 (or (not (and $x10182 (and $x10410 $x10182))) $x10682))) (let (($x10931 (forall ((?v0 Int) )(! (let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$)))) (let (($x10368 (<= ?x10163 v_b_L_H_max_G_3$))) (let (($x3097 (<= ?v0 b_S_max_o_u4$))) (let (($x2766 (<= 0 ?v0))) (let (($x3098 (and $x2766 $x3097))) (let (($x10367 (and $x3098 (< ?v0 v_b_L_H_p_G_1$)))) (or (not $x10367) $x10368))))))) :qid k!704)) )) (let (($x10954 (or (not $x10931) $x10375))) (let (($x10959 (and $x10931 $x10954))) (let (($x10966 (or (not $x10365) $x10959))) (let (($x10971 (and $x10365 $x10966))) (let (($x10918 (and $x10358 $x10360))) (let ((?x10901 (+ 1 v_b_L_H_p_G_0$))) (let (($x10913 (= v_b_L_H_p_G_1$ ?x10901))) (let (($x10921 (and $x10913 $x10918))) (let (($x10907 (<= ?x10901 b_S_max_o_u4$))) (let (($x10904 (<= 0 ?x10901))) (let (($x10910 (and $x10904 $x10907))) (let (($x10924 (and $x10910 $x10921))) (let (($x10978 (or (not $x10924) $x10971))) (let (($x10983 (and $x10910 $x10978))) (let (($x10342 (and $x10181 $x10341))) (let (($x11019 (and $x10392 $x10342))) (let (($x11022 (and $x10391 $x11019))) (let (($x11032 (and $x10182 $x11022))) (let (($x11035 (and $x10182 $x11032))) (let (($x11045 (and $x10182 $x11035))) (let (($x11048 (and $x10390 $x11045))) (let (($x11051 (and $x10182 $x11048))) (let (($x11065 (or (not $x11051) $x10983))) (let (($x10873 (and $x10340 $x10342))) (let (($x10876 (and $x10338 $x10873))) (let (($x10886 (and $x10181 $x10876))) (let (($x10889 (and $x10335 $x10886))) (let (($x10892 (and $x10334 $x10889))) (let (($x10895 (and $x10333 $x10892))) (let (($x10898 (and $x10325 $x10895))) (let (($x10990 (or (not $x10898) $x10983))) (let (($x10995 (and $x10325 $x10990))) (let (($x11002 (or $x11001 $x10995))) (let (($x11007 (and $x10323 $x11002))) (let (($x11014 (or (not (and $x10182 (and (< v_b_L_H_max_G_1$ ?x10327) $x10182))) $x11007))) (let (($x11070 (and $x11014 $x11065))) (let (($x11077 (or (not $x10326) $x11070))) (let (($x11082 (and $x10325 $x11077))) (let (($x11088 (or $x11001 $x11082))) (let (($x11093 (and $x10323 $x11088))) (let (($x11100 (or (not (and $x10182 (and (< v_b_L_H_p_G_0$ v_b_P_H_len$) $x10182))) $x11093))) (let (($x11139 (and $x11100 $x11134))) (let (($x10789 (and $x10297 $x10182))) (let (($x10792 (and $x10294 $x10789))) (let (($x10795 (and $x10293 $x10792))) (let (($x10798 (and $x10292 $x10795))) (let (($x10801 (and $x10291 $x10798))) (let (($x10804 (and $x10205 $x10801))) (let (($x10807 (and $x10286 $x10804))) (let (($x10810 (and $x10286 $x10807))) (let (($x10813 (and $x10182 $x10810))) (let (($x10823 (and $x10182 $x10813))) (let (($x10833 (and $x10182 $x10823))) (let (($x11146 (or (not $x10833) $x11139))) (let (($x10529 (forall ((?v0 Int) )(! (let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$)))) (let (($x10186 (<= ?x10163 v_b_L_H_max_G_1$))) (let (($x3097 (<= ?v0 b_S_max_o_u4$))) (let (($x2766 (<= 0 ?v0))) (let (($x3098 (and $x2766 $x3097))) (let (($x10185 (and $x3098 (< ?v0 v_b_L_H_p_G_0$)))) (or (not $x10185) $x10186))))))) :qid k!704)) )) (let (($x10532 (and $x10529 $x10194))) (let (($x10535 (and $x10183 $x10532))) (let (($x10538 (and $x10182 $x10535))) (let (($x10541 (and $x10180 $x10538))) (let (($x10544 (and $x10176 $x10541))) (let (($x10547 (and $x10172 $x10544))) (let (($x10557 (and $x10168 $x10547))) (let (($x11162 (or (not $x10557) $x11146))) (let (($x11167 (and $x10168 $x11162))) (let (($x10522 (forall ((?v0 Int) )(! (let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$)))) (let (($x10164 (<= ?x10163 v_b_L_H_max_G_0$))) (let (($x3097 (<= ?v0 b_S_max_o_u4$))) (let (($x2766 (<= 0 ?v0))) (let (($x3098 (and $x2766 $x3097))) (let (($x10161 (and $x3098 (< ?v0 1)))) (or (not $x10161) $x10164))))))) :qid k!704)) )) (let (($x11174 (or (not $x10522) $x11167))) (let (($x11179 (and $x10522 $x11174))) (let (($x11186 (or (not $x10159) $x11179))) (let (($x11191 (and $x10159 $x11186))) (let (($x10150 (<= 0 0))) (let (($x10497 (and $x10149 $x10150))) (let (($x10500 (and $x10149 $x10497))) (let (($x10503 (and $x10148 $x10500))) (let (($x10506 (and $x10147 $x10503))) (let (($x10509 (and $x10146 $x10506))) (let (($x10512 (and $x10145 $x10509))) (let (($x10515 (and $x10142 $x10512))) (let (($x11198 (or (not $x10515) $x11191))) (let (($x11203 (and $x10142 $x11198))) (let (($x11210 (or $x11209 $x11203))) (let (($x11215 (and $x10140 $x11210))) (let (($x11222 (or $x11221 $x11215))) (let (($x11227 (and $x10136 $x11222))) (let (($x10442 (and $x10439 $x10119))) (let (($x10445 (and $x10112 $x10442))) (let (($x10448 (and $x10109 $x10445))) (let (($x10451 (and $x10108 $x10448))) (let (($x10454 (and $x10104 $x10451))) (let (($x10457 (and $x10098 $x10454))) (let (($x10460 (and $x10095 $x10457))) (let (($x10470 (and $x10094 $x10460))) (let (($x10473 (and $x10074 $x10470))) (let (($x10476 (and $x10073 $x10473))) (let (($x10479 (and $x10071 $x10476))) (let (($x10482 (and $x10067 $x10479))) (let (($x10485 (and $x10063 $x10482))) (let (($x11234 (or (not $x10485) $x11227))) (let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ ?x10078 ?0 b_T_T_u1$)))) (let (($x10238 (= ?x10163 v_b_S_result_G_0$))) (let (($x11800 (>= (+ ?0 (* (- 1) v_b_P_H_len$)) 0))) (let (($x11802 (not $x11800))) (let ((?x3113 (* (- 1) b_S_max_o_u4$))) (let ((?x3114 (+ ?0 ?x3113))) (let (($x3115 (<= ?x3114 0))) (let (($x2815 (>= ?0 0))) (let (($x11839 (and $x2815 $x3115 $x11802 $x10238))) (let (($x2766 (<= 0 ?0))) (let (($x10241 (and $x2766 (and (<= ?0 b_S_max_o_u4$) (and (< ?0 v_b_P_H_len$) $x10238))))) (let (($x11834 (= (and (<= ?0 b_S_max_o_u4$) (and (< ?0 v_b_P_H_len$) $x10238)) (and $x3115 (and $x11802 $x10238))))) (let ((@x11832 (monotonicity (rewrite (= (< ?0 v_b_P_H_len$) $x11802)) (= (and (< ?0 v_b_P_H_len$) $x10238) (and $x11802 $x10238))))) (let ((@x2814 (rewrite (= $x2766 $x2815)))) (let ((@x11838 (monotonicity @x2814 (monotonicity (rewrite (= (<= ?0 b_S_max_o_u4$) $x3115)) @x11832 $x11834) (= $x10241 (and $x2815 (and $x3115 (and $x11802 $x10238))))))) (let ((@x11843 (trans @x11838 (rewrite (= (and $x2815 (and $x3115 (and $x11802 $x10238))) $x11839)) (= $x10241 $x11839)))) (let (($x11818 (<= (+ ?x10163 (* (- 1) v_b_S_result_G_0$)) 0))) (let (($x11808 (and $x2815 $x3115 $x11802))) (let (($x11813 (not $x11808))) (let (($x11821 (or $x11813 $x11818))) (let (($x10235 (<= ?x10163 v_b_S_result_G_0$))) (let (($x10233 (< ?0 v_b_P_H_len$))) (let (($x3097 (<= ?0 b_S_max_o_u4$))) (let (($x3098 (and $x2766 $x3097))) (let (($x10234 (and $x3098 $x10233))) (let (($x10646 (or (not $x10234) $x10235))) (let ((@x3124 (monotonicity @x2814 (rewrite (= $x3097 $x3115)) (= $x3098 (and $x2815 $x3115))))) (let ((@x11807 (monotonicity @x3124 (rewrite (= $x10233 $x11802)) (= $x10234 (and (and $x2815 $x3115) $x11802))))) (let ((@x11812 (trans @x11807 (rewrite (= (and (and $x2815 $x3115) $x11802) $x11808)) (= $x10234 $x11808)))) (let ((@x11823 (monotonicity (monotonicity @x11812 (= (not $x10234) $x11813)) (rewrite (= $x10235 $x11818)) (= $x10646 $x11821)))) (let ((@x11829 (monotonicity (quant-intro @x11823 (= $x10649 $x11824)) (= (not $x10649) $x11827)))) (let ((@x11852 (monotonicity (quant-intro @x11823 (= $x10649 $x11824)) (monotonicity @x11829 (quant-intro @x11843 (= $x10242 $x11844)) (= $x10665 $x11847)) (= $x10670 $x11850)))) (let (($x11434 (and $x11429 $x11432))) (let (($x11793 (= (and b_S_position_n_marker$ (and $x11434 (and $x11434 (and $x11434 $x10616)))) $x11792))) (let (($x11790 (= $x10642 (and b_S_position_n_marker$ (and $x11434 (and $x11434 (and $x11434 $x10616))))))) (let ((@x11430 (rewrite (= $x10181 $x11429)))) (let ((@x11436 (monotonicity @x11430 (rewrite (= $x10174 $x11432)) (= $x10182 $x11434)))) (let ((@x11785 (monotonicity @x11436 (monotonicity @x11436 (= $x10626 (and $x11434 $x10616))) (= $x10629 (and $x11434 (and $x11434 $x10616)))))) (let ((@x11788 (monotonicity @x11436 @x11785 (= $x10639 (and $x11434 (and $x11434 (and $x11434 $x10616))))))) (let ((@x11799 (monotonicity (trans (monotonicity @x11788 $x11790) (rewrite $x11793) (= $x10642 $x11792)) (= (not $x10642) $x11797)))) (let ((@x11858 (monotonicity (monotonicity @x11799 @x11852 (= $x10677 $x11853)) (= $x10682 $x11856)))) (let ((@x11768 (monotonicity (rewrite (= $x10410 $x11486)) @x11436 (= (and $x10410 $x10182) (and $x11486 $x11434))))) (let ((@x11771 (monotonicity @x11436 @x11768 (= (and $x10182 (and $x10410 $x10182)) (and $x11434 (and $x11486 $x11434)))))) (let ((@x11776 (trans @x11771 (rewrite (= (and $x11434 (and $x11486 $x11434)) $x11772)) (= (and $x10182 (and $x10410 $x10182)) $x11772)))) (let ((@x11861 (monotonicity (monotonicity @x11776 (= (not (and $x10182 (and $x10410 $x10182))) $x11777)) @x11858 (= $x11134 $x11859)))) (let ((@x11653 (monotonicity (rewrite (= (< v_b_SL_H_witness_G_1$ v_b_P_H_len$) $x11648)) (= $x10375 $x11651)))) (let (($x11633 (<= (+ ?x10163 (* (- 1) v_b_L_H_max_G_3$)) 0))) (let (($x11615 (>= (+ ?0 ?x11581) 0))) (let (($x11617 (not $x11615))) (let (($x11623 (and $x2815 $x3115 $x11617))) (let (($x11628 (not $x11623))) (let (($x11636 (or $x11628 $x11633))) (let (($x10368 (<= ?x10163 v_b_L_H_max_G_3$))) (let (($x10928 (or (not (and $x3098 (< ?0 v_b_L_H_p_G_1$))) $x10368))) (let ((@x11622 (monotonicity @x3124 (rewrite (= (< ?0 v_b_L_H_p_G_1$) $x11617)) (= (and $x3098 (< ?0 v_b_L_H_p_G_1$)) (and (and $x2815 $x3115) $x11617))))) (let ((@x11627 (trans @x11622 (rewrite (= (and (and $x2815 $x3115) $x11617) $x11623)) (= (and $x3098 (< ?0 v_b_L_H_p_G_1$)) $x11623)))) (let ((@x11630 (monotonicity @x11627 (= (not (and $x3098 (< ?0 v_b_L_H_p_G_1$))) $x11628)))) (let ((@x11641 (quant-intro (monotonicity @x11630 (rewrite (= $x10368 $x11633)) (= $x10928 $x11636)) (= $x10931 $x11639)))) (let ((@x11656 (monotonicity (monotonicity @x11641 (= (not $x10931) $x11642)) @x11653 (= $x10954 $x11654)))) (let ((@x11662 (monotonicity (monotonicity (rewrite (= $x10365 $x11608)) (= (not $x10365) $x11612)) (monotonicity @x11641 @x11656 (= $x10959 $x11657)) (= $x10966 $x11660)))) (let (($x11601 (= (and (and $x11570 $x11573) (and $x11580 (and $x10358 (and $x11578 $x11536)))) $x11600))) (let (($x11598 (= $x10924 (and (and $x11570 $x11573) (and $x11580 (and $x10358 (and $x11578 $x11536))))))) (let ((@x11587 (monotonicity (rewrite (= (<= 2 v_b_L_H_p_G_1$) $x11578)) (rewrite (= $x10341 $x11536)) (= $x10360 (and $x11578 $x11536))))) (let ((@x11593 (monotonicity (rewrite (= $x10913 $x11580)) (monotonicity @x11587 (= $x10918 (and $x10358 (and $x11578 $x11536)))) (= $x10921 (and $x11580 (and $x10358 (and $x11578 $x11536))))))) (let ((@x11596 (monotonicity (rewrite (= $x10904 $x11570)) (rewrite (= $x10907 $x11573)) (= $x10910 (and $x11570 $x11573))))) (let ((@x11607 (monotonicity (trans (monotonicity @x11596 @x11593 $x11598) (rewrite $x11601) (= $x10924 $x11600)) (= (not $x10924) $x11605)))) (let ((@x11668 (monotonicity @x11607 (monotonicity (rewrite (= $x10365 $x11608)) @x11662 (= $x10971 $x11663)) (= $x10978 $x11666)))) (let ((@x11676 (trans (monotonicity @x11596 @x11668 (= $x10983 (and (and $x11570 $x11573) $x11666))) (rewrite (= (and (and $x11570 $x11573) $x11666) $x11672)) (= $x10983 $x11672)))) (let (($x11716 (and $x11434 (and $x11434 (and $x11434 (and $x10391 (and $x10392 (and $x11429 $x11536)))))))) (let (($x11714 (= $x11035 (and $x11434 (and $x11434 (and $x10391 (and $x10392 (and $x11429 $x11536)))))))) (let ((@x11540 (monotonicity @x11430 (rewrite (= $x10341 $x11536)) (= $x10342 (and $x11429 $x11536))))) (let ((@x11709 (monotonicity (monotonicity @x11540 (= $x11019 (and $x10392 (and $x11429 $x11536)))) (= $x11022 (and $x10391 (and $x10392 (and $x11429 $x11536))))))) (let ((@x11712 (monotonicity @x11436 @x11709 (= $x11032 (and $x11434 (and $x10391 (and $x10392 (and $x11429 $x11536)))))))) (let ((@x11721 (monotonicity (rewrite (= $x10390 $x11516)) (monotonicity @x11436 (monotonicity @x11436 @x11712 $x11714) (= $x11045 $x11716)) (= $x11048 (and $x11516 $x11716))))) (let ((@x11729 (trans (monotonicity @x11436 @x11721 (= $x11051 (and $x11434 (and $x11516 $x11716)))) (rewrite (= (and $x11434 (and $x11516 $x11716)) $x11725)) (= $x11051 $x11725)))) (let ((@x11735 (monotonicity (monotonicity @x11729 (= (not $x11051) $x11730)) @x11676 (= $x11065 $x11733)))) (let (($x11553 (and $x10334 (and $x10335 (and $x11429 (and $x10338 (and $x10340 (and $x11429 $x11536)))))))) (let (($x11551 (= $x10889 (and $x10335 (and $x11429 (and $x10338 (and $x10340 (and $x11429 $x11536)))))))) (let ((@x11546 (monotonicity (monotonicity @x11540 (= $x10873 (and $x10340 (and $x11429 $x11536)))) (= $x10876 (and $x10338 (and $x10340 (and $x11429 $x11536))))))) (let ((@x11549 (monotonicity @x11430 @x11546 (= $x10886 (and $x11429 (and $x10338 (and $x10340 (and $x11429 $x11536)))))))) (let ((@x11558 (monotonicity (monotonicity (monotonicity @x11549 $x11551) (= $x10892 $x11553)) (= $x10895 (and $x10333 $x11553))))) (let ((@x11566 (trans (monotonicity @x11558 (= $x10898 (and $x10325 (and $x10333 $x11553)))) (rewrite (= (and $x10325 (and $x10333 $x11553)) $x11562)) (= $x10898 $x11562)))) (let ((@x11679 (monotonicity (monotonicity @x11566 (= (not $x10898) $x11567)) @x11676 (= $x10990 $x11677)))) (let ((@x11687 (trans (monotonicity @x11679 (= $x10995 (and $x10325 $x11677))) (rewrite (= (and $x10325 $x11677) $x11683)) (= $x10995 $x11683)))) (let ((@x11693 (monotonicity (monotonicity @x11687 (= $x11002 $x11688)) (= $x11007 (and $x10323 $x11688))))) (let (($x10328 (< v_b_L_H_max_G_1$ ?x10327))) (let (($x10856 (and $x10328 $x10182))) (let (($x10859 (and $x10182 $x10856))) (let ((@x11523 (monotonicity (rewrite (= $x10328 $x11515)) @x11436 (= $x10856 (and $x11515 $x11434))))) (let ((@x11531 (trans (monotonicity @x11436 @x11523 (= $x10859 (and $x11434 (and $x11515 $x11434)))) (rewrite (= (and $x11434 (and $x11515 $x11434)) $x11527)) (= $x10859 $x11527)))) (let ((@x11701 (monotonicity (monotonicity @x11531 (= (not $x10859) $x11532)) (trans @x11693 (rewrite (= (and $x10323 $x11688) $x11694)) (= $x11007 $x11694)) (= $x11014 $x11699)))) (let ((@x11511 (trans (monotonicity @x11436 (= $x10326 (and $x10325 $x11434))) (rewrite (= (and $x10325 $x11434) $x11507)) (= $x10326 $x11507)))) (let ((@x11741 (monotonicity (monotonicity @x11511 (= (not $x10326) $x11512)) (monotonicity @x11701 @x11735 (= $x11070 $x11736)) (= $x11077 $x11739)))) (let ((@x11749 (trans (monotonicity @x11741 (= $x11082 (and $x10325 $x11739))) (rewrite (= (and $x10325 $x11739) $x11745)) (= $x11082 $x11745)))) (let ((@x11755 (monotonicity (monotonicity @x11749 (= $x11088 $x11750)) (= $x11093 (and $x10323 $x11750))))) (let (($x11502 (= (not (and $x10182 (and (< v_b_L_H_p_G_0$ v_b_P_H_len$) $x10182))) $x11501))) (let (($x10316 (< v_b_L_H_p_G_0$ v_b_P_H_len$))) (let (($x10843 (and $x10316 $x10182))) (let (($x10846 (and $x10182 $x10843))) (let ((@x11492 (monotonicity (rewrite (= $x10316 $x11487)) @x11436 (= $x10843 (and $x11487 $x11434))))) (let ((@x11500 (trans (monotonicity @x11436 @x11492 (= $x10846 (and $x11434 (and $x11487 $x11434)))) (rewrite (= (and $x11434 (and $x11487 $x11434)) $x11496)) (= $x10846 $x11496)))) (let ((@x11763 (monotonicity (monotonicity @x11500 $x11502) (trans @x11755 (rewrite (= (and $x10323 $x11750) $x11756)) (= $x11093 $x11756)) (= $x11100 $x11761)))) (let (($x11452 (and $x10205 (and $x10291 (and $x10292 (and $x10293 (and $x10294 (and $x10297 $x11434)))))))) (let (($x11458 (and true (and true $x10284)))) (let (($x11477 (= (and $x11434 (and $x11434 (and $x11434 (and $x11458 (and $x11458 $x11452))))) $x11476))) (let (($x11474 (= $x10833 (and $x11434 (and $x11434 (and $x11434 (and $x11458 (and $x11458 $x11452)))))))) (let (($x11450 (= $x10801 (and $x10291 (and $x10292 (and $x10293 (and $x10294 (and $x10297 $x11434)))))))) (let ((@x11442 (monotonicity (monotonicity @x11436 (= $x10789 (and $x10297 $x11434))) (= $x10792 (and $x10294 (and $x10297 $x11434)))))) (let ((@x11448 (monotonicity (monotonicity @x11442 (= $x10795 (and $x10293 (and $x10294 (and $x10297 $x11434))))) (= $x10798 (and $x10292 (and $x10293 (and $x10294 (and $x10297 $x11434)))))))) (let (($x11419 (forall ((?v0 B_S_ptr$) )(! true :pattern ( (b_S_timestamp$ v_b_S_s$ ?v0) ) :qid k!704)) )) (let (($x11417 (= (<= (b_S_timestamp$ v_b_S_s$ ?0) (b_S_timestamp$ v_b_S_s$ ?0)) true))) (let ((@x11425 (trans (quant-intro (rewrite $x11417) (= $x10283 $x11419)) (elim-unused (= $x11419 true)) (= $x10283 true)))) (let ((@x11460 (monotonicity (rewrite (= (<= ?x10111 ?x10111) true)) (monotonicity @x11425 (= (and $x10283 $x10284) (and true $x10284))) (= $x10286 $x11458)))) (let ((@x11463 (monotonicity @x11460 (monotonicity (monotonicity @x11448 $x11450) (= $x10804 $x11452)) (= $x10807 (and $x11458 $x11452))))) (let ((@x11469 (monotonicity @x11436 (monotonicity @x11460 @x11463 (= $x10810 (and $x11458 (and $x11458 $x11452)))) (= $x10813 (and $x11434 (and $x11458 (and $x11458 $x11452))))))) (let ((@x11472 (monotonicity @x11436 @x11469 (= $x10823 (and $x11434 (and $x11434 (and $x11458 (and $x11458 $x11452)))))))) (let ((@x11483 (monotonicity (trans (monotonicity @x11436 @x11472 $x11474) (rewrite $x11477) (= $x10833 $x11476)) (= (not $x10833) $x11481)))) (let ((@x11967 (monotonicity @x11483 (monotonicity @x11763 @x11861 (= $x11139 $x11862)) (= $x11146 (or $x11481 $x11862))))) (let (($x11936 (and (and $x11901 $x11904) (and $x11434 (and $x11898 (and $x11895 (and (and $x11868 $x10192) $x11434))))))) (let (($x11951 (and $x11260 $x10167))) (let (($x11958 (= (and $x11951 (and (and $x11911 $x11914) (and (and $x11432 $x11907) $x11936))) $x11957))) (let (($x11955 (= $x10557 (and $x11951 (and (and $x11911 $x11914) (and (and $x11432 $x11907) $x11936)))))) (let (($x11931 (= $x10538 (and $x11434 (and $x11898 (and $x11895 (and (and $x11868 $x10192) $x11434))))))) (let (($x11919 (= (and (< v_b_SL_H_witness_G_0$ v_b_P_H_len$) $x10192) (and $x11868 $x10192)))) (let ((@x11920 (monotonicity (rewrite (= (< v_b_SL_H_witness_G_0$ v_b_P_H_len$) $x11868)) $x11919))) (let (($x11889 (<= (+ ?x10163 (* (- 1) v_b_L_H_max_G_1$)) 0))) (let (($x11871 (>= (+ ?0 ?x11484) 0))) (let (($x11873 (not $x11871))) (let (($x11879 (and $x2815 $x3115 $x11873))) (let (($x11884 (not $x11879))) (let (($x11892 (or $x11884 $x11889))) (let (($x10186 (<= ?x10163 v_b_L_H_max_G_1$))) (let (($x10526 (or (not (and $x3098 (< ?0 v_b_L_H_p_G_0$))) $x10186))) (let ((@x11878 (monotonicity @x3124 (rewrite (= (< ?0 v_b_L_H_p_G_0$) $x11873)) (= (and $x3098 (< ?0 v_b_L_H_p_G_0$)) (and (and $x2815 $x3115) $x11873))))) (let ((@x11883 (trans @x11878 (rewrite (= (and (and $x2815 $x3115) $x11873) $x11879)) (= (and $x3098 (< ?0 v_b_L_H_p_G_0$)) $x11879)))) (let ((@x11886 (monotonicity @x11883 (= (not (and $x3098 (< ?0 v_b_L_H_p_G_0$))) $x11884)))) (let ((@x11897 (quant-intro (monotonicity @x11886 (rewrite (= $x10186 $x11889)) (= $x10526 $x11892)) (= $x10529 $x11895)))) (let ((@x11926 (monotonicity @x11897 (monotonicity @x11920 @x11436 (= $x10194 (and (and $x11868 $x10192) $x11434))) (= $x10532 (and $x11895 (and (and $x11868 $x10192) $x11434)))))) (let ((@x11929 (monotonicity (rewrite (= $x10183 $x11898)) @x11926 (= $x10535 (and $x11898 (and $x11895 (and (and $x11868 $x10192) $x11434))))))) (let ((@x11935 (monotonicity (rewrite (= (<= 0 v_b_L_H_p_G_0$) $x11901)) (rewrite (= (<= v_b_L_H_p_G_0$ b_S_max_o_u4$) $x11904)) (= $x10180 (and $x11901 $x11904))))) (let ((@x11941 (monotonicity (rewrite (= $x10174 $x11432)) (rewrite (= (<= v_b_SL_H_witness_G_0$ b_S_max_o_u4$) $x11907)) (= $x10176 (and $x11432 $x11907))))) (let ((@x11944 (monotonicity @x11941 (monotonicity @x11935 (monotonicity @x11436 @x11929 $x11931) (= $x10541 $x11936)) (= $x10544 (and (and $x11432 $x11907) $x11936))))) (let ((@x11947 (monotonicity (rewrite (= (<= 0 v_b_L_H_max_G_1$) $x11911)) (rewrite (= (<= v_b_L_H_max_G_1$ b_S_max_o_u1$) $x11914)) (= $x10172 (and $x11911 $x11914))))) (let ((@x11950 (monotonicity @x11947 @x11944 (= $x10547 (and (and $x11911 $x11914) (and (and $x11432 $x11907) $x11936)))))) (let ((@x11956 (monotonicity (monotonicity (rewrite (= $x10074 $x11260)) (= $x10168 $x11951)) @x11950 $x11955))) (let ((@x11964 (monotonicity (trans @x11956 (rewrite $x11958) (= $x10557 $x11957)) (= (not $x10557) $x11962)))) (let ((@x11975 (trans (monotonicity @x11964 @x11967 (= $x11162 (or $x11962 (or $x11481 $x11862)))) (rewrite (= (or $x11962 (or $x11481 $x11862)) $x11971)) (= $x11162 $x11971)))) (let ((@x11978 (monotonicity (monotonicity (rewrite (= $x10074 $x11260)) (= $x10168 $x11951)) @x11975 (= $x11167 (and $x11951 $x11971))))) (let (($x11404 (>= (+ v_b_L_H_max_G_0$ (* (- 1) ?x10163)) 0))) (let (($x11388 (>= ?0 1))) (let (($x11389 (not $x11388))) (let (($x11395 (and $x2815 $x3115 $x11389))) (let (($x11400 (not $x11395))) (let (($x11408 (or $x11400 $x11404))) (let (($x10164 (<= ?x10163 v_b_L_H_max_G_0$))) (let (($x10519 (or (not (and $x3098 (< ?0 1))) $x10164))) (let ((@x11394 (monotonicity @x3124 (rewrite (= (< ?0 1) $x11389)) (= (and $x3098 (< ?0 1)) (and (and $x2815 $x3115) $x11389))))) (let ((@x11399 (trans @x11394 (rewrite (= (and (and $x2815 $x3115) $x11389) $x11395)) (= (and $x3098 (< ?0 1)) $x11395)))) (let ((@x11410 (monotonicity (monotonicity @x11399 (= (not (and $x3098 (< ?0 1))) $x11400)) (rewrite (= $x10164 $x11404)) (= $x10519 $x11408)))) (let ((@x11416 (monotonicity (quant-intro @x11410 (= $x10522 $x11411)) (= (not $x10522) $x11414)))) (let ((@x11986 (monotonicity @x11416 (trans @x11978 (rewrite (= (and $x11951 $x11971) $x11979)) (= $x11167 $x11979)) (= $x11174 $x11984)))) (let ((@x11992 (monotonicity (monotonicity (rewrite (= $x10159 $x11382)) (= (not $x10159) $x11385)) (monotonicity (quant-intro @x11410 (= $x10522 $x11411)) @x11986 (= $x11179 $x11987)) (= $x11186 $x11990)))) (let (($x11368 (and $x10145 (and $x10146 (and $x10147 (and $x10148 (and true (and true true)))))))) (let (($x11366 (= $x10509 (and $x10146 (and $x10147 (and $x10148 (and true (and true true)))))))) (let ((@x11355 (monotonicity (rewrite (= $x10149 true)) (rewrite (= $x10150 true)) (= $x10497 (and true true))))) (let ((@x11358 (monotonicity (rewrite (= $x10149 true)) @x11355 (= $x10500 (and true (and true true)))))) (let ((@x11361 (monotonicity @x11358 (= $x10503 (and $x10148 (and true (and true true))))))) (let ((@x11364 (monotonicity @x11361 (= $x10506 (and $x10147 (and $x10148 (and true (and true true)))))))) (let ((@x11373 (monotonicity (monotonicity (monotonicity @x11364 $x11366) (= $x10512 $x11368)) (= $x10515 (and $x10142 $x11368))))) (let ((@x11381 (monotonicity (trans @x11373 (rewrite (= (and $x10142 $x11368) $x11374)) (= $x10515 $x11374)) (= (not $x10515) $x11379)))) (let ((@x11998 (monotonicity @x11381 (monotonicity (rewrite (= $x10159 $x11382)) @x11992 (= $x11191 $x11993)) (= $x11198 $x11996)))) (let ((@x12006 (trans (monotonicity @x11998 (= $x11203 (and $x10142 $x11996))) (rewrite (= (and $x10142 $x11996) $x12002)) (= $x11203 $x12002)))) (let ((@x12012 (monotonicity (monotonicity @x12006 (= $x11210 $x12007)) (= $x11215 (and $x10140 $x12007))))) (let ((@x12020 (monotonicity (trans @x12012 (rewrite (= (and $x10140 $x12007) $x12013)) (= $x11215 $x12013)) (= $x11222 $x12018)))) (let (($x11306 (and $x11256 (and $x10108 (and $x10109 (and $x10112 (and $x10439 (and $x11243 $x11245)))))))) (let (($x11327 (and (and $x11268 $x11270) (and $x11264 (and $x11260 (and $x10094 (and $x10095 (and $x10098 $x11306)))))))) (let ((@x11344 (rewrite (= (and (and $x11284 $x11286) (and (and $x11276 $x11278) $x11327)) $x11342)))) (let (($x11322 (= $x10476 (and $x11264 (and $x11260 (and $x10094 (and $x10095 (and $x10098 $x11306)))))))) (let (($x11304 (= $x10451 (and $x10108 (and $x10109 (and $x10112 (and $x10439 (and $x11243 $x11245)))))))) (let ((@x11293 (monotonicity (rewrite (= (<= 0 v_b_P_H_len$) $x11243)) (rewrite (= (<= v_b_P_H_len$ b_S_max_o_u4$) $x11245)) (= $x10119 (and $x11243 $x11245))))) (let ((@x11299 (monotonicity (monotonicity @x11293 (= $x10442 (and $x10439 (and $x11243 $x11245)))) (= $x10445 (and $x10112 (and $x10439 (and $x11243 $x11245))))))) (let ((@x11302 (monotonicity @x11299 (= $x10448 (and $x10109 (and $x10112 (and $x10439 (and $x11243 $x11245)))))))) (let (($x11251 (>= (+ (b_S_frame_n_level$ ?0) (* (- 1) b_S_current_n_frame_n_level$)) 0))) (let (($x11250 (not $x11251))) (let ((@x11255 (rewrite (= (< (b_S_frame_n_level$ ?0) b_S_current_n_frame_n_level$) $x11250)))) (let ((@x11308 (monotonicity (quant-intro @x11255 (= $x10104 $x11256)) (monotonicity @x11302 $x11304) (= $x10454 $x11306)))) (let ((@x11314 (monotonicity (monotonicity @x11308 (= $x10457 (and $x10098 $x11306))) (= $x10460 (and $x10095 (and $x10098 $x11306)))))) (let ((@x11320 (monotonicity (rewrite (= $x10074 $x11260)) (monotonicity @x11314 (= $x10470 (and $x10094 (and $x10095 (and $x10098 $x11306))))) (= $x10473 (and $x11260 (and $x10094 (and $x10095 (and $x10098 $x11306)))))))) (let ((@x11326 (monotonicity (rewrite (= (<= 0 v_b_SL_H_witness$) $x11268)) (rewrite (= (<= v_b_SL_H_witness$ b_S_max_o_u4$) $x11270)) (= $x10071 (and $x11268 $x11270))))) (let ((@x11329 (monotonicity @x11326 (monotonicity (rewrite (= $x10073 $x11264)) @x11320 $x11322) (= $x10479 $x11327)))) (let ((@x11332 (monotonicity (rewrite (= (<= 0 v_b_L_H_p$) $x11276)) (rewrite (= (<= v_b_L_H_p$ b_S_max_o_u4$) $x11278)) (= $x10067 (and $x11276 $x11278))))) (let ((@x11338 (monotonicity (rewrite (= (<= 0 v_b_L_H_max$) $x11284)) (rewrite (= (<= v_b_L_H_max$ b_S_max_o_u1$) $x11286)) (= $x10063 (and $x11284 $x11286))))) (let ((@x11341 (monotonicity @x11338 (monotonicity @x11332 @x11329 (= $x10482 (and (and $x11276 $x11278) $x11327))) (= $x10485 (and (and $x11284 $x11286) (and (and $x11276 $x11278) $x11327)))))) (let ((@x11349 (monotonicity (trans @x11341 @x11344 (= $x10485 $x11342)) (= (not $x10485) (not $x11342))))) (let ((@x12026 (monotonicity @x11349 (monotonicity @x12020 (= $x11227 $x12021)) (= $x11234 (or (not $x11342) $x12021))))) (let ((@x10656 (monotonicity (rewrite (= (=> $x10242 true) true)) (= $x10244 (and $x10242 true))))) (let ((@x10663 (monotonicity (quant-intro (rewrite (= (=> $x10234 $x10235) $x10646)) (= $x10237 $x10649)) (trans @x10656 (rewrite (= (and $x10242 true) $x10242)) (= $x10244 $x10242)) (= $x10245 (=> $x10649 $x10242))))) (let ((@x10672 (monotonicity (quant-intro (rewrite (= (=> $x10234 $x10235) $x10646)) (= $x10237 $x10649)) (trans @x10663 (rewrite (= (=> $x10649 $x10242) $x10665)) (= $x10245 $x10665)) (= (and $x10237 $x10245) $x10670)))) (let (($x10614 (= (and $x10218 (and $x10220 (and $x10222 true))) (and $x10218 (and $x10220 $x10222))))) (let ((@x10612 (monotonicity (rewrite (= (and $x10222 true) $x10222)) (= (and $x10220 (and $x10222 true)) (and $x10220 $x10222))))) (let ((@x10618 (monotonicity (monotonicity @x10612 $x10614) (= (and $x10216 (and $x10218 (and $x10220 (and $x10222 true)))) $x10616)))) (let ((@x10625 (trans (monotonicity @x10618 (= $x10227 (and true $x10616))) (rewrite (= (and true $x10616) $x10616)) (= $x10227 $x10616)))) (let ((@x10631 (monotonicity (monotonicity @x10625 (= (and $x10182 $x10227) $x10626)) (= (and $x10182 (and $x10182 $x10227)) $x10629)))) (let ((@x10638 (trans (monotonicity @x10631 (= $x10230 (and true $x10629))) (rewrite (= (and true $x10629) $x10629)) (= $x10230 $x10629)))) (let ((@x10644 (monotonicity (monotonicity @x10638 (= (and $x10182 $x10230) $x10639)) (= (and b_S_position_n_marker$ (and $x10182 $x10230)) $x10642)))) (let ((@x10681 (trans (monotonicity @x10644 @x10672 (= $x10247 (=> $x10642 $x10670))) (rewrite (= (=> $x10642 $x10670) $x10677)) (= $x10247 $x10677)))) (let (($x11117 (and $x10410 $x10182))) (let (($x11120 (and $x10182 $x11117))) (let ((@x10568 (rewrite (= (and $x10182 $x10182) $x10182)))) (let ((@x10563 (rewrite (= $x10206 $x10182)))) (let ((@x10570 (trans (monotonicity @x10563 (= $x10207 (and $x10182 $x10182))) @x10568 (= $x10207 $x10182)))) (let ((@x11108 (trans (monotonicity @x10570 (= $x10411 (and $x10182 $x10182))) @x10568 (= $x10411 $x10182)))) (let ((@x11114 (monotonicity (trans (monotonicity @x11108 (= $x10412 $x10206)) @x10563 (= $x10412 $x10182)) (= $x10413 (and $x10182 $x10182))))) (let ((@x11119 (monotonicity (trans @x11114 @x10568 (= $x10413 $x10182)) (= (and $x10410 $x10413) $x11117)))) (let ((@x11125 (monotonicity (monotonicity @x11119 (= (and $x10182 (and $x10410 $x10413)) $x11120)) (= $x10416 (and true $x11120))))) (let ((@x11132 (monotonicity (trans @x11125 (rewrite (= (and true $x11120) $x11120)) (= $x10416 $x11120)) (monotonicity @x10681 (= $x10248 $x10682)) (= $x10417 (=> $x11120 $x10682))))) (let ((@x10938 (monotonicity (rewrite (= (and $x10375 false) false)) (= $x10377 (=> false true))))) (let ((@x10942 (trans @x10938 (rewrite (= (=> false true) true)) (= $x10377 true)))) (let ((@x10949 (trans (monotonicity @x10942 (= $x10378 (and $x10375 true))) (rewrite (= (and $x10375 true) $x10375)) (= $x10378 $x10375)))) (let ((@x10933 (quant-intro (rewrite (= (=> (and $x3098 (< ?0 v_b_L_H_p_G_1$)) $x10368) $x10928)) (= $x10370 $x10931)))) (let ((@x10958 (trans (monotonicity @x10933 @x10949 (= $x10379 (=> $x10931 $x10375))) (rewrite (= (=> $x10931 $x10375) $x10954)) (= $x10379 $x10954)))) (let ((@x10964 (monotonicity (monotonicity @x10933 @x10958 (= (and $x10370 $x10379) $x10959)) (= $x10381 (=> $x10365 $x10959))))) (let ((@x10973 (monotonicity (trans @x10964 (rewrite (= (=> $x10365 $x10959) $x10966)) (= $x10381 $x10966)) (= (and $x10365 $x10381) $x10971)))) (let ((@x10920 (monotonicity (rewrite (= (and $x10360 true) $x10360)) (= (and $x10358 (and $x10360 true)) $x10918)))) (let ((@x10903 (rewrite (= (+ v_b_L_H_p_G_0$ 1) ?x10901)))) (let ((@x10915 (monotonicity @x10903 (= (= v_b_L_H_p_G_1$ (+ v_b_L_H_p_G_0$ 1)) $x10913)))) (let ((@x10909 (monotonicity @x10903 (= (<= (+ v_b_L_H_p_G_0$ 1) b_S_max_o_u4$) $x10907)))) (let ((@x10912 (monotonicity (monotonicity @x10903 (= (<= 0 (+ v_b_L_H_p_G_0$ 1)) $x10904)) @x10909 (= $x10355 $x10910)))) (let ((@x10926 (monotonicity @x10912 (monotonicity @x10915 @x10920 (= $x10363 $x10921)) (= (and $x10355 $x10363) $x10924)))) (let ((@x10982 (trans (monotonicity @x10926 @x10973 (= $x10383 (=> $x10924 $x10971))) (rewrite (= (=> $x10924 $x10971) $x10978)) (= $x10383 $x10978)))) (let ((@x11021 (monotonicity (rewrite (= (and true $x10342) $x10342)) (= (and $x10392 (and true $x10342)) $x11019)))) (let ((@x11024 (monotonicity @x11021 (= (and $x10391 (and $x10392 (and true $x10342))) $x11022)))) (let ((@x11031 (trans (monotonicity @x11024 (= $x10395 (and true $x11022))) (rewrite (= (and true $x11022) $x11022)) (= $x10395 $x11022)))) (let ((@x11037 (monotonicity (monotonicity @x11031 (= (and $x10182 $x10395) $x11032)) (= (and $x10182 (and $x10182 $x10395)) $x11035)))) (let ((@x11044 (trans (monotonicity @x11037 (= $x10398 (and true $x11035))) (rewrite (= (and true $x11035) $x11035)) (= $x10398 $x11035)))) (let ((@x11050 (monotonicity (monotonicity @x11044 (= (and $x10182 $x10398) $x11045)) (= (and $x10390 (and $x10182 $x10398)) $x11048)))) (let ((@x11056 (monotonicity (monotonicity @x11050 (= (and $x10182 (and $x10390 (and $x10182 $x10398))) $x11051)) (= $x10402 (and true $x11051))))) (let ((@x11063 (monotonicity (trans @x11056 (rewrite (= (and true $x11051) $x11051)) (= $x10402 $x11051)) (monotonicity @x10912 @x10982 (= $x10384 $x10983)) (= $x10403 (=> $x11051 $x10983))))) (let (($x10896 (= (and $x10333 (and $x10334 (and $x10335 (and (and $x10181 $x10181) $x10346)))) $x10895))) (let ((@x10875 (monotonicity (rewrite (= (and true $x10342) $x10342)) (= (and $x10340 (and true $x10342)) $x10873)))) (let ((@x10878 (monotonicity @x10875 (= (and $x10338 (and $x10340 (and true $x10342))) $x10876)))) (let ((@x10885 (trans (monotonicity @x10878 (= $x10346 (and true $x10876))) (rewrite (= (and true $x10876) $x10876)) (= $x10346 $x10876)))) (let ((@x10888 (monotonicity (rewrite (= (and $x10181 $x10181) $x10181)) @x10885 (= (and (and $x10181 $x10181) $x10346) $x10886)))) (let ((@x10894 (monotonicity (monotonicity @x10888 (= (and $x10335 (and (and $x10181 $x10181) $x10346)) $x10889)) (= (and $x10334 (and $x10335 (and (and $x10181 $x10181) $x10346))) $x10892)))) (let ((@x10988 (monotonicity (monotonicity (monotonicity @x10894 $x10896) (= $x10351 $x10898)) (monotonicity @x10912 @x10982 (= $x10384 $x10983)) (= $x10385 (=> $x10898 $x10983))))) (let ((@x10997 (monotonicity (trans @x10988 (rewrite (= (=> $x10898 $x10983) $x10990)) (= $x10385 $x10990)) (= (and $x10325 $x10385) $x10995)))) (let ((@x11006 (trans (monotonicity @x10997 (= $x10387 (=> $x10323 $x10995))) (rewrite (= (=> $x10323 $x10995) $x11002)) (= $x10387 $x11002)))) (let ((@x10861 (monotonicity (monotonicity @x10570 (= (and $x10328 $x10207) $x10856)) (= (and $x10182 (and $x10328 $x10207)) $x10859)))) (let ((@x10868 (trans (monotonicity @x10861 (= $x10331 (and true $x10859))) (rewrite (= (and true $x10859) $x10859)) (= $x10331 $x10859)))) (let ((@x11012 (monotonicity @x10868 (monotonicity @x11006 (= (and $x10323 $x10387) $x11007)) (= $x10389 (=> $x10859 $x11007))))) (let ((@x11072 (monotonicity (trans @x11012 (rewrite (= (=> $x10859 $x11007) $x11014)) (= $x10389 $x11014)) (trans @x11063 (rewrite (= (=> $x11051 $x10983) $x11065)) (= $x10403 $x11065)) (= (and $x10389 $x10403) $x11070)))) (let ((@x11081 (trans (monotonicity @x11072 (= $x10405 (=> $x10326 $x11070))) (rewrite (= (=> $x10326 $x11070) $x11077)) (= $x10405 $x11077)))) (let ((@x11087 (monotonicity (monotonicity @x11081 (= (and $x10325 $x10405) $x11082)) (= $x10407 (=> $x10323 $x11082))))) (let ((@x11095 (monotonicity (trans @x11087 (rewrite (= (=> $x10323 $x11082) $x11088)) (= $x10407 $x11088)) (= (and $x10323 $x10407) $x11093)))) (let ((@x10848 (monotonicity (monotonicity @x10570 (= (and $x10316 $x10207) $x10843)) (= (and $x10182 (and $x10316 $x10207)) $x10846)))) (let ((@x10855 (trans (monotonicity @x10848 (= $x10319 (and true $x10846))) (rewrite (= (and true $x10846) $x10846)) (= $x10319 $x10846)))) (let ((@x11104 (trans (monotonicity @x10855 @x11095 (= $x10409 (=> $x10846 $x11093))) (rewrite (= (=> $x10846 $x11093) $x11100)) (= $x10409 $x11100)))) (let ((@x11141 (monotonicity @x11104 (trans @x11132 (rewrite (= (=> $x11120 $x10682) $x11134)) (= $x10417 $x11134)) (= (and $x10409 $x10417) $x11139)))) (let (($x10802 (= (and $x10291 (and $x10292 (and $x10293 (and $x10294 (and $x10297 $x10301))))) $x10801))) (let ((@x10777 (rewrite (= (= (b_S_statusmap$ v_b_S_s$) (b_S_statusmap$ v_b_S_s$)) true)))) (let ((@x10780 (monotonicity (rewrite (= (= ?x10272 ?x10272) true)) @x10777 (= $x10300 (and true true))))) (let ((@x10784 (trans @x10780 (rewrite (= (and true true) true)) (= $x10300 true)))) (let ((@x10791 (monotonicity (trans (monotonicity @x10784 (= $x10301 $x10206)) @x10563 (= $x10301 $x10182)) (= (and $x10297 $x10301) $x10789)))) (let ((@x10797 (monotonicity (monotonicity @x10791 (= (and $x10294 (and $x10297 $x10301)) $x10792)) (= (and $x10293 (and $x10294 (and $x10297 $x10301))) $x10795)))) (let ((@x10800 (monotonicity @x10797 (= (and $x10292 (and $x10293 (and $x10294 (and $x10297 $x10301)))) $x10798)))) (let ((@x10809 (monotonicity (monotonicity (monotonicity @x10800 $x10802) (= $x10307 $x10804)) (= (and $x10286 $x10307) $x10807)))) (let ((@x10759 (rewrite (= (and true $x10286) $x10286)))) (let (($x10748 (forall ((?v0 B_S_ptr$) )(! true :pattern ( (b_S_select_o_tm$ (b_S_typemap$ v_b_S_s$) ?v0) ) :qid k!704)) )) (let (($x10260 (b_S_thread_n_local$ v_b_S_s$ ?0))) (let (($x10275 (and (= (b_S_select_o_tm$ ?x10272 ?0) (b_S_select_o_tm$ ?x10272 ?0)) $x10260))) (let (($x10276 (=> $x10260 $x10275))) (let ((@x10714 (rewrite (= (=> $x10260 $x10260) true)))) (let ((@x10707 (rewrite (= (and true $x10260) $x10260)))) (let (($x10738 (= (= (b_S_select_o_tm$ ?x10272 ?0) (b_S_select_o_tm$ ?x10272 ?0)) true))) (let ((@x10743 (trans (monotonicity (rewrite $x10738) (= $x10275 (and true $x10260))) @x10707 (= $x10275 $x10260)))) (let ((@x10747 (trans (monotonicity @x10743 (= $x10276 (=> $x10260 $x10260))) @x10714 (= $x10276 true)))) (let ((@x10754 (trans (quant-intro @x10747 (= $x10278 $x10748)) (elim-unused (= $x10748 true)) (= $x10278 true)))) (let ((@x10761 (trans (monotonicity @x10754 (= $x10287 (and true $x10286))) @x10759 (= $x10287 $x10286)))) (let (($x10694 (forall ((?v0 B_S_ptr$) )(! true :pattern ( (b_S_select_o_sm$ (b_S_statusmap$ v_b_S_s$) ?v0) ) :qid k!704)) )) (let ((?x10256 (b_S_statusmap$ v_b_S_s$))) (let ((?x10257 (b_S_select_o_sm$ ?x10256 ?0))) (let (($x10269 (and (= ?x10257 ?x10257) $x10260))) (let (($x10270 (=> $x10260 $x10269))) (let ((@x10727 (monotonicity (rewrite (= (= ?x10257 ?x10257) true)) (= $x10269 (and true $x10260))))) (let ((@x10731 (monotonicity (trans @x10727 @x10707 (= $x10269 $x10260)) (= $x10270 (=> $x10260 $x10260))))) (let ((@x10737 (trans (quant-intro (trans @x10731 @x10714 (= $x10270 true)) (= $x10271 $x10694)) (elim-unused (= $x10694 true)) (= $x10271 true)))) (let ((@x10765 (trans (monotonicity @x10737 @x10761 (= $x10288 (and true $x10286))) @x10759 (= $x10288 $x10286)))) (let (($x10717 (forall ((?v0 B_S_ptr$) )(! true :pattern ( (b_S_select_o_mem$ (b_S_memory$ v_b_S_s$) ?v0) ) :qid k!704)) )) (let ((?x10261 (b_S_memory$ v_b_S_s$))) (let ((?x10262 (b_S_select_o_mem$ ?x10261 ?0))) (let (($x10264 (and (= ?x10262 ?x10262) $x10260))) (let (($x10265 (=> $x10260 $x10264))) (let ((@x10705 (monotonicity (rewrite (= (= ?x10262 ?x10262) true)) (= $x10264 (and true $x10260))))) (let ((@x10712 (monotonicity (trans @x10705 @x10707 (= $x10264 $x10260)) (= $x10265 (=> $x10260 $x10260))))) (let ((@x10723 (trans (quant-intro (trans @x10712 @x10714 (= $x10265 true)) (= $x10267 $x10717)) (elim-unused (= $x10717 true)) (= $x10267 true)))) (let ((@x10769 (trans (monotonicity @x10723 @x10765 (= $x10289 (and true $x10286))) @x10759 (= $x10289 $x10286)))) (let (($x10253 (= (b_S_kind_n_of$ (b_S_typ$ (b_S_owner$ v_b_S_s$ ?0))) b_S_kind_n_thread$))) (let ((@x10696 (quant-intro (rewrite (= (=> (not $x10253) (not $x10253)) true)) (= $x10259 $x10694)))) (let ((@x10771 (monotonicity (trans @x10696 (elim-unused (= $x10694 true)) (= $x10259 true)) @x10769 (= $x10290 (and true $x10286))))) (let ((@x10812 (monotonicity (trans @x10771 @x10759 (= $x10290 $x10286)) @x10809 (= (and $x10290 (and $x10286 $x10307)) $x10810)))) (let ((@x10818 (monotonicity (monotonicity @x10812 (= (and $x10182 (and $x10290 (and $x10286 $x10307))) $x10813)) (= $x10311 (and true $x10813))))) (let ((@x10825 (monotonicity (trans @x10818 (rewrite (= (and true $x10813) $x10813)) (= $x10311 $x10813)) (= (and $x10182 $x10311) $x10823)))) (let ((@x10832 (trans (monotonicity @x10825 (= $x10313 (and true $x10823))) (rewrite (= (and true $x10823) $x10823)) (= $x10313 $x10823)))) (let ((@x10838 (monotonicity (monotonicity @x10832 (= (and $x10182 $x10313) $x10833)) (= $x10315 (and true $x10833))))) (let ((@x11144 (monotonicity (trans @x10838 (rewrite (= (and true $x10833) $x10833)) (= $x10315 $x10833)) @x11141 (= $x10419 (=> $x10833 $x11139))))) (let ((@x10591 (rewrite (= (and false (and $x10182 (and $x10182 (and $x10205 $x10182)))) false)))) (let (($x10585 (= (and $x10182 (and true (and $x10182 (and $x10205 $x10207)))) (and $x10182 (and $x10182 (and $x10205 $x10182)))))) (let (($x10574 (and $x10182 (and $x10205 $x10182)))) (let (($x10210 (and true (and $x10182 (and $x10205 $x10207))))) (let ((@x10576 (monotonicity (monotonicity @x10570 (= (and $x10205 $x10207) (and $x10205 $x10182))) (= (and $x10182 (and $x10205 $x10207)) $x10574)))) (let ((@x10583 (trans (monotonicity @x10576 (= $x10210 (and true $x10574))) (rewrite (= (and true $x10574) $x10574)) (= $x10210 $x10574)))) (let ((@x10589 (monotonicity (rewrite (= $x10203 false)) (monotonicity @x10583 $x10585) (= $x10212 (and false (and $x10182 $x10574)))))) (let ((@x10596 (monotonicity (trans @x10589 @x10591 (= $x10212 false)) (= $x10213 (and $x10182 false))))) (let ((@x10600 (trans @x10596 (rewrite (= (and $x10182 false) false)) (= $x10213 false)))) (let ((@x10607 (trans (monotonicity @x10600 (= $x10214 (and true false))) (rewrite (= (and true false) false)) (= $x10214 false)))) (let ((@x10687 (monotonicity @x10607 (monotonicity @x10681 (= $x10248 $x10682)) (= $x10249 (=> false $x10682))))) (let ((@x10691 (trans @x10687 (rewrite (= (=> false $x10682) true)) (= $x10249 true)))) (let ((@x11153 (monotonicity @x10691 (trans @x11144 (rewrite (= (=> $x10833 $x11139) $x11146)) (= $x10419 $x11146)) (= $x10420 (and true $x11146))))) (let (($x10545 (= (and $x10176 (and $x10180 (and $x10182 (and $x10183 (and $x10188 $x10194))))) $x10544))) (let ((@x10531 (quant-intro (rewrite (= (=> (and $x3098 (< ?0 v_b_L_H_p_G_0$)) $x10186) $x10526)) (= $x10188 $x10529)))) (let ((@x10537 (monotonicity (monotonicity @x10531 (= (and $x10188 $x10194) $x10532)) (= (and $x10183 (and $x10188 $x10194)) $x10535)))) (let ((@x10543 (monotonicity (monotonicity @x10537 (= (and $x10182 (and $x10183 (and $x10188 $x10194))) $x10538)) (= (and $x10180 (and $x10182 (and $x10183 (and $x10188 $x10194)))) $x10541)))) (let ((@x10552 (monotonicity (monotonicity (monotonicity @x10543 $x10545) (= $x10200 $x10547)) (= $x10201 (and true $x10547))))) (let ((@x10559 (monotonicity (trans @x10552 (rewrite (= (and true $x10547) $x10547)) (= $x10201 $x10547)) (= (and $x10168 $x10201) $x10557)))) (let ((@x11160 (monotonicity @x10559 (trans @x11153 (rewrite (= (and true $x11146) $x11146)) (= $x10420 $x11146)) (= $x10421 (=> $x10557 $x11146))))) (let ((@x11169 (monotonicity (trans @x11160 (rewrite (= (=> $x10557 $x11146) $x11162)) (= $x10421 $x11162)) (= (and $x10168 $x10421) $x11167)))) (let ((@x10524 (quant-intro (rewrite (= (=> (and $x3098 (< ?0 1)) $x10164) $x10519)) (= $x10166 $x10522)))) (let ((@x11178 (trans (monotonicity @x10524 @x11169 (= $x10423 (=> $x10522 $x11167))) (rewrite (= (=> $x10522 $x11167) $x11174)) (= $x10423 $x11174)))) (let ((@x11184 (monotonicity (monotonicity @x10524 @x11178 (= (and $x10166 $x10423) $x11179)) (= $x10425 (=> $x10159 $x11179))))) (let ((@x11193 (monotonicity (trans @x11184 (rewrite (= (=> $x10159 $x11179) $x11186)) (= $x10425 $x11186)) (= (and $x10159 $x10425) $x11191)))) (let ((@x10499 (monotonicity (rewrite (= (and $x10150 $x10150) $x10150)) (= (and $x10149 (and $x10150 $x10150)) $x10497)))) (let ((@x10505 (monotonicity (monotonicity @x10499 (= (and $x10149 (and $x10149 (and $x10150 $x10150))) $x10500)) (= $x10154 $x10503)))) (let ((@x10511 (monotonicity (monotonicity @x10505 (= (and $x10147 $x10154) $x10506)) (= (and $x10146 (and $x10147 $x10154)) $x10509)))) (let ((@x10517 (monotonicity (monotonicity @x10511 (= (and $x10145 (and $x10146 (and $x10147 $x10154))) $x10512)) (= (and $x10142 (and $x10145 (and $x10146 (and $x10147 $x10154)))) $x10515)))) (let ((@x11202 (trans (monotonicity @x10517 @x11193 (= $x10427 (=> $x10515 $x11191))) (rewrite (= (=> $x10515 $x11191) $x11198)) (= $x10427 $x11198)))) (let ((@x11208 (monotonicity (monotonicity @x11202 (= (and $x10142 $x10427) $x11203)) (= $x10429 (=> $x10140 $x11203))))) (let ((@x11217 (monotonicity (trans @x11208 (rewrite (= (=> $x10140 $x11203) $x11210)) (= $x10429 $x11210)) (= (and $x10140 $x10429) $x11215)))) (let ((@x11226 (trans (monotonicity @x11217 (= $x10431 (=> $x10136 $x11215))) (rewrite (= (=> $x10136 $x11215) $x11222)) (= $x10431 $x11222)))) (let (($x10483 (= (and $x10067 (and $x10071 (and $x10073 (and $x10074 (and $x10094 $x10127))))) $x10482))) (let (($x10455 (= (and $x10104 (and $x10108 (and $x10109 (and $x10112 (and $x10116 $x10119))))) $x10454))) (let (($x10113 (b_S_in_n_writes_n_at$ v_b_H_wrTime_S_1_T_6_o_1$ ?0))) (let (($x10436 (not $x10113))) (let ((@x10444 (monotonicity (quant-intro (rewrite (= (= $x10113 false) $x10436)) (= $x10116 $x10439)) (= (and $x10116 $x10119) $x10442)))) (let ((@x10450 (monotonicity (monotonicity @x10444 (= (and $x10112 (and $x10116 $x10119)) $x10445)) (= (and $x10109 (and $x10112 (and $x10116 $x10119))) $x10448)))) (let ((@x10453 (monotonicity @x10450 (= (and $x10108 (and $x10109 (and $x10112 (and $x10116 $x10119)))) $x10451)))) (let ((@x10462 (monotonicity (monotonicity (monotonicity @x10453 $x10455) (= $x10125 $x10457)) (= (and $x10095 $x10125) $x10460)))) (let ((@x10469 (trans (monotonicity @x10462 (= $x10127 (and true $x10460))) (rewrite (= (and true $x10460) $x10460)) (= $x10127 $x10460)))) (let ((@x10475 (monotonicity (monotonicity @x10469 (= (and $x10094 $x10127) $x10470)) (= (and $x10074 (and $x10094 $x10127)) $x10473)))) (let ((@x10481 (monotonicity (monotonicity @x10475 (= (and $x10073 (and $x10074 (and $x10094 $x10127))) $x10476)) (= (and $x10071 (and $x10073 (and $x10074 (and $x10094 $x10127)))) $x10479)))) (let ((@x10490 (monotonicity (monotonicity (monotonicity @x10481 $x10483) (= $x10133 $x10485)) (= $x10134 (and true $x10485))))) (let ((@x11232 (monotonicity (trans @x10490 (rewrite (= (and true $x10485) $x10485)) (= $x10134 $x10485)) (monotonicity @x11226 (= (and $x10136 $x10431) $x11227)) (= $x10433 (=> $x10485 $x11227))))) (let ((@x11241 (monotonicity (trans @x11232 (rewrite (= (=> $x10485 $x11227) $x11234)) (= $x10433 $x11234)) (= $x10434 (not $x11234))))) (let ((@x12031 (trans @x11241 (monotonicity @x12026 (= (not $x11234) $x12027)) (= $x10434 $x12027)))) (let ((@x12033 (not-or-elim (mp (asserted $x10434) @x12031 $x12027) $x11342))) (let ((@x12044 (and-elim @x12033 $x10084))) (let (($x9607 (forall ((?v0 B_S_ptr$) (?v1 B_S_ctype$) )(! (or (not (b_S_is$ ?v0 ?v1)) (= ?v0 (b_S_ptr$ ?v1 (b_S_ref$ ?v0)))) :pattern ( (b_S_is$ ?v0 ?v1) ) :qid k!622)) )) (let (($x9604 (or (not (b_S_is$ ?1 ?0)) (= ?1 (b_S_ptr$ ?0 (b_S_ref$ ?1)))))) (let (($x9601 (forall ((?v0 B_S_ptr$) (?v1 B_S_ctype$) )(! (let (($x9596 (b_S_is$ ?v0 ?v1))) (=> $x9596 (= ?v0 (b_S_ptr$ ?v1 (b_S_ref$ ?v0))))) :pattern ( (b_S_is$ ?v0 ?v1) ) :qid k!622)) )) (let (($x9605 (= (=> (b_S_is$ ?1 ?0) (= ?1 (b_S_ptr$ ?0 (b_S_ref$ ?1)))) $x9604))) (let ((@x15336 (mp~ (mp (asserted $x9601) (quant-intro (rewrite $x9605) (= $x9601 $x9607)) $x9607) (nnf-pos (refl (~ $x9604 $x9604)) (~ $x9607 $x9607)) $x9607))) (let (($x21982 (not $x10084))) (let (($x21994 (not $x9607))) (let (($x21995 (or $x21994 $x21982 $x21990))) (let ((@x22000 (mp ((_ quant-inst (b_S_ptr$ ?x10076 ?x10079) (b_S_array$ b_T_T_u1$ v_b_P_H_len$)) (or $x21994 (or $x21982 $x21990))) (rewrite (= (or $x21994 (or $x21982 $x21990)) $x21995)) $x21995))) (let ((@x23670 (symm (unit-resolution @x22000 @x15336 @x12044 $x21990) (= ?x21983 ?x10080)))) (let ((@x23502 (monotonicity (trans @x23670 (symm @x23680 (= ?x10080 ?x22595)) (= ?x21983 ?x22595)) (= (b_S_set_n_in$ ?x21983 ?x22343) $x22596)))) (let (($x22344 (b_S_set_n_in$ ?x21983 ?x22343))) (let (($x22362 (forall ((?v3 B_S_ptr$) )(! (let ((?x10078 (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$))) (let ((?x10079 (b_S_ref$ ?x10078))) (let ((?x10076 (b_S_array$ b_T_T_u1$ v_b_P_H_len$))) (let ((?x10080 (b_S_ptr$ ?x10076 ?x10079))) (let ((?x21014 (b_S_ref$ ?x10080))) (let ((?x21983 (b_S_ptr$ ?x10076 ?x21014))) (let ((?x22357 (b_S_read_n_version$ v_b_S_s$ ?x21983))) (let ((?x22358 (b_S_ver_n_domain$ ?x22357))) (let ((?x22234 (b_S_typ$ ?x21983))) (let (($x22353 (b_S_has_n_volatile_n_owns_n_set$ ?x22234))) (or $x22353 (not (b_S_set_n_in$ ?v3 (b_S_owns$ v_b_S_s$ ?x21983))) (b_S_set_n_in2$ ?v3 ?x22358)))))))))))) :pattern ( (b_S_set_n_in$ ?v3 (b_S_owns$ v_b_S_s$ (b_S_ptr$ (b_S_array$ b_T_T_u1$ v_b_P_H_len$) (b_S_ref$ (b_S_ptr$ (b_S_array$ b_T_T_u1$ v_b_P_H_len$) (b_S_ref$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$))))))) ) :qid k!564)) )) (let (($x22363 (not $x22362))) (let (($x22248 (b_S_closed$ v_b_S_s$ ?x21983))) (let (($x22272 (not $x22248))) (let (($x22352 (not $x22344))) (let (($x22364 (or $x22352 $x22272 $x22363))) (let (($x22365 (not $x22364))) (let (($x22318 (b_S_in_n_domain$ v_b_S_s$ ?x21983 ?x21983))) (let (($x22317 (b_S_in_n_domain_n_lab$ v_b_S_s$ ?x21983 ?x21983 b_l_H_public$))) (let (($x22326 (= $x22317 $x22318))) (let (($x8728 (forall ((?v0 B_S_state$) (?v1 B_S_ptr$) (?v2 B_S_ptr$) (?v3 B_S_label$) )(! (let (($x8719 (b_S_in_n_domain$ ?v0 ?v1 ?v2))) (let (($x8718 (b_S_in_n_domain_n_lab$ ?v0 ?v1 ?v2 ?v3))) (= $x8718 $x8719))) :pattern ( (b_S_in_n_domain_n_lab$ ?v0 ?v1 ?v2 ?v3) ) :qid k!567)) )) (let (($x8719 (b_S_in_n_domain$ ?3 ?2 ?1))) (let (($x8718 (b_S_in_n_domain_n_lab$ ?3 ?2 ?1 ?0))) (let (($x8725 (= $x8718 $x8719))) (let (($x8723 (forall ((?v0 B_S_state$) (?v1 B_S_ptr$) (?v2 B_S_ptr$) (?v3 B_S_label$) )(! (let (($x8719 (b_S_in_n_domain$ ?v0 ?v1 ?v2))) (let (($x8718 (b_S_in_n_domain_n_lab$ ?v0 ?v1 ?v2 ?v3))) (= $x8718 $x8719))) :pattern ( (b_S_in_n_domain_n_lab$ ?v0 ?v1 ?v2 ?v3) ) :qid k!567)) )) (let ((@x8733 (mp (asserted $x8723) (quant-intro (rewrite (= (= $x8718 $x8719) $x8725)) (= $x8723 $x8728)) $x8728))) (let ((@x15021 (mp~ @x8733 (nnf-pos (refl (~ $x8725 $x8725)) (~ $x8728 $x8728)) $x8728))) (let (($x22699 (or (not $x8728) $x22326))) (let ((@x23229 ((_ quant-inst v_b_S_s$ (b_S_ptr$ ?x10076 ?x21014) (b_S_ptr$ ?x10076 ?x21014) b_l_H_public$) $x22699))) (let ((@x22990 (unit-resolution @x23229 @x15021 $x22326))) (let ((@x23563 (symm (monotonicity @x23670 @x23670 (= $x22317 $x10136)) (= $x10136 $x22317)))) (let (($x35 (= b_S_kind_n_primitive$ b_S_kind_n_array$))) (let (($x36 (not $x35))) (let (($x22421 (= $x36 (not (= (b_S_kind_n_of$ (b_S_typ$ ?x21983)) b_S_kind_n_primitive$))))) (let ((?x22234 (b_S_typ$ ?x21983))) (let ((?x22387 (b_S_kind_n_of$ ?x22234))) (let (($x22388 (= ?x22387 b_S_kind_n_primitive$))) (let (($x22148 (= ?x10086 b_S_kind_n_array$))) (let (($x21115 (b_S_is_n_arraytype$ ?x10076))) (let (($x22149 (= $x21115 $x22148))) (let (($x9869 (forall ((?v0 B_S_ctype$) )(! (let ((?x9849 (b_S_kind_n_of$ ?v0))) (let (($x9861 (= ?x9849 b_S_kind_n_array$))) (let (($x7848 (b_S_is_n_arraytype$ ?v0))) (= $x7848 $x9861)))) :pattern ( (b_S_is_n_arraytype$ ?v0) ) :qid k!662)) )) (let ((?x9849 (b_S_kind_n_of$ ?0))) (let (($x9861 (= ?x9849 b_S_kind_n_array$))) (let (($x7848 (b_S_is_n_arraytype$ ?0))) (let (($x9866 (= $x7848 $x9861))) (let (($x9864 (forall ((?v0 B_S_ctype$) )(! (let ((?x9849 (b_S_kind_n_of$ ?v0))) (let (($x9861 (= ?x9849 b_S_kind_n_array$))) (let (($x7848 (b_S_is_n_arraytype$ ?v0))) (= $x7848 $x9861)))) :pattern ( (b_S_is_n_arraytype$ ?v0) ) :qid k!662)) )) (let ((@x9874 (mp (asserted $x9864) (quant-intro (rewrite (= (= $x7848 $x9861) $x9866)) (= $x9864 $x9869)) $x9869))) (let ((@x15446 (mp~ @x9874 (nnf-pos (refl (~ $x9866 $x9866)) (~ $x9869 $x9869)) $x9869))) (let (($x22159 (or (not $x9869) $x22149))) (let ((@x22160 ((_ quant-inst (b_S_array$ b_T_T_u1$ v_b_P_H_len$)) $x22159))) (let (($x7229 (forall ((?v0 B_S_ctype$) (?v1 Int) )(! (let ((?x6561 (b_S_array$ ?v0 ?v1))) (b_S_is_n_arraytype$ ?x6561)) :pattern ( (b_S_array$ ?v0 ?v1) ) :qid k!502)) )) (let ((?x6561 (b_S_array$ ?1 ?0))) (let (($x7228 (b_S_is_n_arraytype$ ?x6561))) (let ((@x14576 (mp~ (asserted $x7229) (nnf-pos (refl (~ $x7228 $x7228)) (~ $x7229 $x7229)) $x7229))) (let (($x21122 (or (not $x7229) $x21115))) (let ((@x21123 ((_ quant-inst b_T_T_u1$ v_b_P_H_len$) $x21122))) (let ((@x22382 (unit-resolution (def-axiom (or (not $x22149) (not $x21115) $x22148)) (unit-resolution @x21123 @x14576 $x21115) (or (not $x22149) $x22148)))) (let ((?x21180 (b_S_typ$ ?x10080))) (let (($x21183 (= ?x21180 ?x10076))) (let (($x19841 (forall ((?v0 B_S_ctype$) (?v1 Int) )(! (= (b_S_typ$ (b_S_ptr$ ?v0 ?v1)) ?v0) :pattern ( (b_S_ptr$ ?v0 ?v1) ) :qid k!628)) )) (let (($x9659 (forall ((?v0 B_S_ctype$) (?v1 Int) )(! (= (b_S_typ$ (b_S_ptr$ ?v0 ?v1)) ?v0) :qid k!628)) )) (let (($x9658 (= (b_S_typ$ (b_S_ptr$ ?1 ?0)) ?1))) (let ((@x15361 (mp~ (asserted $x9659) (nnf-pos (refl (~ $x9658 $x9658)) (~ $x9659 $x9659)) $x9659))) (let ((@x19846 (mp @x15361 (quant-intro (refl (= $x9658 $x9658)) (= $x9659 $x19841)) $x19841))) (let (($x21147 (not $x19841))) (let (($x21188 (or $x21147 $x21183))) (let ((@x21189 ((_ quant-inst (b_S_array$ b_T_T_u1$ v_b_P_H_len$) (b_S_ref$ ?x10078)) $x21188))) (let ((@x22406 (trans (monotonicity @x23670 (= ?x22234 ?x21180)) (unit-resolution @x21189 @x19846 $x21183) (= ?x22234 ?x10076)))) (let ((@x22335 (trans (monotonicity @x22406 (= ?x22387 ?x10086)) (unit-resolution @x22382 (unit-resolution @x22160 @x15446 $x22149) $x22148) (= ?x22387 b_S_kind_n_array$)))) (let ((@x22369 (monotonicity @x22335 (= $x22388 (= b_S_kind_n_array$ b_S_kind_n_primitive$))))) (let ((@x22393 (trans @x22369 (commutativity (= (= b_S_kind_n_array$ b_S_kind_n_primitive$) $x35)) (= $x22388 $x35)))) (let (($x41 (= b_S_kind_n_thread$ b_S_kind_n_array$))) (let (($x42 (not $x41))) (let (($x39 (= b_S_kind_n_composite$ b_S_kind_n_array$))) (let (($x40 (not $x39))) (let (($x37 (= b_S_kind_n_composite$ b_S_kind_n_thread$))) (let (($x38 (not $x37))) (let (($x32 (= b_S_kind_n_primitive$ b_S_kind_n_thread$))) (let (($x33 (not $x32))) (let (($x29 (= b_S_kind_n_primitive$ b_S_kind_n_composite$))) (let (($x30 (not $x29))) (let (($x67 (and $x30 $x33 $x36 $x38 $x40 $x42))) (let (($x48 (and $x30 (and $x33 (and $x36 (and $x38 (and $x40 (and $x42 true)))))))) (let (($x68 (= (and $x30 (and $x33 (and $x36 (and $x38 (and $x40 $x42))))) $x67))) (let (($x65 (= $x48 (and $x30 (and $x33 (and $x36 (and $x38 (and $x40 $x42)))))))) (let (($x62 (= (and $x33 (and $x36 (and $x38 (and $x40 (and $x42 true))))) (and $x33 (and $x36 (and $x38 (and $x40 $x42))))))) (let (($x59 (= (and $x36 (and $x38 (and $x40 (and $x42 true)))) (and $x36 (and $x38 (and $x40 $x42)))))) (let (($x56 (= (and $x38 (and $x40 (and $x42 true))) (and $x38 (and $x40 $x42))))) (let ((@x54 (monotonicity (rewrite (= (and $x42 true) $x42)) (= (and $x40 (and $x42 true)) (and $x40 $x42))))) (let ((@x66 (monotonicity (monotonicity (monotonicity (monotonicity @x54 $x56) $x59) $x62) $x65))) (let ((@x72 (mp (asserted $x48) (trans @x66 (rewrite $x68) (= $x48 $x67)) $x67))) (let ((@x75 (and-elim @x72 $x36))) (let (($x22333 (not $x22318))) (let (($x22336 (not $x22317))) (let ((@x22397 (unit-resolution (def-axiom (or (not $x22326) $x22317 $x22333)) (mp (hypothesis $x11221) (monotonicity @x23563 (= $x11221 $x22336)) $x22336) @x22990 $x22333))) (let (($x22368 (b_S_is$ ?x21983 ?x22234))) (let ((@x23420 (mp @x12044 (symm (monotonicity @x23670 @x22406 (= $x22368 $x10084)) (= $x10084 $x22368)) $x22368))) (let (($x22385 (b_S_typed$ v_b_S_s$ ?x21983))) (let ((@x12045 (and-elim @x12033 $x10085))) (let ((@x22419 (mp @x12045 (symm (monotonicity @x23670 (= $x22385 $x10085)) (= $x10085 $x22385)) $x22385))) (let ((?x22243 (b_S_owner$ v_b_S_s$ ?x21983))) (let (($x22259 (= ?x22243 b_S_me$))) (let ((@x12043 (and-elim @x12033 $x10083))) (let ((@x12042 (and-elim @x12033 $x10081))) (let ((@x22437 (mp @x12042 (symm (monotonicity @x23670 (= $x22248 $x10081)) (= $x10081 $x22248)) $x22248))) (let (($x22235 (b_S_is_n_non_n_primitive$ ?x22234))) (let ((@x12047 (and-elim @x12033 $x10089))) (let ((@x22500 (mp @x12047 (symm (monotonicity @x22406 (= $x22235 $x10089)) (= $x10089 $x22235)) $x22235))) (let ((@x12050 (and-elim @x12033 $x10097))) (let (($x18905 (forall ((?v0 B_S_state$) (?v1 B_S_ptr$) )(! (let (($x8613 (b_S_in_n_domain$ ?v0 ?v1 ?v1))) (let ((?x2247 (b_S_typ$ ?v1))) (let (($x2351 (b_S_is_n_non_n_primitive$ ?x2247))) (let (($x9239 (not $x2351))) (let (($x2249 (= (b_S_kind_n_of$ ?x2247) b_S_kind_n_primitive$))) (let (($x2488 (b_S_typed$ ?v0 ?v1))) (let (($x9531 (not $x2488))) (let (($x2487 (b_S_is$ ?v1 ?x2247))) (let (($x16299 (not $x2487))) (let ((?x2484 (b_S_owner$ ?v0 ?v1))) (let (($x2486 (= ?x2484 b_S_me$))) (let (($x16298 (not $x2486))) (let (($x2471 (b_S_closed$ ?v0 ?v1))) (let (($x9185 (not $x2471))) (let (($x2687 (b_S_full_n_stop$ ?v0))) (let (($x16426 (not $x2687))) (or $x16426 $x9185 $x16298 $x16299 $x9531 $x2249 $x9239 $x8613))))))))))))))))) :pattern ( (b_S_in_n_domain$ ?v0 ?v1 ?v1) ) :qid k!563)) )) (let (($x8634 (forall ((?v0 B_S_state$) (?v1 B_S_ptr$) )(! (let (($x8613 (b_S_in_n_domain$ ?v0 ?v1 ?v1))) (let ((?x2247 (b_S_typ$ ?v1))) (let (($x2351 (b_S_is_n_non_n_primitive$ ?x2247))) (let (($x2249 (= (b_S_kind_n_of$ ?x2247) b_S_kind_n_primitive$))) (let (($x2294 (not $x2249))) (let (($x2488 (b_S_typed$ ?v0 ?v1))) (let (($x2487 (b_S_is$ ?v1 ?x2247))) (let ((?x2484 (b_S_owner$ ?v0 ?v1))) (let (($x2486 (= ?x2484 b_S_me$))) (let (($x2471 (b_S_closed$ ?v0 ?v1))) (let (($x2687 (b_S_full_n_stop$ ?v0))) (let (($x8625 (and $x2687 $x2471 $x2486 $x2487 $x2488 $x2294 $x2351))) (let (($x8628 (not $x8625))) (or $x8628 $x8613)))))))))))))) :pattern ( (b_S_in_n_domain$ ?v0 ?v1 ?v1) ) :qid k!563)) )) (let (($x8613 (b_S_in_n_domain$ ?1 ?0 ?0))) (let ((?x2247 (b_S_typ$ ?0))) (let (($x2351 (b_S_is_n_non_n_primitive$ ?x2247))) (let (($x9239 (not $x2351))) (let (($x2249 (= (b_S_kind_n_of$ ?x2247) b_S_kind_n_primitive$))) (let (($x2488 (b_S_typed$ ?1 ?0))) (let (($x9531 (not $x2488))) (let (($x2487 (b_S_is$ ?0 ?x2247))) (let (($x16299 (not $x2487))) (let ((?x2484 (b_S_owner$ ?1 ?0))) (let (($x2486 (= ?x2484 b_S_me$))) (let (($x16298 (not $x2486))) (let (($x2471 (b_S_closed$ ?1 ?0))) (let (($x9185 (not $x2471))) (let (($x2687 (b_S_full_n_stop$ ?1))) (let (($x16426 (not $x2687))) (let (($x18900 (or $x16426 $x9185 $x16298 $x16299 $x9531 $x2249 $x9239 $x8613))) (let (($x2294 (not $x2249))) (let (($x8625 (and $x2687 $x2471 $x2486 $x2487 $x2488 $x2294 $x2351))) (let (($x8628 (not $x8625))) (let (($x8631 (or $x8628 $x8613))) (let ((@x18902 (rewrite (= (or (or $x16426 $x9185 $x16298 $x16299 $x9531 $x2249 $x9239) $x8613) $x18900)))) (let (($x18886 (or $x16426 $x9185 $x16298 $x16299 $x9531 $x2249 $x9239))) (let ((@x18892 (monotonicity (rewrite (= $x8625 (not $x18886))) (= $x8628 (not (not $x18886)))))) (let ((@x18899 (monotonicity (trans @x18892 (rewrite (= (not (not $x18886)) $x18886)) (= $x8628 $x18886)) (= $x8631 (or $x18886 $x8613))))) (let (($x8616 (forall ((?v0 B_S_state$) (?v1 B_S_ptr$) )(! (let (($x8613 (b_S_in_n_domain$ ?v0 ?v1 ?v1))) (let ((?x2247 (b_S_typ$ ?v1))) (let (($x2351 (b_S_is_n_non_n_primitive$ ?x2247))) (let (($x2249 (= (b_S_kind_n_of$ ?x2247) b_S_kind_n_primitive$))) (let (($x2294 (not $x2249))) (let (($x2488 (b_S_typed$ ?v0 ?v1))) (let (($x2487 (b_S_is$ ?v1 ?x2247))) (let ((?x2484 (b_S_owner$ ?v0 ?v1))) (let (($x2486 (= ?x2484 b_S_me$))) (let (($x2471 (b_S_closed$ ?v0 ?v1))) (let (($x2687 (b_S_full_n_stop$ ?v0))) (let (($x8612 (and $x2687 (and $x2471 (and $x2486 (and $x2487 (and $x2488 (and $x2294 $x2351)))))))) (=> $x8612 $x8613))))))))))))) :pattern ( (b_S_in_n_domain$ ?v0 ?v1 ?v1) ) :qid k!563)) )) (let (($x8622 (forall ((?v0 B_S_state$) (?v1 B_S_ptr$) )(! (let (($x8613 (b_S_in_n_domain$ ?v0 ?v1 ?v1))) (let ((?x2247 (b_S_typ$ ?v1))) (let (($x2351 (b_S_is_n_non_n_primitive$ ?x2247))) (let (($x2249 (= (b_S_kind_n_of$ ?x2247) b_S_kind_n_primitive$))) (let (($x2294 (not $x2249))) (let (($x2488 (b_S_typed$ ?v0 ?v1))) (let (($x2487 (b_S_is$ ?v1 ?x2247))) (let ((?x2484 (b_S_owner$ ?v0 ?v1))) (let (($x2486 (= ?x2484 b_S_me$))) (let (($x2471 (b_S_closed$ ?v0 ?v1))) (let (($x2687 (b_S_full_n_stop$ ?v0))) (let (($x8612 (and $x2687 (and $x2471 (and $x2486 (and $x2487 (and $x2488 (and $x2294 $x2351)))))))) (or (not $x8612) $x8613))))))))))))) :pattern ( (b_S_in_n_domain$ ?v0 ?v1 ?v1) ) :qid k!563)) )) (let (($x8612 (and $x2687 (and $x2471 (and $x2486 (and $x2487 (and $x2488 (and $x2294 $x2351)))))))) (let (($x8619 (or (not $x8612) $x8613))) (let ((@x8633 (monotonicity (monotonicity (rewrite (= $x8612 $x8625)) (= (not $x8612) $x8628)) (= $x8619 $x8631)))) (let ((@x8638 (trans (quant-intro (rewrite (= (=> $x8612 $x8613) $x8619)) (= $x8616 $x8622)) (quant-intro @x8633 (= $x8622 $x8634)) (= $x8616 $x8634)))) (let ((@x14989 (mp~ (mp (asserted $x8616) @x8638 $x8634) (nnf-pos (refl (~ $x8631 $x8631)) (~ $x8634 $x8634)) $x8634))) (let ((@x18908 (mp @x14989 (quant-intro (trans @x18899 @x18902 (= $x8631 $x18900)) (= $x8634 $x18905)) $x18905))) (let (($x22242 (not $x22235))) (let (($x22386 (not $x22385))) (let (($x22384 (not $x22368))) (let (($x23422 (or (not $x18905) $x19677 $x22272 (not $x22259) $x22384 $x22386 $x22388 $x22242 $x22318))) (let (($x23058 (= (or (not $x18905) (or $x19677 $x22272 (not $x22259) $x22384 $x22386 $x22388 $x22242 $x22318)) $x23422))) (let ((@x23077 ((_ quant-inst v_b_S_s$ (b_S_ptr$ ?x10076 ?x21014)) (or (not $x18905) (or $x19677 $x22272 (not $x22259) $x22384 $x22386 $x22388 $x22242 $x22318))))) (let ((@x22720 (mp @x23077 (rewrite $x23058) $x23422))) (let ((@x22519 (unit-resolution @x22720 @x18908 @x12050 @x22500 @x22437 (trans (monotonicity @x23670 (= ?x22243 ?x10082)) @x12043 $x22259) (or $x22384 $x22386 $x22388 $x22318)))) (let ((@x22507 (unit-resolution @x22519 @x22419 @x23420 @x22397 (mp @x75 (monotonicity (symm @x22393 (= $x35 $x22388)) $x22421) (not $x22388)) false))) (let ((@x22508 (lemma @x22507 $x10136))) (let ((@x23561 (def-axiom (or (not $x22326) $x22336 $x22318)))) (let (($x22366 (or $x22333 $x22365))) (let (($x18945 (forall ((?v0 B_S_state$) (?v1 B_S_ptr$) (?v2 B_S_ptr$) )(! (let (($x18929 (forall ((?v3 B_S_ptr$) )(! (let (($x8646 (b_S_set_n_in2$ ?v3 (b_S_ver_n_domain$ (b_S_read_n_version$ ?v0 ?v2))))) (let ((?x6628 (b_S_typ$ ?v1))) (let (($x8640 (b_S_has_n_volatile_n_owns_n_set$ ?x6628))) (or $x8640 (not (b_S_set_n_in$ ?v3 (b_S_owns$ ?v0 ?v1))) $x8646)))) :pattern ( (b_S_set_n_in$ ?v3 (b_S_owns$ ?v0 ?v1)) ) :qid k!564)) )) (let (($x2554 (b_S_closed$ ?v0 ?v1))) (let (($x8955 (not $x2554))) (let (($x8428 (b_S_set_n_in$ ?v1 (b_S_domain$ ?v0 ?v2)))) (let (($x18744 (not $x8428))) (let (($x18937 (not (or $x18744 $x8955 (not $x18929))))) (let (($x8461 (b_S_in_n_domain$ ?v0 ?v1 ?v2))) (let (($x8672 (not $x8461))) (or $x8672 $x18937))))))))) :pattern ( (b_S_in_n_domain$ ?v0 ?v1 ?v2) ) :qid k!564)) )) (let (($x8687 (forall ((?v0 B_S_state$) (?v1 B_S_ptr$) (?v2 B_S_ptr$) )(! (let (($x8660 (forall ((?v3 B_S_ptr$) )(! (let (($x8646 (b_S_set_n_in2$ ?v3 (b_S_ver_n_domain$ (b_S_read_n_version$ ?v0 ?v2))))) (let (($x8643 (b_S_set_n_in$ ?v3 (b_S_owns$ ?v0 ?v1)))) (let (($x8644 (and (not (b_S_has_n_volatile_n_owns_n_set$ (b_S_typ$ ?v1))) $x8643))) (let (($x8656 (not $x8644))) (or $x8656 $x8646))))) :pattern ( (b_S_set_n_in$ ?v3 (b_S_owns$ ?v0 ?v1)) ) :qid k!564)) )) (let (($x2554 (b_S_closed$ ?v0 ?v1))) (let (($x8428 (b_S_set_n_in$ ?v1 (b_S_domain$ ?v0 ?v2)))) (let (($x8681 (and $x8428 $x2554 $x8660))) (let (($x8461 (b_S_in_n_domain$ ?v0 ?v1 ?v2))) (let (($x8672 (not $x8461))) (or $x8672 $x8681))))))) :pattern ( (b_S_in_n_domain$ ?v0 ?v1 ?v2) ) :qid k!564)) )) (let (($x18929 (forall ((?v3 B_S_ptr$) )(! (let (($x8646 (b_S_set_n_in2$ ?v3 (b_S_ver_n_domain$ (b_S_read_n_version$ ?2 ?0))))) (let ((?x6628 (b_S_typ$ ?1))) (let (($x8640 (b_S_has_n_volatile_n_owns_n_set$ ?x6628))) (or $x8640 (not (b_S_set_n_in$ ?v3 (b_S_owns$ ?2 ?1))) $x8646)))) :pattern ( (b_S_set_n_in$ ?v3 (b_S_owns$ ?2 ?1)) ) :qid k!564)) )) (let (($x2554 (b_S_closed$ ?2 ?1))) (let (($x8955 (not $x2554))) (let (($x8428 (b_S_set_n_in$ ?1 (b_S_domain$ ?2 ?0)))) (let (($x18744 (not $x8428))) (let (($x18937 (not (or $x18744 $x8955 (not $x18929))))) (let (($x8461 (b_S_in_n_domain$ ?2 ?1 ?0))) (let (($x8672 (not $x8461))) (let (($x8660 (forall ((?v3 B_S_ptr$) )(! (let (($x8646 (b_S_set_n_in2$ ?v3 (b_S_ver_n_domain$ (b_S_read_n_version$ ?2 ?0))))) (let (($x8643 (b_S_set_n_in$ ?v3 (b_S_owns$ ?2 ?1)))) (let (($x8644 (and (not (b_S_has_n_volatile_n_owns_n_set$ (b_S_typ$ ?1))) $x8643))) (let (($x8656 (not $x8644))) (or $x8656 $x8646))))) :pattern ( (b_S_set_n_in$ ?v3 (b_S_owns$ ?2 ?1)) ) :qid k!564)) )) (let (($x8681 (and $x8428 $x2554 $x8660))) (let (($x8684 (or $x8672 $x8681))) (let (($x8646 (b_S_set_n_in2$ ?0 (b_S_ver_n_domain$ (b_S_read_n_version$ ?3 ?1))))) (let ((?x6628 (b_S_typ$ ?2))) (let (($x8640 (b_S_has_n_volatile_n_owns_n_set$ ?x6628))) (let (($x18924 (or $x8640 (not (b_S_set_n_in$ ?0 (b_S_owns$ ?3 ?2))) $x8646))) (let (($x8643 (b_S_set_n_in$ ?0 (b_S_owns$ ?3 ?2)))) (let (($x8644 (and (not $x8640) $x8643))) (let (($x8656 (not $x8644))) (let (($x8657 (or $x8656 $x8646))) (let ((@x18918 (rewrite (= (not (not (or $x8640 (not $x8643)))) (or $x8640 (not $x8643)))))) (let ((@x18916 (monotonicity (rewrite (= $x8644 (not (or $x8640 (not $x8643))))) (= $x8656 (not (not (or $x8640 (not $x8643)))))))) (let ((@x18923 (monotonicity (trans @x18916 @x18918 (= $x8656 (or $x8640 (not $x8643)))) (= $x8657 (or (or $x8640 (not $x8643)) $x8646))))) (let ((@x18928 (trans @x18923 (rewrite (= (or (or $x8640 (not $x8643)) $x8646) $x18924)) (= $x8657 $x18924)))) (let ((@x18934 (monotonicity (quant-intro @x18928 (= $x8660 $x18929)) (= $x8681 (and $x8428 $x2554 $x18929))))) (let ((@x18941 (trans @x18934 (rewrite (= (and $x8428 $x2554 $x18929) $x18937)) (= $x8681 $x18937)))) (let ((@x18947 (quant-intro (monotonicity @x18941 (= $x8684 (or $x8672 $x18937))) (= $x8687 $x18945)))) (let ((@x15001 (monotonicity (refl (~ $x8428 $x8428)) (refl (~ $x2554 $x2554)) (nnf-pos (refl (~ $x8657 $x8657)) (~ $x8660 $x8660)) (~ $x8681 $x8681)))) (let ((@x15005 (nnf-pos (monotonicity (refl (~ $x8672 $x8672)) @x15001 (~ $x8684 $x8684)) (~ $x8687 $x8687)))) (let (($x8654 (forall ((?v0 B_S_state$) (?v1 B_S_ptr$) (?v2 B_S_ptr$) )(! (let (($x8649 (forall ((?v3 B_S_ptr$) )(! (let (($x8646 (b_S_set_n_in2$ ?v3 (b_S_ver_n_domain$ (b_S_read_n_version$ ?v0 ?v2))))) (let (($x8643 (b_S_set_n_in$ ?v3 (b_S_owns$ ?v0 ?v1)))) (let (($x8644 (and (not (b_S_has_n_volatile_n_owns_n_set$ (b_S_typ$ ?v1))) $x8643))) (=> $x8644 $x8646)))) :pattern ( (b_S_set_n_in$ ?v3 (b_S_owns$ ?v0 ?v1)) ) :qid k!564)) )) (let (($x2554 (b_S_closed$ ?v0 ?v1))) (let (($x8428 (b_S_set_n_in$ ?v1 (b_S_domain$ ?v0 ?v2)))) (let (($x8461 (b_S_in_n_domain$ ?v0 ?v1 ?v2))) (=> $x8461 (and $x8428 (and $x2554 $x8649))))))) :pattern ( (b_S_in_n_domain$ ?v0 ?v1 ?v2) ) :qid k!564)) )) (let (($x8678 (forall ((?v0 B_S_state$) (?v1 B_S_ptr$) (?v2 B_S_ptr$) )(! (let (($x8660 (forall ((?v3 B_S_ptr$) )(! (let (($x8646 (b_S_set_n_in2$ ?v3 (b_S_ver_n_domain$ (b_S_read_n_version$ ?v0 ?v2))))) (let (($x8643 (b_S_set_n_in$ ?v3 (b_S_owns$ ?v0 ?v1)))) (let (($x8644 (and (not (b_S_has_n_volatile_n_owns_n_set$ (b_S_typ$ ?v1))) $x8643))) (let (($x8656 (not $x8644))) (or $x8656 $x8646))))) :pattern ( (b_S_set_n_in$ ?v3 (b_S_owns$ ?v0 ?v1)) ) :qid k!564)) )) (let (($x2554 (b_S_closed$ ?v0 ?v1))) (let (($x8428 (b_S_set_n_in$ ?v1 (b_S_domain$ ?v0 ?v2)))) (let (($x8666 (and $x8428 (and $x2554 $x8660)))) (let (($x8461 (b_S_in_n_domain$ ?v0 ?v1 ?v2))) (let (($x8672 (not $x8461))) (or $x8672 $x8666))))))) :pattern ( (b_S_in_n_domain$ ?v0 ?v1 ?v2) ) :qid k!564)) )) (let ((@x8686 (monotonicity (rewrite (= (and $x8428 (and $x2554 $x8660)) $x8681)) (= (or $x8672 (and $x8428 (and $x2554 $x8660))) $x8684)))) (let (($x8666 (and $x8428 (and $x2554 $x8660)))) (let (($x8673 (or $x8672 $x8666))) (let (($x8649 (forall ((?v3 B_S_ptr$) )(! (let (($x8646 (b_S_set_n_in2$ ?v3 (b_S_ver_n_domain$ (b_S_read_n_version$ ?2 ?0))))) (let (($x8643 (b_S_set_n_in$ ?v3 (b_S_owns$ ?2 ?1)))) (let (($x8644 (and (not (b_S_has_n_volatile_n_owns_n_set$ (b_S_typ$ ?1))) $x8643))) (=> $x8644 $x8646)))) :pattern ( (b_S_set_n_in$ ?v3 (b_S_owns$ ?2 ?1)) ) :qid k!564)) )) (let (($x8652 (=> $x8461 (and $x8428 (and $x2554 $x8649))))) (let ((@x8665 (monotonicity (quant-intro (rewrite (= (=> $x8644 $x8646) $x8657)) (= $x8649 $x8660)) (= (and $x2554 $x8649) (and $x2554 $x8660))))) (let ((@x8671 (monotonicity (monotonicity @x8665 (= (and $x8428 (and $x2554 $x8649)) $x8666)) (= $x8652 (=> $x8461 $x8666))))) (let ((@x8680 (quant-intro (trans @x8671 (rewrite (= (=> $x8461 $x8666) $x8673)) (= $x8652 $x8673)) (= $x8654 $x8678)))) (let ((@x8692 (mp (asserted $x8654) (trans @x8680 (quant-intro @x8686 (= $x8678 $x8687)) (= $x8654 $x8687)) $x8687))) (let ((@x18948 (mp (mp~ @x8692 @x15005 $x8687) @x18947 $x18945))) (let (($x22501 (or (not $x18945) $x22333 $x22365))) (let ((@x22512 (mp ((_ quant-inst v_b_S_s$ (b_S_ptr$ ?x10076 ?x21014) (b_S_ptr$ ?x10076 ?x21014)) (or (not $x18945) $x22366)) (rewrite (= (or (not $x18945) $x22366) $x22501)) $x22501))) (let ((@x24112 (unit-resolution (unit-resolution @x22512 @x18948 $x22366) (unit-resolution @x23561 (mp @x22508 @x23563 $x22317) @x22990 $x22318) $x22365))) (let ((@x22487 (def-axiom (or $x22364 $x22344)))) (let ((@x12041 (and-elim @x12033 $x11260))) (let (($x9768 (b_S_is_n_primitive$ b_T_T_u1$))) (let ((@x9769 (asserted $x9768))) (let (($x18667 (forall ((?v0 B_S_state$) (?v1 Int) (?v2 B_S_ptr$) (?v3 Int) (?v4 Int) (?v5 B_S_ctype$) )(! (let ((?x8245 (b_S_idx$ (b_S_ptr$ ?v5 ?v1) ?v4 ?v5))) (let ((?x7097 (b_S_typemap$ ?v0))) (let (($x18655 (or (not (b_S_typed$ ?v0 ?x8245)) (b_S_ts_n_is_n_volatile$ (b_S_select_o_tm$ ?x7097 ?x8245))))) (let (($x18656 (not $x18655))) (let (($x5403 (>= (+ ?v4 (* (- 1) ?v3)) 0))) (let (($x3057 (>= ?v4 0))) (let (($x16520 (not $x3057))) (let (($x8240 (b_S_set_n_in$ (b_S_ptr$ (b_S_array$ ?v5 ?v3) ?v1) (b_S_domain$ ?v0 ?v2)))) (let (($x18630 (not $x8240))) (let (($x2704 (b_S_is_n_primitive$ ?v5))) (let (($x8855 (not $x2704))) (let (($x8236 (b_S_full_n_stop$ ?v0))) (let (($x18629 (not $x8236))) (or $x18629 $x8855 $x18630 $x16520 $x5403 $x18656)))))))))))))) :pattern ( (b_S_set_n_in$ (b_S_ptr$ (b_S_array$ ?v5 ?v3) ?v1) (b_S_domain$ ?v0 ?v2)) (b_S_select_o_tm$ (b_S_typemap$ ?v0) (b_S_idx$ (b_S_ptr$ ?v5 ?v1) ?v4 ?v5)) (b_S_is_n_primitive$ ?v5) ) :pattern ( (b_S_set_n_in$ (b_S_ptr$ (b_S_array$ ?v5 ?v3) ?v1) (b_S_domain$ ?v0 ?v2)) (b_S_owner$ ?v0 (b_S_idx$ (b_S_ptr$ ?v5 ?v1) ?v4 ?v5)) (b_S_is_n_primitive$ ?v5) ) :qid k!553)) )) (let (($x8307 (forall ((?v0 B_S_state$) (?v1 Int) (?v2 B_S_ptr$) (?v3 Int) (?v4 Int) (?v5 B_S_ctype$) )(! (let ((?x8245 (b_S_idx$ (b_S_ptr$ ?v5 ?v1) ?v4 ?v5))) (let ((?x7097 (b_S_typemap$ ?v0))) (let (($x8291 (and (b_S_typed$ ?v0 ?x8245) (not (b_S_ts_n_is_n_volatile$ (b_S_select_o_tm$ ?x7097 ?x8245)))))) (let (($x5403 (>= (+ ?v4 (* (- 1) ?v3)) 0))) (let (($x6757 (not $x5403))) (let (($x3057 (>= ?v4 0))) (let (($x8240 (b_S_set_n_in$ (b_S_ptr$ (b_S_array$ ?v5 ?v3) ?v1) (b_S_domain$ ?v0 ?v2)))) (let (($x2704 (b_S_is_n_primitive$ ?v5))) (let (($x8236 (b_S_full_n_stop$ ?v0))) (let (($x8270 (and $x8236 $x2704 $x8240 $x3057 $x6757))) (let (($x8275 (not $x8270))) (or $x8275 $x8291)))))))))))) :pattern ( (b_S_set_n_in$ (b_S_ptr$ (b_S_array$ ?v5 ?v3) ?v1) (b_S_domain$ ?v0 ?v2)) (b_S_select_o_tm$ (b_S_typemap$ ?v0) (b_S_idx$ (b_S_ptr$ ?v5 ?v1) ?v4 ?v5)) (b_S_is_n_primitive$ ?v5) ) :pattern ( (b_S_set_n_in$ (b_S_ptr$ (b_S_array$ ?v5 ?v3) ?v1) (b_S_domain$ ?v0 ?v2)) (b_S_owner$ ?v0 (b_S_idx$ (b_S_ptr$ ?v5 ?v1) ?v4 ?v5)) (b_S_is_n_primitive$ ?v5) ) :qid k!553)) )) (let ((?x8245 (b_S_idx$ (b_S_ptr$ ?0 ?4) ?1 ?0))) (let ((?x7097 (b_S_typemap$ ?5))) (let (($x18655 (or (not (b_S_typed$ ?5 ?x8245)) (b_S_ts_n_is_n_volatile$ (b_S_select_o_tm$ ?x7097 ?x8245))))) (let (($x18656 (not $x18655))) (let (($x5403 (>= (+ ?1 (* (- 1) ?2)) 0))) (let (($x3057 (>= ?1 0))) (let (($x16520 (not $x3057))) (let (($x8240 (b_S_set_n_in$ (b_S_ptr$ (b_S_array$ ?0 ?2) ?4) (b_S_domain$ ?5 ?3)))) (let (($x18630 (not $x8240))) (let (($x2704 (b_S_is_n_primitive$ ?0))) (let (($x8855 (not $x2704))) (let (($x8236 (b_S_full_n_stop$ ?5))) (let (($x18629 (not $x8236))) (let (($x18662 (or $x18629 $x8855 $x18630 $x16520 $x5403 $x18656))) (let (($x8291 (and (b_S_typed$ ?5 ?x8245) (not (b_S_ts_n_is_n_volatile$ (b_S_select_o_tm$ ?x7097 ?x8245)))))) (let (($x6757 (not $x5403))) (let (($x8270 (and $x8236 $x2704 $x8240 $x3057 $x6757))) (let (($x8275 (not $x8270))) (let (($x8304 (or $x8275 $x8291))) (let (($x18631 (or $x18629 $x8855 $x18630 $x16520 $x5403))) (let ((@x18637 (monotonicity (rewrite (= $x8270 (not $x18631))) (= $x8275 (not (not $x18631)))))) (let ((@x18661 (monotonicity (trans @x18637 (rewrite (= (not (not $x18631)) $x18631)) (= $x8275 $x18631)) (rewrite (= $x8291 $x18656)) (= $x8304 (or $x18631 $x18656))))) (let ((@x18669 (quant-intro (trans @x18661 (rewrite (= (or $x18631 $x18656) $x18662)) (= $x8304 $x18662)) (= $x8307 $x18667)))) (let (($x8296 (forall ((?v0 B_S_state$) (?v1 Int) (?v2 B_S_ptr$) (?v3 Int) (?v4 Int) (?v5 B_S_ctype$) )(! (let ((?x8245 (b_S_idx$ (b_S_ptr$ ?v5 ?v1) ?v4 ?v5))) (let ((?x7097 (b_S_typemap$ ?v0))) (let (($x8291 (and (b_S_typed$ ?v0 ?x8245) (not (b_S_ts_n_is_n_volatile$ (b_S_select_o_tm$ ?x7097 ?x8245)))))) (let (($x3027 (<= 0 ?v4))) (let (($x6740 (and $x3027 (< ?v4 ?v3)))) (let (($x8240 (b_S_set_n_in$ (b_S_ptr$ (b_S_array$ ?v5 ?v3) ?v1) (b_S_domain$ ?v0 ?v2)))) (let (($x2704 (b_S_is_n_primitive$ ?v5))) (let (($x8236 (b_S_full_n_stop$ ?v0))) (let (($x8243 (and $x8236 (and $x2704 (and $x8240 $x6740))))) (=> $x8243 $x8291)))))))))) :pattern ( (b_S_set_n_in$ (b_S_ptr$ (b_S_array$ ?v5 ?v3) ?v1) (b_S_domain$ ?v0 ?v2)) (b_S_select_o_tm$ (b_S_typemap$ ?v0) (b_S_idx$ (b_S_ptr$ ?v5 ?v1) ?v4 ?v5)) (b_S_is_n_primitive$ ?v5) ) :pattern ( (b_S_set_n_in$ (b_S_ptr$ (b_S_array$ ?v5 ?v3) ?v1) (b_S_domain$ ?v0 ?v2)) (b_S_owner$ ?v0 (b_S_idx$ (b_S_ptr$ ?v5 ?v1) ?v4 ?v5)) (b_S_is_n_primitive$ ?v5) ) :qid k!553)) )) (let (($x8301 (forall ((?v0 B_S_state$) (?v1 Int) (?v2 B_S_ptr$) (?v3 Int) (?v4 Int) (?v5 B_S_ctype$) )(! (let ((?x8245 (b_S_idx$ (b_S_ptr$ ?v5 ?v1) ?v4 ?v5))) (let ((?x7097 (b_S_typemap$ ?v0))) (let (($x8291 (and (b_S_typed$ ?v0 ?x8245) (not (b_S_ts_n_is_n_volatile$ (b_S_select_o_tm$ ?x7097 ?x8245)))))) (let (($x3027 (<= 0 ?v4))) (let (($x6740 (and $x3027 (< ?v4 ?v3)))) (let (($x8240 (b_S_set_n_in$ (b_S_ptr$ (b_S_array$ ?v5 ?v3) ?v1) (b_S_domain$ ?v0 ?v2)))) (let (($x2704 (b_S_is_n_primitive$ ?v5))) (let (($x8236 (b_S_full_n_stop$ ?v0))) (let (($x8243 (and $x8236 (and $x2704 (and $x8240 $x6740))))) (let (($x8254 (not $x8243))) (or $x8254 $x8291))))))))))) :pattern ( (b_S_set_n_in$ (b_S_ptr$ (b_S_array$ ?v5 ?v3) ?v1) (b_S_domain$ ?v0 ?v2)) (b_S_select_o_tm$ (b_S_typemap$ ?v0) (b_S_idx$ (b_S_ptr$ ?v5 ?v1) ?v4 ?v5)) (b_S_is_n_primitive$ ?v5) ) :pattern ( (b_S_set_n_in$ (b_S_ptr$ (b_S_array$ ?v5 ?v3) ?v1) (b_S_domain$ ?v0 ?v2)) (b_S_owner$ ?v0 (b_S_idx$ (b_S_ptr$ ?v5 ?v1) ?v4 ?v5)) (b_S_is_n_primitive$ ?v5) ) :qid k!553)) )) (let (($x8243 (and $x8236 (and $x2704 (and $x8240 (and (<= 0 ?1) (< ?1 ?2))))))) (let (($x8254 (not $x8243))) (let (($x8298 (or $x8254 $x8291))) (let ((@x8272 (rewrite (= (and $x8236 (and $x2704 (and $x8240 (and $x3057 $x6757)))) $x8270)))) (let (($x8265 (= (and $x2704 (and $x8240 (and (<= 0 ?1) (< ?1 ?2)))) (and $x2704 (and $x8240 (and $x3057 $x6757)))))) (let (($x8262 (= (and $x8240 (and (<= 0 ?1) (< ?1 ?2))) (and $x8240 (and $x3057 $x6757))))) (let ((@x3058 (rewrite (= (<= 0 ?1) $x3057)))) (let ((@x6762 (monotonicity @x3058 (rewrite (= (< ?1 ?2) $x6757)) (= (and (<= 0 ?1) (< ?1 ?2)) (and $x3057 $x6757))))) (let ((@x8269 (monotonicity (monotonicity (monotonicity @x6762 $x8262) $x8265) (= $x8243 (and $x8236 (and $x2704 (and $x8240 (and $x3057 $x6757)))))))) (let ((@x8306 (monotonicity (monotonicity (trans @x8269 @x8272 (= $x8243 $x8270)) (= $x8254 $x8275)) (= $x8298 $x8304)))) (let ((@x8311 (trans (quant-intro (rewrite (= (=> $x8243 $x8291) $x8298)) (= $x8296 $x8301)) (quant-intro @x8306 (= $x8301 $x8307)) (= $x8296 $x8307)))) (let ((@x14905 (mp~ (mp (asserted $x8296) @x8311 $x8307) (nnf-pos (refl (~ $x8304 $x8304)) (~ $x8307 $x8307)) $x8307))) (let ((@x18670 (mp @x14905 @x18669 $x18667))) (let (($x22597 (not $x22596))) (let (($x21489 (not $x9768))) (let (($x22629 (not $x18667))) (let (($x22732 (or $x22629 $x19677 $x21489 $x22597 $x11259 $x22604))) (let ((?x11246 (* (- 1) v_b_P_H_len$))) (let ((?x22600 (+ 0 ?x11246))) (let (($x22601 (>= ?x22600 0))) (let (($x22598 (>= 0 0))) (let (($x22599 (not $x22598))) (let (($x22605 (or $x19677 $x21489 $x22597 $x22599 $x22601 $x22604))) (let (($x22774 (or $x22629 $x22605))) (let (($x22742 (or $x19677 $x21489 $x22597 $x11259 $x22604))) (let ((@x22706 (trans (monotonicity (rewrite (= ?x22600 ?x11246)) (= $x22601 (>= ?x11246 0))) (rewrite (= (>= ?x11246 0) $x11259)) (= $x22601 $x11259)))) (let ((@x22711 (trans (monotonicity (rewrite (= $x22598 true)) (= $x22599 $x10203)) (rewrite (= $x10203 false)) (= $x22599 false)))) (let ((@x22741 (monotonicity @x22711 @x22706 (= $x22605 (or $x19677 $x21489 $x22597 false $x11259 $x22604))))) (let ((@x22731 (trans @x22741 (rewrite (= (or $x19677 $x21489 $x22597 false $x11259 $x22604) $x22742)) (= $x22605 $x22742)))) (let ((@x23093 (trans (monotonicity @x22731 (= $x22774 (or $x22629 $x22742))) (rewrite (= (or $x22629 $x22742) $x22732)) (= $x22774 $x22732)))) (let ((@x23490 (mp ((_ quant-inst v_b_S_s$ v_b_P_H_arr$ (b_S_ptr$ ?x10076 ?x21014) v_b_P_H_len$ 0 b_T_T_u1$) $x22774) @x23093 $x22732))) (let ((@x24453 (unit-resolution @x23490 @x18670 @x9769 @x12041 @x12050 (mp (unit-resolution @x22487 @x24112 $x22344) @x23502 $x22596) (hypothesis $x22603) false))) (let (($x20128 (or $x15502 $x15505 $x20125))) (let (($x20131 (not $x20128))) (let (($x20134 (or $x11221 $x20131))) (let (($x20137 (not $x20134))) (let (($x20140 (or $x11221 $x20137))) (let (($x19617 (forall ((?v0 Int) )(! (let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$)))) (let (($x10238 (= ?x10163 v_b_S_result_G_0$))) (let (($x11800 (>= (+ ?v0 (* (- 1) v_b_P_H_len$)) 0))) (let (($x12168 (<= ?v0 4294967295))) (let (($x16553 (not $x12168))) (let (($x2815 (>= ?v0 0))) (let (($x3763 (not $x2815))) (or $x3763 $x16553 $x11800 (not $x10238))))))))) :qid k!704)) )) (let (($x19602 (forall ((?v0 Int) )(! (let ((?x11816 (* (- 1) v_b_S_result_G_0$))) (let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$)))) (let (($x11818 (<= (+ ?x10163 ?x11816) 0))) (let (($x11800 (>= (+ ?v0 (* (- 1) v_b_P_H_len$)) 0))) (let (($x12168 (<= ?v0 4294967295))) (let (($x16553 (not $x12168))) (let (($x2815 (>= ?v0 0))) (let (($x3763 (not $x2815))) (or $x3763 $x16553 $x11800 $x11818))))))))) :qid k!704)) )) (let (($x19626 (not (or (not $x19602) (not $x19617))))) (let (($x19631 (or $x19580 $x19626))) (let (($x19643 (not (or $x15729 $x19474 $x19501 $x19637 $x19638 $x19639 $x19640 (not $x19631))))) (let (($x19648 (or $x15729 $x19643))) (let (($x19656 (not (or $x11487 $x19474 $x19501 (not $x19648))))) (let (($x19408 (forall ((?v0 Int) )(! (let ((?x11631 (* (- 1) v_b_L_H_max_G_3$))) (let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$)))) (let (($x11633 (<= (+ ?x10163 ?x11631) 0))) (let (($x11615 (>= (+ ?v0 (* (- 1) v_b_L_H_p_G_1$)) 0))) (let (($x12168 (<= ?v0 4294967295))) (let (($x16553 (not $x12168))) (let (($x2815 (>= ?v0 0))) (let (($x3763 (not $x2815))) (or $x3763 $x16553 $x11615 $x11633))))))))) :qid k!704)) )) (let (($x19428 (not (or (not $x19408) $x19413)))) (let (($x19433 (or $x19386 $x19428))) (let (($x19441 (not (or $x11612 (not $x19433))))) (let (($x19446 (or $x11612 $x19441))) (let (($x19458 (not (or $x15611 $x15614 $x19452 $x19453 $x19454 $x19455 (not $x19446))))) (let (($x19463 (or $x15611 $x15614 $x19458))) (let (($x19475 (not $x19463))) (let (($x19515 (not (or $x11515 $x19501 $x19512 $x19513 $x19474 $x19455 $x19475)))) (let (($x19477 (not (or $x15590 $x15599 $x19469 $x19470 $x19471 $x19472 $x19473 $x19474 $x19455 $x19475)))) (let (($x19482 (or $x15590 $x15599 $x19477))) (let (($x19490 (not (or $x15590 $x15593 (not $x19482))))) (let (($x19495 (or $x15590 $x15593 $x19490))) (let (($x19504 (not (or $x11516 $x19474 $x19501 (not $x19495))))) (let (($x19520 (or $x19504 $x19515))) (let (($x19528 (not (or $x15590 $x15599 $x19474 $x19501 (not $x19520))))) (let (($x19533 (or $x15590 $x15599 $x19528))) (let (($x19541 (not (or $x15590 $x15593 (not $x19533))))) (let (($x19546 (or $x15590 $x15593 $x19541))) (let (($x19554 (not (or $x11486 $x19474 $x19501 (not $x19546))))) (let (($x19661 (or $x19554 $x19656))) (let (($x19362 (forall ((?v0 Int) )(! (let ((?x11887 (* (- 1) v_b_L_H_max_G_1$))) (let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$)))) (let (($x11889 (<= (+ ?x10163 ?x11887) 0))) (let (($x11871 (>= (+ ?v0 (* (- 1) v_b_L_H_p_G_0$)) 0))) (let (($x12168 (<= ?v0 4294967295))) (let (($x16553 (not $x12168))) (let (($x2815 (>= ?v0 0))) (let (($x3763 (not $x2815))) (or $x3763 $x16553 $x11871 $x11889))))))))) :qid k!704)) )) (let (($x19685 (or $x11259 $x15548 $x19667 $x19668 $x19669 $x19670 $x19671 $x19672 (not $x19362) $x11867 $x19674 $x19675 $x19676 $x19677 $x19678 $x19679 $x19680 $x19681 $x19682 $x19683 $x19474 $x19501 (not $x19661)))) (let (($x19686 (not $x19685))) (let (($x19691 (or $x11259 $x15548 $x19686))) (let (($x19340 (forall ((?v0 Int) )(! (let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$)))) (let (($x11404 (>= (+ v_b_L_H_max_G_0$ (* (- 1) ?x10163)) 0))) (let (($x11388 (>= ?v0 1))) (let (($x12168 (<= ?v0 4294967295))) (let (($x16553 (not $x12168))) (let (($x2815 (>= ?v0 0))) (let (($x3763 (not $x2815))) (or $x3763 $x16553 $x11388 $x11404)))))))) :qid k!704)) )) (let (($x19700 (not (or (not $x19340) (not $x19691))))) (let (($x19705 (or $x19318 $x19700))) (let (($x19713 (not (or $x11385 (not $x19705))))) (let (($x19718 (or $x11385 $x19713))) (let (($x19730 (not (or $x15502 $x15511 $x19724 $x19725 $x19726 $x19727 (not $x19718))))) (let (($x19735 (or $x15502 $x15511 $x19730))) (let (($x19743 (not (or $x15502 $x15505 (not $x19735))))) (let (($x19748 (or $x15502 $x15505 $x19743))) (let (($x19756 (not (or $x11221 (not $x19748))))) (let (($x19761 (or $x11221 $x19756))) (let (($x12168 (<= ?0 4294967295))) (let (($x16553 (not $x12168))) (let (($x3763 (not $x2815))) (let (($x19606 (or $x3763 $x16553 $x11800 (not $x10238)))) (let ((@x20037 (monotonicity (quant-intro (refl (= $x19606 $x19606)) (= $x19617 $x20030)) (= (not $x19617) $x20035)))) (let ((@x20026 (quant-intro (refl (= (or $x3763 $x16553 $x11800 $x11818) (or $x3763 $x16553 $x11800 $x11818))) (= $x19602 $x20022)))) (let ((@x20040 (monotonicity (monotonicity @x20026 (= (not $x19602) $x20027)) @x20037 (= (or (not $x19602) (not $x19617)) $x20038)))) (let ((@x20049 (monotonicity (monotonicity (monotonicity @x20040 (= $x19626 $x20041)) (= $x19631 $x20044)) (= (not $x19631) $x20047)))) (let ((@x20052 (monotonicity @x20049 (= (or $x15729 $x19474 $x19501 $x19637 $x19638 $x19639 $x19640 (not $x19631)) $x20050)))) (let ((@x20061 (monotonicity (monotonicity (monotonicity @x20052 (= $x19643 $x20053)) (= $x19648 $x20056)) (= (not $x19648) $x20059)))) (let ((@x20067 (monotonicity (monotonicity @x20061 (= (or $x11487 $x19474 $x19501 (not $x19648)) $x20062)) (= $x19656 $x20065)))) (let ((@x19910 (quant-intro (refl (= (or $x3763 $x16553 $x11615 $x11633) (or $x3763 $x16553 $x11615 $x11633))) (= $x19408 $x19906)))) (let ((@x19916 (monotonicity (monotonicity @x19910 (= (not $x19408) $x19911)) (= (or (not $x19408) $x19413) $x19914)))) (let ((@x19925 (monotonicity (monotonicity (monotonicity @x19916 (= $x19428 $x19917)) (= $x19433 $x19920)) (= (not $x19433) $x19923)))) (let ((@x19931 (monotonicity (monotonicity @x19925 (= (or $x11612 (not $x19433)) $x19926)) (= $x19441 $x19929)))) (let ((@x19937 (monotonicity (monotonicity @x19931 (= $x19446 $x19932)) (= (not $x19446) $x19935)))) (let ((@x19940 (monotonicity @x19937 (= (or $x15611 $x15614 $x19452 $x19453 $x19454 $x19455 (not $x19446)) $x19938)))) (let ((@x19949 (monotonicity (monotonicity (monotonicity @x19940 (= $x19458 $x19941)) (= $x19463 $x19944)) (= $x19475 $x19947)))) (let ((@x19982 (monotonicity @x19949 (= (or $x11515 $x19501 $x19512 $x19513 $x19474 $x19455 $x19475) $x19980)))) (let ((@x19952 (monotonicity @x19949 (= (or $x15590 $x15599 $x19469 $x19470 $x19471 $x19472 $x19473 $x19474 $x19455 $x19475) $x19950)))) (let ((@x19961 (monotonicity (monotonicity (monotonicity @x19952 (= $x19477 $x19953)) (= $x19482 $x19956)) (= (not $x19482) $x19959)))) (let ((@x19967 (monotonicity (monotonicity @x19961 (= (or $x15590 $x15593 (not $x19482)) $x19962)) (= $x19490 $x19965)))) (let ((@x19973 (monotonicity (monotonicity @x19967 (= $x19495 $x19968)) (= (not $x19495) $x19971)))) (let ((@x19979 (monotonicity (monotonicity @x19973 (= (or $x11516 $x19474 $x19501 (not $x19495)) $x19974)) (= $x19504 $x19977)))) (let ((@x19988 (monotonicity @x19979 (monotonicity @x19982 (= $x19515 $x19983)) (= $x19520 $x19986)))) (let ((@x19994 (monotonicity (monotonicity @x19988 (= (not $x19520) $x19989)) (= (or $x15590 $x15599 $x19474 $x19501 (not $x19520)) $x19992)))) (let ((@x20003 (monotonicity (monotonicity (monotonicity @x19994 (= $x19528 $x19995)) (= $x19533 $x19998)) (= (not $x19533) $x20001)))) (let ((@x20009 (monotonicity (monotonicity @x20003 (= (or $x15590 $x15593 (not $x19533)) $x20004)) (= $x19541 $x20007)))) (let ((@x20015 (monotonicity (monotonicity @x20009 (= $x19546 $x20010)) (= (not $x19546) $x20013)))) (let ((@x20021 (monotonicity (monotonicity @x20015 (= (or $x11486 $x19474 $x19501 (not $x19546)) $x20016)) (= $x19554 $x20019)))) (let ((@x20073 (monotonicity (monotonicity @x20021 @x20067 (= $x19661 $x20068)) (= (not $x19661) $x20071)))) (let ((@x19902 (quant-intro (refl (= (or $x3763 $x16553 $x11871 $x11889) (or $x3763 $x16553 $x11871 $x11889))) (= $x19362 $x19898)))) (let ((@x20076 (monotonicity (monotonicity @x19902 (= (not $x19362) $x19903)) @x20073 (= $x19685 $x20074)))) (let ((@x20085 (monotonicity (monotonicity (monotonicity @x20076 (= $x19686 $x20077)) (= $x19691 $x20080)) (= (not $x19691) $x20083)))) (let ((@x19894 (quant-intro (refl (= (or $x3763 $x16553 $x11388 $x11404) (or $x3763 $x16553 $x11388 $x11404))) (= $x19340 $x19890)))) (let ((@x20088 (monotonicity (monotonicity @x19894 (= (not $x19340) $x19895)) @x20085 (= (or (not $x19340) (not $x19691)) $x20086)))) (let ((@x20097 (monotonicity (monotonicity (monotonicity @x20088 (= $x19700 $x20089)) (= $x19705 $x20092)) (= (not $x19705) $x20095)))) (let ((@x20103 (monotonicity (monotonicity @x20097 (= (or $x11385 (not $x19705)) $x20098)) (= $x19713 $x20101)))) (let ((@x20109 (monotonicity (monotonicity @x20103 (= $x19718 $x20104)) (= (not $x19718) $x20107)))) (let ((@x20112 (monotonicity @x20109 (= (or $x15502 $x15511 $x19724 $x19725 $x19726 $x19727 (not $x19718)) $x20110)))) (let ((@x20121 (monotonicity (monotonicity (monotonicity @x20112 (= $x19730 $x20113)) (= $x19735 $x20116)) (= (not $x19735) $x20119)))) (let ((@x20127 (monotonicity (monotonicity @x20121 (= (or $x15502 $x15505 (not $x19735)) $x20122)) (= $x19743 $x20125)))) (let ((@x20133 (monotonicity (monotonicity @x20127 (= $x19748 $x20128)) (= (not $x19748) $x20131)))) (let ((@x20139 (monotonicity (monotonicity @x20133 (= (or $x11221 (not $x19748)) $x20134)) (= $x19756 $x20137)))) (let (($x15761 (forall ((?v0 Int) )(! (let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$)))) (let (($x10238 (= ?x10163 v_b_S_result_G_0$))) (let (($x11800 (>= (+ ?v0 (* (- 1) v_b_P_H_len$)) 0))) (let (($x11802 (not $x11800))) (let (($x12168 (<= ?v0 4294967295))) (let (($x2815 (>= ?v0 0))) (let (($x13448 (and $x2815 $x12168 $x11802 $x10238))) (not $x13448)))))))) :qid k!704)) )) (let (($x13442 (forall ((?v0 Int) )(! (let ((?x11816 (* (- 1) v_b_S_result_G_0$))) (let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$)))) (let (($x11818 (<= (+ ?x10163 ?x11816) 0))) (let (($x11800 (>= (+ ?v0 (* (- 1) v_b_P_H_len$)) 0))) (let (($x11802 (not $x11800))) (let (($x12168 (<= ?v0 4294967295))) (let (($x2815 (>= ?v0 0))) (let (($x13433 (and $x2815 $x12168 $x11802))) (let (($x13436 (not $x13433))) (or $x13436 $x11818)))))))))) :qid k!704)) )) (let (($x15765 (and $x13442 $x15761))) (let (($x16014 (not $x16009))) (let (($x16017 (and $x15736 $x15737 $x16014))) (let (($x16020 (not $x16017))) (let (($x16036 (or $x16020 $x16031))) (let (($x16039 (not $x16036))) (let (($x16042 (or $x16039 $x15765))) (let (($x16048 (and b_S_position_n_marker$ $x11429 $x11432 $x10216 $x10218 $x10220 $x10222 $x16042))) (let (($x16053 (or $x15729 $x16048))) (let (($x16059 (and $x11486 $x11429 $x11432 $x16053))) (let (($x15648 (not $x11651))) (let (($x13373 (forall ((?v0 Int) )(! (let ((?x11631 (* (- 1) v_b_L_H_max_G_3$))) (let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$)))) (let (($x11633 (<= (+ ?x10163 ?x11631) 0))) (let (($x11615 (>= (+ ?v0 (* (- 1) v_b_L_H_p_G_1$)) 0))) (let (($x11617 (not $x11615))) (let (($x12168 (<= ?v0 4294967295))) (let (($x2815 (>= ?v0 0))) (let (($x13364 (and $x2815 $x12168 $x11617))) (let (($x13367 (not $x13364))) (or $x13367 $x11633)))))))))) :qid k!704)) )) (let (($x15651 (and $x13373 $x15648))) (let (($x15876 (not $x15871))) (let (($x15879 (and $x15626 $x15627 $x15876))) (let (($x15882 (not $x15879))) (let (($x15898 (or $x15882 $x15893))) (let (($x15901 (not $x15898))) (let (($x15904 (or $x15901 $x15651))) (let (($x15907 (and $x11608 $x15904))) (let (($x15910 (or $x11612 $x15907))) (let (($x15916 (and $x11570 $x13353 $x11580 $x10358 $x11578 $x11536 $x15910))) (let (($x15921 (or $x15611 $x15614 $x15916))) (let (($x15959 (and $x11516 $x11432 $x10391 $x10392 $x11429 $x11536 $x15921))) (let (($x15927 (and $x10321 $x10324 $x10333 $x10334 $x10335 $x10338 $x10340 $x11429 $x11536 $x15921))) (let (($x15932 (or $x15590 $x15599 $x15927))) (let (($x15938 (and $x10321 $x10322 $x15932))) (let (($x15943 (or $x15590 $x15593 $x15938))) (let (($x15949 (and $x11515 $x11429 $x11432 $x15943))) (let (($x15964 (or $x15949 $x15959))) (let (($x15970 (and $x10321 $x10324 $x11429 $x11432 $x15964))) (let (($x15975 (or $x15590 $x15599 $x15970))) (let (($x15981 (and $x10321 $x10322 $x15975))) (let (($x15986 (or $x15590 $x15593 $x15981))) (let (($x15992 (and $x11487 $x11429 $x11432 $x15986))) (let (($x16064 (or $x15992 $x16059))) (let (($x13340 (forall ((?v0 Int) )(! (let ((?x11887 (* (- 1) v_b_L_H_max_G_1$))) (let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$)))) (let (($x11889 (<= (+ ?x10163 ?x11887) 0))) (let (($x11871 (>= (+ ?v0 (* (- 1) v_b_L_H_p_G_0$)) 0))) (let (($x11873 (not $x11871))) (let (($x12168 (<= ?v0 4294967295))) (let (($x2815 (>= ?v0 0))) (let (($x13331 (and $x2815 $x12168 $x11873))) (let (($x13334 (not $x13331))) (or $x13334 $x11889)))))))))) :qid k!704)) )) (let (($x16070 (and $x11260 $x10167 $x11911 $x13304 $x13315 $x11901 $x13326 $x11898 $x13340 $x11868 $x10192 $x10284 $x10204 $x10097 $x10291 $x10292 $x10293 $x10294 $x10295 $x10296 $x11429 $x11432 $x16064))) (let (($x16075 (or $x11259 $x15548 $x16070))) (let (($x13292 (forall ((?v0 Int) )(! (let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$)))) (let (($x11404 (>= (+ v_b_L_H_max_G_0$ (* (- 1) ?x10163)) 0))) (let (($x11388 (>= ?v0 1))) (let (($x11389 (not $x11388))) (let (($x12168 (<= ?v0 4294967295))) (let (($x2815 (>= ?v0 0))) (let (($x13283 (and $x2815 $x12168 $x11389))) (let (($x13286 (not $x13283))) (or $x13286 $x11404))))))))) :qid k!704)) )) (let (($x16078 (and $x13292 $x16075))) (let (($x15528 (not (and $x15523 $x15524 (not $x15525))))) (let (($x15534 (or $x15528 $x15533))) (let (($x15535 (not $x15534))) (let (($x16081 (or $x15535 $x16078))) (let (($x16084 (and $x11382 $x16081))) (let (($x16087 (or $x11385 $x16084))) (let (($x16093 (and $x10138 $x10141 $x10145 $x10146 $x10147 $x10148 $x16087))) (let (($x16098 (or $x15502 $x15511 $x16093))) (let (($x16104 (and $x10138 $x10139 $x16098))) (let (($x16109 (or $x15502 $x15505 $x16104))) (let (($x16112 (and $x10136 $x16109))) (let (($x16115 (or $x11221 $x16112))) (let (($x19664 (and $x11260 $x10167 $x11911 $x13304 $x13315 $x11901 $x13326 $x11898 $x19362 $x11868 $x10192 $x10284 $x10204 $x10097 $x10291 $x10292 $x10293 $x10294 $x10295 $x10296 $x11429 $x11432 $x19661))) (let (($x19644 (= (and b_S_position_n_marker$ $x11429 $x11432 $x10216 $x10218 $x10220 $x10222 $x19631) $x19643))) (let (($x19635 (= $x16048 (and b_S_position_n_marker$ $x11429 $x11432 $x10216 $x10218 $x10220 $x10222 $x19631)))) (let ((@x19612 (monotonicity (rewrite (= (and $x2815 $x12168 $x11802 $x10238) (not $x19606))) (= (not (and $x2815 $x12168 $x11802 $x10238)) (not (not $x19606)))))) (let ((@x19616 (trans @x19612 (rewrite (= (not (not $x19606)) $x19606)) (= (not (and $x2815 $x12168 $x11802 $x10238)) $x19606)))) (let ((@x19599 (rewrite (= (or (or $x3763 $x16553 $x11800) $x11818) (or $x3763 $x16553 $x11800 $x11818))))) (let (($x13433 (and $x2815 $x12168 $x11802))) (let (($x13436 (not $x13433))) (let (($x13439 (or $x13436 $x11818))) (let ((@x19589 (monotonicity (rewrite (= $x13433 (not (or $x3763 $x16553 $x11800)))) (= $x13436 (not (not (or $x3763 $x16553 $x11800))))))) (let ((@x19593 (trans @x19589 (rewrite (= (not (not (or $x3763 $x16553 $x11800))) (or $x3763 $x16553 $x11800))) (= $x13436 (or $x3763 $x16553 $x11800))))) (let ((@x19601 (trans (monotonicity @x19593 (= $x13439 (or (or $x3763 $x16553 $x11800) $x11818))) @x19599 (= $x13439 (or $x3763 $x16553 $x11800 $x11818))))) (let ((@x19622 (monotonicity (quant-intro @x19601 (= $x13442 $x19602)) (quant-intro @x19616 (= $x15761 $x19617)) (= $x15765 (and $x19602 $x19617))))) (let ((@x19567 (monotonicity (rewrite (= $x16017 (not (or $x19559 $x19560 $x16009)))) (= $x16020 (not (not (or $x19559 $x19560 $x16009))))))) (let ((@x19571 (trans @x19567 (rewrite (= (not (not (or $x19559 $x19560 $x16009))) (or $x19559 $x19560 $x16009))) (= $x16020 (or $x19559 $x19560 $x16009))))) (let ((@x19579 (trans (monotonicity @x19571 (= $x16036 (or (or $x19559 $x19560 $x16009) $x16031))) (rewrite (= (or (or $x19559 $x19560 $x16009) $x16031) $x19575)) (= $x16036 $x19575)))) (let ((@x19633 (monotonicity (monotonicity @x19579 (= $x16039 $x19580)) (trans @x19622 (rewrite (= (and $x19602 $x19617) $x19626)) (= $x15765 $x19626)) (= $x16042 $x19631)))) (let ((@x19650 (monotonicity (trans (monotonicity @x19633 $x19635) (rewrite $x19644) (= $x16048 $x19643)) (= $x16053 $x19648)))) (let ((@x19660 (trans (monotonicity @x19650 (= $x16059 (and $x11486 $x11429 $x11432 $x19648))) (rewrite (= (and $x11486 $x11429 $x11432 $x19648) $x19656)) (= $x16059 $x19656)))) (let ((@x19422 (trans (monotonicity (rewrite (= $x11651 $x19413)) (= $x15648 (not $x19413))) (rewrite (= (not $x19413) $x19412)) (= $x15648 $x19412)))) (let ((@x19405 (rewrite (= (or (or $x3763 $x16553 $x11615) $x11633) (or $x3763 $x16553 $x11615 $x11633))))) (let (($x13364 (and $x2815 $x12168 $x11617))) (let (($x13367 (not $x13364))) (let (($x13370 (or $x13367 $x11633))) (let ((@x19395 (monotonicity (rewrite (= $x13364 (not (or $x3763 $x16553 $x11615)))) (= $x13367 (not (not (or $x3763 $x16553 $x11615))))))) (let ((@x19399 (trans @x19395 (rewrite (= (not (not (or $x3763 $x16553 $x11615))) (or $x3763 $x16553 $x11615))) (= $x13367 (or $x3763 $x16553 $x11615))))) (let ((@x19407 (trans (monotonicity @x19399 (= $x13370 (or (or $x3763 $x16553 $x11615) $x11633))) @x19405 (= $x13370 (or $x3763 $x16553 $x11615 $x11633))))) (let ((@x19425 (monotonicity (quant-intro @x19407 (= $x13373 $x19408)) @x19422 (= $x15651 (and $x19408 $x19412))))) (let ((@x19373 (monotonicity (rewrite (= $x15879 (not (or $x19365 $x19366 $x15871)))) (= $x15882 (not (not (or $x19365 $x19366 $x15871))))))) (let ((@x19377 (trans @x19373 (rewrite (= (not (not (or $x19365 $x19366 $x15871))) (or $x19365 $x19366 $x15871))) (= $x15882 (or $x19365 $x19366 $x15871))))) (let ((@x19385 (trans (monotonicity @x19377 (= $x15898 (or (or $x19365 $x19366 $x15871) $x15893))) (rewrite (= (or (or $x19365 $x19366 $x15871) $x15893) $x19381)) (= $x15898 $x19381)))) (let ((@x19435 (monotonicity (monotonicity @x19385 (= $x15901 $x19386)) (trans @x19425 (rewrite (= (and $x19408 $x19412) $x19428)) (= $x15651 $x19428)) (= $x15904 $x19433)))) (let ((@x19445 (trans (monotonicity @x19435 (= $x15907 (and $x11608 $x19433))) (rewrite (= (and $x11608 $x19433) $x19441)) (= $x15907 $x19441)))) (let ((@x19451 (monotonicity (monotonicity @x19445 (= $x15910 $x19446)) (= $x15916 (and $x11570 $x13353 $x11580 $x10358 $x11578 $x11536 $x19446))))) (let ((@x19462 (trans @x19451 (rewrite (= (and $x11570 $x13353 $x11580 $x10358 $x11578 $x11536 $x19446) $x19458)) (= $x15916 $x19458)))) (let ((@x19511 (monotonicity (monotonicity @x19462 (= $x15921 $x19463)) (= $x15959 (and $x11516 $x11432 $x10391 $x10392 $x11429 $x11536 $x19463))))) (let ((@x19519 (trans @x19511 (rewrite (= (and $x11516 $x11432 $x10391 $x10392 $x11429 $x11536 $x19463) $x19515)) (= $x15959 $x19515)))) (let ((@x19479 (rewrite (= (and $x10321 $x10324 $x10333 $x10334 $x10335 $x10338 $x10340 $x11429 $x11536 $x19463) $x19477)))) (let ((@x19468 (monotonicity (monotonicity @x19462 (= $x15921 $x19463)) (= $x15927 (and $x10321 $x10324 $x10333 $x10334 $x10335 $x10338 $x10340 $x11429 $x11536 $x19463))))) (let ((@x19487 (monotonicity (monotonicity (trans @x19468 @x19479 (= $x15927 $x19477)) (= $x15932 $x19482)) (= $x15938 (and $x10321 $x10322 $x19482))))) (let ((@x19494 (trans @x19487 (rewrite (= (and $x10321 $x10322 $x19482) $x19490)) (= $x15938 $x19490)))) (let ((@x19500 (monotonicity (monotonicity @x19494 (= $x15943 $x19495)) (= $x15949 (and $x11515 $x11429 $x11432 $x19495))))) (let ((@x19508 (trans @x19500 (rewrite (= (and $x11515 $x11429 $x11432 $x19495) $x19504)) (= $x15949 $x19504)))) (let ((@x19525 (monotonicity (monotonicity @x19508 @x19519 (= $x15964 $x19520)) (= $x15970 (and $x10321 $x10324 $x11429 $x11432 $x19520))))) (let ((@x19532 (trans @x19525 (rewrite (= (and $x10321 $x10324 $x11429 $x11432 $x19520) $x19528)) (= $x15970 $x19528)))) (let ((@x19538 (monotonicity (monotonicity @x19532 (= $x15975 $x19533)) (= $x15981 (and $x10321 $x10322 $x19533))))) (let ((@x19545 (trans @x19538 (rewrite (= (and $x10321 $x10322 $x19533) $x19541)) (= $x15981 $x19541)))) (let ((@x19551 (monotonicity (monotonicity @x19545 (= $x15986 $x19546)) (= $x15992 (and $x11487 $x11429 $x11432 $x19546))))) (let ((@x19558 (trans @x19551 (rewrite (= (and $x11487 $x11429 $x11432 $x19546) $x19554)) (= $x15992 $x19554)))) (let ((@x19359 (rewrite (= (or (or $x3763 $x16553 $x11871) $x11889) (or $x3763 $x16553 $x11871 $x11889))))) (let (($x13331 (and $x2815 $x12168 $x11873))) (let (($x13334 (not $x13331))) (let (($x13337 (or $x13334 $x11889))) (let ((@x19349 (monotonicity (rewrite (= $x13331 (not (or $x3763 $x16553 $x11871)))) (= $x13334 (not (not (or $x3763 $x16553 $x11871))))))) (let ((@x19353 (trans @x19349 (rewrite (= (not (not (or $x3763 $x16553 $x11871))) (or $x3763 $x16553 $x11871))) (= $x13334 (or $x3763 $x16553 $x11871))))) (let ((@x19361 (trans (monotonicity @x19353 (= $x13337 (or (or $x3763 $x16553 $x11871) $x11889))) @x19359 (= $x13337 (or $x3763 $x16553 $x11871 $x11889))))) (let ((@x19666 (monotonicity (quant-intro @x19361 (= $x13340 $x19362)) (monotonicity @x19558 @x19660 (= $x16064 $x19661)) (= $x16070 $x19664)))) (let ((@x19693 (monotonicity (trans @x19666 (rewrite (= $x19664 $x19686)) (= $x16070 $x19686)) (= $x16075 $x19691)))) (let ((@x19337 (rewrite (= (or (or $x3763 $x16553 $x11388) $x11404) (or $x3763 $x16553 $x11388 $x11404))))) (let (($x13283 (and $x2815 $x12168 $x11389))) (let (($x13286 (not $x13283))) (let (($x13289 (or $x13286 $x11404))) (let ((@x19327 (monotonicity (rewrite (= $x13283 (not (or $x3763 $x16553 $x11388)))) (= $x13286 (not (not (or $x3763 $x16553 $x11388))))))) (let ((@x19331 (trans @x19327 (rewrite (= (not (not (or $x3763 $x16553 $x11388))) (or $x3763 $x16553 $x11388))) (= $x13286 (or $x3763 $x16553 $x11388))))) (let ((@x19339 (trans (monotonicity @x19331 (= $x13289 (or (or $x3763 $x16553 $x11388) $x11404))) @x19337 (= $x13289 (or $x3763 $x16553 $x11388 $x11404))))) (let ((@x19696 (monotonicity (quant-intro @x19339 (= $x13292 $x19340)) @x19693 (= $x16078 (and $x19340 $x19691))))) (let ((@x19305 (monotonicity (rewrite (= (and $x15523 $x15524 (not $x15525)) (not (or $x19297 $x19298 $x15525)))) (= $x15528 (not (not (or $x19297 $x19298 $x15525))))))) (let ((@x19309 (trans @x19305 (rewrite (= (not (not (or $x19297 $x19298 $x15525))) (or $x19297 $x19298 $x15525))) (= $x15528 (or $x19297 $x19298 $x15525))))) (let ((@x19317 (trans (monotonicity @x19309 (= $x15534 (or (or $x19297 $x19298 $x15525) $x15533))) (rewrite (= (or (or $x19297 $x19298 $x15525) $x15533) $x19313)) (= $x15534 $x19313)))) (let ((@x19707 (monotonicity (monotonicity @x19317 (= $x15535 $x19318)) (trans @x19696 (rewrite (= (and $x19340 $x19691) $x19700)) (= $x16078 $x19700)) (= $x16081 $x19705)))) (let ((@x19717 (trans (monotonicity @x19707 (= $x16084 (and $x11382 $x19705))) (rewrite (= (and $x11382 $x19705) $x19713)) (= $x16084 $x19713)))) (let ((@x19723 (monotonicity (monotonicity @x19717 (= $x16087 $x19718)) (= $x16093 (and $x10138 $x10141 $x10145 $x10146 $x10147 $x10148 $x19718))))) (let ((@x19734 (trans @x19723 (rewrite (= (and $x10138 $x10141 $x10145 $x10146 $x10147 $x10148 $x19718) $x19730)) (= $x16093 $x19730)))) (let ((@x19740 (monotonicity (monotonicity @x19734 (= $x16098 $x19735)) (= $x16104 (and $x10138 $x10139 $x19735))))) (let ((@x19747 (trans @x19740 (rewrite (= (and $x10138 $x10139 $x19735) $x19743)) (= $x16104 $x19743)))) (let ((@x19753 (monotonicity (monotonicity @x19747 (= $x16109 $x19748)) (= $x16112 (and $x10136 $x19748))))) (let ((@x19763 (monotonicity (trans @x19753 (rewrite (= (and $x10136 $x19748) $x19756)) (= $x16112 $x19756)) (= $x16115 $x19761)))) (let (($x15746 (<= (+ ?x15744 (* (- 1) v_b_S_result_G_0$)) 0))) (let (($x15748 (not (or (not (and $x15736 $x15737 (not (>= (+ ?v0!15 ?x11246) 0)))) $x15746)))) (let (($x15769 (or $x15748 $x15765))) (let (($x15732 (not $x11797))) (let (($x15773 (and $x15732 $x15769))) (let (($x15777 (or $x15729 $x15773))) (let (($x15726 (not $x11777))) (let (($x15781 (and $x15726 $x15777))) (let (($x15636 (<= (+ ?x15634 (* (- 1) v_b_L_H_max_G_3$)) 0))) (let (($x15638 (not (or (not (and $x15626 $x15627 (not (>= (+ ?v0!14 ?x11581) 0)))) $x15636)))) (let (($x15655 (or $x15638 $x15651))) (let (($x15622 (not $x11612))) (let (($x15659 (and $x15622 $x15655))) (let (($x15663 (or $x11612 $x15659))) (let (($x13358 (and $x11570 $x13353 $x11580 $x10358 $x11578 $x11536))) (let (($x13361 (not $x13358))) (let (($x15617 (not $x13361))) (let (($x15667 (and $x15617 $x15663))) (let (($x15671 (or $x15611 $x15614 $x15667))) (let (($x15695 (not $x11730))) (let (($x15698 (and $x15695 $x15671))) (let (($x15608 (not $x11567))) (let (($x15675 (and $x15608 $x15671))) (let (($x15679 (or $x15590 $x15599 $x15675))) (let (($x15596 (not $x11001))) (let (($x15683 (and $x15596 $x15679))) (let (($x15687 (or $x15590 $x15593 $x15683))) (let (($x15605 (not $x11532))) (let (($x15691 (and $x15605 $x15687))) (let (($x15702 (or $x15691 $x15698))) (let (($x15602 (not $x11512))) (let (($x15706 (and $x15602 $x15702))) (let (($x15710 (or $x15590 $x15599 $x15706))) (let (($x15714 (and $x15596 $x15710))) (let (($x15718 (or $x15590 $x15593 $x15714))) (let (($x15587 (not $x11501))) (let (($x15722 (and $x15587 $x15718))) (let (($x15785 (or $x15722 $x15781))) (let (($x15584 (not $x11481))) (let (($x13343 (and $x11260 $x10167 $x11911 $x13304 $x13315 $x11901 $x13326 $x11898 $x13340 $x11868 $x10192 $x11429 $x11432))) (let (($x15789 (and $x13343 $x15584 $x15785))) (let (($x15545 (not $x11260))) (let (($x15793 (or $x15545 $x15548 $x15789))) (let (($x15797 (and $x13292 $x15793))) (let (($x15801 (or $x15535 $x15797))) (let (($x15519 (not $x11385))) (let (($x15805 (and $x15519 $x15801))) (let (($x15809 (or $x11385 $x15805))) (let (($x15514 (not $x11379))) (let (($x15813 (and $x15514 $x15809))) (let (($x15817 (or $x15502 $x15511 $x15813))) (let (($x15508 (not $x11209))) (let (($x15821 (and $x15508 $x15817))) (let (($x15825 (or $x15502 $x15505 $x15821))) (let (($x15499 (not $x11221))) (let (($x15829 (and $x15499 $x15825))) (let (($x15833 (or $x11221 $x15829))) (let (($x16037 (= (or (not (and $x15736 $x15737 (not (>= (+ ?v0!15 ?x11246) 0)))) $x15746) $x16036))) (let (($x16024 (= (+ ?x15744 (* (- 1) v_b_S_result_G_0$)) (+ (* (- 1) v_b_S_result_G_0$) ?x15744)))) (let ((@x16028 (monotonicity (rewrite $x16024) (= $x15746 (<= (+ (* (- 1) v_b_S_result_G_0$) ?x15744) 0))))) (let ((@x16035 (trans @x16028 (rewrite (= (<= (+ (* (- 1) v_b_S_result_G_0$) ?x15744) 0) $x16031)) (= $x15746 $x16031)))) (let ((@x16006 (monotonicity (rewrite (= (+ ?v0!15 ?x11246) (+ ?x11246 ?v0!15))) (= (>= (+ ?v0!15 ?x11246) 0) (>= (+ ?x11246 ?v0!15) 0))))) (let ((@x16013 (trans @x16006 (rewrite (= (>= (+ ?x11246 ?v0!15) 0) $x16009)) (= (>= (+ ?v0!15 ?x11246) 0) $x16009)))) (let ((@x16019 (monotonicity (monotonicity @x16013 (= (not (>= (+ ?v0!15 ?x11246) 0)) $x16014)) (= (and $x15736 $x15737 (not (>= (+ ?v0!15 ?x11246) 0))) $x16017)))) (let ((@x16022 (monotonicity @x16019 (= (not (and $x15736 $x15737 (not (>= (+ ?v0!15 ?x11246) 0)))) $x16020)))) (let ((@x16044 (monotonicity (monotonicity (monotonicity @x16022 @x16035 $x16037) (= $x15748 $x16039)) (= $x15769 $x16042)))) (let ((@x16047 (monotonicity (rewrite (= $x15732 $x11792)) @x16044 (= $x15773 (and $x11792 $x16042))))) (let ((@x16055 (monotonicity (trans @x16047 (rewrite (= (and $x11792 $x16042) $x16048)) (= $x15773 $x16048)) (= $x15777 $x16053)))) (let ((@x16058 (monotonicity (rewrite (= $x15726 $x11772)) @x16055 (= $x15781 (and $x11772 $x16053))))) (let (($x15899 (= (or (not (and $x15626 $x15627 (not (>= (+ ?v0!14 ?x11581) 0)))) $x15636) $x15898))) (let (($x15886 (= (+ ?x15634 (* (- 1) v_b_L_H_max_G_3$)) (+ (* (- 1) v_b_L_H_max_G_3$) ?x15634)))) (let ((@x15890 (monotonicity (rewrite $x15886) (= $x15636 (<= (+ (* (- 1) v_b_L_H_max_G_3$) ?x15634) 0))))) (let ((@x15897 (trans @x15890 (rewrite (= (<= (+ (* (- 1) v_b_L_H_max_G_3$) ?x15634) 0) $x15893)) (= $x15636 $x15893)))) (let ((@x15868 (monotonicity (rewrite (= (+ ?v0!14 ?x11581) (+ ?x11581 ?v0!14))) (= (>= (+ ?v0!14 ?x11581) 0) (>= (+ ?x11581 ?v0!14) 0))))) (let ((@x15875 (trans @x15868 (rewrite (= (>= (+ ?x11581 ?v0!14) 0) $x15871)) (= (>= (+ ?v0!14 ?x11581) 0) $x15871)))) (let ((@x15881 (monotonicity (monotonicity @x15875 (= (not (>= (+ ?v0!14 ?x11581) 0)) $x15876)) (= (and $x15626 $x15627 (not (>= (+ ?v0!14 ?x11581) 0))) $x15879)))) (let ((@x15884 (monotonicity @x15881 (= (not (and $x15626 $x15627 (not (>= (+ ?v0!14 ?x11581) 0)))) $x15882)))) (let ((@x15906 (monotonicity (monotonicity (monotonicity @x15884 @x15897 $x15899) (= $x15638 $x15901)) (= $x15655 $x15904)))) (let ((@x15912 (monotonicity (monotonicity (rewrite (= $x15622 $x11608)) @x15906 (= $x15659 $x15907)) (= $x15663 $x15910)))) (let ((@x15915 (monotonicity (rewrite (= $x15617 $x13358)) @x15912 (= $x15667 (and $x13358 $x15910))))) (let ((@x15923 (monotonicity (trans @x15915 (rewrite (= (and $x13358 $x15910) $x15916)) (= $x15667 $x15916)) (= $x15671 $x15921)))) (let ((@x15958 (monotonicity (rewrite (= $x15695 $x11725)) @x15923 (= $x15698 (and $x11725 $x15921))))) (let ((@x15926 (monotonicity (rewrite (= $x15608 $x11562)) @x15923 (= $x15675 (and $x11562 $x15921))))) (let ((@x15934 (monotonicity (trans @x15926 (rewrite (= (and $x11562 $x15921) $x15927)) (= $x15675 $x15927)) (= $x15679 $x15932)))) (let ((@x15937 (monotonicity (rewrite (= $x15596 $x10323)) @x15934 (= $x15683 (and $x10323 $x15932))))) (let ((@x15945 (monotonicity (trans @x15937 (rewrite (= (and $x10323 $x15932) $x15938)) (= $x15683 $x15938)) (= $x15687 $x15943)))) (let ((@x15948 (monotonicity (rewrite (= $x15605 $x11527)) @x15945 (= $x15691 (and $x11527 $x15943))))) (let ((@x15966 (monotonicity (trans @x15948 (rewrite (= (and $x11527 $x15943) $x15949)) (= $x15691 $x15949)) (trans @x15958 (rewrite (= (and $x11725 $x15921) $x15959)) (= $x15698 $x15959)) (= $x15702 $x15964)))) (let ((@x15969 (monotonicity (rewrite (= $x15602 $x11507)) @x15966 (= $x15706 (and $x11507 $x15964))))) (let ((@x15977 (monotonicity (trans @x15969 (rewrite (= (and $x11507 $x15964) $x15970)) (= $x15706 $x15970)) (= $x15710 $x15975)))) (let ((@x15980 (monotonicity (rewrite (= $x15596 $x10323)) @x15977 (= $x15714 (and $x10323 $x15975))))) (let ((@x15988 (monotonicity (trans @x15980 (rewrite (= (and $x10323 $x15975) $x15981)) (= $x15714 $x15981)) (= $x15718 $x15986)))) (let ((@x15991 (monotonicity (rewrite (= $x15587 $x11496)) @x15988 (= $x15722 (and $x11496 $x15986))))) (let ((@x16066 (monotonicity (trans @x15991 (rewrite (= (and $x11496 $x15986) $x15992)) (= $x15722 $x15992)) (trans @x16058 (rewrite (= (and $x11772 $x16053) $x16059)) (= $x15781 $x16059)) (= $x15785 $x16064)))) (let ((@x16069 (monotonicity (rewrite (= $x15584 $x11476)) @x16066 (= $x15789 (and $x13343 $x11476 $x16064))))) (let ((@x16074 (trans @x16069 (rewrite (= (and $x13343 $x11476 $x16064) $x16070)) (= $x15789 $x16070)))) (let ((@x16080 (monotonicity (monotonicity (rewrite (= $x15545 $x11259)) @x16074 (= $x15793 $x16075)) (= $x15797 $x16078)))) (let ((@x16086 (monotonicity (rewrite (= $x15519 $x11382)) (monotonicity @x16080 (= $x15801 $x16081)) (= $x15805 $x16084)))) (let ((@x16092 (monotonicity (rewrite (= $x15514 $x11374)) (monotonicity @x16086 (= $x15809 $x16087)) (= $x15813 (and $x11374 $x16087))))) (let ((@x16100 (monotonicity (trans @x16092 (rewrite (= (and $x11374 $x16087) $x16093)) (= $x15813 $x16093)) (= $x15817 $x16098)))) (let ((@x16103 (monotonicity (rewrite (= $x15508 $x10140)) @x16100 (= $x15821 (and $x10140 $x16098))))) (let ((@x16111 (monotonicity (trans @x16103 (rewrite (= (and $x10140 $x16098) $x16104)) (= $x15821 $x16104)) (= $x15825 $x16109)))) (let ((@x16117 (monotonicity (monotonicity (rewrite (= $x15499 $x10136)) @x16111 (= $x15829 $x16112)) (= $x15833 $x16115)))) (let (($x13451 (exists ((?v0 Int) )(! (let ((?x10163 (b_S_read_n_u1$ v_b_S_s$ (b_S_idx$ (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) ?v0 b_T_T_u1$)))) (let (($x10238 (= ?x10163 v_b_S_result_G_0$))) (let (($x11800 (>= (+ ?v0 (* (- 1) v_b_P_H_len$)) 0))) (let (($x11802 (not $x11800))) (let (($x12168 (<= ?v0 4294967295))) (let (($x2815 (>= ?v0 0))) (and $x2815 $x12168 $x11802 $x10238))))))) :qid k!704)) )) (let (($x13445 (not $x13442))) (let (($x13454 (or $x13445 $x13451))) (let (($x13457 (and $x13442 $x13454))) (let (($x13460 (or $x11797 $x13457))) (let (($x13463 (and b_S_position_n_marker$ $x13460))) (let (($x13466 (or $x11777 $x13463))) (let (($x13376 (not $x13373))) (let (($x13379 (or $x13376 $x11651))) (let (($x13382 (and $x13373 $x13379))) (let (($x13385 (or $x11612 $x13382))) (let (($x13388 (and $x11608 $x13385))) (let (($x13391 (or $x13361 $x13388))) (let (($x13394 (and $x11570 $x13353 $x13391))) (let (($x13412 (or $x11730 $x13394))) (let (($x13397 (or $x11567 $x13394))) (let (($x13400 (and $x10321 $x10324 $x13397))) (let (($x13403 (or $x11001 $x13400))) (let (($x13406 (and $x10321 $x10322 $x13403))) (let (($x13409 (or $x11532 $x13406))) (let (($x13415 (and $x13409 $x13412))) (let (($x13418 (or $x11512 $x13415))) (let (($x13421 (and $x10321 $x10324 $x13418))) (let (($x13424 (or $x11001 $x13421))) (let (($x13427 (and $x10321 $x10322 $x13424))) (let (($x13430 (or $x11501 $x13427))) (let (($x13469 (and $x13430 $x13466))) (let (($x13346 (not $x13343))) (let (($x13472 (or $x13346 $x11481 $x13469))) (let (($x13475 (and $x11260 $x10167 $x13472))) (let (($x13295 (not $x13292))) (let (($x13478 (or $x13295 $x13475))) (let (($x13481 (and $x13292 $x13478))) (let (($x13484 (or $x11385 $x13481))) (let (($x13487 (and $x11382 $x13484))) (let (($x13490 (or $x11379 $x13487))) (let (($x13493 (and $x10138 $x10141 $x13490))) (let (($x13496 (or $x11209 $x13493))) (let (($x13499 (and $x10138 $x10139 $x13496))) (let (($x13502 (or $x11221 $x13499))) (let (($x13508 (not (and $x10136 $x13502)))) (let ((@x15760 (refl (~ (not (and $x2815 $x12168 $x11802 $x10238)) (not (and $x2815 $x12168 $x11802 $x10238)))))) (let ((@x15757 (nnf-neg (nnf-pos (refl (~ $x13439 $x13439)) (~ $x13442 $x13442)) (~ (not $x13445) $x13442)))) (let ((@x15768 (nnf-neg @x15757 (nnf-neg @x15760 (~ (not $x13451) $x15761)) (~ (not $x13454) $x15765)))) (let ((@x15776 (nnf-neg (refl (~ $x15732 $x15732)) (nnf-neg (sk (~ $x13445 $x15748)) @x15768 (~ (not $x13457) $x15769)) (~ (not $x13460) $x15773)))) (let ((@x15784 (nnf-neg (refl (~ $x15726 $x15726)) (nnf-neg (refl (~ $x15729 $x15729)) @x15776 (~ (not $x13463) $x15777)) (~ (not $x13466) $x15781)))) (let ((@x15647 (nnf-neg (nnf-pos (refl (~ $x13370 $x13370)) (~ $x13373 $x13373)) (~ (not $x13376) $x13373)))) (let ((@x15658 (nnf-neg (sk (~ $x13376 $x15638)) (nnf-neg @x15647 (refl (~ $x15648 $x15648)) (~ (not $x13379) $x15651)) (~ (not $x13382) $x15655)))) (let ((@x15666 (nnf-neg (refl (~ $x11612 $x11612)) (nnf-neg (refl (~ $x15622 $x15622)) @x15658 (~ (not $x13385) $x15659)) (~ (not $x13388) $x15663)))) (let ((@x15674 (nnf-neg (refl (~ $x15611 $x15611)) (refl (~ $x15614 $x15614)) (nnf-neg (refl (~ $x15617 $x15617)) @x15666 (~ (not $x13391) $x15667)) (~ (not $x13394) $x15671)))) (let ((@x15592 (refl (~ $x15590 $x15590)))) (let ((@x15682 (nnf-neg @x15592 (refl (~ $x15599 $x15599)) (nnf-neg (refl (~ $x15608 $x15608)) @x15674 (~ (not $x13397) $x15675)) (~ (not $x13400) $x15679)))) (let ((@x15690 (nnf-neg @x15592 (refl (~ $x15593 $x15593)) (nnf-neg (refl (~ $x15596 $x15596)) @x15682 (~ (not $x13403) $x15683)) (~ (not $x13406) $x15687)))) (let ((@x15705 (nnf-neg (nnf-neg (refl (~ $x15605 $x15605)) @x15690 (~ (not $x13409) $x15691)) (nnf-neg (refl (~ $x15695 $x15695)) @x15674 (~ (not $x13412) $x15698)) (~ (not $x13415) $x15702)))) (let ((@x15713 (nnf-neg @x15592 (refl (~ $x15599 $x15599)) (nnf-neg (refl (~ $x15602 $x15602)) @x15705 (~ (not $x13418) $x15706)) (~ (not $x13421) $x15710)))) (let ((@x15721 (nnf-neg @x15592 (refl (~ $x15593 $x15593)) (nnf-neg (refl (~ $x15596 $x15596)) @x15713 (~ (not $x13424) $x15714)) (~ (not $x13427) $x15718)))) (let ((@x15788 (nnf-neg (nnf-neg (refl (~ $x15587 $x15587)) @x15721 (~ (not $x13430) $x15722)) @x15784 (~ (not $x13469) $x15785)))) (let ((@x15580 (monotonicity (refl (~ $x11260 $x11260)) (refl (~ $x10167 $x10167)) (refl (~ $x11911 $x11911)) (refl (~ $x13304 $x13304)) (refl (~ $x13315 $x13315)) (refl (~ $x11901 $x11901)) (refl (~ $x13326 $x13326)) (refl (~ $x11898 $x11898)) (nnf-pos (refl (~ $x13337 $x13337)) (~ $x13340 $x13340)) (refl (~ $x11868 $x11868)) (refl (~ $x10192 $x10192)) (refl (~ $x11429 $x11429)) (refl (~ $x11432 $x11432)) (~ $x13343 $x13343)))) (let ((@x15792 (nnf-neg (nnf-neg @x15580 (~ (not $x13346) $x13343)) (refl (~ $x15584 $x15584)) @x15788 (~ (not $x13472) $x15789)))) (let ((@x15796 (nnf-neg (refl (~ $x15545 $x15545)) (refl (~ $x15548 $x15548)) @x15792 (~ (not $x13475) $x15793)))) (let ((@x15544 (nnf-neg (nnf-pos (refl (~ $x13289 $x13289)) (~ $x13292 $x13292)) (~ (not $x13295) $x13292)))) (let ((@x15804 (nnf-neg (sk (~ $x13295 $x15535)) (nnf-neg @x15544 @x15796 (~ (not $x13478) $x15797)) (~ (not $x13481) $x15801)))) (let ((@x15812 (nnf-neg (refl (~ $x11385 $x11385)) (nnf-neg (refl (~ $x15519 $x15519)) @x15804 (~ (not $x13484) $x15805)) (~ (not $x13487) $x15809)))) (let ((@x15820 (nnf-neg (refl (~ $x15502 $x15502)) (refl (~ $x15511 $x15511)) (nnf-neg (refl (~ $x15514 $x15514)) @x15812 (~ (not $x13490) $x15813)) (~ (not $x13493) $x15817)))) (let ((@x15828 (nnf-neg (refl (~ $x15502 $x15502)) (refl (~ $x15505 $x15505)) (nnf-neg (refl (~ $x15508 $x15508)) @x15820 (~ (not $x13496) $x15821)) (~ (not $x13499) $x15825)))) (let ((@x15835 (nnf-neg (refl (~ $x11221 $x11221)) (nnf-neg (refl (~ $x15499 $x15499)) @x15828 (~ (not $x13502) $x15829)) (~ $x13508 $x15833)))) (let (($x6441 (= b_S_max_o_u4$ 4294967295))) (let ((@x6435 (monotonicity (rewrite (= (* 65536 65536) 4294967296)) (= (- (* 65536 65536) 1) (- 4294967296 1))))) (let ((@x6440 (trans @x6435 (rewrite (= (- 4294967296 1) 4294967295)) (= (- (* 65536 65536) 1) 4294967295)))) (let ((@x6443 (monotonicity @x6440 (= (= b_S_max_o_u4$ (- (* 65536 65536) 1)) $x6441)))) (let ((@x6446 (mp (asserted (= b_S_max_o_u4$ (- (* 65536 65536) 1))) @x6443 $x6441))) (let ((@x12140 (trans (monotonicity @x6446 (= ?x3113 (* (- 1) 4294967295))) (rewrite (= (* (- 1) 4294967295) (- 4294967295))) (= ?x3113 (- 4294967295))))) (let ((@x12164 (trans (monotonicity @x12140 (= ?x3114 (+ ?0 (- 4294967295)))) (rewrite (= (+ ?0 (- 4294967295)) (+ (- 4294967295) ?0))) (= ?x3114 (+ (- 4294967295) ?0))))) (let ((@x12172 (trans (monotonicity @x12164 (= $x3115 (<= (+ (- 4294967295) ?0) 0))) (rewrite (= (<= (+ (- 4294967295) ?0) 0) $x12168)) (= $x3115 $x12168)))) (let ((@x13453 (quant-intro (monotonicity @x12172 (= $x11839 (and $x2815 $x12168 $x11802 $x10238))) (= $x11844 $x13451)))) (let ((@x13441 (monotonicity (monotonicity (monotonicity @x12172 (= $x11808 $x13433)) (= $x11813 $x13436)) (= $x11821 $x13439)))) (let ((@x13456 (monotonicity (monotonicity (quant-intro @x13441 (= $x11824 $x13442)) (= $x11827 $x13445)) @x13453 (= $x11847 $x13454)))) (let ((@x13462 (monotonicity (monotonicity (quant-intro @x13441 (= $x11824 $x13442)) @x13456 (= $x11850 $x13457)) (= $x11853 $x13460)))) (let ((@x13372 (monotonicity (monotonicity (monotonicity @x12172 (= $x11623 $x13364)) (= $x11628 $x13367)) (= $x11636 $x13370)))) (let ((@x13381 (monotonicity (monotonicity (quant-intro @x13372 (= $x11639 $x13373)) (= $x11642 $x13376)) (= $x11654 $x13379)))) (let ((@x13387 (monotonicity (monotonicity (quant-intro @x13372 (= $x11639 $x13373)) @x13381 (= $x11657 $x13382)) (= $x11660 $x13385)))) (let ((@x13351 (monotonicity (monotonicity @x6446 (= ?x11574 (+ 4294967295 ?x11484))) (= $x11573 (>= (+ 4294967295 ?x11484) 1))))) (let ((@x13357 (trans @x13351 (rewrite (= (>= (+ 4294967295 ?x11484) 1) $x13353)) (= $x11573 $x13353)))) (let ((@x13393 (monotonicity (monotonicity (monotonicity @x13357 (= $x11600 $x13358)) (= $x11605 $x13361)) (monotonicity @x13387 (= $x11663 $x13388)) (= $x11666 $x13391)))) (let ((@x13414 (monotonicity (monotonicity @x13357 @x13393 (= $x11672 $x13394)) (= $x11733 $x13412)))) (let ((@x13399 (monotonicity (monotonicity @x13357 @x13393 (= $x11672 $x13394)) (= $x11677 $x13397)))) (let ((@x13408 (monotonicity (monotonicity (monotonicity @x13399 (= $x11683 $x13400)) (= $x11688 $x13403)) (= $x11694 $x13406)))) (let ((@x13417 (monotonicity (monotonicity @x13408 (= $x11699 $x13409)) @x13414 (= $x11736 $x13415)))) (let ((@x13426 (monotonicity (monotonicity (monotonicity @x13417 (= $x11739 $x13418)) (= $x11745 $x13421)) (= $x11750 $x13424)))) (let ((@x13471 (monotonicity (monotonicity (monotonicity @x13426 (= $x11756 $x13427)) (= $x11761 $x13430)) (monotonicity (monotonicity @x13462 (= $x11856 $x13463)) (= $x11859 $x13466)) (= $x11862 $x13469)))) (let ((@x13339 (monotonicity (monotonicity (monotonicity @x12172 (= $x11879 $x13331)) (= $x11884 $x13334)) (= $x11892 $x13337)))) (let ((@x13325 (monotonicity (monotonicity @x6446 (= ?x11574 (+ 4294967295 ?x11484))) (= $x11904 (>= (+ 4294967295 ?x11484) 0))))) (let ((@x13330 (trans @x13325 (rewrite (= (>= (+ 4294967295 ?x11484) 0) $x13326)) (= $x11904 $x13326)))) (let ((@x13317 (rewrite (= (>= (+ 4294967295 (* (- 1) v_b_SL_H_witness_G_0$)) 0) $x13315)))) (let (($x13310 (= (+ b_S_max_o_u4$ (* (- 1) v_b_SL_H_witness_G_0$)) (+ 4294967295 (* (- 1) v_b_SL_H_witness_G_0$))))) (let ((@x13314 (monotonicity (monotonicity @x6446 $x13310) (= $x11907 (>= (+ 4294967295 (* (- 1) v_b_SL_H_witness_G_0$)) 0))))) (let (($x13299 (= (+ b_S_max_o_u1$ (* (- 1) v_b_L_H_max_G_1$)) (+ 255 (* (- 1) v_b_L_H_max_G_1$))))) (let (($x6449 (= b_S_max_o_u1$ 255))) (let ((@x6450 (asserted $x6449))) (let ((@x13303 (monotonicity (monotonicity @x6450 $x13299) (= $x11914 (>= (+ 255 (* (- 1) v_b_L_H_max_G_1$)) 0))))) (let ((@x13308 (trans @x13303 (rewrite (= (>= (+ 255 (* (- 1) v_b_L_H_max_G_1$)) 0) $x13304)) (= $x11914 $x13304)))) (let ((@x13345 (monotonicity @x13308 (trans @x13314 @x13317 (= $x11907 $x13315)) @x13330 (quant-intro @x13339 (= $x11895 $x13340)) (= $x11957 $x13343)))) (let ((@x13474 (monotonicity (monotonicity @x13345 (= $x11962 $x13346)) @x13471 (= $x11971 $x13472)))) (let ((@x13291 (monotonicity (monotonicity (monotonicity @x12172 (= $x11395 $x13283)) (= $x11400 $x13286)) (= $x11408 $x13289)))) (let ((@x13480 (monotonicity (monotonicity (quant-intro @x13291 (= $x11411 $x13292)) (= $x11414 $x13295)) (monotonicity @x13474 (= $x11979 $x13475)) (= $x11984 $x13478)))) (let ((@x13486 (monotonicity (monotonicity (quant-intro @x13291 (= $x11411 $x13292)) @x13480 (= $x11987 $x13481)) (= $x11990 $x13484)))) (let ((@x13495 (monotonicity (monotonicity (monotonicity @x13486 (= $x11993 $x13487)) (= $x11996 $x13490)) (= $x12002 $x13493)))) (let ((@x13504 (monotonicity (monotonicity (monotonicity @x13495 (= $x12007 $x13496)) (= $x12013 $x13499)) (= $x12018 $x13502)))) (let ((@x13510 (monotonicity (monotonicity @x13504 (= $x12021 (and $x10136 $x13502))) (= (not $x12021) $x13508)))) (let ((@x13511 (mp (not-or-elim (mp (asserted $x10434) @x12031 $x12027) (not $x12021)) @x13510 $x13508))) (let ((@x20143 (mp (mp (mp (mp~ @x13511 @x15835 $x15833) @x16117 $x16115) @x19763 $x19761) (monotonicity @x20139 (= $x19761 $x20140)) $x20140))) (let ((@x24003 (unit-resolution (def-axiom (or $x20134 $x20128)) (unit-resolution @x20143 @x22508 $x20137) $x20128))) (let ((?x22514 (b_S_typ$ ?x10137))) (let (($x22515 (= ?x22514 b_T_T_u1$))) (let ((?x21175 (b_S_typ$ ?x10078))) (let (($x21176 (= ?x21175 b_T_T_u1$))) (let (($x21181 (or $x21147 $x21176))) (let ((@x21182 ((_ quant-inst b_T_T_u1$ v_b_P_H_arr$) $x21181))) (let ((?x22553 (b_S_ptr$ b_T_T_u1$ ?x10079))) (let (($x22556 (= ?x10137 ?x22553))) (let (($x22559 (not $x22556))) (let (($x22523 (b_S_extent_n_hint$ ?x10137 ?x10078))) (let (($x22524 (not $x22523))) (let (($x22562 (or $x22524 $x22559))) (let (($x22565 (not $x22562))) (let (($x18180 (forall ((?v0 B_S_ptr$) (?v1 Int) (?v2 B_S_ctype$) )(! (let ((?x7205 (b_S_idx$ ?v0 ?v1 ?v2))) (let (($x7213 (= ?x7205 (b_S_ptr$ ?v2 (+ (b_S_ref$ ?v0) (* ?v1 (b_S_sizeof$ ?v2))))))) (not (or (not (b_S_extent_n_hint$ ?x7205 ?v0)) (not $x7213))))) :pattern ( (b_S_idx$ ?v0 ?v1 ?v2) ) :qid k!499)) )) (let (($x7216 (forall ((?v0 B_S_ptr$) (?v1 Int) (?v2 B_S_ctype$) )(! (let ((?x7205 (b_S_idx$ ?v0 ?v1 ?v2))) (let (($x7213 (= ?x7205 (b_S_ptr$ ?v2 (+ (b_S_ref$ ?v0) (* ?v1 (b_S_sizeof$ ?v2))))))) (and (b_S_extent_n_hint$ ?x7205 ?v0) $x7213))) :pattern ( (b_S_idx$ ?v0 ?v1 ?v2) ) :qid k!499)) )) (let ((?x7205 (b_S_idx$ ?2 ?1 ?0))) (let (($x7213 (= ?x7205 (b_S_ptr$ ?0 (+ (b_S_ref$ ?2) (* ?1 (b_S_sizeof$ ?0))))))) (let (($x7214 (and (b_S_extent_n_hint$ ?x7205 ?2) $x7213))) (let ((@x18179 (rewrite (= $x7214 (not (or (not (b_S_extent_n_hint$ ?x7205 ?2)) (not $x7213))))))) (let ((@x14561 (mp~ (asserted $x7216) (nnf-pos (refl (~ $x7214 $x7214)) (~ $x7216 $x7216)) $x7216))) (let ((@x18183 (mp @x14561 (quant-intro @x18179 (= $x7216 $x18180)) $x18180))) (let (($x22568 (not $x18180))) (let (($x22569 (or $x22568 $x22565))) (let ((?x10045 (b_S_sizeof$ b_T_T_u1$))) (let ((?x22537 (* 0 ?x10045))) (let ((?x22538 (+ ?x10079 ?x22537))) (let ((?x22539 (b_S_ptr$ b_T_T_u1$ ?x22538))) (let (($x22540 (= ?x10137 ?x22539))) (let (($x22541 (not $x22540))) (let (($x22542 (or $x22524 $x22541))) (let (($x22543 (not $x22542))) (let ((@x22552 (trans (monotonicity (rewrite (= ?x22537 0)) (= ?x22538 (+ ?x10079 0))) (rewrite (= (+ ?x10079 0) ?x10079)) (= ?x22538 ?x10079)))) (let ((@x22561 (monotonicity (monotonicity (monotonicity @x22552 (= ?x22539 ?x22553)) (= $x22540 $x22556)) (= $x22541 $x22559)))) (let ((@x22573 (monotonicity (monotonicity (monotonicity @x22561 (= $x22542 $x22562)) (= $x22543 $x22565)) (= (or $x22568 $x22543) $x22569)))) (let ((@x22577 (mp ((_ quant-inst (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) 0 b_T_T_u1$) (or $x22568 $x22543)) (trans @x22573 (rewrite (= $x22569 $x22569)) (= (or $x22568 $x22543) $x22569)) $x22569))) (let ((@x23444 (unit-resolution (def-axiom (or $x22562 $x22556)) (unit-resolution @x22577 @x18183 $x22565) $x22556))) (let ((@x22640 (monotonicity (trans @x23444 (monotonicity @x23445 (= ?x22553 ?x10078)) (= ?x10137 ?x10078)) (= ?x22514 ?x21175)))) (let (($x22526 (not $x22515))) (let (($x22522 (= $x10138 $x22515))) (let (($x19828 (forall ((?v0 B_S_ptr$) (?v1 B_S_ctype$) )(! (let ((?x6636 (b_S_typ$ ?v0))) (let (($x7865 (= ?x6636 ?v1))) (let (($x9596 (b_S_is$ ?v0 ?v1))) (= $x9596 $x7865)))) :pattern ( (b_S_is$ ?v0 ?v1) ) :qid k!623)) )) (let (($x9617 (forall ((?v0 B_S_ptr$) (?v1 B_S_ctype$) )(! (let ((?x6636 (b_S_typ$ ?v0))) (let (($x7865 (= ?x6636 ?v1))) (let (($x9596 (b_S_is$ ?v0 ?v1))) (= $x9596 $x7865)))) :qid k!623)) )) (let ((?x6636 (b_S_typ$ ?1))) (let (($x7865 (= ?x6636 ?0))) (let (($x9596 (b_S_is$ ?1 ?0))) (let (($x9614 (= $x9596 $x7865))) (let (($x9611 (forall ((?v0 B_S_ptr$) (?v1 B_S_ctype$) )(! (let ((?x6636 (b_S_typ$ ?v0))) (let (($x7865 (= ?x6636 ?v1))) (let (($x9596 (b_S_is$ ?v0 ?v1))) (= $x9596 $x7865)))) :qid k!623)) )) (let ((@x9622 (mp (asserted $x9611) (quant-intro (rewrite (= (= $x9596 $x7865) $x9614)) (= $x9611 $x9617)) $x9617))) (let ((@x19833 (mp (mp~ @x9622 (nnf-pos (refl (~ $x9614 $x9614)) (~ $x9617 $x9617)) $x9617) (quant-intro (refl (= $x9614 $x9614)) (= $x9617 $x19828)) $x19828))) (let (($x22002 (not $x19828))) (let (($x22619 (or $x22002 $x22522))) (let ((@x22534 ((_ quant-inst (b_S_idx$ ?x10078 0 b_T_T_u1$) b_T_T_u1$) $x22619))) (let ((@x22471 (unit-resolution (def-axiom (or (not $x22522) $x10138 $x22526)) (hypothesis $x15502) (or (not $x22522) $x22526)))) (let ((@x22636 (unit-resolution (unit-resolution @x22471 (unit-resolution @x22534 @x19833 $x22522) $x22526) (trans @x22640 (unit-resolution @x21182 @x19846 $x21176) $x22515) false))) (let ((@x23411 (lemma @x22636 $x10138))) (let ((@x23982 (unit-resolution (def-axiom (or $x20131 $x15502 $x15505 $x20125)) @x23411 @x24003 (or $x15505 $x20125)))) (let ((@x23983 (unit-resolution @x23982 (unit-resolution (def-axiom (or $x22603 $x10139)) (lemma @x24453 $x22604) $x10139) $x20125))) (let ((?x22805 (b_S_ts_n_emb$ ?x22478))) (let ((?x22433 (b_S_owner$ v_b_S_s$ ?x22805))) (let (($x22451 (= ?x22433 b_S_me$))) (let ((?x22485 (b_S_ref$ ?x10137))) (let ((?x22505 (b_S_ptr$ b_T_T_u1$ ?x22485))) (let (($x22506 (= ?x10137 ?x22505))) (let (($x24124 (or $x21994 $x15502 $x22506))) (let ((@x24271 (mp ((_ quant-inst (b_S_idx$ ?x10078 0 b_T_T_u1$) b_T_T_u1$) (or $x21994 (or $x15502 $x22506))) (rewrite (= (or $x21994 (or $x15502 $x22506)) $x24124)) $x24124))) (let ((@x23969 (unit-resolution @x24271 @x15336 @x23411 $x22506))) (let ((?x23622 (b_S_ref$ ?x21983))) (let ((?x23636 (b_S_ptr$ b_T_T_u1$ ?x23622))) (let ((?x23613 (b_S_idx$ ?x21983 0 b_T_T_u1$))) (let (($x23639 (= ?x23613 ?x23636))) (let (($x23642 (not $x23639))) (let (($x23614 (b_S_extent_n_hint$ ?x23613 ?x21983))) (let (($x23621 (not $x23614))) (let (($x23645 (or $x23621 $x23642))) (let (($x23648 (not $x23645))) (let (($x23651 (or $x22568 $x23648))) (let (($x23628 (not (or $x23621 (not (= ?x23613 (b_S_ptr$ b_T_T_u1$ (+ ?x23622 ?x22537)))))))) (let (($x23646 (= (or $x23621 (not (= ?x23613 (b_S_ptr$ b_T_T_u1$ (+ ?x23622 ?x22537))))) $x23645))) (let ((@x22545 (rewrite (= ?x22537 0)))) (let ((@x23635 (trans (monotonicity @x22545 (= (+ ?x23622 ?x22537) (+ ?x23622 0))) (rewrite (= (+ ?x23622 0) ?x23622)) (= (+ ?x23622 ?x22537) ?x23622)))) (let ((@x23641 (monotonicity (monotonicity @x23635 (= (b_S_ptr$ b_T_T_u1$ (+ ?x23622 ?x22537)) ?x23636)) (= (= ?x23613 (b_S_ptr$ b_T_T_u1$ (+ ?x23622 ?x22537))) $x23639)))) (let ((@x23644 (monotonicity @x23641 (= (not (= ?x23613 (b_S_ptr$ b_T_T_u1$ (+ ?x23622 ?x22537)))) $x23642)))) (let ((@x23655 (monotonicity (monotonicity (monotonicity @x23644 $x23646) (= $x23628 $x23648)) (= (or $x22568 $x23628) $x23651)))) (let ((@x23659 (mp ((_ quant-inst (b_S_ptr$ ?x10076 ?x21014) 0 b_T_T_u1$) (or $x22568 $x23628)) (trans @x23655 (rewrite (= $x23651 $x23651)) (= (or $x22568 $x23628) $x23651)) $x23651))) (let ((@x23663 (def-axiom (or $x23645 $x23639)))) (let ((@x24001 (unit-resolution @x23663 (lemma (unit-resolution @x23659 @x18183 (hypothesis $x23645) false) $x23648) $x23639))) (let ((?x23546 (b_S_idx$ ?x22595 0 b_T_T_u1$))) (let ((?x23547 (b_S_select_o_tm$ ?x10272 ?x23546))) (let ((?x23548 (b_S_ts_n_emb$ ?x23547))) (let (($x23549 (= ?x23548 ?x22595))) (let (($x23554 (b_S_typed$ v_b_S_s$ ?x23546))) (let (($x23555 (not $x23554))) (let (($x23551 (b_S_ts_n_is_n_volatile$ ?x23547))) (let (($x23550 (not $x23549))) (let (($x23556 (or $x23550 $x23551 (not (b_S_ts_n_is_n_array_n_elt$ ?x23547)) $x23555))) (let (($x23557 (not $x23556))) (let (($x23538 (b_S_typed$ v_b_S_s$ ?x22595))) (let ((@x23606 (mp @x12045 (symm (monotonicity @x23680 (= $x23538 $x10085)) (= $x10085 $x23538)) $x23538))) (let ((@x23608 (lemma (unit-resolution (hypothesis (not $x23538)) @x23606 false) $x23538))) (let (($x17964 (forall ((?v0 B_S_state$) (?v1 Int) (?v2 B_S_ctype$) (?v3 Int) (?v4 Int) )(! (let (($x6905 (b_S_typed$ ?v0 (b_S_idx$ (b_S_ptr$ (b_S_array$ ?v2 ?v3) ?v1) ?v4 ?v2)))) (let ((?x6897 (b_S_typemap$ ?v0))) (let ((?x6899 (b_S_select_o_tm$ ?x6897 (b_S_idx$ (b_S_ptr$ (b_S_array$ ?v2 ?v3) ?v1) ?v4 ?v2)))) (let (($x6904 (b_S_ts_n_is_n_array_n_elt$ ?x6899))) (let (($x17952 (or (not (= (b_S_ts_n_emb$ ?x6899) (b_S_ptr$ (b_S_array$ ?v2 ?v3) ?v1))) (b_S_ts_n_is_n_volatile$ ?x6899) (not $x6904) (not $x6905)))) (let (($x17953 (not $x17952))) (let (($x4862 (>= (+ ?v4 (* (- 1) ?v3)) 0))) (let (($x2815 (>= ?v4 0))) (let (($x3763 (not $x2815))) (or (not (b_S_typed$ ?v0 (b_S_ptr$ (b_S_array$ ?v2 ?v3) ?v1))) $x3763 $x4862 $x17953)))))))))) :pattern ( (b_S_select_o_sm$ (b_S_statusmap$ ?v0) (b_S_idx$ (b_S_ptr$ ?v2 ?v1) ?v4 ?v2)) (b_S_ptr$ (b_S_array$ ?v2 ?v3) ?v1) ) :pattern ( (b_S_select_o_tm$ (b_S_typemap$ ?v0) (b_S_idx$ (b_S_ptr$ ?v2 ?v1) ?v4 ?v2)) (b_S_ptr$ (b_S_array$ ?v2 ?v3) ?v1) ) :qid k!493)) )) (let (($x6943 (forall ((?v0 B_S_state$) (?v1 Int) (?v2 B_S_ctype$) (?v3 Int) (?v4 Int) )(! (let (($x6905 (b_S_typed$ ?v0 (b_S_idx$ (b_S_ptr$ (b_S_array$ ?v2 ?v3) ?v1) ?v4 ?v2)))) (let ((?x6897 (b_S_typemap$ ?v0))) (let ((?x6899 (b_S_select_o_tm$ ?x6897 (b_S_idx$ (b_S_ptr$ (b_S_array$ ?v2 ?v3) ?v1) ?v4 ?v2)))) (let (($x6904 (b_S_ts_n_is_n_array_n_elt$ ?x6899))) (let ((?x6894 (b_S_ptr$ (b_S_array$ ?v2 ?v3) ?v1))) (let (($x6901 (= (b_S_ts_n_emb$ ?x6899) ?x6894))) (let (($x6937 (and $x6901 (not (b_S_ts_n_is_n_volatile$ ?x6899)) $x6904 $x6905))) (let (($x4862 (>= (+ ?v4 (* (- 1) ?v3)) 0))) (let (($x6603 (not $x4862))) (let (($x2815 (>= ?v4 0))) (let (($x6895 (b_S_typed$ ?v0 ?x6894))) (let (($x6929 (and $x6895 $x2815 $x6603))) (let (($x6934 (not $x6929))) (or $x6934 $x6937)))))))))))))) :pattern ( (b_S_select_o_sm$ (b_S_statusmap$ ?v0) (b_S_idx$ (b_S_ptr$ ?v2 ?v1) ?v4 ?v2)) (b_S_ptr$ (b_S_array$ ?v2 ?v3) ?v1) ) :pattern ( (b_S_select_o_tm$ (b_S_typemap$ ?v0) (b_S_idx$ (b_S_ptr$ ?v2 ?v1) ?v4 ?v2)) (b_S_ptr$ (b_S_array$ ?v2 ?v3) ?v1) ) :qid k!493)) )) (let (($x6905 (b_S_typed$ ?4 (b_S_idx$ (b_S_ptr$ (b_S_array$ ?2 ?1) ?3) ?0 ?2)))) (let ((?x6897 (b_S_typemap$ ?4))) (let ((?x6899 (b_S_select_o_tm$ ?x6897 (b_S_idx$ (b_S_ptr$ (b_S_array$ ?2 ?1) ?3) ?0 ?2)))) (let (($x6904 (b_S_ts_n_is_n_array_n_elt$ ?x6899))) (let (($x17952 (or (not (= (b_S_ts_n_emb$ ?x6899) (b_S_ptr$ (b_S_array$ ?2 ?1) ?3))) (b_S_ts_n_is_n_volatile$ ?x6899) (not $x6904) (not $x6905)))) (let (($x17953 (not $x17952))) (let (($x4862 (>= (+ ?0 (* (- 1) ?1)) 0))) (let (($x17959 (or (not (b_S_typed$ ?4 (b_S_ptr$ (b_S_array$ ?2 ?1) ?3))) $x3763 $x4862 $x17953))) (let ((?x6894 (b_S_ptr$ (b_S_array$ ?2 ?1) ?3))) (let (($x6901 (= (b_S_ts_n_emb$ ?x6899) ?x6894))) (let (($x6937 (and $x6901 (not (b_S_ts_n_is_n_volatile$ ?x6899)) $x6904 $x6905))) (let (($x6603 (not $x4862))) (let (($x6895 (b_S_typed$ ?4 ?x6894))) (let (($x6929 (and $x6895 $x2815 $x6603))) (let (($x6934 (not $x6929))) (let (($x6940 (or $x6934 $x6937))) (let (($x17938 (or (not $x6895) $x3763 $x4862))) (let ((@x17944 (monotonicity (rewrite (= $x6929 (not $x17938))) (= $x6934 (not (not $x17938)))))) (let ((@x17958 (monotonicity (trans @x17944 (rewrite (= (not (not $x17938)) $x17938)) (= $x6934 $x17938)) (rewrite (= $x6937 $x17953)) (= $x6940 (or $x17938 $x17953))))) (let ((@x17966 (quant-intro (trans @x17958 (rewrite (= (or $x17938 $x17953) $x17959)) (= $x6940 $x17959)) (= $x6943 $x17964)))) (let (($x6917 (forall ((?v0 B_S_state$) (?v1 Int) (?v2 B_S_ctype$) (?v3 Int) (?v4 Int) )(! (let (($x6905 (b_S_typed$ ?v0 (b_S_idx$ (b_S_ptr$ (b_S_array$ ?v2 ?v3) ?v1) ?v4 ?v2)))) (let ((?x6897 (b_S_typemap$ ?v0))) (let ((?x6899 (b_S_select_o_tm$ ?x6897 (b_S_idx$ (b_S_ptr$ (b_S_array$ ?v2 ?v3) ?v1) ?v4 ?v2)))) (let (($x6904 (b_S_ts_n_is_n_array_n_elt$ ?x6899))) (let ((?x6894 (b_S_ptr$ (b_S_array$ ?v2 ?v3) ?v1))) (let (($x6901 (= (b_S_ts_n_emb$ ?x6899) ?x6894))) (let (($x6908 (and $x6901 (and (not (b_S_ts_n_is_n_volatile$ ?x6899)) (and $x6904 $x6905))))) (let (($x2766 (<= 0 ?v4))) (let (($x6566 (and $x2766 (< ?v4 ?v3)))) (let (($x6895 (b_S_typed$ ?v0 ?x6894))) (let (($x6896 (and $x6895 $x6566))) (=> $x6896 $x6908)))))))))))) :pattern ( (b_S_select_o_sm$ (b_S_statusmap$ ?v0) (b_S_idx$ (b_S_ptr$ ?v2 ?v1) ?v4 ?v2)) (b_S_ptr$ (b_S_array$ ?v2 ?v3) ?v1) ) :pattern ( (b_S_select_o_tm$ (b_S_typemap$ ?v0) (b_S_idx$ (b_S_ptr$ ?v2 ?v1) ?v4 ?v2)) (b_S_ptr$ (b_S_array$ ?v2 ?v3) ?v1) ) :qid k!493)) )) (let (($x6923 (forall ((?v0 B_S_state$) (?v1 Int) (?v2 B_S_ctype$) (?v3 Int) (?v4 Int) )(! (let (($x6905 (b_S_typed$ ?v0 (b_S_idx$ (b_S_ptr$ (b_S_array$ ?v2 ?v3) ?v1) ?v4 ?v2)))) (let ((?x6897 (b_S_typemap$ ?v0))) (let ((?x6899 (b_S_select_o_tm$ ?x6897 (b_S_idx$ (b_S_ptr$ (b_S_array$ ?v2 ?v3) ?v1) ?v4 ?v2)))) (let (($x6904 (b_S_ts_n_is_n_array_n_elt$ ?x6899))) (let ((?x6894 (b_S_ptr$ (b_S_array$ ?v2 ?v3) ?v1))) (let (($x6901 (= (b_S_ts_n_emb$ ?x6899) ?x6894))) (let (($x6908 (and $x6901 (and (not (b_S_ts_n_is_n_volatile$ ?x6899)) (and $x6904 $x6905))))) (let (($x2766 (<= 0 ?v4))) (let (($x6566 (and $x2766 (< ?v4 ?v3)))) (let (($x6895 (b_S_typed$ ?v0 ?x6894))) (let (($x6896 (and $x6895 $x6566))) (or (not $x6896) $x6908)))))))))))) :pattern ( (b_S_select_o_sm$ (b_S_statusmap$ ?v0) (b_S_idx$ (b_S_ptr$ ?v2 ?v1) ?v4 ?v2)) (b_S_ptr$ (b_S_array$ ?v2 ?v3) ?v1) ) :pattern ( (b_S_select_o_tm$ (b_S_typemap$ ?v0) (b_S_idx$ (b_S_ptr$ ?v2 ?v1) ?v4 ?v2)) (b_S_ptr$ (b_S_array$ ?v2 ?v3) ?v1) ) :qid k!493)) )) (let (($x6908 (and $x6901 (and (not (b_S_ts_n_is_n_volatile$ ?x6899)) (and $x6904 $x6905))))) (let (($x6920 (or (not (and $x6895 (and $x2766 (< ?0 ?1)))) $x6908))) (let (($x6566 (and $x2766 (< ?0 ?1)))) (let (($x6896 (and $x6895 $x6566))) (let ((@x6608 (monotonicity @x2814 (rewrite (= (< ?0 ?1) $x6603)) (= $x6566 (and $x2815 $x6603))))) (let ((@x6933 (trans (monotonicity @x6608 (= $x6896 (and $x6895 (and $x2815 $x6603)))) (rewrite (= (and $x6895 (and $x2815 $x6603)) $x6929)) (= $x6896 $x6929)))) (let ((@x6942 (monotonicity (monotonicity @x6933 (= (not $x6896) $x6934)) (rewrite (= $x6908 $x6937)) (= $x6920 $x6940)))) (let ((@x6947 (trans (quant-intro (rewrite (= (=> $x6896 $x6908) $x6920)) (= $x6917 $x6923)) (quant-intro @x6942 (= $x6923 $x6943)) (= $x6917 $x6943)))) (let ((@x14355 (mp~ (mp (asserted $x6917) @x6947 $x6943) (nnf-pos (refl (~ $x6940 $x6940)) (~ $x6943 $x6943)) $x6943))) (let ((@x17967 (mp @x14355 @x17966 $x17964))) (let (($x23539 (not $x23538))) (let (($x23587 (not $x17964))) (let (($x23588 (or $x23587 $x23539 $x11259 $x23557))) (let (($x23558 (or $x23539 $x22599 $x22601 $x23557))) (let (($x23589 (or $x23587 $x23558))) (let ((@x23586 (trans (monotonicity @x22711 @x22706 (= $x23558 (or $x23539 false $x11259 $x23557))) (rewrite (= (or $x23539 false $x11259 $x23557) (or $x23539 $x11259 $x23557))) (= $x23558 (or $x23539 $x11259 $x23557))))) (let ((@x23610 (trans (monotonicity @x23586 (= $x23589 (or $x23587 (or $x23539 $x11259 $x23557)))) (rewrite (= (or $x23587 (or $x23539 $x11259 $x23557)) $x23588)) (= $x23589 $x23588)))) (let ((@x23661 (unit-resolution (mp ((_ quant-inst v_b_S_s$ v_b_P_H_arr$ b_T_T_u1$ v_b_P_H_len$ 0) $x23589) @x23610 $x23588) @x17967 @x12041 @x23608 (hypothesis $x23556) false))) (let ((@x23442 (hypothesis $x22506))) (let ((@x23451 (symm @x23444 (= ?x22553 ?x10137)))) (let ((@x23449 (monotonicity (symm @x23445 (= v_b_P_H_arr$ ?x10079)) (= ?x10078 ?x22553)))) (let (($x21186 (= ?x21014 ?x10079))) (let (($x21191 (or $x21152 $x21186))) (let ((@x21192 ((_ quant-inst (b_S_array$ b_T_T_u1$ v_b_P_H_len$) (b_S_ref$ ?x10078)) $x21191))) (let ((@x23674 (trans (monotonicity @x23670 (= ?x23622 ?x21014)) (unit-resolution @x21192 @x19840 $x21186) (= ?x23622 ?x10079)))) (let ((@x23682 (trans @x23680 (unit-resolution @x22000 @x15336 @x12044 $x21990) (= ?x22595 ?x21983)))) (let ((@x23781 (trans (monotonicity @x23682 (= ?x23546 ?x23613)) (hypothesis $x23639) (= ?x23546 ?x23636)))) (let ((@x23782 (trans @x23781 (monotonicity (trans @x23674 @x23445 (= ?x23622 v_b_P_H_arr$)) (= ?x23636 ?x10078)) (= ?x23546 ?x10078)))) (let ((@x23785 (trans (trans (trans @x23782 @x23449 (= ?x23546 ?x22553)) @x23451 (= ?x23546 ?x10137)) @x23442 (= ?x23546 ?x22505)))) (let ((@x23787 (symm (monotonicity @x23785 (= ?x23547 (b_S_select_o_tm$ ?x10272 ?x22505))) (= (b_S_select_o_tm$ ?x10272 ?x22505) ?x23547)))) (let ((@x23788 (monotonicity @x23787 (= (b_S_ts_n_emb$ (b_S_select_o_tm$ ?x10272 ?x22505)) ?x23548)))) (let ((@x23704 (monotonicity (monotonicity @x23442 (= ?x22478 (b_S_select_o_tm$ ?x10272 ?x22505))) (= ?x22805 (b_S_ts_n_emb$ (b_S_select_o_tm$ ?x10272 ?x22505)))))) (let ((@x23790 (trans (trans @x23704 @x23788 (= ?x22805 ?x23548)) (unit-resolution (def-axiom (or $x23556 $x23549)) (lemma @x23661 $x23557) $x23549) (= ?x22805 ?x22595)))) (let ((@x23794 (trans (monotonicity (trans @x23790 @x23680 (= ?x22805 ?x10080)) (= ?x22433 ?x10082)) @x12043 $x22451))) (let ((@x23797 (lemma (unit-resolution (hypothesis (not $x22451)) @x23794 false) (or $x23642 $x22451 (not $x22506))))) (let ((@x24045 (unit-resolution (unit-resolution @x23797 @x24001 (or $x22451 (not $x22506))) @x23969 $x22451))) (let ((?x22806 (b_S_typ$ ?x22805))) (let ((?x22809 (b_S_kind_n_of$ ?x22806))) (let (($x22810 (= ?x22809 b_S_kind_n_primitive$))) (let (($x22807 (not $x22810))) (let ((?x22655 (b_S_select_o_tm$ ?x10272 ?x22505))) (let ((?x22658 (b_S_ts_n_emb$ ?x22655))) (let ((?x22663 (b_S_typ$ ?x22658))) (let ((?x22664 (b_S_kind_n_of$ ?x22663))) (let (($x22665 (= ?x22664 b_S_kind_n_primitive$))) (let ((@x22763 (monotonicity (monotonicity (symm @x23704 (= ?x22658 ?x22805)) (= ?x22663 ?x22806)) (= ?x22664 ?x22809)))) (let (($x22767 (not (or $x22665 (not (b_S_is_n_non_n_primitive$ ?x22663)))))) (let (($x19234 (forall ((?v0 B_S_type_n_state$) )(! (let (($x9543 (= (b_S_kind_n_of$ (b_S_typ$ (b_S_ts_n_emb$ ?v0))) b_S_kind_n_primitive$))) (let (($x19230 (or $x9543 (not (b_S_is_n_non_n_primitive$ (b_S_typ$ (b_S_ts_n_emb$ ?v0))))))) (not $x19230))) :pattern ( (b_S_ts_n_emb$ ?v0) ) :qid k!618)) )) (let (($x9548 (forall ((?v0 B_S_type_n_state$) )(! (let (($x9543 (= (b_S_kind_n_of$ (b_S_typ$ (b_S_ts_n_emb$ ?v0))) b_S_kind_n_primitive$))) (and (not $x9543) (b_S_is_n_non_n_primitive$ (b_S_typ$ (b_S_ts_n_emb$ ?v0))))) :pattern ( (b_S_ts_n_emb$ ?v0) ) :qid k!618)) )) (let (($x9543 (= (b_S_kind_n_of$ (b_S_typ$ (b_S_ts_n_emb$ ?0))) b_S_kind_n_primitive$))) (let (($x19230 (or $x9543 (not (b_S_is_n_non_n_primitive$ (b_S_typ$ (b_S_ts_n_emb$ ?0))))))) (let (($x9546 (and (not $x9543) (b_S_is_n_non_n_primitive$ (b_S_typ$ (b_S_ts_n_emb$ ?0)))))) (let ((@x15316 (mp~ (asserted $x9548) (nnf-pos (refl (~ $x9546 $x9546)) (~ $x9548 $x9548)) $x9548))) (let ((@x19237 (mp @x15316 (quant-intro (rewrite (= $x9546 (not $x19230))) (= $x9548 $x19234)) $x19234))) (let ((@x23507 (def-axiom (or (or $x22665 (not (b_S_is_n_non_n_primitive$ ?x22663))) (not $x22665))))) (let ((@x23501 (unit-resolution @x23507 (unit-resolution ((_ quant-inst (b_S_select_o_tm$ ?x10272 ?x22505)) (or (not $x19234) $x22767)) @x19237 $x22767) (not $x22665)))) (let ((@x23573 (lemma (unit-resolution @x23501 (trans @x22763 (hypothesis $x22810) $x22665) false) (or $x22807 (not $x22506))))) (let (($x22432 (not (or (not $x22602) (not (b_S_closed$ v_b_S_s$ ?x22805)))))) (let (($x22436 (= (b_S_kind_n_of$ ?x22514) b_S_kind_n_primitive$))) (let (($x22427 (not $x22436))) (let (($x22455 (or $x22427 $x22432 $x22810 (not (or $x22451 (b_S_in_n_wrapped_n_domain$ v_b_S_s$ ?x22805)))))) (let (($x22447 (or (= (b_S_owner$ v_b_S_s$ ?x10137) b_S_me$) (b_S_in_n_wrapped_n_domain$ v_b_S_s$ ?x10137)))) (let (($x22456 (not $x22455))) (let (($x22463 (not (or $x22456 (not (or $x22436 (not $x22447))))))) (let (($x22464 (or $x15505 $x22463))) (let (($x22465 (not $x22464))) (let (($x22466 (= $x10141 $x22465))) (let (($x19072 (forall ((?v0 B_S_state$) (?v1 B_S_ptr$) )(! (let (($x9039 (b_S_in_n_wrapped_n_domain$ ?v0 ?v1))) (let ((?x2484 (b_S_owner$ ?v0 ?v1))) (let (($x2486 (= ?x2484 b_S_me$))) (let (($x2249 (= (b_S_kind_n_of$ (b_S_typ$ ?v1)) b_S_kind_n_primitive$))) (let ((?x2769 (b_S_typemap$ ?v0))) (let ((?x9020 (b_S_select_o_tm$ ?x2769 ?v1))) (let ((?x9024 (b_S_ts_n_emb$ ?x9020))) (let (($x9035 (or (= (b_S_owner$ ?v0 ?x9024) b_S_me$) (b_S_in_n_wrapped_n_domain$ ?v0 ?x9024)))) (let (($x9022 (b_S_ts_n_is_n_volatile$ ?x9020))) (let (($x9023 (not $x9022))) (let (($x9027 (or $x9023 (not (b_S_closed$ ?v0 ?x9024))))) (let (($x2294 (not $x2249))) (let (($x19047 (or $x2294 (not $x9027) (= (b_S_kind_n_of$ (b_S_typ$ ?x9024)) b_S_kind_n_primitive$) (not $x9035)))) (let (($x19056 (or (not $x19047) (not (or $x2249 (not (or $x2486 $x9039))))))) (let (($x2488 (b_S_typed$ ?v0 ?v1))) (let (($x9531 (not $x2488))) (let (($x19064 (not (or $x9531 (not $x19056))))) (let (($x9019 (b_S_thread_n_local$ ?v0 ?v1))) (= $x9019 $x19064))))))))))))))))))) :pattern ( (b_S_thread_n_local$ ?v0 ?v1) ) :qid k!583)) )) (let (($x9066 (forall ((?v0 B_S_state$) (?v1 B_S_ptr$) )(! (let (($x9039 (b_S_in_n_wrapped_n_domain$ ?v0 ?v1))) (let ((?x2484 (b_S_owner$ ?v0 ?v1))) (let (($x2486 (= ?x2484 b_S_me$))) (let (($x2249 (= (b_S_kind_n_of$ (b_S_typ$ ?v1)) b_S_kind_n_primitive$))) (let (($x2294 (not $x2249))) (let (($x9041 (and $x2294 (or $x2486 $x9039)))) (let ((?x2769 (b_S_typemap$ ?v0))) (let ((?x9020 (b_S_select_o_tm$ ?x2769 ?v1))) (let ((?x9024 (b_S_ts_n_emb$ ?x9020))) (let (($x9035 (or (= (b_S_owner$ ?v0 ?x9024) b_S_me$) (b_S_in_n_wrapped_n_domain$ ?v0 ?x9024)))) (let (($x9022 (b_S_ts_n_is_n_volatile$ ?x9020))) (let (($x9023 (not $x9022))) (let (($x9027 (or $x9023 (not (b_S_closed$ ?v0 ?x9024))))) (let (($x9054 (and $x2249 $x9027 (not (= (b_S_kind_n_of$ (b_S_typ$ ?x9024)) b_S_kind_n_primitive$)) $x9035))) (let (($x9057 (or $x9054 $x9041))) (let (($x2488 (b_S_typed$ ?v0 ?v1))) (let (($x9060 (and $x2488 $x9057))) (let (($x9019 (b_S_thread_n_local$ ?v0 ?v1))) (= $x9019 $x9060))))))))))))))))))) :pattern ( (b_S_thread_n_local$ ?v0 ?v1) ) :qid k!583)) )) (let ((?x2769 (b_S_typemap$ ?1))) (let ((?x9020 (b_S_select_o_tm$ ?x2769 ?0))) (let ((?x9024 (b_S_ts_n_emb$ ?x9020))) (let (($x9035 (or (= (b_S_owner$ ?1 ?x9024) b_S_me$) (b_S_in_n_wrapped_n_domain$ ?1 ?x9024)))) (let (($x9022 (b_S_ts_n_is_n_volatile$ ?x9020))) (let (($x9023 (not $x9022))) (let (($x9027 (or $x9023 (not (b_S_closed$ ?1 ?x9024))))) (let (($x19047 (or $x2294 (not $x9027) (= (b_S_kind_n_of$ (b_S_typ$ ?x9024)) b_S_kind_n_primitive$) (not $x9035)))) (let (($x19056 (or (not $x19047) (not (or $x2249 (not (or $x2486 (b_S_in_n_wrapped_n_domain$ ?1 ?0)))))))) (let (($x19064 (not (or $x9531 (not $x19056))))) (let (($x9019 (b_S_thread_n_local$ ?1 ?0))) (let (($x9041 (and $x2294 (or $x2486 (b_S_in_n_wrapped_n_domain$ ?1 ?0))))) (let (($x9054 (and $x2249 $x9027 (not (= (b_S_kind_n_of$ (b_S_typ$ ?x9024)) b_S_kind_n_primitive$)) $x9035))) (let (($x9057 (or $x9054 $x9041))) (let (($x9060 (and $x2488 $x9057))) (let (($x9063 (= $x9019 $x9060))) (let (($x19054 (= $x9041 (not (or $x2249 (not (or $x2486 (b_S_in_n_wrapped_n_domain$ ?1 ?0)))))))) (let ((@x19058 (monotonicity (rewrite (= $x9054 (not $x19047))) (rewrite $x19054) (= $x9057 $x19056)))) (let ((@x19068 (trans (monotonicity @x19058 (= $x9060 (and $x2488 $x19056))) (rewrite (= (and $x2488 $x19056) $x19064)) (= $x9060 $x19064)))) (let ((@x19074 (quant-intro (monotonicity @x19068 (= $x9063 (= $x9019 $x19064))) (= $x9066 $x19072)))) (let (($x9046 (forall ((?v0 B_S_state$) (?v1 B_S_ptr$) )(! (let (($x9039 (b_S_in_n_wrapped_n_domain$ ?v0 ?v1))) (let ((?x2484 (b_S_owner$ ?v0 ?v1))) (let (($x2486 (= ?x2484 b_S_me$))) (let (($x2249 (= (b_S_kind_n_of$ (b_S_typ$ ?v1)) b_S_kind_n_primitive$))) (let (($x2294 (not $x2249))) (let (($x9041 (and $x2294 (or $x2486 $x9039)))) (let ((?x2769 (b_S_typemap$ ?v0))) (let ((?x9020 (b_S_select_o_tm$ ?x2769 ?v1))) (let ((?x9024 (b_S_ts_n_emb$ ?x9020))) (let (($x9035 (or (= (b_S_owner$ ?v0 ?x9024) b_S_me$) (b_S_in_n_wrapped_n_domain$ ?v0 ?x9024)))) (let (($x9036 (and (not (= (b_S_kind_n_of$ (b_S_typ$ ?x9024)) b_S_kind_n_primitive$)) $x9035))) (let (($x9022 (b_S_ts_n_is_n_volatile$ ?x9020))) (let (($x9023 (not $x9022))) (let (($x9027 (or $x9023 (not (b_S_closed$ ?v0 ?x9024))))) (let (($x2488 (b_S_typed$ ?v0 ?v1))) (let (($x9043 (and $x2488 (or (and $x2249 (and $x9027 $x9036)) $x9041)))) (let (($x9019 (b_S_thread_n_local$ ?v0 ?v1))) (= $x9019 $x9043)))))))))))))))))) :pattern ( (b_S_thread_n_local$ ?v0 ?v1) ) :qid k!583)) )) (let (($x9051 (forall ((?v0 B_S_state$) (?v1 B_S_ptr$) )(! (let (($x9039 (b_S_in_n_wrapped_n_domain$ ?v0 ?v1))) (let ((?x2484 (b_S_owner$ ?v0 ?v1))) (let (($x2486 (= ?x2484 b_S_me$))) (let (($x2249 (= (b_S_kind_n_of$ (b_S_typ$ ?v1)) b_S_kind_n_primitive$))) (let (($x2294 (not $x2249))) (let (($x9041 (and $x2294 (or $x2486 $x9039)))) (let ((?x2769 (b_S_typemap$ ?v0))) (let ((?x9020 (b_S_select_o_tm$ ?x2769 ?v1))) (let ((?x9024 (b_S_ts_n_emb$ ?x9020))) (let (($x9035 (or (= (b_S_owner$ ?v0 ?x9024) b_S_me$) (b_S_in_n_wrapped_n_domain$ ?v0 ?x9024)))) (let (($x9036 (and (not (= (b_S_kind_n_of$ (b_S_typ$ ?x9024)) b_S_kind_n_primitive$)) $x9035))) (let (($x9022 (b_S_ts_n_is_n_volatile$ ?x9020))) (let (($x9023 (not $x9022))) (let (($x9027 (or $x9023 (not (b_S_closed$ ?v0 ?x9024))))) (let (($x2488 (b_S_typed$ ?v0 ?v1))) (let (($x9043 (and $x2488 (or (and $x2249 (and $x9027 $x9036)) $x9041)))) (let (($x9019 (b_S_thread_n_local$ ?v0 ?v1))) (= $x9019 $x9043)))))))))))))))))) :pattern ( (b_S_thread_n_local$ ?v0 ?v1) ) :qid k!583)) )) (let (($x9036 (and (not (= (b_S_kind_n_of$ (b_S_typ$ ?x9024)) b_S_kind_n_primitive$)) $x9035))) (let (($x9043 (and $x2488 (or (and $x2249 (and $x9027 $x9036)) $x9041)))) (let (($x9048 (= $x9019 $x9043))) (let ((@x9059 (monotonicity (rewrite (= (and $x2249 (and $x9027 $x9036)) $x9054)) (= (or (and $x2249 (and $x9027 $x9036)) $x9041) $x9057)))) (let ((@x9068 (quant-intro (monotonicity (monotonicity @x9059 (= $x9043 $x9060)) (= $x9048 $x9063)) (= $x9051 $x9066)))) (let ((@x9070 (trans (quant-intro (rewrite (= (= $x9019 $x9043) $x9048)) (= $x9046 $x9051)) @x9068 (= $x9046 $x9066)))) (let ((@x15111 (mp~ (mp (asserted $x9046) @x9070 $x9066) (nnf-pos (refl (~ $x9063 $x9063)) (~ $x9066 $x9066)) $x9066))) (let ((@x19075 (mp @x15111 @x19074 $x19072))) (let ((@x22884 (unit-resolution (def-axiom (or (not $x22466) $x10141 $x22464)) (hypothesis $x15511) (or (not $x22466) $x22464)))) (let ((@x22831 (unit-resolution @x22884 (unit-resolution ((_ quant-inst v_b_S_s$ (b_S_idx$ ?x10078 0 b_T_T_u1$)) (or (not $x19072) $x22466)) @x19075 $x22466) $x22464))) (let ((@x23475 (unit-resolution (def-axiom (or $x22465 $x15505 $x22463)) (hypothesis $x10139) (or $x22465 $x22463)))) (let ((@x22517 (unit-resolution (def-axiom (or (or $x22456 (not (or $x22436 (not $x22447)))) $x22455)) (unit-resolution @x23475 @x22831 $x22463) $x22455))) (let ((?x21472 (b_S_kind_n_of$ b_T_T_u1$))) (let (($x21473 (= ?x21472 b_S_kind_n_primitive$))) (let (($x21480 (= $x9768 $x21473))) (let (($x9891 (forall ((?v0 B_S_ctype$) )(! (let ((?x9849 (b_S_kind_n_of$ ?v0))) (let (($x9883 (= ?x9849 b_S_kind_n_primitive$))) (let (($x2704 (b_S_is_n_primitive$ ?v0))) (= $x2704 $x9883)))) :pattern ( (b_S_is_n_primitive$ ?v0) ) :qid k!664)) )) (let (($x9883 (= ?x9849 b_S_kind_n_primitive$))) (let (($x9888 (= $x2704 $x9883))) (let (($x9886 (forall ((?v0 B_S_ctype$) )(! (let ((?x9849 (b_S_kind_n_of$ ?v0))) (let (($x9883 (= ?x9849 b_S_kind_n_primitive$))) (let (($x2704 (b_S_is_n_primitive$ ?v0))) (= $x2704 $x9883)))) :pattern ( (b_S_is_n_primitive$ ?v0) ) :qid k!664)) )) (let ((@x9896 (mp (asserted $x9886) (quant-intro (rewrite (= (= $x2704 $x9883) $x9888)) (= $x9886 $x9891)) $x9891))) (let ((@x15456 (mp~ @x9896 (nnf-pos (refl (~ $x9888 $x9888)) (~ $x9891 $x9891)) $x9891))) (let (($x21224 (not $x9891))) (let (($x21483 (or $x21224 $x21480))) (let ((@x21484 ((_ quant-inst b_T_T_u1$) $x21483))) (let ((@x22996 (unit-resolution (def-axiom (or (not $x21480) $x21489 $x21473)) @x9769 (or (not $x21480) $x21473)))) (let ((@x22988 (unit-resolution (def-axiom (or (not $x22522) $x15502 $x22515)) @x23411 (or (not $x22522) $x22515)))) (let ((@x22744 (monotonicity (unit-resolution @x22988 (unit-resolution @x22534 @x19833 $x22522) $x22515) (= (b_S_kind_n_of$ ?x22514) ?x21472)))) (let ((@x23400 (trans @x22744 (unit-resolution @x22996 (unit-resolution @x21484 @x15456 $x21480) $x21473) $x22436))) (let (($x22453 (or $x22451 (b_S_in_n_wrapped_n_domain$ v_b_S_s$ ?x22805)))) (let ((@x23008 (unit-resolution (def-axiom (or $x22453 (not $x22451))) (hypothesis $x22451) $x22453))) (let ((@x23085 (unit-resolution (def-axiom (or $x22456 $x22427 $x22432 $x22810 (not $x22453))) (hypothesis $x22807) @x23008 (or $x22456 $x22427 $x22432)))) (let ((@x22334 (def-axiom (or (or (not $x22602) (not (b_S_closed$ v_b_S_s$ ?x22805))) $x22602)))) (let ((@x23029 (unit-resolution (def-axiom (or $x22603 (not $x22602))) (unit-resolution @x22334 (unit-resolution @x23085 @x23400 @x22517 $x22432) $x22602) $x22603))) (let ((@x23005 (unit-resolution (unit-resolution @x22512 @x18948 $x22366) (unit-resolution @x23561 (mp (hypothesis $x10136) @x23563 $x22317) @x22990 $x22318) $x22365))) (let ((@x23505 (unit-resolution @x23490 @x18670 @x9769 @x12041 @x12050 (mp (unit-resolution @x22487 @x23005 $x22344) @x23502 $x22596) @x23029 false))) (let ((@x24068 (unit-resolution (lemma @x23505 (or $x11221 $x22810 $x15505 $x10141 (not $x22451))) @x22508 (or $x22810 $x15505 $x10141 (not $x22451))))) (let ((@x24055 (unit-resolution @x24068 (unit-resolution @x23573 @x23969 $x22807) (unit-resolution (def-axiom (or $x22603 $x10139)) (lemma @x24453 $x22604) $x10139) @x24045 $x10141))) (let ((@x24059 (unit-resolution (def-axiom (or $x20119 $x15502 $x15511 $x20113)) @x23411 (or $x20119 $x15511 $x20113)))) (let ((@x23997 (unit-resolution @x24059 @x24055 (unit-resolution (def-axiom (or $x20122 $x20116)) @x23983 $x20116) $x20113))) (let ((@x23272 (mp (hypothesis $x10145) (symm (commutativity (= $x10167 $x10145)) (= $x10145 $x10167)) $x10167))) (let ((@x24048 (unit-resolution (lemma (unit-resolution (hypothesis $x15548) @x23272 false) (or $x19724 $x10167)) (unit-resolution (def-axiom (or $x20110 $x10145)) @x23997 $x10145) $x10167))) (let ((@x24123 (unit-resolution (def-axiom (or $x20107 $x11385 $x20101)) (unit-resolution ((_ th-lemma arith farkas 1 1) (or $x11259 $x11382)) @x12041 $x11382) (or $x20107 $x20101)))) (let ((@x24138 (unit-resolution @x24123 (unit-resolution (def-axiom (or $x20110 $x20104)) @x23997 $x20104) $x20101))) (let ((?x22963 (* (- 1) ?x10144))) (let ((?x22964 (+ v_b_L_H_max_G_0$ ?x22963))) (let (($x22965 (>= ?x22964 0))) (let ((@x24119 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x19724 $x22965)) (unit-resolution (def-axiom (or $x20110 $x10145)) @x23997 $x10145) $x22965))) (let ((@x24012 (hypothesis $x19318))) (let ((@x24017 ((_ th-lemma arith eq-propagate 0 0) (unit-resolution (def-axiom (or $x19313 $x15523)) @x24012 $x15523) (unit-resolution (def-axiom (or $x19313 (not $x15525))) @x24012 (not $x15525)) (= ?v0!13 0)))) (let ((@x24022 (symm (monotonicity (monotonicity @x24017 (= ?x15529 ?x10137)) (= ?x15530 ?x10144)) (= ?x10144 ?x15530)))) (let ((@x24026 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not (= ?x10144 ?x15530)) (>= (+ ?x10144 ?x15531) 0))) @x24022 (>= (+ ?x10144 ?x15531) 0)))) (let ((@x24027 ((_ th-lemma arith farkas 1 -1 1) @x24026 (unit-resolution (def-axiom (or $x19313 (not $x15533))) @x24012 (not $x15533)) (hypothesis $x22965) false))) (let ((@x24121 (unit-resolution (def-axiom (or $x20095 $x19318 $x20089)) (unit-resolution (lemma @x24027 (or $x19313 (not $x22965))) @x24119 $x19313) (unit-resolution (def-axiom (or $x20098 $x20092)) @x24138 $x20092) $x20089))) (let ((@x24141 (unit-resolution (def-axiom (or $x20083 $x11259 $x15548 $x20077)) @x12041 (or $x20083 $x15548 $x20077)))) (let ((@x24113 (unit-resolution @x24141 (unit-resolution (def-axiom (or $x20086 $x20080)) @x24121 $x20080) @x24048 $x20077))) (let ((@x24140 (unit-resolution (def-axiom (or $x20074 $x11901)) @x24113 $x11901))) (let (($x23088 (= v_b_L_H_max_G_1$ v_b_S_result_G_0$))) (let ((@x9231 (asserted b_S_position_n_marker$))) (let ((@x23316 (unit-resolution (unit-resolution (def-axiom (or $x20059 $x15729 $x20053)) @x9231 (or $x20059 $x20053)) (unit-resolution (def-axiom (or $x20062 $x20056)) (hypothesis $x20065) $x20056) $x20053))) (let (($x23320 (or (not $x23088) (<= (+ v_b_L_H_max_G_1$ (* (- 1) v_b_S_result_G_0$)) 0)))) (let ((@x23322 (unit-resolution ((_ th-lemma arith triangle-eq) $x23320) (symm (unit-resolution (def-axiom (or $x20050 $x10222)) @x23316 $x10222) $x23088) (<= (+ v_b_L_H_max_G_1$ (* (- 1) v_b_S_result_G_0$)) 0)))) (let ((@x23180 (hypothesis $x11868))) (let ((@x23177 (trans (hypothesis $x10192) (symm (hypothesis $x10222) $x23088) (= ?x10191 v_b_S_result_G_0$)))) (let (($x23140 (not (= ?x10191 v_b_S_result_G_0$)))) (let (($x23145 (or $x20035 $x19501 $x19669 $x11867 $x23140))) (let (($x23036 (>= (+ v_b_SL_H_witness_G_0$ ?x11246) 0))) (let (($x23141 (or $x19501 $x19669 $x23036 $x23140))) (let (($x23146 (or $x20035 $x23141))) (let ((@x23042 (rewrite (= (+ v_b_SL_H_witness_G_0$ ?x11246) (+ ?x11246 v_b_SL_H_witness_G_0$))))) (let ((@x23045 (monotonicity @x23042 (= $x23036 (>= (+ ?x11246 v_b_SL_H_witness_G_0$) 0))))) (let ((@x23049 (trans @x23045 (rewrite (= (>= (+ ?x11246 v_b_SL_H_witness_G_0$) 0) $x11867)) (= $x23036 $x11867)))) (let ((@x23150 (monotonicity (monotonicity @x23049 (= $x23141 (or $x19501 $x19669 $x11867 $x23140))) (= $x23146 (or $x20035 (or $x19501 $x19669 $x11867 $x23140)))))) (let ((@x23154 (trans @x23150 (rewrite (= (or $x20035 (or $x19501 $x19669 $x11867 $x23140)) $x23145)) (= $x23146 $x23145)))) (let ((@x23182 (unit-resolution (mp ((_ quant-inst v_b_SL_H_witness_G_0$) $x23146) @x23154 $x23145) (hypothesis $x13315) @x23180 (hypothesis $x11432) (hypothesis $x20030) @x23177 false))) (let ((@x23324 (unit-resolution (lemma @x23182 (or $x20035 $x19669 $x11867 $x19501 $x19674 $x19640)) (unit-resolution (def-axiom (or $x20050 $x10222)) @x23316 $x10222) @x23180 (hypothesis $x11432) (hypothesis $x10192) (hypothesis $x13315) $x20035))) (let ((@x23326 (unit-resolution (def-axiom (or $x20047 $x19580 $x20041)) (unit-resolution (def-axiom (or $x20038 $x20030)) @x23324 $x20038) (unit-resolution (def-axiom (or $x20050 $x20044)) @x23316 $x20044) $x19580))) (let (($x23188 (>= (+ v_b_L_H_max_G_1$ ?x16029) 0))) (let (($x23310 (or (not (<= (+ v_b_L_H_p_G_0$ (* (- 1) ?v0!15)) 0)) $x16009 $x11487))) (let ((@x23308 ((_ th-lemma arith farkas -1 1 1) (hypothesis $x16014) (hypothesis (<= (+ v_b_L_H_p_G_0$ (* (- 1) ?v0!15)) 0)) (hypothesis $x11486) false))) (let ((@x23330 (unit-resolution (lemma @x23308 $x23310) (unit-resolution (def-axiom (or $x19575 $x16014)) @x23326 $x16014) (unit-resolution (def-axiom (or $x20062 $x11486)) (hypothesis $x20065) $x11486) (not (<= (+ v_b_L_H_p_G_0$ (* (- 1) ?v0!15)) 0))))) (let ((@x23333 (hypothesis $x19898))) (let (($x23168 (<= (+ v_b_L_H_p_G_0$ (* (- 1) ?v0!15)) 0))) (let (($x23196 (or $x19903 $x19559 $x19560 $x23168 $x23188))) (let (($x23134 (<= (+ ?x15744 (* (- 1) v_b_L_H_max_G_1$)) 0))) (let (($x23114 (>= (+ ?v0!15 ?x11484) 0))) (let (($x23135 (or $x19559 $x19560 $x23114 $x23134))) (let (($x23197 (or $x19903 $x23135))) (let (($x23173 (= (+ ?x15744 (* (- 1) v_b_L_H_max_G_1$)) (+ (* (- 1) v_b_L_H_max_G_1$) ?x15744)))) (let ((@x23186 (monotonicity (rewrite $x23173) (= $x23134 (<= (+ (* (- 1) v_b_L_H_max_G_1$) ?x15744) 0))))) (let ((@x23192 (trans @x23186 (rewrite (= (<= (+ (* (- 1) v_b_L_H_max_G_1$) ?x15744) 0) $x23188)) (= $x23134 $x23188)))) (let ((@x23166 (monotonicity (rewrite (= (+ ?v0!15 ?x11484) (+ ?x11484 ?v0!15))) (= $x23114 (>= (+ ?x11484 ?v0!15) 0))))) (let ((@x23171 (trans @x23166 (rewrite (= (>= (+ ?x11484 ?v0!15) 0) $x23168)) (= $x23114 $x23168)))) (let ((@x23201 (monotonicity (monotonicity @x23171 @x23192 (= $x23135 (or $x19559 $x19560 $x23168 $x23188))) (= $x23197 (or $x19903 (or $x19559 $x19560 $x23168 $x23188)))))) (let ((@x23205 (trans @x23201 (rewrite (= (or $x19903 (or $x19559 $x19560 $x23168 $x23188)) $x23196)) (= $x23197 $x23196)))) (let ((@x23335 (unit-resolution (mp ((_ quant-inst ?v0!15) $x23197) @x23205 $x23196) @x23333 (unit-resolution (def-axiom (or $x19575 $x15736)) @x23326 $x15736) (unit-resolution (def-axiom (or $x19575 $x15737)) @x23326 $x15737) (or $x23168 $x23188)))) (let ((@x23337 ((_ th-lemma arith farkas -1 1 1) (unit-resolution @x23335 @x23330 $x23188) (unit-resolution (def-axiom (or $x19575 (not $x16031))) @x23326 (not $x16031)) @x23322 false))) (let ((@x24129 (unit-resolution (lemma @x23337 (or $x20062 $x19903 $x11867 $x19501 $x19674 $x19669)) (unit-resolution (def-axiom (or $x20074 $x19898)) @x24113 $x19898) (unit-resolution (def-axiom (or $x20074 $x11868)) @x24113 $x11868) (unit-resolution (def-axiom (or $x20074 $x11432)) @x24113 $x11432) (unit-resolution (def-axiom (or $x20074 $x10192)) @x24113 $x10192) (unit-resolution (def-axiom (or $x20074 $x13315)) @x24113 $x13315) $x20062))) (let ((@x20858 (def-axiom (or $x20071 $x20019 $x20065)))) (let ((@x24135 (unit-resolution @x20858 (unit-resolution (def-axiom (or $x20074 $x20068)) @x24113 $x20068) @x24129 $x20019))) (let ((@x24136 (unit-resolution (def-axiom (or $x20016 $x11487)) @x24135 $x11487))) (let ((@x23427 (hypothesis $x11487))) (let (($x24307 (or $x23587 $x23539 $x19670 $x11486 $x24616))) (let (($x23367 (>= (+ v_b_L_H_p_G_0$ ?x11246) 0))) (let (($x24617 (or $x23539 $x19670 $x23367 $x24616))) (let (($x24303 (or $x23587 $x24617))) (let ((@x23377 (monotonicity (rewrite (= (+ v_b_L_H_p_G_0$ ?x11246) (+ ?x11246 v_b_L_H_p_G_0$))) (= $x23367 (>= (+ ?x11246 v_b_L_H_p_G_0$) 0))))) (let ((@x23381 (trans @x23377 (rewrite (= (>= (+ ?x11246 v_b_L_H_p_G_0$) 0) $x11486)) (= $x23367 $x11486)))) (let ((@x24641 (monotonicity (monotonicity @x23381 (= $x24617 (or $x23539 $x19670 $x11486 $x24616))) (= $x24303 (or $x23587 (or $x23539 $x19670 $x11486 $x24616)))))) (let ((@x24645 (trans @x24641 (rewrite (= (or $x23587 (or $x23539 $x19670 $x11486 $x24616)) $x24307)) (= $x24303 $x24307)))) (let ((@x24637 (unit-resolution (mp ((_ quant-inst v_b_S_s$ v_b_P_H_arr$ b_T_T_u1$ v_b_P_H_len$ v_b_L_H_p_G_0$) $x24303) @x24645 $x24307) @x17967 (hypothesis $x11901) @x23427 @x23608 (hypothesis $x24615) false))) (let ((@x24149 (unit-resolution (def-axiom (or $x24615 $x24606)) (unit-resolution (lemma @x24637 (or $x24616 $x19670 $x11486)) @x24136 @x24140 $x24616) $x24606))) (let ((?x24147 (b_S_ref$ ?x10320))) (let ((?x24169 (b_S_ptr$ b_T_T_u1$ ?x24147))) (let ((?x24320 (b_S_select_o_tm$ ?x10272 ?x24169))) (let ((?x24323 (b_S_ts_n_emb$ ?x24320))) (let ((?x24331 (b_S_owner$ v_b_S_s$ ?x24323))) (let (($x24332 (= ?x24331 b_S_me$))) (let (($x24385 (not $x24332))) (let ((?x23162 (b_S_select_o_tm$ ?x10272 ?x10320))) (let (($x23368 (b_S_ts_n_is_n_volatile$ ?x23162))) (let (($x23369 (or $x15593 $x23368))) (let (($x23370 (not $x23369))) (let (($x23385 (or $x22629 $x19677 $x21489 $x22597 $x19670 $x11486 $x23370))) (let (($x23371 (or $x19677 $x21489 $x22597 $x19670 $x23367 $x23370))) (let (($x23386 (or $x22629 $x23371))) (let ((@x23390 (monotonicity (monotonicity @x23381 (= $x23371 (or $x19677 $x21489 $x22597 $x19670 $x11486 $x23370))) (= $x23386 (or $x22629 (or $x19677 $x21489 $x22597 $x19670 $x11486 $x23370)))))) (let ((@x23394 (trans @x23390 (rewrite (= (or $x22629 (or $x19677 $x21489 $x22597 $x19670 $x11486 $x23370)) $x23385)) (= $x23386 $x23385)))) (let ((@x23429 (unit-resolution (mp ((_ quant-inst v_b_S_s$ v_b_P_H_arr$ (b_S_ptr$ ?x10076 ?x21014) v_b_P_H_len$ v_b_L_H_p_G_0$ b_T_T_u1$) $x23386) @x23394 $x23385) @x18670 @x9769 @x12050 (hypothesis $x11901) @x23427 (hypothesis $x22596) (hypothesis $x23369) false))) (let ((@x24150 (unit-resolution (lemma @x23429 (or $x23370 $x19670 $x11486 $x22597)) (mp (unit-resolution @x22487 @x24112 $x22344) @x23502 $x22596) (or $x23370 $x19670 $x11486)))) (let ((@x24176 (unit-resolution (def-axiom (or $x23369 $x10322)) (unit-resolution @x24150 @x24136 @x24140 $x23370) $x10322))) (let ((?x23294 (b_S_typ$ ?x10320))) (let (($x23295 (= ?x23294 b_T_T_u1$))) (let ((?x23287 (* ?x10045 v_b_L_H_p_G_0$))) (let ((?x22911 (b_S_ref$ ?x22505))) (let ((?x23291 (+ ?x22911 ?x23287))) (let ((?x23296 (b_S_ptr$ b_T_T_u1$ ?x23291))) (let ((?x23403 (b_S_typ$ ?x23296))) (let (($x23404 (= ?x23403 b_T_T_u1$))) (let ((?x23276 (b_S_idx$ ?x22505 v_b_L_H_p_G_0$ b_T_T_u1$))) (let (($x23115 (= ?x23276 ?x23296))) (let (($x23222 (or (not (b_S_extent_n_hint$ ?x23276 ?x22505)) (not $x23115)))) (let (($x23225 (not $x23222))) (let (($x23355 (or $x22568 $x23225))) (let (($x23293 (not (= ?x23276 (b_S_ptr$ b_T_T_u1$ (+ ?x22911 (* v_b_L_H_p_G_0$ ?x10045))))))) (let (($x23289 (not (or (not (b_S_extent_n_hint$ ?x23276 ?x22505)) $x23293)))) (let (($x23129 (= (= ?x23276 (b_S_ptr$ b_T_T_u1$ (+ ?x22911 (* v_b_L_H_p_G_0$ ?x10045)))) $x23115))) (let ((@x23250 (rewrite (= (* v_b_L_H_p_G_0$ ?x10045) ?x23287)))) (let ((@x23130 (monotonicity (monotonicity @x23250 (= (+ ?x22911 (* v_b_L_H_p_G_0$ ?x10045)) ?x23291)) (= (b_S_ptr$ b_T_T_u1$ (+ ?x22911 (* v_b_L_H_p_G_0$ ?x10045))) ?x23296)))) (let ((@x23224 (monotonicity (monotonicity (monotonicity @x23130 $x23129) (= $x23293 (not $x23115))) (= (or (not (b_S_extent_n_hint$ ?x23276 ?x22505)) $x23293) $x23222)))) (let ((@x23359 (monotonicity (monotonicity @x23224 (= $x23289 $x23225)) (= (or $x22568 $x23289) $x23355)))) (let ((@x23348 (mp ((_ quant-inst (b_S_ptr$ b_T_T_u1$ ?x22485) v_b_L_H_p_G_0$ b_T_T_u1$) (or $x22568 $x23289)) (trans @x23359 (rewrite (= $x23355 $x23355)) (= (or $x22568 $x23289) $x23355)) $x23355))) (let ((@x23441 (unit-resolution (def-axiom (or $x23222 $x23115)) (unit-resolution @x23348 @x18183 $x23225) $x23115))) (let ((@x23457 (monotonicity (trans (trans @x23449 @x23451 (= ?x10078 ?x10137)) @x23442 (= ?x10078 ?x22505)) (= ?x10320 ?x23276)))) (let ((@x23462 (trans (monotonicity (trans @x23457 @x23441 (= ?x10320 ?x23296)) (= ?x23294 ?x23403)) (unit-resolution ((_ quant-inst b_T_T_u1$ (+ ?x22911 ?x23287)) (or $x21147 $x23404)) @x19846 $x23404) $x23295))) (let (($x23298 (not $x23295))) (let (($x23297 (= $x10321 $x23295))) (let ((@x23437 (unit-resolution (def-axiom (or (not $x23297) $x10321 $x23298)) (hypothesis $x15590) (or (not $x23297) $x23298)))) (let ((@x23438 (unit-resolution @x23437 (unit-resolution ((_ quant-inst (b_S_idx$ ?x10078 v_b_L_H_p_G_0$ b_T_T_u1$) b_T_T_u1$) (or $x22002 $x23297)) @x19833 $x23297) $x23298))) (let ((@x24166 (unit-resolution (lemma (unit-resolution @x23438 @x23462 false) (or $x10321 (not $x22506))) @x23969 $x10321))) (let (($x23397 (not $x23368))) (let ((@x24155 (unit-resolution (def-axiom (or $x23369 $x23397)) (unit-resolution @x24150 @x24136 @x24140 $x23370) $x23397))) (let (($x13277 (<= v_b_P_H_len$ 4294967295))) (let ((@x13276 (monotonicity (monotonicity @x6446 (= (+ b_S_max_o_u4$ ?x11246) (+ 4294967295 ?x11246))) (= $x11245 (>= (+ 4294967295 ?x11246) 0))))) (let ((@x13281 (trans @x13276 (rewrite (= (>= (+ 4294967295 ?x11246) 0) $x13277)) (= $x11245 $x13277)))) (let ((@x13282 (mp (and-elim @x12033 $x11245) @x13281 $x13277))) (let ((@x24996 (unit-resolution ((_ th-lemma arith assign-bounds 1 -1) (or $x13353 (not $x13277) $x11486)) @x13282 (or $x13353 $x11486)))) (let ((@x24971 (hypothesis $x11570))) (let ((@x25230 (hypothesis $x10322))) (let ((@x24666 (hypothesis $x10321))) (let ((@x25234 (unit-resolution @x20858 (unit-resolution (def-axiom (or $x20074 $x20068)) (hypothesis $x20077) $x20068) (unit-resolution (def-axiom (or $x20062 $x11486)) @x23427 $x20062) $x20019))) (let ((@x20784 (def-axiom (or $x20013 $x15590 $x15593 $x20007)))) (let ((@x25236 (unit-resolution @x20784 (unit-resolution (def-axiom (or $x20016 $x20010)) @x25234 $x20010) @x24666 @x25230 $x20007))) (let (($x24170 (= ?x10320 ?x24169))) (let ((@x24159 (mp ((_ quant-inst (b_S_idx$ ?x10078 v_b_L_H_p_G_0$ b_T_T_u1$) b_T_T_u1$) (or $x21994 (or $x15590 $x24170))) (rewrite (= (or $x21994 (or $x15590 $x24170)) (or $x21994 $x15590 $x24170))) (or $x21994 $x15590 $x24170)))) (let ((@x25240 (unit-resolution (def-axiom (or (not $x23297) $x15590 $x23295)) @x24666 (or (not $x23297) $x23295)))) (let ((@x25241 (unit-resolution @x25240 (unit-resolution ((_ quant-inst (b_S_idx$ ?x10078 v_b_L_H_p_G_0$ b_T_T_u1$) b_T_T_u1$) (or $x22002 $x23297)) @x19833 $x23297) $x23295))) (let (($x24314 (b_S_typed$ v_b_S_s$ ?x24169))) (let ((@x25244 (mp @x25230 (monotonicity (unit-resolution @x24159 @x15336 @x24666 $x24170) (= $x10322 $x24314)) $x24314))) (let (($x24341 (or (= (b_S_owner$ v_b_S_s$ ?x24169) b_S_me$) (b_S_in_n_wrapped_n_domain$ v_b_S_s$ ?x24169)))) (let (($x24318 (= (b_S_kind_n_of$ (b_S_typ$ ?x24169)) b_S_kind_n_primitive$))) (let (($x24330 (= (b_S_kind_n_of$ (b_S_typ$ ?x24323)) b_S_kind_n_primitive$))) (let (($x24321 (b_S_ts_n_is_n_volatile$ ?x24320))) (let (($x24322 (not $x24321))) (let (($x24326 (or $x24322 (not (b_S_closed$ v_b_S_s$ ?x24323))))) (let (($x24327 (not $x24326))) (let (($x24319 (not $x24318))) (let (($x24336 (or $x24319 $x24327 $x24330 (not (or $x24332 (b_S_in_n_wrapped_n_domain$ v_b_S_s$ ?x24323)))))) (let (($x24337 (not $x24336))) (let (($x24346 (not (or $x24337 (not (or $x24318 (not $x24341))))))) (let (($x24315 (not $x24314))) (let (($x24347 (or $x24315 $x24346))) (let (($x24348 (not $x24347))) (let (($x24313 (b_S_thread_n_local$ v_b_S_s$ ?x24169))) (let (($x24349 (= $x24313 $x24348))) (let ((@x24281 (symm (monotonicity (symm (hypothesis $x24170) (= ?x24169 ?x10320)) (= $x24313 $x10324)) (= $x10324 $x24313)))) (let ((@x24575 (mp (hypothesis $x15599) (monotonicity @x24281 (= $x15599 (not $x24313))) (not $x24313)))) (let ((@x24566 (unit-resolution (def-axiom (or (not $x24349) $x24313 $x24347)) @x24575 (unit-resolution ((_ quant-inst v_b_S_s$ (b_S_ptr$ b_T_T_u1$ ?x24147)) (or (not $x19072) $x24349)) @x19075 $x24349) $x24347))) (let ((@x24590 (unit-resolution (def-axiom (or $x24348 $x24315 $x24346)) (hypothesis $x24314) (or $x24348 $x24346)))) (let ((@x24603 (monotonicity (symm (hypothesis $x24170) (= ?x24169 ?x10320)) (= (b_S_typ$ ?x24169) ?x23294)))) (let ((@x24647 (monotonicity (trans @x24603 (hypothesis $x23295) (= (b_S_typ$ ?x24169) b_T_T_u1$)) (= (b_S_kind_n_of$ (b_S_typ$ ?x24169)) ?x21472)))) (let ((@x24650 (trans @x24647 (unit-resolution @x22996 (unit-resolution @x21484 @x15456 $x21480) $x21473) $x24318))) (let ((@x24633 (monotonicity (symm (monotonicity (hypothesis $x24170) (= ?x23162 ?x24320)) (= ?x24320 ?x23162)) (= $x24321 $x23368)))) (let ((@x24657 (mp (hypothesis $x23397) (monotonicity (symm @x24633 (= $x23368 $x24321)) (= $x23397 $x24322)) $x24322))) (let (($x24333 (b_S_in_n_wrapped_n_domain$ v_b_S_s$ ?x24323))) (let (($x24334 (or $x24332 $x24333))) (let ((?x24328 (b_S_typ$ ?x24323))) (let (($x24480 (b_S_is_n_non_n_primitive$ ?x24328))) (let (($x24481 (not $x24480))) (let (($x24364 (or $x24330 $x24481))) (let (($x24365 (not $x24364))) (let ((@x24467 (unit-resolution ((_ quant-inst (b_S_select_o_tm$ ?x10272 ?x24169)) (or (not $x19234) $x24365)) @x19237 (hypothesis $x24364) false))) (let ((@x24663 (unit-resolution (def-axiom (or $x24364 (not $x24330))) (lemma @x24467 $x24365) (not $x24330)))) (let ((@x24661 (unit-resolution (def-axiom (or $x24337 $x24319 $x24327 $x24330 (not $x24334))) @x24663 (unit-resolution (def-axiom (or $x24334 $x24385)) (hypothesis $x24332) $x24334) (or $x24337 $x24319 $x24327)))) (let ((@x24785 (unit-resolution @x24661 (unit-resolution (def-axiom (or $x24326 $x24321)) @x24657 $x24326) @x24650 $x24337))) (let ((@x24756 (unit-resolution (def-axiom (or (or $x24337 (not (or $x24318 (not $x24341)))) $x24336)) @x24785 (unit-resolution @x24590 @x24566 $x24346) false))) (let ((@x25245 (unit-resolution (lemma @x24756 (or $x10324 $x24315 $x23298 (not $x24170) $x23368 $x24385)) @x25244 @x25241 (unit-resolution @x24159 @x15336 @x24666 $x24170) (hypothesis $x23397) (hypothesis $x24332) $x10324))) (let ((@x20768 (def-axiom (or $x20001 $x15590 $x15599 $x19995)))) (let ((@x25246 (unit-resolution @x20768 @x25245 @x24666 (unit-resolution (def-axiom (or $x20004 $x19998)) @x25236 $x19998) $x19995))) (let ((@x20758 (def-axiom (or $x19992 $x19986)))) (let ((@x20662 (def-axiom (or $x19947 $x15611 $x15614 $x19941)))) (let ((@x24977 (unit-resolution @x20662 (unit-resolution (def-axiom (or $x19950 $x19944)) (hypothesis $x19953) $x19944) @x24971 (unit-resolution @x24996 @x23427 $x13353) $x19941))) (let ((@x20652 (def-axiom (or $x19938 $x19932)))) (let (($x20596 (>= ?x11582 (- 1)))) (let ((@x24640 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x19452 $x20596)) (unit-resolution (def-axiom (or $x19938 $x11580)) @x24977 $x11580) $x20596))) (let ((?x11631 (* (- 1) v_b_L_H_max_G_3$))) (let ((?x20720 (+ v_b_L_H_max_G_1$ ?x11631))) (let (($x20721 (<= ?x20720 0))) (let ((?x24669 (+ ?x10327 ?x11631))) (let (($x24665 (<= ?x24669 0))) (let (($x24691 (= ?x10327 v_b_L_H_max_G_3$))) (let ((@x24748 (trans (monotonicity (hypothesis $x10338) (= $x24691 (= ?x10327 v_b_L_H_max_G_2$))) (commutativity (= (= ?x10327 v_b_L_H_max_G_2$) $x10333)) (= $x24691 $x10333)))) (let ((@x24239 (unit-resolution (hypothesis (not $x24691)) (mp (hypothesis $x10333) (symm @x24748 (= $x10333 $x24691)) $x24691) false))) (let ((@x24667 (unit-resolution (lemma @x24239 (or $x24691 $x19469 $x19472)) (unit-resolution (def-axiom (or $x19950 $x10333)) (hypothesis $x19953) $x10333) (unit-resolution (def-axiom (or $x19950 $x10338)) (hypothesis $x19953) $x10338) $x24691))) (let ((@x24699 (unit-resolution @x20768 (unit-resolution (def-axiom (or $x19950 $x10324)) (hypothesis $x19953) $x10324) @x24666 (hypothesis $x19998) $x19995))) (let (($x20719 (= v_b_L_H_max_G_1$ v_b_L_H_max_G_3$))) (let ((@x22521 (hypothesis $x24665))) (let (($x20722 (>= ?x20720 0))) (let ((@x24987 (unit-resolution ((_ th-lemma arith farkas 1 1) (or $x20722 $x20721)) (hypothesis (not $x20721)) $x20722))) (let ((@x25026 (lemma ((_ th-lemma arith farkas 1 1 1) (hypothesis $x11515) (hypothesis $x20722) @x22521 false) (or $x11516 (not $x20722) (not $x24665))))) (let ((@x25004 (unit-resolution (def-axiom (or $x19974 $x11515)) (unit-resolution @x25026 @x24987 @x22521 $x11516) $x19974))) (let ((@x20748 (def-axiom (or $x19989 $x19977 $x19983)))) (let ((@x20732 (def-axiom (or $x19980 $x10391)))) (let ((@x24978 (unit-resolution @x20732 (unit-resolution @x20748 @x25004 (hypothesis $x19986) $x19983) $x10391))) (let ((@x25028 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x20719) $x20721)) (hypothesis (not $x20721)) (not $x20719)))) (let ((@x24992 (unit-resolution @x25028 (mp @x24978 (symm (commutativity (= $x20719 $x10391)) (= $x10391 $x20719)) $x20719) false))) (let ((@x24755 (unit-resolution (lemma @x24992 (or $x20721 $x19989 (not $x24665))) (unit-resolution @x20758 @x24699 $x19986) (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x24691) $x24665)) @x24667 $x24665) $x20721))) (let ((@x24801 (monotonicity (monotonicity (hypothesis $x10340) (= ?x10372 ?x10320)) (= ?x10373 ?x10327)))) (let ((@x24798 (trans @x24801 (symm (hypothesis $x10333) (= ?x10327 v_b_L_H_max_G_2$)) (= ?x10373 v_b_L_H_max_G_2$)))) (let ((@x24758 (trans @x24798 (symm (hypothesis $x10338) (= v_b_L_H_max_G_2$ v_b_L_H_max_G_3$)) $x10374))) (let ((@x24760 (lemma (unit-resolution (hypothesis $x19411) @x24758 false) (or $x10374 $x19472 $x19469 $x19473)))) (let ((@x25092 (unit-resolution @x24760 (unit-resolution (def-axiom (or $x19950 $x10338)) (hypothesis $x19953) $x10338) (unit-resolution (def-axiom (or $x19950 $x10333)) (hypothesis $x19953) $x10333) (unit-resolution (def-axiom (or $x19950 $x10340)) (hypothesis $x19953) $x10340) $x10374))) (let ((?x11645 (* (- 1) v_b_SL_H_witness_G_1$))) (let ((?x24983 (+ v_b_L_H_p_G_0$ ?x11645))) (let (($x24986 (>= ?x24983 0))) (let (($x25036 (= v_b_L_H_p_G_0$ v_b_SL_H_witness_G_1$))) (let ((@x24772 (mp (hypothesis $x10340) (symm (commutativity (= $x25036 $x10340)) (= $x10340 $x25036)) $x25036))) (let ((@x25067 (lemma (unit-resolution (hypothesis (not $x25036)) @x24772 false) (or $x25036 $x19473)))) (let ((@x25089 (unit-resolution @x25067 (unit-resolution (def-axiom (or $x19950 $x10340)) (hypothesis $x19953) $x10340) $x25036))) (let ((@x25136 (lemma ((_ th-lemma arith farkas 1 -1 1) (hypothesis $x24986) (hypothesis $x11647) @x23427 false) (or (not $x24986) $x11648 $x11486)))) (let ((@x25093 (unit-resolution @x25136 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x25036) $x24986)) @x25089 $x24986) @x23427 $x11648))) (let ((@x20614 (def-axiom (or $x19413 $x11647 $x19411)))) (let ((@x20618 (def-axiom (or $x19914 $x19412)))) (let ((?x15869 (* (- 1) ?v0!14))) (let ((?x24928 (+ v_b_L_H_p_G_0$ ?x15869))) (let (($x25152 (>= ?x24928 0))) (let (($x25082 (not $x25152))) (let (($x25159 (= v_b_L_H_p_G_0$ ?v0!14))) (let (($x25184 (not $x25159))) (let (($x25165 (= ?x10327 ?x15634))) (let (($x25169 (not $x25165))) (let ((?x23824 (+ ?x10327 ?x15891))) (let (($x23830 (>= ?x23824 0))) (let (($x23816 (not $x23830))) (let ((@x23818 (hypothesis (not $x15893)))) (let ((@x23838 (lemma ((_ th-lemma arith farkas -1 -1 1) @x22521 @x23818 (hypothesis $x23830) false) (or $x23816 (not $x24665) $x15893)))) (let ((@x25123 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x25169 $x23830)) (unit-resolution @x23838 @x22521 @x23818 $x23816) $x25169))) (let ((@x25179 (monotonicity (symm (hypothesis $x25159) (= ?v0!14 v_b_L_H_p_G_0$)) (= ?x15633 ?x10320)))) (let ((@x25183 (unit-resolution (hypothesis $x25169) (symm (monotonicity @x25179 (= ?x15634 ?x10327)) $x25165) false))) (let (($x24929 (<= ?x24928 0))) (let (($x24941 (>= (+ v_b_L_H_max_G_1$ ?x15891) 0))) (let (($x23835 (not $x24941))) (let ((@x25078 (unit-resolution ((_ th-lemma arith assign-bounds 1 1) (or $x23835 $x15893 (not $x20721))) (hypothesis $x20721) @x23818 $x23835))) (let ((@x25066 (hypothesis $x20596))) (let ((@x23813 ((_ th-lemma arith assign-bounds -1 -1) (or $x11608 $x11486 (not $x20596))))) (let ((@x20638 (def-axiom (or $x19935 $x11612 $x19929)))) (let ((@x25144 (unit-resolution @x20638 (unit-resolution @x23813 @x25066 @x23427 $x11608) (hypothesis $x19932) $x19929))) (let ((@x20630 (def-axiom (or $x19926 $x19920)))) (let ((@x20626 (def-axiom (or $x19923 $x19386 $x19917)))) (let ((@x25132 (unit-resolution @x20626 (unit-resolution @x20630 @x25144 $x19920) (hypothesis $x19914) $x19386))) (let (($x24949 (or $x19903 $x19365 $x19366 $x24929 $x24941))) (let (($x24778 (<= (+ ?x15634 (* (- 1) v_b_L_H_max_G_1$)) 0))) (let (($x24909 (>= (+ ?v0!14 ?x11484) 0))) (let (($x24784 (or $x19365 $x19366 $x24909 $x24778))) (let (($x24950 (or $x19903 $x24784))) (let (($x24935 (= (+ ?x15634 (* (- 1) v_b_L_H_max_G_1$)) (+ (* (- 1) v_b_L_H_max_G_1$) ?x15634)))) (let ((@x24939 (monotonicity (rewrite $x24935) (= $x24778 (<= (+ (* (- 1) v_b_L_H_max_G_1$) ?x15634) 0))))) (let ((@x24945 (trans @x24939 (rewrite (= (<= (+ (* (- 1) v_b_L_H_max_G_1$) ?x15634) 0) $x24941)) (= $x24778 $x24941)))) (let ((@x24905 (monotonicity (rewrite (= (+ ?v0!14 ?x11484) (+ ?x11484 ?v0!14))) (= $x24909 (>= (+ ?x11484 ?v0!14) 0))))) (let ((@x24933 (trans @x24905 (rewrite (= (>= (+ ?x11484 ?v0!14) 0) $x24929)) (= $x24909 $x24929)))) (let ((@x24954 (monotonicity (monotonicity @x24933 @x24945 (= $x24784 (or $x19365 $x19366 $x24929 $x24941))) (= $x24950 (or $x19903 (or $x19365 $x19366 $x24929 $x24941)))))) (let ((@x24958 (trans @x24954 (rewrite (= (or $x19903 (or $x19365 $x19366 $x24929 $x24941)) $x24949)) (= $x24950 $x24949)))) (let ((@x23833 (unit-resolution (mp ((_ quant-inst ?v0!14) $x24950) @x24958 $x24949) @x23333 (unit-resolution (def-axiom (or $x19381 $x15626)) @x25132 $x15626) (unit-resolution (def-axiom (or $x19381 $x15627)) @x25132 $x15627) (or $x24929 $x24941)))) (let ((@x25097 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x25159 (not $x24929) $x25082)) (unit-resolution @x23833 @x25078 $x24929) (or $x25159 $x25082)))) (let ((@x25098 (unit-resolution @x25097 (unit-resolution (lemma @x25183 (or $x25184 $x25165)) @x25123 $x25184) $x25082))) (let ((@x25100 ((_ th-lemma arith farkas -1 -1 1) (unit-resolution (def-axiom (or $x19381 $x15876)) @x25132 $x15876) @x25066 @x25098 false))) (let ((@x25087 (lemma @x25100 (or (not $x24665) (not $x20596) $x15893 $x19903 (not $x20721) $x19917 $x19935 $x11486)))) (let ((@x25104 (unit-resolution @x25087 (unit-resolution @x20618 (unit-resolution @x20614 @x25093 @x25092 $x19413) $x19914) (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x24691) $x24665)) @x24667 $x24665) @x23333 @x24755 @x24640 (unit-resolution @x20652 @x24977 $x19932) @x23427 $x15893))) (let ((@x25102 (unit-resolution @x20638 (unit-resolution @x23813 @x24640 @x23427 $x11608) (unit-resolution @x20652 @x24977 $x19932) $x19929))) (let ((@x25125 (unit-resolution @x20626 (unit-resolution @x20618 (unit-resolution @x20614 @x25093 @x25092 $x19413) $x19914) (unit-resolution @x20630 @x25102 $x19920) $x19386))) (let ((@x20605 (def-axiom (or $x19381 (not $x15893))))) (let ((@x25095 (lemma (unit-resolution @x20605 @x25125 @x25104 false) (or $x19950 $x19903 $x11486 $x15611 $x15590 $x20001)))) (let ((@x25249 (unit-resolution @x25095 (unit-resolution (def-axiom (or $x20074 $x19898)) (hypothesis $x20077) $x19898) @x23427 @x24971 @x24666 (unit-resolution (def-axiom (or $x20004 $x19998)) @x25236 $x19998) $x19950))) (let ((@x25250 (unit-resolution (def-axiom (or $x19959 $x15590 $x15599 $x19953)) @x25245 @x24666 @x25249 $x19959))) (let ((@x25252 (unit-resolution (def-axiom (or $x19971 $x15590 $x15593 $x19965)) (unit-resolution (def-axiom (or $x19962 $x19956)) @x25250 $x19962) @x24666 @x25230 $x19971))) (let ((@x25254 (unit-resolution @x20748 (unit-resolution (def-axiom (or $x19974 $x19968)) @x25252 $x19974) (unit-resolution @x20758 @x25246 $x19986) $x19983))) (let ((@x25256 (unit-resolution @x20662 (unit-resolution (def-axiom (or $x19980 $x19944)) @x25254 $x19944) @x24971 (unit-resolution @x24996 @x23427 $x13353) $x19941))) (let ((@x25259 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x19452 $x20596)) (unit-resolution (def-axiom (or $x19938 $x11580)) @x25256 $x11580) $x20596))) (let ((@x25261 (unit-resolution @x20638 (unit-resolution @x23813 @x25259 @x23427 $x11608) (unit-resolution @x20652 @x25256 $x19932) $x19929))) (let ((@x25267 (monotonicity (unit-resolution (def-axiom (or $x19980 $x10392)) @x25254 $x10392) (= ?x10372 ?x10190)))) (let ((@x25272 (trans (monotonicity @x25267 (= ?x10373 ?x10191)) (unit-resolution (def-axiom (or $x20074 $x10192)) (hypothesis $x20077) $x10192) (= ?x10373 v_b_L_H_max_G_1$)))) (let ((?x20724 (+ v_b_SL_H_witness_G_0$ ?x11645))) (let (($x20726 (>= ?x20724 0))) (let (($x20723 (= v_b_SL_H_witness_G_0$ v_b_SL_H_witness_G_1$))) (let ((@x25279 (mp (unit-resolution (def-axiom (or $x19980 $x10392)) @x25254 $x10392) (symm (commutativity (= $x20723 $x10392)) (= $x10392 $x20723)) $x20723))) (let ((@x25229 (lemma ((_ th-lemma arith farkas 1 -1 1) (hypothesis $x20726) (hypothesis $x11647) @x23180 false) (or $x11648 (not $x20726) $x11867)))) (let ((@x25284 (unit-resolution @x25229 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x20723) $x20726)) @x25279 $x20726) (unit-resolution (def-axiom (or $x20074 $x11868)) (hypothesis $x20077) $x11868) $x11648))) (let ((@x25285 (unit-resolution @x20614 @x25284 (trans @x25272 (symm (unit-resolution @x20732 @x25254 $x10391) $x20719) $x10374) $x19413))) (let ((@x25287 (unit-resolution @x20626 (unit-resolution @x20618 @x25285 $x19914) (unit-resolution @x20630 @x25261 $x19920) $x19386))) (let ((@x25289 (mp (unit-resolution @x20732 @x25254 $x10391) (symm (commutativity (= $x20719 $x10391)) (= $x10391 $x20719)) $x20719))) (let ((@x25293 (unit-resolution ((_ th-lemma arith assign-bounds 1 -1) (or $x24665 $x11515 (not $x20721))) (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x20719) $x20721)) @x25289 $x20721) (unit-resolution (def-axiom (or $x19980 $x11516)) @x25254 $x11516) $x24665))) (let ((@x25294 (unit-resolution @x25087 (unit-resolution @x20618 @x25285 $x19914) (unit-resolution @x20652 @x25256 $x19932) (unit-resolution (def-axiom (or $x20074 $x19898)) (hypothesis $x20077) $x19898) (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x20719) $x20721)) @x25289 $x20721) @x25293 @x25259 @x23427 $x15893))) (let ((@x25297 (lemma (unit-resolution @x20605 @x25294 @x25287 false) (or $x20074 $x11486 $x15611 $x15590 $x15593 $x23368 $x24385)))) (let ((@x24156 (unit-resolution @x25297 @x24155 @x24113 @x24166 (unit-resolution ((_ th-lemma arith farkas 1 1) (or $x11570 $x19670)) @x24140 $x11570) @x24136 @x24176 $x24385))) (let ((?x24715 (+ ?x23287 ?x23622))) (let ((?x24720 (b_S_ptr$ b_T_T_u1$ ?x24715))) (let ((?x24697 (b_S_idx$ ?x21983 v_b_L_H_p_G_0$ b_T_T_u1$))) (let (($x24723 (= ?x24697 ?x24720))) (let (($x24726 (not $x24723))) (let (($x24698 (b_S_extent_n_hint$ ?x24697 ?x21983))) (let (($x24705 (not $x24698))) (let (($x24729 (or $x24705 $x24726))) (let (($x24732 (not $x24729))) (let (($x24735 (or $x22568 $x24732))) (let (($x24709 (not (= ?x24697 (b_S_ptr$ b_T_T_u1$ (+ ?x23622 (* v_b_L_H_p_G_0$ ?x10045))))))) (let (($x24711 (not (or $x24705 $x24709)))) (let (($x24724 (= (= ?x24697 (b_S_ptr$ b_T_T_u1$ (+ ?x23622 (* v_b_L_H_p_G_0$ ?x10045)))) $x24723))) (let ((@x24714 (monotonicity @x23250 (= (+ ?x23622 (* v_b_L_H_p_G_0$ ?x10045)) (+ ?x23622 ?x23287))))) (let ((@x24719 (trans @x24714 (rewrite (= (+ ?x23622 ?x23287) ?x24715)) (= (+ ?x23622 (* v_b_L_H_p_G_0$ ?x10045)) ?x24715)))) (let ((@x24722 (monotonicity @x24719 (= (b_S_ptr$ b_T_T_u1$ (+ ?x23622 (* v_b_L_H_p_G_0$ ?x10045))) ?x24720)))) (let ((@x24731 (monotonicity (monotonicity (monotonicity @x24722 $x24724) (= $x24709 $x24726)) (= (or $x24705 $x24709) $x24729)))) (let ((@x24739 (monotonicity (monotonicity @x24731 (= $x24711 $x24732)) (= (or $x22568 $x24711) $x24735)))) (let ((@x24743 (mp ((_ quant-inst (b_S_ptr$ ?x10076 ?x21014) v_b_L_H_p_G_0$ b_T_T_u1$) (or $x22568 $x24711)) (trans @x24739 (rewrite (= $x24735 $x24735)) (= (or $x22568 $x24711) $x24735)) $x24735))) (let ((@x24747 (def-axiom (or $x24729 $x24723)))) (let ((@x23880 (unit-resolution @x24747 (lemma (unit-resolution @x24743 @x18183 (hypothesis $x24729) false) $x24732) $x24723))) (let ((?x24111 (+ ?x10079 ?x23287))) (let ((?x24114 (b_S_ptr$ b_T_T_u1$ ?x24111))) (let (($x23925 (= ?x10320 ?x24114))) (let (($x23973 (or (not (b_S_extent_n_hint$ ?x10320 ?x10078)) (not $x23925)))) (let (($x23975 (not $x23973))) (let (($x23999 (or $x22568 $x23975))) (let (($x24108 (not (= ?x10320 (b_S_ptr$ b_T_T_u1$ (+ ?x10079 (* v_b_L_H_p_G_0$ ?x10045))))))) (let (($x24110 (not (or (not (b_S_extent_n_hint$ ?x10320 ?x10078)) $x24108)))) (let (($x23928 (= (= ?x10320 (b_S_ptr$ b_T_T_u1$ (+ ?x10079 (* v_b_L_H_p_G_0$ ?x10045)))) $x23925))) (let ((@x23927 (monotonicity (monotonicity @x23250 (= (+ ?x10079 (* v_b_L_H_p_G_0$ ?x10045)) ?x24111)) (= (b_S_ptr$ b_T_T_u1$ (+ ?x10079 (* v_b_L_H_p_G_0$ ?x10045))) ?x24114)))) (let ((@x23972 (monotonicity (monotonicity (monotonicity @x23927 $x23928) (= $x24108 (not $x23925))) (= (or (not (b_S_extent_n_hint$ ?x10320 ?x10078)) $x24108) $x23973)))) (let ((@x23964 (monotonicity (monotonicity @x23972 (= $x24110 $x23975)) (= (or $x22568 $x24110) $x23999)))) (let ((@x23967 (mp ((_ quant-inst (b_S_ptr$ b_T_T_u1$ v_b_P_H_arr$) v_b_L_H_p_G_0$ b_T_T_u1$) (or $x22568 $x24110)) (trans @x23964 (rewrite (= $x23999 $x23999)) (= (or $x22568 $x24110) $x23999)) $x23999))) (let ((@x24824 (unit-resolution (def-axiom (or $x23973 $x23925)) (unit-resolution @x23967 @x18183 $x23975) $x23925))) (let ((?x24252 (+ ?x10079 ?x23287 (* (- 1) (b_S_ref$ ?x24114))))) (let (($x24242 (= ?x24252 0))) (let (($x24247 (or $x21152 $x24242))) (let ((@x24254 (monotonicity (rewrite (= (= (b_S_ref$ ?x24114) ?x24111) $x24242)) (= (or $x21152 (= (b_S_ref$ ?x24114) ?x24111)) $x24247)))) (let ((@x24256 (trans @x24254 (rewrite (= $x24247 $x24247)) (= (or $x21152 (= (b_S_ref$ ?x24114) ?x24111)) $x24247)))) (let ((@x24827 (unit-resolution (mp ((_ quant-inst b_T_T_u1$ (+ ?x10079 ?x23287)) (or $x21152 (= (b_S_ref$ ?x24114) ?x24111))) @x24256 $x24247) @x19840 $x24242))) (let ((@x24831 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x24242) (<= ?x24252 0))) @x24827 (<= ?x24252 0)))) (let ((@x24834 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not $x24242) (>= ?x24252 0))) @x24827 (>= ?x24252 0)))) (let (($x24814 (= ?x24111 ?x24715))) (let ((?x24815 (* (- 1) ?x24715))) (let ((?x24818 (+ ?x24111 ?x24815))) (let (($x24819 (<= ?x24818 0))) (let ((?x24234 (* (- 1) ?x21014))) (let ((?x24214 (+ ?x10079 ?x24234))) (let (($x24215 (<= ?x24214 0))) (let ((@x24854 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not (= ?x10079 ?x21014)) $x24215)) (symm (unit-resolution @x21192 @x19840 $x21186) (= ?x10079 ?x21014)) $x24215))) (let ((?x24751 (* (- 1) ?x23622))) (let ((?x24752 (+ ?x21014 ?x24751))) (let (($x24753 (<= ?x24752 0))) (let ((@x24857 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not (= ?x21014 ?x23622)) $x24753)) (symm (monotonicity @x23670 (= ?x23622 ?x21014)) (= ?x21014 ?x23622)) $x24753))) (let ((@x24862 (unit-resolution ((_ th-lemma arith assign-bounds -1 -1) (or $x24819 (not $x24753) (not $x24215))) @x24857 @x24854 $x24819))) (let (($x24820 (>= ?x24818 0))) (let (($x24216 (>= ?x24214 0))) (let ((@x24841 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not (= ?x10079 ?x21014)) $x24216)) (symm (unit-resolution @x21192 @x19840 $x21186) (= ?x10079 ?x21014)) $x24216))) (let (($x24754 (>= ?x24752 0))) (let ((@x24846 (unit-resolution ((_ th-lemma arith triangle-eq) (or (not (= ?x21014 ?x23622)) $x24754)) (symm (monotonicity @x23670 (= ?x23622 ?x21014)) (= ?x21014 ?x23622)) $x24754))) (let ((@x24851 (unit-resolution ((_ th-lemma arith assign-bounds -1 -1) (or $x24820 (not $x24754) (not $x24216))) @x24846 @x24841 $x24820))) (let ((@x24907 (unit-resolution ((_ th-lemma arith triangle-eq) (or $x24814 (not $x24819) (not $x24820))) @x24851 @x24862 $x24814))) (let ((@x24911 (trans (symm @x24907 (= ?x24715 ?x24111)) ((_ th-lemma arith eq-propagate -1 -1) @x24834 @x24831 (= ?x24111 (b_S_ref$ ?x24114))) (= ?x24715 (b_S_ref$ ?x24114))))) (let ((@x24912 (trans @x24911 (monotonicity (symm @x24824 (= ?x24114 ?x10320)) (= (b_S_ref$ ?x24114) ?x24147)) (= ?x24715 ?x24147)))) (let ((@x24915 (trans (monotonicity @x23682 (= ?x24598 ?x24697)) (hypothesis $x24723) (= ?x24598 ?x24720)))) (let ((@x24917 (monotonicity (trans @x24915 (monotonicity @x24912 (= ?x24720 ?x24169)) (= ?x24598 ?x24169)) (= ?x24302 ?x24320)))) (let ((@x24920 (trans (monotonicity (symm @x24917 (= ?x24320 ?x24302)) (= ?x24323 ?x24605)) (hypothesis $x24606) (= ?x24323 ?x22595)))) (let ((@x24924 (trans (monotonicity (trans @x24920 @x23680 (= ?x24323 ?x10080)) (= ?x24331 ?x10082)) @x12043 $x24332))) (let ((@x24927 (lemma (unit-resolution (hypothesis $x24385) @x24924 false) (or $x24726 $x24332 $x24607)))) (unit-resolution (unit-resolution @x24927 @x23880 (or $x24332 $x24607)) @x24156 @x24149 false)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) diff --git a/src/HOL/Tools/SMT/cvc5_replay.ML b/src/HOL/Tools/SMT/cvc5_replay.ML new file mode 100644 --- /dev/null +++ b/src/HOL/Tools/SMT/cvc5_replay.ML @@ -0,0 +1,386 @@ +(* Title: HOL/Tools/SMT/cvc4_replay.ML + Author: Mathias Fleury, JKU + Author: Hanna Lachnitt, Stanford University + +CVC4 proof parsing and replay. +*) + +signature CVC5_REPLAY = +sig + val replay: Proof.context -> SMT_Translate.replay_data -> string list -> thm +end; + +structure CVC5_Replay: CVC5_REPLAY = +struct + +fun subst_only_free pairs = + let + fun substf u = + (case Termtab.lookup pairs u of + SOME u' => u' + | NONE => + (case u of + (Abs(a,T,t)) => Abs(a, T, substf t) + | (t$u') => substf t $ substf u' + | u => u)) + in substf end; + + +fun under_fixes f unchanged_prems (prems, nthms) names args insts decls (concl, ctxt) = + let + val thms1 = unchanged_prems @ map (SMT_Replay.varify ctxt) prems + val thms2 = map snd nthms + in (f ctxt (thms1 @ thms2) args insts decls concl) end + + +(** Replaying **) + +fun replay_thm method_for rewrite_rules ll_defs ctxt assumed unchanged_prems prems nthms + concl_transformation global_transformation args insts + (Lethe_Proof.Lethe_Replay_Node {id, rule, concl, bounds, declarations = decls, ...}) = + let + val rewrite = let val thy = Proof_Context.theory_of (empty_simpset ctxt) in + Raw_Simplifier.rewrite_term thy rewrite_rules [] + #> not (null ll_defs andalso Lethe_Proof.keep_raw_lifting rule) ? SMTLIB_Isar.unlift_term ll_defs + end + val rewrite_concl = if Lethe_Proof.keep_app_symbols rule then + filter (curry Term.could_unify (Thm.concl_of @{thm SMT.fun_app_def}) o Thm.concl_of) rewrite_rules + else rewrite_rules + val post = let val thy = Proof_Context.theory_of (empty_simpset ctxt) in + Raw_Simplifier.rewrite_term thy rewrite_concl [] + #> Object_Logic.atomize_term ctxt + #> not (null ll_defs) ? SMTLIB_Isar.unlift_term ll_defs + #> SMTLIB_Isar.unskolemize_names ctxt + #> HOLogic.mk_Trueprop + end + val concl = concl + |> Term.subst_free concl_transformation + |> subst_only_free global_transformation + |> post + in + if rule = Lethe_Proof.input_rule then + (case Symtab.lookup assumed id of + SOME (_, thm) => thm + | _ => raise Fail ("assumption " ^ @{make_string} id ^ " not found")) + else + under_fixes (method_for rule) unchanged_prems + (prems, nthms) (map fst bounds) + (map rewrite args) + (Symtab.map (K rewrite) insts) + decls + (concl, ctxt) + |> Simplifier.simplify (empty_simpset ctxt addsimps rewrite_rules) + end + +fun add_used_asserts_in_step (Lethe_Proof.Lethe_Replay_Node {prems, + subproof = (_, _, _, subproof), concl, ...}) = + let fun f x = (case try (snd o SMTLIB_Interface.role_and_index_of_assert_name) x of + NONE => NONE + | SOME a => SOME (a, concl)) + in + union (op =) (map_filter f prems @ + flat (map (fn x => add_used_asserts_in_step x []) subproof)) + end + +fun remove_rewrite_rules_from_rules n = + (fn (step as Lethe_Proof.Lethe_Replay_Node {id, ...}) => + (case try (snd o SMTLIB_Interface.role_and_index_of_assert_name) id of + NONE => SOME step + | SOME a => if a < n then NONE else SOME step)) + + +fun replay_theorem_step rewrite_rules ll_defs assumed inputs proof_prems + (step as Lethe_Proof.Lethe_Replay_Node {id, rule, prems, bounds, args, insts, + subproof = (fixes, assms, input, subproof), concl, ...}) state = + let + (* val _ = @{print}("replay_theorem_step rule", rule) + val _ = @{print}("replay_theorem_step id", id) + + val _ = @{print}("replay_theorem_step args", args) + val _ = @{print}("replay_theorem_step inputs", inputs) + val _ = @{print}("replay_theorem_step assumed", assumed) + val _ = @{print}("replay_theorem_step proof_prems", proof_prems)*) + + val (proofs, stats, ctxt, concl_tranformation, global_transformation) = state + val (_, ctxt) = Variable.variant_fixes (map fst bounds) ctxt + |> (fn (names, ctxt) => (names, + fold Variable.declare_term [SMTLIB_Isar.unskolemize_names ctxt concl] ctxt)) + + val (names, sub_ctxt) = Variable.variant_fixes (map fst fixes) ctxt + ||> fold Variable.declare_term (map Free fixes) + val export_vars = concl_tranformation @ + (ListPair.zip (map Free fixes, map Free (ListPair.zip (names, map snd fixes)))) + + val post = let val thy = Proof_Context.theory_of (empty_simpset ctxt) in + Raw_Simplifier.rewrite_term thy ((if Lethe_Proof.keep_raw_lifting rule andalso not (null rewrite_rules) then tl rewrite_rules else rewrite_rules)) [] + #> Object_Logic.atomize_term ctxt + #> not (null ll_defs andalso Lethe_Proof.keep_raw_lifting rule) ? SMTLIB_Isar.unlift_term ll_defs + #> SMTLIB_Isar.unskolemize_names ctxt + #> HOLogic.mk_Trueprop + end + + val assms = map (subst_only_free global_transformation o Term.subst_free (export_vars) o post) assms + val input = map (subst_only_free global_transformation o Term.subst_free (export_vars) o post) input + + val (all_proof_prems', sub_ctxt2) = Assumption.add_assumes (map (Thm.cterm_of sub_ctxt) (assms @ input)) + sub_ctxt + fun is_refl thm = Thm.concl_of thm |> (fn (_ $ t) => t) |> HOLogic.dest_eq |> (op =) handle TERM _=> false + val all_proof_prems' = + all_proof_prems' + |> filter_out is_refl + val proof_prems' = take (length assms) all_proof_prems' + + val input = drop (length assms) all_proof_prems' + val all_proof_prems = proof_prems @ proof_prems' + + val replay = replay_theorem_step rewrite_rules ll_defs assumed (input @ inputs) all_proof_prems + val (proofs', stats, _, _, sub_global_rew) = + fold replay subproof (proofs, stats, sub_ctxt2, export_vars, global_transformation) + + val export_thm = singleton (Proof_Context.export sub_ctxt2 ctxt) + + (*for sko_ex and sko_forall, assumptions are in proofs', but the definition of the skolem + function is in proofs *) + val nthms = + prems + |> map (apsnd export_thm) o map_filter (Symtab.lookup (if (null subproof) then proofs else proofs')) + + val nthms' = (if Lethe_Proof.is_skolemization rule + then prems else []) + |> map_filter (Symtab.lookup proofs) + val args = map (Term.subst_free concl_tranformation o subst_only_free global_transformation) args + val insts = Symtab.map (K (Term.subst_free concl_tranformation o subst_only_free global_transformation)) insts + val proof_prems = + if Lethe_Replay_Methods.requires_subproof_assms prems rule then proof_prems else [] + val local_inputs = + if Lethe_Replay_Methods.requires_local_input prems rule then input @ inputs else [] + + + val replay = (Timing.timing (replay_thm CVC5_Replay_Methods.method_for rewrite_rules ll_defs + ctxt assumed [] (proof_prems @ local_inputs) (nthms @ nthms') concl_tranformation + global_transformation args insts)) + + val ({elapsed, ...}, thm) = + SMT_Config.with_time_limit ctxt SMT_Config.reconstruction_step_timeout replay step + handle Timeout.TIMEOUT _ => raise SMT_Failure.SMT SMT_Failure.Time_Out + (*TODO: Maybe add flag so this is only output when checking an external proof, although I feel + it would be useful even when not*) + val _ = (SMT_Config.verbose_msg ctxt (K ("Successfully checked step " ^ id)) ()) + + val stats' = Symtab.cons_list (rule, Time.toNanoseconds elapsed) stats + val proofs = Symtab.update (id, (map fst bounds, thm)) proofs + in (proofs, stats', ctxt, + concl_tranformation, sub_global_rew) end + +fun replay_definition_step rewrite_rules ll_defs _ _ _ + (Lethe_Proof.Lethe_Replay_Node {id, declarations = raw_declarations, subproof = (_, _, _, subproof), ...}) state = + let + val _ = if null subproof then () + else raise (Fail ("unrecognized cvc5 proof, definition has a subproof")) + val (proofs, stats, ctxt, concl_tranformation, global_transformation) = state + val global_transformer = subst_only_free global_transformation + val rewrite = let val thy = Proof_Context.theory_of ctxt in + Raw_Simplifier.rewrite_term thy (rewrite_rules) [] + #> not (null ll_defs) ? SMTLIB_Isar.unlift_term ll_defs + end + val start0 = Timing.start () + val declaration = map (apsnd (rewrite o global_transformer)) raw_declarations + val (names, ctxt) = Variable.variant_fixes (map fst declaration) ctxt + ||> fold Variable.declare_term (map Free (map (apsnd fastype_of) declaration)) + val old_names = map Free (map (fn (a, b) => (a, fastype_of b)) declaration) + val new_names = map Free (ListPair.zip (names, map (fastype_of o snd) declaration)) + fun update_mapping (a, b) tab = + if a <> b andalso Termtab.lookup tab a = NONE + then Termtab.update_new (a, b) tab else tab + val global_transformation = global_transformation + |> fold update_mapping (ListPair.zip (old_names, new_names)) + val global_transformer = subst_only_free global_transformation + + val generate_definition = + (fn (name, term) => (HOLogic.mk_Trueprop + (Const(\<^const_name>\HOL.eq\, fastype_of term --> fastype_of term --> @{typ bool}) $ + Free (name, fastype_of term) $ term))) + #> global_transformer + #> Thm.cterm_of ctxt + val decls = map generate_definition declaration + val (defs, ctxt) = Assumption.add_assumes decls ctxt + val thms_with_old_name = ListPair.zip (map fst declaration, defs) + val proofs = fold + (fn (name, thm) => Symtab.update (id, ([name], @{thm sym} OF [thm]))) + thms_with_old_name proofs + val total = Time.toNanoseconds (#elapsed (Timing.result start0)) + val stats = Symtab.cons_list ("choice", total) stats + in (proofs, stats, ctxt, concl_tranformation, global_transformation) end + + +fun replay_assumed assms ll_defs rewrite_rules stats ctxt term = + let + val rewrite = let val thy = Proof_Context.theory_of (empty_simpset ctxt) in + Raw_Simplifier.rewrite_term thy rewrite_rules [] + #> not (null ll_defs) ? SMTLIB_Isar.unlift_term ll_defs + end + val replay = Timing.timing (SMT_Replay_Methods.prove ctxt (rewrite term)) + val ({elapsed, ...}, thm) = + SMT_Config.with_time_limit ctxt SMT_Config.reconstruction_step_timeout replay + (fn _ => Method.insert_tac ctxt (map snd assms) THEN' Classical.fast_tac ctxt) + handle Timeout.TIMEOUT _ => raise SMT_Failure.SMT SMT_Failure.Time_Out + val stats' = Symtab.cons_list (Lethe_Proof.input_rule, Time.toNanoseconds elapsed) stats + in + (thm, stats') + end + +val cvc_assms_prefix = "__repeated_assms_" (*FUDGE*) +(*The index k is not unique for monomorphised theorems.*) +fun cvc_assms_name l k = cvc_assms_prefix ^ SMTLIB_Interface.assert_name_of_role_and_index SMT_Util.Axiom k ^ "_" ^ l + +fun add_correct_assms_deps ctxt rewrite_rules ll_defs assms steps = + let + fun add_correct_assms_deps (st as Lethe_Proof.Lethe_Replay_Node {id, rule, args, prems, proof_ctxt, + concl, bounds, insts, declarations, subproof}) = + (case try (snd o SMTLIB_Interface.role_and_index_of_assert_name) id of + NONE => st + | SOME _ => + (case List.find (fn (_, th') => CVC_Proof_Parse.cvc_matching_assms ctxt rewrite_rules ll_defs concl th') assms of + NONE => st + | SOME ((k,_), _) => + let + val assms_prem = cvc_assms_name id k + in + Lethe_Proof.mk_replay_node id rule args (assms_prem :: prems) proof_ctxt concl bounds insts declarations + subproof + end)) + in + map add_correct_assms_deps steps + end + +fun replay_step rewrite_rules ll_defs assumed inputs proof_prems + (step as Lethe_Proof.Lethe_Replay_Node {rule, ...}) state = + if rule = Lethe_Proof.lethe_def + then replay_definition_step rewrite_rules ll_defs assumed inputs proof_prems step state + else replay_theorem_step rewrite_rules ll_defs assumed inputs proof_prems step state + + +fun replay outer_ctxt + ({context = ctxt, typs, terms, rewrite_rules, assms, ll_defs, ...} : SMT_Translate.replay_data) + output = + let + val _ = if not (SMT_Config.use_lethe_proof_from_cvc ctxt) + then (raise SMT_Failure.SMT (SMT_Failure.Other_Failure ("reconstruction with CVC is experimental.\n" ^ + "You must activate it with [[smt_cvc_lethe = true]] and use cvc5 (not included as component) ."))) + else () + + val rewrite_rules = + filter_out (fn thm => Term.could_unify (Thm.prop_of @{thm verit_eq_true_simplify}, + Thm.prop_of thm)) + rewrite_rules + val num_ll_defs = length ll_defs + val index_of_id = Integer.add (~ num_ll_defs) + val id_of_index = Integer.add num_ll_defs + + val start0 = Timing.start () + +(*Here the premise should still be in the assumption*) + val (actual_steps, ctxt2) = + Lethe_Proof.parse_replay typs terms output ctxt + val parsing_time = Time.toNanoseconds (#elapsed (Timing.result start0)) + + fun step_of_assume (i, th) = + let + fun matching (_, th') = CVC_Proof_Parse.cvc_matching_assms ctxt rewrite_rules ll_defs th th' + in + case List.find matching assms of + NONE => [] + | SOME ((k, role), th') => + + Lethe_Proof.Lethe_Replay_Node { + id = cvc_assms_name (SMTLIB_Interface.assert_name_of_role_and_index role (id_of_index i)) k, + rule = Lethe_Proof.input_rule, + args = [], + prems = [], + proof_ctxt = [], + concl = Thm.prop_of th' + |> Raw_Simplifier.rewrite_term (Proof_Context.theory_of + (empty_simpset ctxt addsimps rewrite_rules)) rewrite_rules [], + bounds = [], + insts = Symtab.empty, + declarations = [], + subproof = ([], [], [], [])} + |> single + end + + val used_assert_ids = fold add_used_asserts_in_step actual_steps [] + fun normalize_tac ctxt = let val thy = Proof_Context.theory_of (empty_simpset ctxt) in + Raw_Simplifier.rewrite_term thy rewrite_rules [] end + val used_assm_js = + map_filter (fn (id, th) => let val i = index_of_id id in if i >= 0 then SOME (i, th) + else NONE end) + used_assert_ids + + val assm_steps = map step_of_assume used_assm_js + |> flat + fun extract (Lethe_Proof.Lethe_Replay_Node {id, rule, concl, bounds, ...}) = + (id, rule, concl, map fst bounds) + fun cond rule = rule = Lethe_Proof.input_rule + val add_asssert = SMT_Replay.add_asserted Symtab.update Symtab.empty extract cond + + val ((_, _), (ctxt3, assumed)) = + add_asssert outer_ctxt rewrite_rules (map (apfst fst) assms) + (map_filter (remove_rewrite_rules_from_rules num_ll_defs) assm_steps) ctxt2 + + val used_rew_js = + map_filter (fn (id, th) => let val i = index_of_id id in if i < 0 + then SOME (id, normalize_tac ctxt (nth ll_defs id)) else NONE end) + used_assert_ids + + val (assumed, stats) = fold (fn ((id, thm)) => fn (assumed, stats) => + let + val (thm, stats) = replay_assumed assms ll_defs rewrite_rules stats ctxt thm + val name = SMTLIB_Interface.assert_name_of_role_and_index SMT_Util.Axiom id + in + (Symtab.update (name, ([], thm)) assumed, stats) + end) + used_rew_js (assumed, Symtab.cons_list ("parsing", parsing_time) Symtab.empty) + + + val actual_steps = actual_steps + |> add_correct_assms_deps ctxt rewrite_rules ll_defs assms + + val ctxt4 = + ctxt3 + |> put_simpset (SMT_Replay.make_simpset ctxt3 []) + |> Config.put SAT.solver (Config.get ctxt3 SMT_Config.sat_solver) + val len = Lethe_Proof.number_of_steps actual_steps + fun steps_with_depth _ [] = [] + | steps_with_depth i (p :: ps) = (i + Lethe_Proof.number_of_steps [p], p) :: + steps_with_depth (i + Lethe_Proof.number_of_steps [p]) ps + val actual_steps = steps_with_depth 0 actual_steps + val start = Timing.start () + val print_runtime_statistics = SMT_Replay.intermediate_statistics ctxt4 start len + fun blockwise f (i, x) (next, y) = + (if i > next then print_runtime_statistics i else (); + (if i > next then i + 10 else next, f x y)) + + val global_transformation : term Termtab.table = Termtab.empty + + val (_, (proofs, stats, ctxt5, _, _)) = + fold (blockwise (replay_step rewrite_rules ll_defs assumed [] [])) actual_steps + (1, (assumed, stats, ctxt4, [], global_transformation)) + + val total = Time.toMilliseconds (#elapsed (Timing.result start)) + + val (_, (_, Lethe_Proof.Lethe_Replay_Node {id, ...})) = split_last actual_steps + + val _ = print_runtime_statistics len + + val thm_with_defs = Symtab.lookup proofs id |> the |> snd + |> singleton (Proof_Context.export ctxt5 outer_ctxt) + val _ = SMT_Config.statistics_msg ctxt5 + (Pretty.string_of o SMT_Replay.pretty_statistics "cvc" total) stats + val _ = SMT_Replay.spying (SMT_Config.spy_verit ctxt) ctxt + (fn () => SMT_Replay.print_stats (Symtab.dest stats)) "spy_cvc" + + in + CVC5_Replay_Methods.discharge ctxt [thm_with_defs] @{term False} + end + +end diff --git a/src/HOL/Tools/SMT/cvc5_replay_methods.ML b/src/HOL/Tools/SMT/cvc5_replay_methods.ML new file mode 100644 --- /dev/null +++ b/src/HOL/Tools/SMT/cvc5_replay_methods.ML @@ -0,0 +1,261 @@ +(* Title: HOL/Tools/SMT/cvc4_replay_methods.ML + Author: Mathias Fleury, JKU, Uni Freiburg + Author: Hanna Lachnitt, Stanford University + +Proof method for replaying veriT proofs. +*) + +signature CVC5_REPLAY_METHODS = +sig + (*methods for verit proof rules*) + val method_for: string -> Proof.context -> thm list -> term list -> term Symtab.table -> + (string * term) list -> term -> thm + + val discharge: Proof.context -> thm list -> term -> thm +end; + + +structure CVC5_Replay_Methods: CVC5_REPLAY_METHODS = +struct + +open Lethe_Replay_Methods + +fun cvc5_rule_of "bind" = Bind + | cvc5_rule_of "cong" = Cong + | cvc5_rule_of "refl" = Refl + | cvc5_rule_of "equiv1" = Equiv1 + | cvc5_rule_of "equiv2" = Equiv2 + | cvc5_rule_of "equiv_pos1" = Equiv_pos1 + (*Equiv_pos2 covered below*) + | cvc5_rule_of "equiv_neg1" = Equiv_neg1 + | cvc5_rule_of "equiv_neg2" = Equiv_neg2 + | cvc5_rule_of "sko_forall" = Skolem_Forall + | cvc5_rule_of "sko_ex" = Skolem_Ex + | cvc5_rule_of "eq_reflexive" = Eq_Reflexive + | cvc5_rule_of "forall_inst" = Forall_Inst + | cvc5_rule_of "implies_pos" = Implies_Pos + | cvc5_rule_of "or" = Or + | cvc5_rule_of "not_or" = Not_Or + | cvc5_rule_of "resolution" = Resolution + | cvc5_rule_of "trans" = Trans + | cvc5_rule_of "false" = False + | cvc5_rule_of "ac_simp" = AC_Simp + | cvc5_rule_of "and" = And + | cvc5_rule_of "not_and" = Not_And + | cvc5_rule_of "and_pos" = And_Pos + | cvc5_rule_of "and_neg" = And_Neg + | cvc5_rule_of "or_pos" = Or_Pos + | cvc5_rule_of "or_neg" = Or_Neg + | cvc5_rule_of "not_equiv1" = Not_Equiv1 + | cvc5_rule_of "not_equiv2" = Not_Equiv2 + | cvc5_rule_of "not_implies1" = Not_Implies1 + | cvc5_rule_of "not_implies2" = Not_Implies2 + | cvc5_rule_of "implies_neg1" = Implies_Neg1 + | cvc5_rule_of "implies_neg2" = Implies_Neg2 + | cvc5_rule_of "implies" = Implies + | cvc5_rule_of "bfun_elim" = Bfun_Elim + | cvc5_rule_of "ite1" = ITE1 + | cvc5_rule_of "ite2" = ITE2 + | cvc5_rule_of "not_ite1" = Not_ITE1 + | cvc5_rule_of "not_ite2" = Not_ITE2 + | cvc5_rule_of "ite_pos1" = ITE_Pos1 + | cvc5_rule_of "ite_pos2" = ITE_Pos2 + | cvc5_rule_of "ite_neg1" = ITE_Neg1 + | cvc5_rule_of "ite_neg2" = ITE_Neg2 + | cvc5_rule_of "la_disequality" = LA_Disequality + | cvc5_rule_of "lia_generic" = LIA_Generic + | cvc5_rule_of "la_generic" = LA_Generic + | cvc5_rule_of "la_tautology" = LA_Tautology + | cvc5_rule_of "la_totality" = LA_Totality + | cvc5_rule_of "la_rw_eq"= LA_RW_Eq + | cvc5_rule_of "nla_generic"= NLA_Generic + | cvc5_rule_of "eq_transitive" = Eq_Transitive + | cvc5_rule_of "qnt_rm_unused" = Qnt_Rm_Unused + | cvc5_rule_of "onepoint" = Onepoint + | cvc5_rule_of "qnt_join" = Qnt_Join + | cvc5_rule_of "subproof" = Subproof + | cvc5_rule_of "bool_simplify" = Bool_Simplify + | cvc5_rule_of "or_simplify" = Or_Simplify + | cvc5_rule_of "ite_simplify" = ITE_Simplify + | cvc5_rule_of "and_simplify" = And_Simplify + | cvc5_rule_of "not_simplify" = Not_Simplify + | cvc5_rule_of "equiv_simplify" = Equiv_Simplify + | cvc5_rule_of "eq_simplify" = Eq_Simplify + | cvc5_rule_of "implies_simplify" = Implies_Simplify + | cvc5_rule_of "connective_def" = Connective_Def + | cvc5_rule_of "minus_simplify" = Minus_Simplify + | cvc5_rule_of "sum_simplify" = Sum_Simplify + | cvc5_rule_of "prod_simplify" = Prod_Simplify + | cvc5_rule_of "comp_simplify" = Comp_Simplify + | cvc5_rule_of "qnt_simplify" = Qnt_Simplify + | cvc5_rule_of "tautology" = Tautological_Clause + | cvc5_rule_of "qnt_cnf" = Qnt_CNF + | cvc5_rule_of "symm" = Symm + | cvc5_rule_of "not_symm" = Not_Symm + | cvc5_rule_of "reordering" = Reordering + | cvc5_rule_of "unary_minus_simplify" = Minus_Simplify + | cvc5_rule_of "quantifier_simplify" = Tmp_Quantifier_Simplify (*TODO Remove*) + | cvc5_rule_of r = + if r = Lethe_Proof.normalized_input_rule then Normalized_Input + else if r = Lethe_Proof.local_input_rule then Local_Input + else if r = Lethe_Proof.lethe_def then Definition + else if r = Lethe_Proof.not_not_rule then Not_Not + else if r = Lethe_Proof.contract_rule orelse r = "duplicate_literals" then Duplicate_Literals + else if r = Lethe_Proof.ite_intro_rule then ITE_Intro + else if r = Lethe_Proof.eq_congruent_rule then Eq_Congruent + else if r = Lethe_Proof.eq_congruent_pred_rule then Eq_Congruent_Pred + else if r = Lethe_Proof.theory_resolution2_rule then Theory_Resolution2 + else if r = Lethe_Proof.th_resolution_rule then Theory_Resolution + else if r = Lethe_Proof.equiv_pos2_rule then Equiv_pos2 + else if r = Lethe_Proof.hole orelse r = "undefined" then Hole + else (@{print} ("maybe unsupported rule", r); Other_Rule r) + +fun normalized_input ctxt prems t = SMT_Replay_Methods.prove ctxt t (fn _ => +let + val _ = (SMT_Config.verit_msg ctxt) (fn () => \<^print> ("normalized input t =",t)) + val _ = (SMT_Config.verit_msg ctxt) (fn () => \<^print> ("normalized ipput prems =",prems)) + +in + resolve_tac ctxt prems + (*TODO: should only be used for lambda encoding*) + ORELSE' Clasimp.force_tac ctxt +end) + +fun qnt_simplify ctxt _ t = SMT_Replay_Methods.prove ctxt t (fn _ => + K (Clasimp.auto_tac ctxt)) + + +fun hole ctxt prems t = SMT_Replay_Methods.prove ctxt t (fn _ => + K (print_tac ctxt "stuff") + THEN' Method.insert_tac ctxt prems + (*TODO: should only be used for lambda encoding*) +THEN' K (print_tac ctxt "stuff") + THEN' Clasimp.force_tac ctxt +THEN' K (print_tac ctxt "stuff") +) + +(* +Example: +lemma \(\x y. P x = Q y) \ (\ y z. Q y = R z) \ (\x z. P x = R z)\ +*) +fun trans ctxt prems t = + SMT_Replay_Methods.prove ctxt t (fn _ => + Method.insert_tac ctxt prems + THEN' (REPEAT_CHANGED (resolve_tac ctxt @{thms trans} THEN' assume_tac ctxt)) + THEN' (resolve_tac ctxt @{thms refl})) + + +(* Combining all together *) + +fun unsupported rule ctxt thms _ _ _ = SMT_Replay_Methods.replay_error ctxt "Unsupported verit rule" + rule thms + +fun ignore_args f ctxt thm _ _ _ t = f ctxt thm t +fun ignore_decls f ctxt thm args insts _ t = f ctxt thm args insts t +fun ignore_insts f ctxt thm args _ _ t = f ctxt thm args t + +fun choose _ And = ignore_args and_rule + | choose _ And_Neg = ignore_args and_neg_rule + | choose _ And_Pos = ignore_args and_pos + | choose _ And_Simplify = ignore_args rewrite_and_simplify + | choose _ Bind = ignore_insts bind + | choose _ Bool_Simplify = ignore_args rewrite_bool_simplify + | choose _ Comp_Simplify = ignore_args rewrite_comp_simplify + | choose _ Cong = ignore_args (cong "cvc5") + | choose _ Connective_Def = ignore_args rewrite_connective_def + | choose _ Duplicate_Literals = ignore_args duplicate_literals + | choose _ Eq_Congruent = ignore_args eq_congruent + | choose _ Eq_Congruent_Pred = ignore_args eq_congruent_pred + | choose _ Eq_Reflexive = ignore_args eq_reflexive + | choose _ Eq_Simplify = ignore_args rewrite_eq_simplify + | choose _ Eq_Transitive = ignore_args eq_transitive + | choose _ Equiv1 = ignore_args equiv1 + | choose _ Equiv2 = ignore_args equiv2 + | choose _ Equiv_neg1 = ignore_args equiv_neg1 + | choose _ Equiv_neg2 = ignore_args equiv_neg2 + | choose _ Equiv_pos1 = ignore_args equiv_pos1 + | choose _ Equiv_pos2 = ignore_args equiv_pos2 + | choose _ Equiv_Simplify = ignore_args rewrite_equiv_simplify + | choose _ False = ignore_args false_rule + | choose _ Forall_Inst = ignore_decls forall_inst + | choose _ Implies = ignore_args implies_rules + | choose _ Implies_Neg1 = ignore_args implies_neg1 + | choose _ Implies_Neg2 = ignore_args implies_neg2 + | choose _ Implies_Pos = ignore_args implies_pos + | choose _ Implies_Simplify = ignore_args rewrite_implies_simplify + | choose _ ITE1 = ignore_args ite1 + | choose _ ITE2 = ignore_args ite2 + | choose _ ITE_Intro = ignore_args ite_intro + | choose _ ITE_Neg1 = ignore_args ite_neg1 + | choose _ ITE_Neg2 = ignore_args ite_neg2 + | choose _ ITE_Pos1 = ignore_args ite_pos1 + | choose _ ITE_Pos2 = ignore_args ite_pos2 + | choose _ ITE_Simplify = ignore_args rewrite_ite_simplify + | choose _ LA_Disequality = ignore_args la_disequality + | choose _ LA_Generic = ignore_insts la_generic + | choose _ LA_RW_Eq = ignore_args la_rw_eq + | choose _ LA_Tautology = ignore_args SMT_Replay_Methods.arith_th_lemma_wo_shallow + | choose _ LA_Totality = ignore_args SMT_Replay_Methods.arith_th_lemma_wo_shallow + | choose _ LIA_Generic = ignore_args lia_generic + | choose _ Local_Input = ignore_args (refl "cvc5") + | choose _ Minus_Simplify = ignore_args rewrite_minus_simplify + | choose _ NLA_Generic = ignore_args SMT_Replay_Methods.arith_th_lemma_wo_shallow + | choose _ Normalized_Input = ignore_args normalized_input + | choose _ Not_And = ignore_args not_and_rule + | choose _ Not_Equiv1 = ignore_args not_equiv1 + | choose _ Not_Equiv2 = ignore_args not_equiv2 + | choose _ Not_Implies1 = ignore_args not_implies1 + | choose _ Not_Implies2 = ignore_args not_implies2 + | choose _ Not_ITE1 = ignore_args not_ite1 + | choose _ Not_ITE2 = ignore_args not_ite2 + | choose _ Not_Not = ignore_args not_not + | choose _ Not_Or = ignore_args not_or_rule + | choose _ Not_Simplify = ignore_args rewrite_not_simplify + | choose _ Or = ignore_args or + | choose _ Or_Neg = ignore_args or_neg_rule + | choose _ Or_Pos = ignore_args or_pos_rule + | choose _ Or_Simplify = ignore_args rewrite_or_simplify + | choose _ Theory_Resolution2 = ignore_args theory_resolution2 + | choose _ Prod_Simplify = ignore_args prod_simplify + | choose _ Qnt_Join = ignore_args qnt_join + | choose _ Qnt_Rm_Unused = ignore_args qnt_rm_unused + | choose _ Onepoint = ignore_args onepoint + | choose _ Qnt_Simplify = ignore_args qnt_simplify + | choose _ Refl = ignore_args (refl "cvc5") + | choose _ Resolution = ignore_args unit_res + | choose _ Skolem_Ex = ignore_args skolem_ex + | choose _ Skolem_Forall = ignore_args skolem_forall + | choose _ Subproof = ignore_args subproof + | choose _ Sum_Simplify = ignore_args sum_simplify + | choose _ Tautological_Clause = ignore_args tautological_clause + | choose _ Theory_Resolution = ignore_args unit_res + | choose _ AC_Simp = ignore_args tmp_AC_rule + | choose _ Bfun_Elim = ignore_args bfun_elim + | choose _ Qnt_CNF = ignore_args qnt_cnf + | choose _ Trans = ignore_args trans + | choose _ Symm = ignore_args symm + | choose _ Not_Symm = ignore_args not_symm + | choose _ Reordering = ignore_args reordering + | choose _ Tmp_Quantifier_Simplify = ignore_args qnt_simplify + | choose ctxt (x as Other_Rule r) = + (case get_alethe_tac r ctxt of + NONE => unsupported (string_of_verit_rule x) + | SOME a => ignore_insts a) + | choose _ Hole = ignore_args hole + | choose _ r = (@{print} ("unknown rule, using hole", r); ignore_args hole) +(*unsupported (string_of_verit_rule r)*) + +type verit_method = Proof.context -> thm list -> term -> thm +type abs_context = int * term Termtab.table + +fun with_tracing rule method ctxt thms args insts decls t = + let val _ = SMT_Replay_Methods.trace_goal ctxt rule thms t + in method ctxt thms args insts decls t end + +fun method_for rule ctxt = with_tracing rule (choose (Context.Proof ctxt) (cvc5_rule_of rule)) ctxt + +fun discharge ctxt [thm] t = + SMT_Replay_Methods.prove ctxt t (fn _ => + resolve_tac ctxt [thm] THEN_ALL_NEW (resolve_tac ctxt @{thms refl})) + +end; diff --git a/src/HOL/Tools/SMT/cvc_proof_parse.ML b/src/HOL/Tools/SMT/cvc_proof_parse.ML --- a/src/HOL/Tools/SMT/cvc_proof_parse.ML +++ b/src/HOL/Tools/SMT/cvc_proof_parse.ML @@ -1,47 +1,153 @@ (* Title: HOL/Tools/SMT/cvc_proof_parse.ML Author: Jasmin Blanchette, TU Muenchen CVC4 and cvc5 proof (actually, unsat core) parsing. *) signature CVC_PROOF_PARSE = sig val parse_proof: SMT_Translate.replay_data -> ((string * ATP_Problem_Generate.stature) * thm) list -> term list -> term -> string list -> SMT_Solver.parsed_proof + val parse_proof_lethe: SMT_Translate.replay_data -> + ((string * ATP_Problem_Generate.stature) * thm) list -> term list -> term -> string list -> + SMT_Solver.parsed_proof + val cvc_matching_assms: Proof.context -> thm list -> term list -> term -> thm -> bool + end; structure CVC_Proof_Parse: CVC_PROOF_PARSE = struct -fun parse_proof ({ll_defs, assms, ...} : SMT_Translate.replay_data) xfacts prems _ output = +open ATP_Util +open ATP_Problem +open ATP_Proof +open ATP_Proof_Reconstruct +open Lethe_Isar +open Lethe_Proof + +(*taken from verit*) +fun add_used_asserts_in_step (Lethe_Proof.Lethe_Step {prems, ...}) = + union (op =) (map_filter (try (snd o SMTLIB_Interface.role_and_index_of_assert_name)) prems) + +fun cvc_matching_assms ctxt rewrite_rules ll_defs th th' = + let + val expand = + not (null ll_defs) ? SMTLIB_Isar.unlift_term ll_defs + #> Object_Logic.dest_judgment ctxt o (Thm.cterm_of ctxt) + #> Thm.eta_long_conversion + #> Thm.prop_of + #> snd o Logic.dest_equals + #> Raw_Simplifier.rewrite_term (Proof_Context.theory_of + (empty_simpset ctxt addsimps rewrite_rules (*@ @{thms eq_True} still useful?*))) rewrite_rules [] + + + val normalize = + Object_Logic.dest_judgment ctxt o (Thm.cprop_of) + #> Thm.eta_long_conversion + #> Thm.prop_of + #> snd o Logic.dest_equals + #> Raw_Simplifier.rewrite_term (Proof_Context.theory_of + (empty_simpset ctxt addsimps rewrite_rules @ @{thms eq_True})) rewrite_rules [] + in (expand th) aconv (normalize th') end + +fun parse_proof_unsatcore ({ll_defs, assms, ...} : SMT_Translate.replay_data) xfacts prems _ output = if exists (String.isPrefix "(error \"This build of CVC4 doesn't have proof support") output then {outcome = NONE, fact_ids = NONE, atp_proof = K []} else let val num_ll_defs = length ll_defs val id_of_index = Integer.add num_ll_defs val index_of_id = Integer.add (~ num_ll_defs) val used_assert_ids = map_filter (try (snd o SMTLIB_Interface.role_and_index_of_assert_name)) output val used_assm_js = map_filter (fn id => let val i = index_of_id id in if i >= 0 then SOME i else NONE end) used_assert_ids val conjecture_i = 0 val prems_i = conjecture_i + 1 val num_prems = length prems val facts_i = prems_i + num_prems val fact_ids' = map_filter (fn j => let val ((i, _), _) = nth assms j in try (apsnd (nth xfacts)) (id_of_index j, i - facts_i) end) used_assm_js in {outcome = NONE, fact_ids = SOME fact_ids', atp_proof = K []} end + +fun parse_proof_lethe + ({context = ctxt, typs, terms, ll_defs, rewrite_rules, assms} : SMT_Translate.replay_data) + xfacts prems concl output = + if exists (String.isPrefix "(error \"This build of CVC4 doesn't have proof support") output then + {outcome = NONE, fact_ids = NONE, atp_proof = K []} + else + let + val num_ll_defs = length ll_defs + val id_of_index = Integer.add num_ll_defs + val index_of_id = Integer.add (~ num_ll_defs) + + fun step_of_assume i ((_, role), th) = + let + val th = Thm.prop_of th + fun matching (_, th') = cvc_matching_assms ctxt rewrite_rules ll_defs th th' + in + case List.find matching assms of + NONE => [] + | SOME (k, _) => + Lethe_Proof.Lethe_Step + {id = SMTLIB_Interface.assert_name_of_role_and_index role (id_of_index i), + rule = input_rule, prems = [], proof_ctxt = [], concl = th, fixes = []} + |> single + end + + val (actual_steps, _) = Lethe_Proof.parse typs terms output ctxt + val used_assert_ids = fold add_used_asserts_in_step actual_steps [] + val used_assm_js = + map_filter (fn id => let val i = index_of_id id in if i >= 0 then SOME i else NONE end) + used_assert_ids + val used_assms = map (nth assms) used_assm_js + val assm_steps = map2 step_of_assume used_assm_js used_assms + |> flat + val steps = assm_steps @ actual_steps + + val conjecture_i = 0 + val prems_i = conjecture_i + 1 + val num_prems = length prems + val facts_i = prems_i + num_prems + val num_facts = length xfacts + val helpers_i = facts_i + num_facts + + val conjecture_id = id_of_index conjecture_i + val prem_ids = map id_of_index (prems_i upto prems_i + num_prems - 1) + val fact_ids' = + map_filter (fn j => + let val ((i, _), _) = nth assms j in + try (apsnd (nth xfacts)) (id_of_index j, i - facts_i) + end) used_assm_js + val helper_ids' = + map_filter (fn ((i, _), thm) => if i >= helpers_i then SOME (i, thm) else NONE) used_assms + + val fact_helper_ts = + map (fn (_, th) => (ATP_Util.short_thm_name ctxt th, Thm.prop_of th)) helper_ids' @ + map (fn (_, ((s, _), th)) => (s, Thm.prop_of th)) fact_ids' + val fact_helper_ids' = + map (apsnd (ATP_Util.short_thm_name ctxt)) helper_ids' @ map (apsnd (fst o fst)) fact_ids' + in + {outcome = NONE, fact_ids = SOME fact_ids', + atp_proof = fn () => atp_proof_of_veriT_proof ctxt ll_defs rewrite_rules prems concl + fact_helper_ts prem_ids conjecture_id fact_helper_ids' steps} + end + +fun parse_proof (rep as {context = ctxt, ...}) = + if SMT_Config.use_lethe_proof_from_cvc ctxt + then parse_proof_unsatcore rep + else parse_proof_unsatcore rep + end; diff --git a/src/HOL/Tools/SMT/lethe_proof.ML b/src/HOL/Tools/SMT/lethe_proof.ML --- a/src/HOL/Tools/SMT/lethe_proof.ML +++ b/src/HOL/Tools/SMT/lethe_proof.ML @@ -1,788 +1,833 @@ (* Title: HOL/Tools/SMT/lethe_proof.ML Author: Mathias Fleury, ENS Rennes Author: Sascha Boehme, TU Muenchen Lethe proofs: parsing and abstract syntax tree. *) signature LETHE_PROOF = sig (*proofs*) datatype lethe_step = Lethe_Step of { id: string, rule: string, prems: string list, proof_ctxt: term list, concl: term, fixes: string list} datatype lethe_replay_node = Lethe_Replay_Node of { id: string, rule: string, args: term list, prems: string list, proof_ctxt: term list, concl: term, bounds: (string * typ) list, declarations: (string * term) list, insts: term Symtab.table, subproof: (string * typ) list * term list * term list * lethe_replay_node list} val mk_replay_node: string -> string -> term list -> string list -> term list -> term -> (string * typ) list -> term Symtab.table -> (string * term) list -> (string * typ) list * term list * term list * lethe_replay_node list -> lethe_replay_node +datatype raw_lethe_node = Raw_Lethe_Node of { + id: string, + rule: string, + args: SMTLIB.tree, + prems: string list, + concl: SMTLIB.tree, + declarations: (string * SMTLIB.tree) list, + subproof: raw_lethe_node list} + val parse_raw_proof_steps: string option -> SMTLIB.tree list -> SMTLIB_Proof.name_bindings -> int -> + raw_lethe_node list * SMTLIB.tree list * SMTLIB_Proof.name_bindings + (*proof parser*) val parse: typ Symtab.table -> term Symtab.table -> string list -> Proof.context -> lethe_step list * Proof.context val parse_replay: typ Symtab.table -> term Symtab.table -> string list -> Proof.context -> lethe_replay_node list * Proof.context val step_prefix : string val input_rule: string val keep_app_symbols: string -> bool val keep_raw_lifting: string -> bool val normalized_input_rule: string val la_generic_rule : string val rewrite_rule : string val simp_arith_rule : string val lethe_deep_skolemize_rule : string val lethe_def : string val is_lethe_def : string -> bool val subproof_rule : string val local_input_rule : string val not_not_rule : string val contract_rule : string val ite_intro_rule : string val eq_congruent_rule : string val eq_congruent_pred_rule : string val skolemization_steps : string list val theory_resolution2_rule: string val equiv_pos2_rule: string val and_pos_rule: string + val hole: string val th_resolution_rule: string val is_skolemization: string -> bool val is_skolemization_step: lethe_replay_node -> bool val number_of_steps: lethe_replay_node list -> int end; structure Lethe_Proof: LETHE_PROOF = struct open SMTLIB_Proof datatype raw_lethe_node = Raw_Lethe_Node of { id: string, rule: string, args: SMTLIB.tree, prems: string list, concl: SMTLIB.tree, declarations: (string * SMTLIB.tree) list, subproof: raw_lethe_node list} fun mk_raw_node id rule args prems declarations concl subproof = Raw_Lethe_Node {id = id, rule = rule, args = args, prems = prems, declarations = declarations, concl = concl, subproof = subproof} datatype lethe_node = Lethe_Node of { id: string, rule: string, prems: string list, proof_ctxt: term list, concl: term} fun mk_node id rule prems proof_ctxt concl = Lethe_Node {id = id, rule = rule, prems = prems, proof_ctxt = proof_ctxt, concl = concl} datatype lethe_replay_node = Lethe_Replay_Node of { id: string, rule: string, args: term list, prems: string list, proof_ctxt: term list, concl: term, bounds: (string * typ) list, insts: term Symtab.table, declarations: (string * term) list, subproof: (string * typ) list * term list * term list * lethe_replay_node list} fun mk_replay_node id rule args prems proof_ctxt concl bounds insts declarations subproof = Lethe_Replay_Node {id = id, rule = rule, args = args, prems = prems, proof_ctxt = proof_ctxt, concl = concl, bounds = bounds, insts = insts, declarations = declarations, subproof = subproof} datatype lethe_step = Lethe_Step of { id: string, rule: string, prems: string list, proof_ctxt: term list, concl: term, fixes: string list} fun mk_step id rule prems proof_ctxt concl fixes = Lethe_Step {id = id, rule = rule, prems = prems, proof_ctxt = proof_ctxt, concl = concl, fixes = fixes} val step_prefix = ".c" val input_rule = "input" val la_generic_rule = "la_generic" val normalized_input_rule = "__normalized_input" (*arbitrary*) val rewrite_rule = "__rewrite" (*arbitrary*) val subproof_rule = "subproof" val local_input_rule = "__local_input" (*arbitrary*) val simp_arith_rule = "simp_arith" val lethe_def = "__skolem_definition" (*arbitrary*) val not_not_rule = "not_not" val contract_rule = "contraction" val eq_congruent_pred_rule = "eq_congruent_pred" val eq_congruent_rule = "eq_congruent" val ite_intro_rule = "ite_intro" val default_skolem_rule = "sko_forall" (*arbitrary, but must be one of the skolems*) val theory_resolution2_rule = "__theory_resolution2" (*arbitrary*) val equiv_pos2_rule = "equiv_pos2" val th_resolution_rule = "th_resolution" val and_pos_rule = "and_pos" +val hole = "hole" val is_lethe_def = String.isSuffix lethe_def val skolemization_steps = ["sko_forall", "sko_ex"] val is_skolemization = member (op =) skolemization_steps val keep_app_symbols = member (op =) [eq_congruent_pred_rule, eq_congruent_rule, ite_intro_rule, and_pos_rule] val keep_raw_lifting = member (op =) [eq_congruent_pred_rule, eq_congruent_rule, ite_intro_rule, and_pos_rule] val is_SH_trivial = member (op =) [not_not_rule, contract_rule] fun is_skolemization_step (Lethe_Replay_Node {id, ...}) = is_skolemization id (* Even the lethe developers do not know if the following rule can still appear in proofs: *) val lethe_deep_skolemize_rule = "deep_skolemize" fun number_of_steps [] = 0 | number_of_steps ((Lethe_Replay_Node {subproof = (_, _, _, subproof), ...}) :: pf) = 1 + number_of_steps subproof + number_of_steps pf (* proof parser *) fun node_of p cx = ([], cx) ||>> `(with_fresh_names (term_of p)) |>> snd fun synctactic_var_subst old_name new_name (u $ v) = (synctactic_var_subst old_name new_name u $ synctactic_var_subst old_name new_name v) | synctactic_var_subst old_name new_name (Abs (v, T, u)) = Abs (if String.isPrefix old_name v then new_name else v, T, synctactic_var_subst old_name new_name u) | synctactic_var_subst old_name new_name (Free (v, T)) = if String.isPrefix old_name v then Free (new_name, T) else Free (v, T) | synctactic_var_subst _ _ t = t fun synctatic_rew_in_lhs_subst old_name new_name (Const(\<^const_name>\HOL.eq\, T) $ t1 $ t2) = Const(\<^const_name>\HOL.eq\, T) $ synctactic_var_subst old_name new_name t1 $ t2 | synctatic_rew_in_lhs_subst old_name new_name (Const(\<^const_name>\Trueprop\, T) $ t1) = Const(\<^const_name>\Trueprop\, T) $ (synctatic_rew_in_lhs_subst old_name new_name t1) | synctatic_rew_in_lhs_subst _ _ t = t fun add_bound_variables_to_ctxt cx = fold (update_binding o (fn (s, SOME typ) => (s, Term (Free (s, type_of cx typ))))) local fun extract_symbols bds = bds |> map (fn (SMTLIB.S [SMTLIB.Sym "=", SMTLIB.Sym x, SMTLIB.Sym y], typ) => [([x, y], typ)] | t => raise (Fail ("match error " ^ @{make_string} t))) |> flat (* onepoint can bind a variable to another variable or to a constant *) fun extract_qnt_symbols cx bds = bds |> map (fn (SMTLIB.S [SMTLIB.Sym "=", SMTLIB.Sym x, SMTLIB.Sym y], typ) => (case node_of (SMTLIB.Sym y) cx of ((_, []), _) => [([x], typ)] | _ => [([x, y], typ)]) + | (SMTLIB.S (SMTLIB.Sym "=" :: SMTLIB.S [SMTLIB.Sym x, typ] :: SMTLIB.Sym y :: []), _) => [([x, y], SOME typ)] | (SMTLIB.S (SMTLIB.Sym "=" :: SMTLIB.Sym x :: _), typ) => [([x], typ)] | t => raise (Fail ("match error " ^ @{make_string} t))) |> flat fun extract_symbols_map bds = bds |> map (fn (SMTLIB.S [SMTLIB.Sym "=", SMTLIB.Sym x, _], typ) => [([x], typ)]) |> flat in fun declared_csts _ "__skolem_definition" [(SMTLIB.S [SMTLIB.Sym x, typ, _], _)] = [(x, typ)] | declared_csts _ "__skolem_definition" t = raise (Fail ("unrecognized skolem_definition " ^ @{make_string} t)) | declared_csts _ _ _ = [] fun skolems_introduced_by_rule (SMTLIB.S bds) = fold (fn (SMTLIB.S [SMTLIB.Sym "=", _, SMTLIB.Sym y]) => curry (op ::) y) bds [] (*FIXME there is probably a way to use the information given by onepoint*) -fun bound_vars_by_rule _ "bind" (bds) = extract_symbols bds +fun bound_vars_by_rule _ "bind" bds = extract_symbols bds | bound_vars_by_rule cx "onepoint" bds = extract_qnt_symbols cx bds | bound_vars_by_rule _ "sko_forall" bds = extract_symbols_map bds | bound_vars_by_rule _ "sko_ex" bds = extract_symbols_map bds | bound_vars_by_rule _ "__skolem_definition" [(SMTLIB.S [SMTLIB.Sym x, typ, _], _)] = [([x], SOME typ)] | bound_vars_by_rule _ "__skolem_definition" [(SMTLIB.S [_, SMTLIB.Sym x, _], _)] = [([x], NONE)] | bound_vars_by_rule _ _ _ = [] (* Lethe adds "?" before some variables. *) fun remove_all_qm (SMTLIB.Sym v :: l) = SMTLIB.Sym (perhaps (try (unprefix "?")) v) :: remove_all_qm l | remove_all_qm (SMTLIB.S l :: l') = SMTLIB.S (remove_all_qm l) :: remove_all_qm l' | remove_all_qm (SMTLIB.Key v :: l) = SMTLIB.Key v :: remove_all_qm l | remove_all_qm (v :: l) = v :: remove_all_qm l | remove_all_qm [] = [] fun remove_all_qm2 (SMTLIB.Sym v) = SMTLIB.Sym (perhaps (try (unprefix "?")) v) | remove_all_qm2 (SMTLIB.S l) = SMTLIB.S (remove_all_qm l) | remove_all_qm2 (SMTLIB.Key v) = SMTLIB.Key v | remove_all_qm2 v = v end -datatype step_kind = ASSUME | ANCHOR | NO_STEP | NORMAL_STEP | SKOLEM +datatype step_kind = ASSUME | ASSERT | ANCHOR | NO_STEP | NORMAL_STEP | SKOLEM -fun parse_raw_proof_steps (limit : string option) (ls : SMTLIB.tree list) (cx : name_bindings) : +fun parse_raw_proof_steps (limit : string option) (ls : SMTLIB.tree list) (cx : name_bindings) (assms_nbr : int): (raw_lethe_node list * SMTLIB.tree list * name_bindings) = let fun rotate_pair (a, (b, c)) = ((a, b), c) fun step_kind [] = (NO_STEP, SMTLIB.S [], []) | step_kind ((p as SMTLIB.S (SMTLIB.Sym "anchor" :: _)) :: l) = (ANCHOR, p, l) | step_kind ((p as SMTLIB.S (SMTLIB.Sym "assume" :: _)) :: l) = (ASSUME, p, l) + | step_kind ((p as SMTLIB.S (SMTLIB.Sym "assert" :: _)) :: l) = (ASSERT, p, l) | step_kind ((p as SMTLIB.S (SMTLIB.Sym "step" :: _)) :: l) = (NORMAL_STEP, p, l) | step_kind ((p as SMTLIB.S (SMTLIB.Sym "define-fun" :: _)) :: l) = (SKOLEM, p, l) + | step_kind ((p as SMTLIB.S (SMTLIB.Sym "declare-fun" :: _)) :: l) = (SKOLEM, p, l) | step_kind p = raise (Fail ("step_kind unrec: " ^ @{make_string} p)) fun parse_skolem (SMTLIB.S [SMTLIB.Sym "define-fun", SMTLIB.Sym id, _, typ, SMTLIB.S (SMTLIB.Sym "!" :: t :: [SMTLIB.Key _, SMTLIB.Sym name])]) cx = (*replace the name binding by the constant instead of the full term in order to reduce the size of the generated terms and therefore the reconstruction time*) let val (l, cx) = (fst oo SMTLIB_Proof.extract_and_update_name_bindings) t cx |> apsnd (SMTLIB_Proof.update_name_binding (name, SMTLIB.Sym id)) in (mk_raw_node (id ^ lethe_def) lethe_def (SMTLIB.S [SMTLIB.Sym id, typ, l]) [] [] (SMTLIB.S [SMTLIB.Sym "=", SMTLIB.Sym id, l]) [], cx) end | parse_skolem (SMTLIB.S [SMTLIB.Sym "define-fun", SMTLIB.Sym id, _, typ, SMTLIB.S l]) cx = - let val (l, cx) = (fst oo SMTLIB_Proof.extract_and_update_name_bindings) (SMTLIB.S l ) cx + let val (l, cx) = (fst oo SMTLIB_Proof.extract_and_update_name_bindings) (SMTLIB.S l) cx in (mk_raw_node (id ^ lethe_def) lethe_def (SMTLIB.S [SMTLIB.Sym id, typ, l]) [] [] (SMTLIB.S [SMTLIB.Sym "=", SMTLIB.Sym id, l]) [], cx) end + | parse_skolem (SMTLIB.S [SMTLIB.Sym "declare-fun", SMTLIB.Sym id, typ, def]) cx = + (*replace the name binding by the constant instead of the full term in order to reduce + the size of the generated terms and therefore the reconstruction time*) + let val (l, cx) = (fst oo SMTLIB_Proof.extract_and_update_name_bindings) def cx + in + (mk_raw_node (id ^ lethe_def) lethe_def (SMTLIB.S [SMTLIB.Sym id, typ, l]) [] [] + (SMTLIB.S [SMTLIB.Sym "=", SMTLIB.Sym id, def]) [], cx) + end | parse_skolem t _ = raise Fail ("unrecognized Lethe proof " ^ \<^make_string> t) fun get_id_cx (SMTLIB.S ((SMTLIB.Sym _) :: (SMTLIB.Sym id) :: l), cx) = (id, (l, cx)) | get_id_cx t = raise Fail ("unrecognized Lethe proof " ^ \<^make_string> t) fun get_id (SMTLIB.S ((SMTLIB.Sym _) :: (SMTLIB.Sym id) :: l)) = (id, l) | get_id t = raise Fail ("unrecognized Lethe proof " ^ \<^make_string> t) fun parse_source (SMTLIB.Key "premises" :: SMTLIB.S source ::l, cx) = (SOME (map (fn (SMTLIB.Sym id) => id) source), (l, cx)) | parse_source (l, cx) = (NONE, (l, cx)) fun parse_rule (SMTLIB.Key "rule" :: SMTLIB.Sym r :: l, cx) = (r, (l, cx)) | parse_rule t = raise Fail ("unrecognized Lethe proof " ^ \<^make_string> t) fun parse_anchor_step (SMTLIB.S (SMTLIB.Sym "anchor" :: SMTLIB.Key "step" :: SMTLIB.Sym r :: l), cx) = (r, (l, cx)) | parse_anchor_step t = raise Fail ("unrecognized Lethe proof " ^ \<^make_string> t) fun parse_args (SMTLIB.Key "args" :: args :: l, cx) = let val ((args, cx), _) = SMTLIB_Proof.extract_and_update_name_bindings args cx in (args, (l, cx)) end | parse_args (l, cx) = (SMTLIB.S [], (l, cx)) fun parse_and_clausify_conclusion (SMTLIB.S (SMTLIB.Sym "cl" :: []) :: l, cx) = (SMTLIB.Sym "false", (l, cx)) | parse_and_clausify_conclusion (SMTLIB.S (SMTLIB.Sym "cl" :: concl) :: l, cx) = let val (concl, cx) = fold_map (fst oo SMTLIB_Proof.extract_and_update_name_bindings) concl cx in (SMTLIB.S (SMTLIB.Sym "or" :: concl), (l, cx)) end | parse_and_clausify_conclusion t = raise Fail ("unrecognized Lethe proof " ^ \<^make_string> t) val parse_normal_step = get_id_cx ##> parse_and_clausify_conclusion #> rotate_pair ##> parse_rule #> rotate_pair ##> parse_source #> rotate_pair ##> parse_args #> rotate_pair fun to_raw_node subproof ((((id, concl), rule), prems), args) = mk_raw_node id rule args (the_default [] prems) [] concl subproof fun at_discharge NONE _ = false | at_discharge (SOME id) p = p |> get_id |> fst |> (fn id2 => id = id2) in case step_kind ls of (NO_STEP, _, _) => ([],[], cx) | (NORMAL_STEP, p, l) => if at_discharge limit p then ([], ls, cx) else let (*ignores content of "discharge": Isabelle is keeping track of it via the context*) val (s, (_, cx)) = (p, cx) |> parse_normal_step |>> (to_raw_node []) - val (rp, rl, cx) = parse_raw_proof_steps limit l cx + val (rp, rl, cx) = parse_raw_proof_steps limit l cx assms_nbr in (s :: rp, rl, cx) end | (ASSUME, p, l) => let val (id, t :: []) = p |> get_id + val ((t, cx), _) = SMTLIB_Proof.extract_and_update_name_bindings t cx val s = mk_raw_node id input_rule (SMTLIB.S []) [] [] t [] - val (rp, rl, cx) = parse_raw_proof_steps limit l cx + (*Recursive call to parse rest of the steps.*) + val (rp, rl, cx) = parse_raw_proof_steps limit l cx (assms_nbr + 1) + in (s :: rp, rl, cx) end + | (ASSERT, p, l) => + let + val (id, term) = (case p of + SMTLIB.S [SMTLIB.Sym "assert", SMTLIB.S [SMTLIB.Sym "!", term, SMTLIB.Key "named", SMTLIB.Sym id]] => (id, term) + | SMTLIB.S [SMTLIB.Sym "assert", term] => (Int.toString assms_nbr, term)) + + val ((t, cx), _) = SMTLIB_Proof.extract_and_update_name_bindings term cx + val s = mk_raw_node id input_rule (SMTLIB.S []) [] [] t [] + (*Recursive call to parse rest of the steps.*) + val (rp, rl, cx) = parse_raw_proof_steps limit l cx (assms_nbr+1) in (s :: rp, rl, cx) end | (ANCHOR, p, l) => let val (anchor_id, (anchor_args, (_, cx))) = (p, cx) |> (parse_anchor_step ##> parse_args) - val (subproof, discharge_step :: remaining_proof, cx) = parse_raw_proof_steps (SOME anchor_id) l cx + val (subproof, discharge_step :: remaining_proof, cx) = parse_raw_proof_steps (SOME anchor_id) l cx assms_nbr val (curss, (_, cx)) = parse_normal_step (discharge_step, cx) val s = to_raw_node subproof (fst curss, anchor_args) - val (rp, rl, cx) = parse_raw_proof_steps limit remaining_proof cx + val (rp, rl, cx) = parse_raw_proof_steps limit remaining_proof cx assms_nbr in (s :: rp, rl, cx) end | (SKOLEM, p, l) => let val (s, cx) = parse_skolem p cx - val (rp, rl, cx) = parse_raw_proof_steps limit l cx + val (rp, rl, cx) = parse_raw_proof_steps limit l cx (assms_nbr) in (s :: rp, rl, cx) end end fun proof_ctxt_of_rule "bind" t = t | proof_ctxt_of_rule "sko_forall" t = t | proof_ctxt_of_rule "sko_ex" t = t | proof_ctxt_of_rule "let" t = t | proof_ctxt_of_rule "onepoint" t = t | proof_ctxt_of_rule _ _ = [] fun args_of_rule "bind" t = t | args_of_rule "la_generic" t = t + | args_of_rule "all_simplify" t = t | args_of_rule _ _ = [] fun insts_of_forall_inst "forall_inst" t = map (fn SMTLIB.S [_, SMTLIB.Sym x, a] => (x, a)) t | insts_of_forall_inst _ _ = [] fun id_of_last_step prems = if null prems then [] else let val Lethe_Replay_Node {id, ...} = List.last prems in [id] end fun extract_assumptions_from_subproof subproof = let fun extract_assumptions_from_subproof (Lethe_Replay_Node {rule, concl, ...}) assms = if rule = local_input_rule then concl :: assms else assms in fold extract_assumptions_from_subproof subproof [] end fun normalized_rule_name id rule = (case (rule = input_rule, can SMTLIB_Interface.role_and_index_of_assert_name id) of (true, true) => normalized_input_rule | (true, _) => local_input_rule | _ => rule) fun is_assm_repetition id rule = rule = input_rule andalso can SMTLIB_Interface.role_and_index_of_assert_name id fun extract_skolem ([SMTLIB.Sym var, typ, choice]) = (var, typ, choice) | extract_skolem t = raise Fail ("fail to parse type" ^ @{make_string} t) (* The preprocessing takes care of: 1. unfolding the shared terms 2. extract the declarations of skolems to make sure that there are not unfolded *) fun preprocess compress step = let fun expand_assms cs = map (fn t => case AList.lookup (op =) cs t of NONE => t | SOME a => a) + fun match_typing_arguments (SMTLIB.S [SMTLIB.Sym var, typ as SMTLIB.Sym _] :: SMTLIB.S [SMTLIB.Sym "=", SMTLIB.Sym x1, x2] :: xs) = + if var = x1 then (*CVC5*) + SMTLIB.S [SMTLIB.Sym "=", SMTLIB.S [SMTLIB.Sym x1, typ], x2] :: match_typing_arguments xs + else + SMTLIB.S [SMTLIB.Sym var, typ] :: match_typing_arguments (SMTLIB.S [SMTLIB.Sym "=", SMTLIB.Sym x1, x2] :: xs) + | match_typing_arguments (a :: xs) = a :: match_typing_arguments xs + | match_typing_arguments [] = [] fun expand_lonely_arguments (args as SMTLIB.S [SMTLIB.Sym "=", _, _]) = [args] | expand_lonely_arguments (x as SMTLIB.S [SMTLIB.Sym var, _]) = [SMTLIB.S [SMTLIB.Sym "=", x, SMTLIB.Sym var]] fun preprocess (Raw_Lethe_Node {id, rule, args, prems, concl, subproof, ...}) (cx, remap_assms) = let val (skolem_names, stripped_args) = args |> (fn SMTLIB.S args => args) |> map (fn SMTLIB.S [SMTLIB.Key "=", x, y] => SMTLIB.S [SMTLIB.Sym "=", x, y] | x => x) - |> (rule = "bind" orelse rule = "onepoint") ? flat o (map expand_lonely_arguments) + |> (rule = "bind" orelse rule = "onepoint") ? flat o (map expand_lonely_arguments) o match_typing_arguments |> `(if rule = lethe_def then single o extract_skolem else K []) ||> SMTLIB.S val (subproof, (cx, _)) = fold_map preprocess subproof (cx, remap_assms) |> apfst flat val remap_assms = (if rule = "or" then (id, hd prems) :: remap_assms else remap_assms) (* declare variables in the context *) val declarations = if rule = lethe_def then skolem_names |> map (fn (name, _, choice) => (name, choice)) else [] in if compress andalso rule = "or" then ([], (cx, remap_assms)) else ([Raw_Lethe_Node {id = id, rule = rule, args = stripped_args, prems = expand_assms remap_assms prems, declarations = declarations, concl = concl, subproof = subproof}], (cx, remap_assms)) end in preprocess step end fun filter_split _ [] = ([], []) | filter_split f (a :: xs) = (if f a then apfst (curry op :: a) else apsnd (curry op :: a)) (filter_split f xs) fun extract_types_of_args (SMTLIB.S [var, typ, t as SMTLIB.S [SMTLIB.Sym "choice", _, _]]) = (SMTLIB.S [var, typ, t], SOME typ) |> single | extract_types_of_args (SMTLIB.S t) = let - fun extract_types_of_arg (SMTLIB.S [eq, SMTLIB.S [var, typ], t]) = (SMTLIB.S [eq, var, t], SOME typ) + fun extract_types_of_arg (SMTLIB.S [eq as SMTLIB.Sym "=", SMTLIB.S [var, typ], t]) = (SMTLIB.S [eq, var, t], SOME typ) | extract_types_of_arg t = (t, NONE) in t |> map extract_types_of_arg end fun collect_skolem_defs (Raw_Lethe_Node {rule, subproof = subproof, args, ...}) = (if is_skolemization rule then map (fn id => id ^ lethe_def) (skolems_introduced_by_rule args) else []) @ flat (map collect_skolem_defs subproof) +val desymbolize = Name.desymbolize (SOME false) o perhaps (try (unprefix "?")) + (*The postprocessing does: 1. translate the terms to Isabelle syntax, taking care of free variables 2. remove the ambiguity in the proof terms: x \ y |- x = x means y = x. To remove ambiguity, we use the fact that y is a free variable and replace the term by: xy \ y |- xy = x. This is now does not have an ambiguity and we can safely move the "xy \ y" to the proof assumptions. *) fun postprocess_proof compress ctxt step cx = let fun postprocess (Raw_Lethe_Node {id, rule, args, prems, declarations, concl, subproof}) (cx, rew) = let - val _ = (SMT_Config.verit_msg ctxt) (fn () => @{print} ("id =", id, "concl =", concl)) - val args = extract_types_of_args args val globally_bound_vars = declared_csts cx rule args val cx = fold (update_binding o (fn (s, typ) => (s, Term (Free (s, type_of cx typ))))) globally_bound_vars cx (*find rebound variables specific to the LHS of the equivalence symbol*) val bound_vars = bound_vars_by_rule cx rule args val bound_vars_no_typ = map fst bound_vars val rhs_vars = fold (fn [t', t] => t <> t' ? (curry (op ::) t) | _ => fn x => x) bound_vars_no_typ [] fun not_already_bound cx t = SMTLIB_Proof.lookup_binding cx t = None andalso not (member (op =) rhs_vars t) val (shadowing_vars, rebound_lhs_vars) = bound_vars |> filter_split (fn ([t, _], typ) => not_already_bound cx t | _ => true) |>> map (apfst (hd)) |>> (fn vars => vars @ flat (map (fn ([_, t], typ) => [(t, typ)] | _ => []) bound_vars)) val subproof_rew = fold (fn [t, t'] => curry (op ::) (t, t ^ t')) (map fst rebound_lhs_vars) rew val subproof_rewriter = fold (fn (t, t') => synctatic_rew_in_lhs_subst t t') subproof_rew val ((concl, bounds), cx') = node_of concl cx val extra_lhs_vars = map (fn ([a,b], typ) => (a, a^b, typ)) rebound_lhs_vars val old_lhs_vars = map (fn (a, _, typ) => (a, typ)) extra_lhs_vars val new_lhs_vars = map (fn (_, newvar, typ) => (newvar, typ)) extra_lhs_vars (* postprocess conclusion *) val concl = SMTLIB_Isar.unskolemize_names ctxt (subproof_rewriter concl) - val _ = (SMT_Config.verit_msg ctxt) (fn () => \<^print> ("id =", id, "concl =", concl)) - val _ = (SMT_Config.verit_msg ctxt) (fn () => \<^print> ("id =", id, "cx' =", cx', - "bound_vars =", bound_vars)) - - val bound_tvars = - map (fn (s, SOME typ) => (s, type_of cx typ)) - (shadowing_vars @ new_lhs_vars) + fun give_proper_type (s, SOME typ) = (s, type_of cx typ) + | give_proper_type (s, NONE) = raise (Fail ("could not find type of var " ^ @{make_string} s ^ " in step " ^ id ^ " in " ^ @{make_string} concl)) + val bound_tvars = map give_proper_type (shadowing_vars @ new_lhs_vars) val subproof_cx = add_bound_variables_to_ctxt cx (shadowing_vars @ new_lhs_vars) cx fun could_unify (Bound i, Bound j) = i = j | could_unify (Var v, Var v') = v = v' | could_unify (Free v, Free v') = v = v' | could_unify (Const (v, ty), Const (v', ty')) = v = v' andalso ty = ty' | could_unify (Abs (_, ty, bdy), Abs (_, ty', bdy')) = ty = ty' andalso could_unify (bdy, bdy') | could_unify (u $ v, u' $ v') = could_unify (u, u') andalso could_unify (v, v') | could_unify _ = false fun is_alpha_renaming t = t |> HOLogic.dest_Trueprop |> HOLogic.dest_eq |> could_unify handle TERM _ => false val alpha_conversion = rule = "bind" andalso is_alpha_renaming concl val can_remove_subproof = compress andalso (is_skolemization rule orelse alpha_conversion) val (fixed_subproof : lethe_replay_node list, _) = fold_map postprocess (if can_remove_subproof then [] else subproof) (subproof_cx, subproof_rew) val unsk_and_rewrite = SMTLIB_Isar.unskolemize_names ctxt o subproof_rewriter (* postprocess assms *) val stripped_args = map fst args val sanitized_args = proof_ctxt_of_rule rule stripped_args val arg_cx = add_bound_variables_to_ctxt cx (shadowing_vars @ old_lhs_vars) subproof_cx val (termified_args, _) = fold_map node_of sanitized_args arg_cx |> apfst (map fst) val normalized_args = map unsk_and_rewrite termified_args val subproof_assms = proof_ctxt_of_rule rule normalized_args (* postprocess arguments *) val rule_args = args_of_rule rule stripped_args + val (termified_args, _) = fold_map term_of rule_args subproof_cx val normalized_args = map unsk_and_rewrite termified_args + val rule_args = map subproof_rewriter normalized_args val raw_insts = insts_of_forall_inst rule stripped_args fun termify_term (x, t) cx = let val (t, cx) = term_of t cx in ((x, t), cx) end val (termified_args, _) = fold_map termify_term raw_insts subproof_cx + val insts = Symtab.empty - |> fold (fn (x, t) => fn insts => Symtab.update_new (x, t) insts) termified_args + |> fold (fn (x, t) => fn insts => Symtab.update_new (desymbolize x, t) insts) termified_args |> Symtab.map (K unsk_and_rewrite) (* declarations *) val (declarations, _) = fold_map termify_term declarations cx |> apfst (map (apsnd unsk_and_rewrite)) (* fix step *) val _ = if bounds <> [] then raise (Fail "found dangling variable in concl") else () val skolem_defs = (if is_skolemization rule then map (fn id => id ^ lethe_def) (skolems_introduced_by_rule (SMTLIB.S (map fst args))) else []) val skolems_of_subproof = (if compress andalso is_skolemization rule then flat (map collect_skolem_defs subproof) else []) val fixed_prems = prems @ (if is_assm_repetition id rule then [id] else []) @ skolem_defs @ skolems_of_subproof @ (id_of_last_step fixed_subproof) (* fix subproof *) val normalized_rule = normalized_rule_name id rule |> (if compress andalso alpha_conversion then K "refl" else I) val extra_assms2 = (if rule = subproof_rule then extract_assumptions_from_subproof fixed_subproof else []) val step = mk_replay_node id normalized_rule rule_args fixed_prems subproof_assms concl [] insts declarations (bound_tvars, subproof_assms, extra_assms2, fixed_subproof) in (step, (cx', rew)) end in postprocess step (cx, []) |> (fn (step, (cx, _)) => (step, cx)) end fun combine_proof_steps ((step1 : lethe_replay_node) :: step2 :: steps) = let val (Lethe_Replay_Node {id = id1, rule = rule1, args = args1, prems = prems1, proof_ctxt = proof_ctxt1, concl = concl1, bounds = bounds1, insts = insts1, declarations = declarations1, subproof = (bound_sub1, assms_sub1, assms_extra1, subproof1)}) = step1 val (Lethe_Replay_Node {id = id2, rule = rule2, args = args2, prems = prems2, proof_ctxt = proof_ctxt2, concl = concl2, bounds = bounds2, insts = insts2, declarations = declarations2, subproof = (bound_sub2, assms_sub2, assms_extra2, subproof2)}) = step2 val goals1 = (case concl1 of _ $ (Const (\<^const_name>\HOL.disj\, _) $ _ $ (Const (\<^const_name>\HOL.disj\, _) $ (Const (\<^const_name>\HOL.Not\, _) $a) $ b)) => [a,b] | _ => []) val goal2 = (case concl2 of _ $ a => a) in if rule1 = equiv_pos2_rule andalso rule2 = th_resolution_rule andalso member (op =) prems2 id1 andalso member (op =) goals1 goal2 then mk_replay_node id2 theory_resolution2_rule args2 (filter_out (curry (op =) id1) prems2) proof_ctxt2 concl2 bounds2 insts2 declarations2 (bound_sub2, assms_sub2, assms_extra2, combine_proof_steps subproof2) :: combine_proof_steps steps else mk_replay_node id1 rule1 args1 prems1 proof_ctxt1 concl1 bounds1 insts1 declarations1 (bound_sub1, assms_sub1, assms_extra1, combine_proof_steps subproof1) :: combine_proof_steps (step2 :: steps) end | combine_proof_steps steps = steps val linearize_proof = let fun map_node_concl f (Lethe_Node {id, rule, prems, proof_ctxt, concl}) = mk_node id rule prems proof_ctxt (f concl) fun linearize (Lethe_Replay_Node {id = id, rule = rule, args = _, prems = prems, proof_ctxt = proof_ctxt, concl = concl, bounds = bounds, insts = _, declarations = _, subproof = (bounds', assms, inputs, subproof)}) = let val bounds = distinct (op =) bounds val bounds' = distinct (op =) bounds' fun mk_prop_of_term concl = concl |> fastype_of concl = \<^typ>\bool\ ? curry (op $) \<^term>\Trueprop\ fun remove_assumption_id assumption_id prems = filter_out (curry (op =) assumption_id) prems fun add_assumption assumption concl = \<^Const>\Pure.imp for \mk_prop_of_term assumption\ \mk_prop_of_term concl\\ fun inline_assumption assumption assumption_id (Lethe_Node {id, rule, prems, proof_ctxt, concl}) = mk_node id rule (remove_assumption_id assumption_id prems) proof_ctxt (add_assumption assumption concl) fun find_input_steps_and_inline [] = [] | find_input_steps_and_inline (Lethe_Node {id = id', rule, prems, concl, ...} :: steps) = if rule = input_rule then find_input_steps_and_inline (map (inline_assumption concl id') steps) else mk_node (id') rule prems [] concl :: find_input_steps_and_inline steps fun free_bounds bounds (concl) = fold (fn (var, typ) => fn t => Logic.all (Free (var, typ)) t) bounds concl val subproof = subproof |> flat o map linearize |> map (map_node_concl (fold add_assumption (assms @ inputs))) |> map (map_node_concl (free_bounds (bounds @ bounds'))) |> find_input_steps_and_inline val concl = free_bounds bounds concl in subproof @ [mk_node id rule prems proof_ctxt concl] end in linearize end fun rule_of (Lethe_Replay_Node {rule,...}) = rule fun subproof_of (Lethe_Replay_Node {subproof = (_, _, _, subproof),...}) = subproof (* Massage Skolems for Sledgehammer. We have to make sure that there is an "arrow" in the graph for skolemization steps. A. The normal easy case This function detects the steps of the form P \ Q :skolemization Q :resolution with P and replace them by Q :skolemization Throwing away the step "P \ Q" completely. This throws away a lot of information, but it does not matter too much for Sledgehammer. B. Skolems in subproofs Supporting this is more or less hopeless as long as the Isar reconstruction of Sledgehammer does not support more features like definitions. lethe is able to generate proofs with skolemization happening in subproofs inside the formula. (assume "A \ P" ... P \ Q :skolemization in the subproof ...) hence A \ P \ A \ Q :lemma ... R :something with some rule and replace them by R :skolemization with some rule Without any subproof *) fun remove_skolem_definitions_proof steps = let fun replace_equivalent_by_imp (judgement $ ((Const(\<^const_name>\HOL.eq\, typ) $ arg1) $ arg2)) = judgement $ ((Const(\<^const_name>\HOL.implies\, typ) $ arg1) $ arg2) | replace_equivalent_by_imp a = a (*This case is probably wrong*) fun remove_skolem_definitions (Lethe_Replay_Node {id = id, rule = rule, args = args, prems = prems, proof_ctxt = proof_ctxt, concl = concl, bounds = bounds, insts = insts, declarations = declarations, subproof = (vars, assms', extra_assms', subproof)}) (prems_to_remove, skolems) = let val prems = prems |> filter_out (member (op =) prems_to_remove) val trivial_step = is_SH_trivial rule fun has_skolem_substep st NONE = if is_skolemization (rule_of st) then SOME (rule_of st) else fold has_skolem_substep (subproof_of st) NONE | has_skolem_substep _ a = a val promote_to_skolem = exists (fn t => member (op =) skolems t) prems val promote_from_assms = fold has_skolem_substep subproof NONE <> NONE val promote_step = promote_to_skolem orelse promote_from_assms val skolem_step_to_skip = is_skolemization rule orelse (promote_from_assms andalso length prems > 1) val is_skolem = is_skolemization rule orelse promote_step val prems = prems |> filter_out (fn t => member (op =) skolems t) |> is_skolem ? filter_out (String.isPrefix id) val rule = (if promote_step then default_skolem_rule else rule) val subproof = subproof |> (is_skolem ? K []) (*subproofs of skolemization steps are useless for SH*) |> map (fst o (fn st => remove_skolem_definitions st (prems_to_remove, skolems))) (*no new definitions in subproofs*) |> flat val concl = concl |> is_skolem ? replace_equivalent_by_imp val step = (if skolem_step_to_skip orelse rule = lethe_def orelse trivial_step then [] else mk_replay_node id rule args prems proof_ctxt concl bounds insts declarations (vars, assms', extra_assms', subproof) |> single) val defs = (if rule = lethe_def orelse trivial_step then id :: prems_to_remove else prems_to_remove) val skolems = (if skolem_step_to_skip then id :: skolems else skolems) in (step, (defs, skolems)) end in fold_map remove_skolem_definitions steps ([], []) |> fst |> flat end local (*TODO useful?*) fun remove_pattern (SMTLIB.S (SMTLIB.Sym "!" :: t :: [SMTLIB.Key _, SMTLIB.S _])) = t | remove_pattern (SMTLIB.S xs) = SMTLIB.S (map remove_pattern xs) | remove_pattern p = p fun import_proof_and_post_process typs funs lines ctxt = let val compress = SMT_Config.compress_verit_proofs ctxt + val smtlib_lines_without_qm = lines + |> filter_out (fn x => x = "") |> map single |> map SMTLIB.parse |> map remove_all_qm2 |> map remove_pattern val (raw_steps, _, _) = - parse_raw_proof_steps NONE smtlib_lines_without_qm SMTLIB_Proof.empty_name_binding + parse_raw_proof_steps NONE smtlib_lines_without_qm SMTLIB_Proof.empty_name_binding 0 fun process step (cx, cx') = let fun postprocess step (cx, cx') = let val (step, cx) = postprocess_proof compress ctxt step cx in (step, (cx, cx')) end in uncurry (fold_map postprocess) (preprocess compress step (cx, cx')) end val step = (empty_context ctxt typs funs, []) |> fold_map process raw_steps |> (fn (steps, (cx, _)) => (flat steps, cx)) |> compress? apfst combine_proof_steps in step end in fun parse typs funs lines ctxt = let val (u, env) = import_proof_and_post_process typs funs lines ctxt val t = u |> remove_skolem_definitions_proof |> flat o (map linearize_proof) fun node_to_step (Lethe_Node {id, rule, prems, concl, ...}) = mk_step id rule prems [] concl [] in (map node_to_step t, ctxt_of env) end fun parse_replay typs funs lines ctxt = let val (u, env) = import_proof_and_post_process typs funs lines ctxt - val _ = (SMT_Config.verit_msg ctxt) (fn () => \<^print> u) in (u, ctxt_of env) end end end; diff --git a/src/HOL/Tools/SMT/lethe_replay_methods.ML b/src/HOL/Tools/SMT/lethe_replay_methods.ML --- a/src/HOL/Tools/SMT/lethe_replay_methods.ML +++ b/src/HOL/Tools/SMT/lethe_replay_methods.ML @@ -1,1217 +1,1290 @@ (* Title: HOL/Tools/SMT/lethe_replay_methods.ML Author: Mathias Fleury, MPII, JKU, University Freiburg Proof method for replaying veriT proofs. *) signature LETHE_REPLAY_METHODS = sig datatype verit_rule = False | True | (*input: a repeated (normalized) assumption of assumption of in a subproof*) Normalized_Input | Local_Input | (*Subproof:*) Subproof | (*Conjunction:*) And | Not_And | And_Pos | And_Neg | (*Disjunction""*) Or | Or_Pos | Not_Or | Or_Neg | (*Disjunction:*) Implies | Implies_Neg1 | Implies_Neg2 | Implies_Pos | Not_Implies1 | Not_Implies2 | (*Equivalence:*) Equiv_neg1 | Equiv_pos1 | Equiv_pos2 | Equiv_neg2 | Not_Equiv1 | Not_Equiv2 | Equiv1 | Equiv2 | (*If-then-else:*) ITE_Pos1 | ITE_Pos2 | ITE_Neg1 | ITE_Neg2 | Not_ITE1 | Not_ITE2 | ITE_Intro | ITE1 | ITE2 | (*Equality:*) Eq_Congruent | Eq_Reflexive | Eq_Transitive | Eq_Congruent_Pred | Trans | Refl | Cong | (*Arithmetics:*) LA_Disequality | LA_Generic | LA_Tautology | LIA_Generic | LA_Totality | LA_RW_Eq | NLA_Generic | (*Quantifiers:*) Forall_Inst | Qnt_Rm_Unused | Qnt_Join | Onepoint | Bind | Skolem_Forall | Skolem_Ex | (*Resolution:*) Theory_Resolution | Resolution | (*Temporary rules, that the verit developers want to remove:*) AC_Simp | Bfun_Elim | Qnt_CNF | (*Used to introduce skolem constants*) Definition | (*Former cong rules*) Bool_Simplify | Or_Simplify | Not_Simplify | And_Simplify | Equiv_Simplify | Implies_Simplify | Connective_Def | Minus_Simplify | Comp_Simplify | Eq_Simplify | ITE_Simplify | Sum_Simplify | Prod_Simplify | All_Simplify | Qnt_Simplify | Not_Not | Tautological_Clause | Duplicate_Literals | (*Unsupported rule*) Unsupported | (*For compression*) Theory_Resolution2 | (*Extended rules*) - Symm | Not_Symm | Reordering | Tmp_Quantifier_Simplify + Symm | Not_Symm | Reordering | Tmp_Quantifier_Simplify | + (*CVC5 to support new rules declared later (like BV rules)*) + Other_Rule of string | + Hole val requires_subproof_assms : string list -> string -> bool val requires_local_input: string list -> string -> bool val string_of_verit_rule: verit_rule -> string type lethe_tac_args = Proof.context -> thm list -> term list -> term -> thm type lethe_tac = Proof.context -> thm list -> term -> thm type lethe_tac2 = Proof.context -> thm list -> term list -> term Symtab.table -> term -> thm val bind: lethe_tac_args val and_rule: lethe_tac val and_neg_rule: lethe_tac val and_pos: lethe_tac val rewrite_and_simplify: lethe_tac val rewrite_bool_simplify: lethe_tac val rewrite_comp_simplify: lethe_tac val rewrite_minus_simplify: lethe_tac val rewrite_not_simplify: lethe_tac val rewrite_eq_simplify: lethe_tac val rewrite_equiv_simplify: lethe_tac val rewrite_implies_simplify: lethe_tac val rewrite_or_simplify: lethe_tac - val cong: lethe_tac + val cong: string -> lethe_tac val rewrite_connective_def: lethe_tac val duplicate_literals: lethe_tac val eq_congruent: lethe_tac val eq_congruent_pred: lethe_tac val eq_reflexive: lethe_tac val eq_transitive: lethe_tac val equiv1: lethe_tac val equiv2: lethe_tac val equiv_neg1: lethe_tac val equiv_neg2: lethe_tac val equiv_pos1: lethe_tac val equiv_pos2: lethe_tac val false_rule: lethe_tac val forall_inst: lethe_tac2 val implies_rules: lethe_tac val implies_neg1: lethe_tac val implies_neg2: lethe_tac val implies_pos: lethe_tac val ite1: lethe_tac val ite2: lethe_tac val ite_intro: lethe_tac val ite_neg1: lethe_tac val ite_neg2: lethe_tac val ite_pos1: lethe_tac val ite_pos2: lethe_tac val rewrite_ite_simplify: lethe_tac val la_disequality: lethe_tac val la_generic: lethe_tac_args val la_rw_eq: lethe_tac val lia_generic: lethe_tac - val refl: lethe_tac + val refl: string -> lethe_tac val normalized_input: lethe_tac val not_and_rule: lethe_tac val not_equiv1: lethe_tac val not_equiv2: lethe_tac val not_implies1: lethe_tac val not_implies2: lethe_tac val not_ite1: lethe_tac val not_ite2: lethe_tac val not_not: lethe_tac val not_or_rule: lethe_tac val or: lethe_tac val or_neg_rule: lethe_tac val or_pos_rule: lethe_tac val theory_resolution2: lethe_tac val prod_simplify: lethe_tac val qnt_join: lethe_tac val qnt_rm_unused: lethe_tac val onepoint: lethe_tac val qnt_simplify: lethe_tac val all_simplify: lethe_tac val unit_res: lethe_tac val skolem_ex: lethe_tac val skolem_forall: lethe_tac val subproof: lethe_tac val sum_simplify: lethe_tac val tautological_clause: lethe_tac val tmp_AC_rule: lethe_tac val bfun_elim: lethe_tac val qnt_cnf: lethe_tac val trans: lethe_tac val symm: lethe_tac val not_symm: lethe_tac val reordering: lethe_tac -(* - val : lethe_tac -*) + + (*Extension to declare new alethe rules*) + val declare_alethe_rule: string -> lethe_tac_args -> Context.generic -> Context.generic + val rm_alethe_rule: string -> Context.generic -> Context.generic + val get_alethe_tac: string -> Context.generic -> lethe_tac_args option + val print_alethe_tac: Context.generic -> Pretty.T + + (*Useful lifting of tactics*) val REPEAT_CHANGED: ('a -> tactic) -> 'a -> tactic val TRY': ('a -> tactic) -> 'a -> tactic + val simplify_tac: Proof.context -> thm list -> int -> tactic + val replay_error: Proof.context -> string -> verit_rule -> thm list -> term -> 'a + end; structure Lethe_Replay_Methods: LETHE_REPLAY_METHODS = struct type lethe_tac_args = Proof.context -> thm list -> term list -> term -> thm type lethe_tac = Proof.context -> thm list -> term -> thm type lethe_tac2 = Proof.context -> thm list -> term list -> term Symtab.table -> term -> thm (*Some general comments on the proof format: 1. Double negations are not always removed. This means for example that the equivalence rules cannot assume that the double negations have already been removed. Therefore, we match the term, instantiate the theorem, then use simp (to remove double negations), and finally use assumption. 2. The reconstruction for rule forall_inst is buggy and tends to be very fragile, because the rule is doing much more that is supposed to do. Moreover types can make trivial goals (for the boolean structure) impossible to prove. 3. Duplicate literals are sometimes removed, mostly by the SAT solver. Rules unsupported on purpose: * Distinct_Elim, XOR, let (we don't need them). * deep_skolemize (because it is not clear if verit still generates using it). *) datatype verit_rule = False | True | (*input: a repeated (normalized) assumption of assumption of in a subproof*) Normalized_Input | Local_Input | (*Subproof:*) Subproof | (*Conjunction:*) And | Not_And | And_Pos | And_Neg | (*Disjunction""*) Or | Or_Pos | Not_Or | Or_Neg | (*Disjunction:*) Implies | Implies_Neg1 | Implies_Neg2 | Implies_Pos | Not_Implies1 | Not_Implies2 | (*Equivalence:*) Equiv_neg1 | Equiv_pos1 | Equiv_pos2 | Equiv_neg2 | Not_Equiv1 | Not_Equiv2 | Equiv1 | Equiv2 | (*If-then-else:*) ITE_Pos1 | ITE_Pos2 | ITE_Neg1 | ITE_Neg2 | Not_ITE1 | Not_ITE2 | ITE_Intro | ITE1 | ITE2 | (*Equality:*) Eq_Congruent | Eq_Reflexive | Eq_Transitive | Eq_Congruent_Pred | Trans | Refl | Cong | (*Arithmetics:*) LA_Disequality | LA_Generic | LA_Tautology | LIA_Generic | LA_Totality | LA_RW_Eq | NLA_Generic | (*Quantifiers:*) Forall_Inst | Qnt_Rm_Unused | Qnt_Join | Onepoint | Bind | Skolem_Forall | Skolem_Ex | (*Resolution:*) Theory_Resolution | Resolution | (*Temporary rules, that the verit developpers want to remove:*) AC_Simp | Bfun_Elim | Qnt_CNF | (*Used to introduce skolem constants*) Definition | (*Former cong rules*) Bool_Simplify | Or_Simplify | Not_Simplify | And_Simplify | Equiv_Simplify | Implies_Simplify | Connective_Def | Minus_Simplify | Comp_Simplify | Eq_Simplify | ITE_Simplify | Sum_Simplify | Prod_Simplify | All_Simplify | Qnt_Simplify | Not_Not | Tautological_Clause | Duplicate_Literals | (*Unsupported rule*) Unsupported | (*For compression*) Theory_Resolution2 | (*Extended rules*) - Symm | Not_Symm | Reordering | Tmp_Quantifier_Simplify + Symm | Not_Symm | Reordering | Tmp_Quantifier_Simplify | + (*CVC5*) + Other_Rule of string | + Hole fun string_of_verit_rule Bind = "Bind" | string_of_verit_rule Cong = "Cong" | string_of_verit_rule Refl = "Refl" | string_of_verit_rule Equiv1 = "Equiv1" | string_of_verit_rule Equiv2 = "Equiv2" | string_of_verit_rule Equiv_pos1 = "Equiv_pos1" | string_of_verit_rule Equiv_pos2 = "Equiv_pos2" | string_of_verit_rule Equiv_neg1 = "Equiv_neg1" | string_of_verit_rule Equiv_neg2 = "Equiv_neg2" | string_of_verit_rule Skolem_Forall = "Skolem_Forall" | string_of_verit_rule Skolem_Ex = "Skolem_Ex" | string_of_verit_rule Eq_Reflexive = "Eq_Reflexive" | string_of_verit_rule Theory_Resolution = "Theory_Resolution" | string_of_verit_rule Theory_Resolution2 = "Theory_Resolution2" | string_of_verit_rule Forall_Inst = "forall_inst" | string_of_verit_rule Or = "Or" | string_of_verit_rule Not_Or = "Not_Or" | string_of_verit_rule Resolution = "Resolution" | string_of_verit_rule Eq_Congruent = "eq_congruent" | string_of_verit_rule Trans = "trans" | string_of_verit_rule False = "false" | string_of_verit_rule And = "and" | string_of_verit_rule And_Pos = "and_pos" | string_of_verit_rule Not_And = "not_and" | string_of_verit_rule And_Neg = "and_neg" | string_of_verit_rule Or_Pos = "or_pos" | string_of_verit_rule Or_Neg = "or_neg" | string_of_verit_rule AC_Simp = "ac_simp" | string_of_verit_rule Not_Equiv1 = "not_equiv1" | string_of_verit_rule Not_Equiv2 = "not_equiv2" | string_of_verit_rule Not_Implies1 = "not_implies1" | string_of_verit_rule Not_Implies2 = "not_implies2" | string_of_verit_rule Implies_Neg1 = "implies_neg1" | string_of_verit_rule Implies_Neg2 = "implies_neg2" | string_of_verit_rule Implies = "implies" | string_of_verit_rule Bfun_Elim = "bfun_elim" | string_of_verit_rule ITE1 = "ite1" | string_of_verit_rule ITE2 = "ite2" | string_of_verit_rule Not_ITE1 = "not_ite1" | string_of_verit_rule Not_ITE2 = "not_ite2" | string_of_verit_rule ITE_Pos1 = "ite_pos1" | string_of_verit_rule ITE_Pos2 = "ite_pos2" | string_of_verit_rule ITE_Neg1 = "ite_neg1" | string_of_verit_rule ITE_Neg2 = "ite_neg2" | string_of_verit_rule ITE_Intro = "ite_intro" | string_of_verit_rule LA_Disequality = "la_disequality" | string_of_verit_rule LA_Generic = "la_generic" | string_of_verit_rule LIA_Generic = "lia_generic" | string_of_verit_rule LA_Tautology = "la_tautology" | string_of_verit_rule LA_RW_Eq = "la_rw_eq" | string_of_verit_rule LA_Totality = "LA_Totality" | string_of_verit_rule NLA_Generic = "nla_generic" | string_of_verit_rule Eq_Transitive = "eq_transitive" | string_of_verit_rule Qnt_Rm_Unused = "qnt_remove_unused" | string_of_verit_rule Onepoint = "onepoint" | string_of_verit_rule Qnt_Join = "qnt_join" | string_of_verit_rule Eq_Congruent_Pred = "eq_congruent_pred" | string_of_verit_rule Normalized_Input = Lethe_Proof.normalized_input_rule | string_of_verit_rule Local_Input = Lethe_Proof.local_input_rule | string_of_verit_rule Subproof = "subproof" | string_of_verit_rule Bool_Simplify = "bool_simplify" | string_of_verit_rule Equiv_Simplify = "equiv_simplify" | string_of_verit_rule Eq_Simplify = "eq_simplify" | string_of_verit_rule Not_Simplify = "not_simplify" | string_of_verit_rule And_Simplify = "and_simplify" | string_of_verit_rule Or_Simplify = "or_simplify" | string_of_verit_rule ITE_Simplify = "ite_simplify" | string_of_verit_rule Implies_Simplify = "implies_simplify" | string_of_verit_rule Connective_Def = "connective_def" | string_of_verit_rule Minus_Simplify = "minus_simplify" | string_of_verit_rule Sum_Simplify = "sum_simplify" | string_of_verit_rule Prod_Simplify = "prod_simplify" | string_of_verit_rule All_Simplify = "all_simplify" | string_of_verit_rule Comp_Simplify = "comp_simplify" | string_of_verit_rule Qnt_Simplify = "qnt_simplify" | string_of_verit_rule Symm = "symm" | string_of_verit_rule Not_Symm = "not_symm" | string_of_verit_rule Reordering = "reordering" | string_of_verit_rule Not_Not = Lethe_Proof.not_not_rule | string_of_verit_rule Tautological_Clause = "tautology" | string_of_verit_rule Duplicate_Literals = Lethe_Proof.contract_rule | string_of_verit_rule Qnt_CNF = "qnt_cnf" + | string_of_verit_rule (Other_Rule r) = r | string_of_verit_rule r = "Unknown rule: " ^ \<^make_string> r +(** Context Extension for Rules **) +(*We currently do not distinguish between the extension required for each solver. Maybe later +it will be needed.*) +type alethe_rule_ext = {rules: (string * lethe_tac_args) list} + +fun mk_alethe_rule_ext rules : alethe_rule_ext = + {rules=rules} + +val empty_data = mk_alethe_rule_ext [] + +fun merge_data ({rules=rules1}:alethe_rule_ext, {rules=rules2}:alethe_rule_ext) : alethe_rule_ext = + mk_alethe_rule_ext (AList.merge (op =) (fn _ => true) (rules1, rules2)) + +structure Data = Generic_Data +( + type T = alethe_rule_ext + val empty = empty_data + val merge = merge_data +) + +fun declare_alethe_rule rule tac context = + let + val {rules} = Data.get context + in + Data.map + (K (mk_alethe_rule_ext (AList.update (op =) (rule, tac) rules))) + context + end + +fun rm_alethe_rule stgy context = + let + val {rules} = Data.get context + in + Data.map + (K (mk_alethe_rule_ext (AList.delete (op =) stgy rules))) + context + end + +fun get_alethe_tac rule context = + let + val {rules} = Data.get context + in + AList.lookup (op =) rules rule + end + +fun print_alethe_tac context = + let + val {rules} = Data.get context + in + rules + |> map (fn (a, b) => a ^ "->" ^ @{make_string} b) + |> map Pretty.str + |> Pretty.big_list "Declared alethe rules:\n" + end + + +(** Tactics for Reconstruction **) +(**) fun replay_error ctxt msg rule thms t = SMT_Replay_Methods.replay_error ctxt msg (string_of_verit_rule rule) thms t (* utility function *) fun eqsubst_all ctxt thms = K ((REPEAT o HEADGOAL) (EqSubst.eqsubst_asm_tac ctxt [0] thms)) THEN' K ((REPEAT o HEADGOAL) (EqSubst.eqsubst_tac ctxt [0] thms)) fun simplify_tac ctxt thms = ctxt |> empty_simpset |> put_simpset HOL_basic_ss |> (fn ctxt => ctxt addsimps @{thms simp_thms} addsimps thms) |> Simplifier.asm_full_simp_tac (* sko_forall requires the assumptions to be able to prove the equivalence in case of double skolemization. See comment below. *) fun requires_subproof_assms _ t = member (op =) ["refl", "sko_forall", "sko_ex", "cong"] t fun requires_local_input _ t = member (op =) [Lethe_Proof.local_input_rule] t (*This is a weaker simplification form. It is weaker, but is also less likely to loop*) fun partial_simplify_tac ctxt thms = ctxt |> empty_simpset |> put_simpset HOL_basic_ss |> (fn ctxt => ctxt addsimps @{thms simp_thms} addsimps thms) |> Simplifier.full_simp_tac -val try_provers = SMT_Replay_Methods.try_provers "verit" +val try_provers = SMT_Replay_Methods.try_provers fun TRY' tac = fn i => TRY (tac i) fun REPEAT' tac = fn i => REPEAT (tac i) fun REPEAT_CHANGED tac = fn i => REPEAT (CHANGED (tac i)) (* Bind *) (*The bind rule is non-obvious due to the handling of quantifiers: "\x y a. x = y ==> (\b. P a b x) \ (\b. P' a b y)" ------------------------------------------------------ \a. (\b x. P a b x) \ (\b y. P' a b y) is a valid application.*) val bind_thms = [@{lemma \(\x x'. x = x' \ P x = Q x') \ (\x. P x) = (\y. Q y)\ by blast}, @{lemma \(\x x'. x = x' \ P x = Q x') \ (\x. P x) = (\y. Q y)\ by blast}, @{lemma \(\x x'. x = x' \ P x = Q x') \ (\x. P x = Q x)\ by blast}, @{lemma \(\x x'. x = x' \ P x = Q x') \ (\x. P x = Q x)\ by blast}] val bind_thms_same_name = [@{lemma \(\x. P x = Q x) \ (\x. P x) = (\y. Q y)\ by blast}, @{lemma \(\x. P x = Q x) \ (\x. P x) = (\y. Q y)\ by blast}, @{lemma \(\x. P x = Q x) \ (\x. P x = Q x)\ by blast}, @{lemma \(\x. P x = Q x) \ (\x. P x = Q x)\ by blast}] fun extract_quantified_names_q (_ $ Abs (name, _, t)) = apfst (curry (op ::) name) (extract_quantified_names_q t) | extract_quantified_names_q t = ([], t) fun extract_forall_quantified_names_q (Const(\<^const_name>\HOL.All\, _) $ Abs (name, ty, t)) = (name, ty) :: (extract_forall_quantified_names_q t) | extract_forall_quantified_names_q _ = [] fun extract_all_forall_quantified_names_q (Const(\<^const_name>\HOL.All\, _) $ Abs (name, _, t)) = name :: (extract_all_forall_quantified_names_q t) | extract_all_forall_quantified_names_q (t $ u) = extract_all_forall_quantified_names_q t @ extract_all_forall_quantified_names_q u | extract_all_forall_quantified_names_q _ = [] val extract_quantified_names_ba = SMT_Replay_Methods.dest_prop #> extract_quantified_names_q ##> HOLogic.dest_eq ##> fst ##> extract_quantified_names_q ##> fst val extract_quantified_names = extract_quantified_names_ba #> (op @) val extract_all_forall_quantified_names = SMT_Replay_Methods.dest_prop #> HOLogic.dest_eq #> fst #> extract_all_forall_quantified_names_q fun extract_all_exists_quantified_names_q (Const(\<^const_name>\HOL.Ex\, _) $ Abs (name, _, t)) = name :: (extract_all_exists_quantified_names_q t) | extract_all_exists_quantified_names_q (t $ u) = extract_all_exists_quantified_names_q t @ extract_all_exists_quantified_names_q u | extract_all_exists_quantified_names_q _ = [] val extract_all_exists_quantified_names = SMT_Replay_Methods.dest_prop #> HOLogic.dest_eq #> fst #> extract_all_exists_quantified_names_q fun extract_all_forall_exists_quantified_names_q (Const(\<^const_name>\HOL.Ex\, _) $ Abs (name, _, t)) = name :: (extract_all_forall_exists_quantified_names_q t) | extract_all_forall_exists_quantified_names_q (Const(\<^const_name>\HOL.All\, _) $ Abs (name, _, t)) = name :: (extract_all_forall_exists_quantified_names_q t) | extract_all_forall_exists_quantified_names_q (t $ u) = extract_all_forall_exists_quantified_names_q t @ extract_all_forall_exists_quantified_names_q u | extract_all_forall_exists_quantified_names_q _ = [] val extract_bind_names = HOLogic.dest_eq #> apply2 (fn (Free (name, _)) => name) fun combine_quant ctxt ((n1, n2) :: bounds) (n1' :: formula) = TRY' (if n1 = n1' then if n1 <> n2 then resolve_tac ctxt bind_thms THEN' TRY'(resolve_tac ctxt [@{thm refl}]) THEN' combine_quant ctxt bounds formula else resolve_tac ctxt bind_thms_same_name THEN' combine_quant ctxt bounds formula else resolve_tac ctxt @{thms allI} THEN' combine_quant ctxt ((n1, n2) :: bounds) formula) | combine_quant _ _ _ = K all_tac fun bind_quants ctxt args t = combine_quant ctxt (map extract_bind_names args) (extract_quantified_names t) fun generalize_prems_q [] prems = prems | generalize_prems_q (_ :: quants) prems = generalize_prems_q quants (@{thm spec} OF [prems]) fun generalize_prems t = generalize_prems_q (fst (extract_quantified_names_ba t)) fun bind ctxt [prems] args t = SMT_Replay_Methods.prove ctxt t (fn _ => bind_quants ctxt args t THEN' TRY' (SOLVED' (resolve_tac ctxt [generalize_prems t prems] THEN_ALL_NEW TRY' (assume_tac ctxt ORELSE' resolve_tac ctxt @{thms refl})))) | bind ctxt thms _ t = replay_error ctxt "invalid bind application" Bind thms t (* Congruence/Refl *) -fun cong ctxt thms = try_provers ctxt +fun cong name ctxt thms = try_provers name ctxt (string_of_verit_rule Cong) [ ("basic", SMT_Replay_Methods.cong_basic ctxt thms), ("unfolding then reflexivity", SMT_Replay_Methods.cong_unfolding_trivial ctxt thms), ("unfolding then auto", SMT_Replay_Methods.cong_unfolding_first ctxt thms), ("full", SMT_Replay_Methods.cong_full ctxt thms)] thms -fun refl ctxt thm t = +fun refl name ctxt thm t = (case find_first (fn thm => t = Thm.full_prop_of thm) thm of SOME thm => thm | NONE => (case try (fn t => SMT_Replay_Methods.match_instantiate ctxt t @{thm refl}) t of - NONE => cong ctxt thm t + NONE => cong name ctxt thm t | SOME thm => thm)) (* Instantiation *) local fun dropWhile _ [] = [] | dropWhile f (x :: xs) = if f x then dropWhile f xs else x :: xs in fun forall_inst ctxt _ _ insts t = let fun instantiate_and_solve i ({context = ctxt, prems = [prem], ...}: Subgoal.focus) = let val t = Thm.prop_of prem val quants = t |> SMT_Replay_Methods.dest_prop |> extract_forall_quantified_names_q val insts = map (Symtab.lookup insts o fst) (rev quants) |> dropWhile (curry (op =) NONE) |> rev fun option_map _ NONE = NONE | option_map f (SOME a) = SOME (f a) fun instantiate_with inst prem = Drule.infer_instantiate' ctxt [NONE, inst] @{thm spec} OF [prem] val inst_thm = fold instantiate_with (map (option_map (Thm.cterm_of ctxt)) insts) prem in (Method.insert_tac ctxt [inst_thm] THEN' TRY' (fn i => assume_tac ctxt i) THEN' TRY' (partial_simplify_tac ctxt @{thms eq_commute ac_simps}) THEN' TRY' (blast_tac ctxt)) i end | instantiate_and_solve _ ({context = ctxt, prems = thms, ...}: Subgoal.focus) = replay_error ctxt "invalid application" Forall_Inst thms t in SMT_Replay_Methods.prove ctxt t (fn _ => match_tac ctxt [@{thm disj_not1} RSN (1, @{thm iffD2}) OF [@{thm impI}]] THEN' (fn i => Subgoal.FOCUS (instantiate_and_solve i) ctxt i)) end end (* Or *) fun or _ (thm :: _) _ = thm | or ctxt thms t = replay_error ctxt "invalid bind application" Or thms t (* Implication *) val implies_pos_thm = [@{lemma \\(A \ B) \ \A \ B\ by blast}, @{lemma \\(\A \ B) \ A \ B\ by blast}] fun implies_pos ctxt _ t = SMT_Replay_Methods.prove ctxt t (fn _ => resolve_tac ctxt implies_pos_thm) (* Skolemization *) local fun split _ [] = ([], []) | split f (a :: xs) = split f xs |> (if f a then apfst (curry (op ::) a) else apsnd (curry (op ::) a)) in fun extract_rewrite_rule_assumption _ thms = let fun is_rewrite_rule thm = (case Thm.prop_of thm of \<^term>\Trueprop\ $ (Const(\<^const_name>\HOL.eq\, _) $ _ $ Free(_, _)) => true | _ => false) fun is_context_rule thm = (case Thm.prop_of thm of \<^term>\Trueprop\ $ (Const(\<^const_name>\HOL.eq\, _) $ Free(_, _) $ Free(_, _)) => true | _ => false) val (ctxt_eq, other) = thms |> split is_context_rule val (rew, other) = other |> split is_rewrite_rule in (ctxt_eq, rew, other) end end (* Without compression, we have to rewrite skolems only once. However, it can happen than the same skolem constant is used multiple times with a different name under the forall. For strictness, we use the multiple rewriting only when compressing is activated. *) local fun rewrite_all_skolems thm_indirect ctxt ((v,SOME thm) :: thms) = let val rewrite_sk_thms = List.mapPartial (fn tm => SOME (tm OF [thm]) handle THM _ => NONE) thm_indirect val multiple_rew = if SMT_Config.compress_verit_proofs ctxt then REPEAT_CHANGED else fn x => x in multiple_rew (EqSubst.eqsubst_tac ctxt [0] rewrite_sk_thms THEN' SOLVED' (K (HEADGOAL (partial_simplify_tac ctxt (@{thms eq_commute}))))) THEN' rewrite_all_skolems thm_indirect ctxt thms end | rewrite_all_skolems thm_indirect ctxt ((_,NONE) :: thms) = rewrite_all_skolems thm_indirect ctxt thms | rewrite_all_skolems _ _ [] = K (all_tac) fun extract_var_name (thm :: thms) = let val name = Thm.concl_of thm |> SMT_Replay_Methods.dest_prop |> HOLogic.dest_eq |> fst |> (fn Const(_,_) $ Abs(name, _, _) => [(name,@{thm sym} OF [thm])] | _ => []) in name :: extract_var_name thms end | extract_var_name [] = [] fun skolem_tac extractor thm1 thm2 ctxt thms t = let val (ctxt_eq, ts, other) = extract_rewrite_rule_assumption ctxt thms fun ordered_definitions () = let val var_order = extractor t val thm_names_with_var = extract_var_name ts |> flat in map (fn v => (v, AList.lookup (op =) thm_names_with_var v)) var_order end in SMT_Replay_Methods.prove ctxt t (fn _ => K (unfold_tac ctxt ctxt_eq) THEN' rewrite_all_skolems thm2 ctxt (ordered_definitions ()) THEN' (eqsubst_all ctxt (map (fn thm => thm RS sym) other)) THEN_ALL_NEW TRY' (resolve_tac ctxt @{thms refl}) THEN' K (unfold_tac ctxt ctxt_eq) THEN' TRY' (partial_simplify_tac ctxt (@{thms eq_commute}))) end in val skolem_forall = skolem_tac extract_all_forall_exists_quantified_names_q @{thm verit_sko_forall_indirect} @{thms verit_sko_forall_indirect2 verit_sko_ex_indirect2} val skolem_ex = skolem_tac extract_all_forall_exists_quantified_names_q @{thm verit_sko_ex_indirect} @{thms verit_sko_ex_indirect2 verit_sko_forall_indirect2} end fun eq_reflexive ctxt _ t = SMT_Replay_Methods.match_instantiate ctxt t @{thm refl} local fun not_not_prove ctxt _ = K (unfold_tac ctxt @{thms not_not}) THEN' match_tac ctxt @{thms verit_or_simplify_1} fun duplicate_literals_prove ctxt prems = Method.insert_tac ctxt prems THEN' match_tac ctxt @{thms ccontr} THEN' K (unfold_tac ctxt @{thms de_Morgan_disj not_not}) THEN' TRY o CHANGED_PROP o REPEAT_ALL_NEW (ematch_tac ctxt @{thms conjE}) THEN' CHANGED_PROP o REPEAT_ALL_NEW (ematch_tac ctxt @{thms disjE}) THEN' REPEAT' (ematch_tac ctxt @{thms notE} THEN' TRY' (assume_tac ctxt)) fun tautological_clause_prove ctxt _ = match_tac ctxt @{thms verit_or_neg} THEN' K (unfold_tac ctxt @{thms not_not disj_assoc[symmetric]}) THEN' TRY' (match_tac ctxt @{thms notE} THEN_ALL_NEW assume_tac ctxt) val theory_resolution2_lemma = @{lemma \a \ a = b \ b\ by blast} in fun prove_abstract abstracter tac ctxt thms t = let val thms = map (Conv.fconv_rule Thm.eta_long_conversion) thms val t' = Thm.eta_long_conversion (Object_Logic.dest_judgment ctxt (Thm.cterm_of ctxt t)) val (_, t2) = Logic.dest_equals (Thm.prop_of t') val thm = SMT_Replay_Methods.prove_abstract ctxt thms t2 tac ( fold_map (abstracter o SMT_Replay_Methods.dest_thm) thms ##>> abstracter (SMT_Replay_Methods.dest_prop t2)) in @{thm verit_Pure_trans} OF [t', thm] end val not_not = prove_abstract SMT_Replay_Methods.abstract_bool_shallow not_not_prove val tautological_clause = prove_abstract SMT_Replay_Methods.abstract_bool_shallow tautological_clause_prove val duplicate_literals = prove_abstract SMT_Replay_Methods.abstract_bool_shallow duplicate_literals_prove val unit_res = prove_abstract SMT_Replay_Methods.abstract_bool_shallow SMT_Replay_Methods.prop_tac (*match_instantiate does not work*) fun theory_resolution2 ctxt prems t = SMT_Replay_Methods.prove ctxt t (fn _ => match_tac ctxt [theory_resolution2_lemma OF prems]) end fun normalized_input ctxt prems t = SMT_Replay_Methods.prove ctxt t (fn _ => Method.insert_tac ctxt prems THEN' TRY' (K (unfold_tac ctxt @{thms SMT.trigger_def})) THEN' TRY' (partial_simplify_tac ctxt @{thms eq_commute})) val false_rule_thm = @{lemma \\False\ by blast} fun false_rule ctxt _ t = SMT_Replay_Methods.match_instantiate ctxt t false_rule_thm (* Transitivity *) val trans_bool_thm = @{lemma \P = Q \ Q \ P\ by blast} fun trans ctxt thms t = let val prop_of = HOLogic.dest_Trueprop o Thm.full_prop_of fun combine_thms [thm1, thm2] = (case (prop_of thm1, prop_of thm2) of ((Const(\<^const_name>\HOL.eq\, _) $ t1 $ t2), (Const(\<^const_name>\HOL.eq\, _) $ t3 $ t4)) => if t2 aconv t3 then thm1 RSN (1, thm2 RSN (2, @{thm trans})) else if t2 aconv t4 then thm1 RSN ((1, ((thm2 RS sym)) RSN (2, @{thm trans}))) else if t1 aconv t4 then thm2 RSN (1, thm1 RSN (2, @{thm trans})) else raise Fail "invalid trans theorem" | _ => trans_bool_thm OF [thm1, thm2]) | combine_thms (thm1 :: thm2 :: thms) = combine_thms (combine_thms [thm1, thm2] :: thms) | combine_thms thms = replay_error ctxt "invalid bind application" Trans thms t val t' = Thm.eta_long_conversion (Object_Logic.dest_judgment ctxt (Thm.cterm_of ctxt t)) val (_, t2) = Logic.dest_equals (Thm.prop_of t') val thms = map (Conv.fconv_rule Thm.eta_long_conversion) thms val trans_thm = combine_thms thms in (case (prop_of trans_thm, t2) of ((Const(\<^const_name>\HOL.eq\, _) $ t1 $ _), (Const(\<^const_name>\HOL.eq\, _) $ t3 $ _)) => if t1 aconv t3 then trans_thm else trans_thm RS sym | _ => trans_thm (*to be on the safe side*)) end fun tmp_AC_rule ctxt thms t = SMT_Replay_Methods.prove ctxt t (fn _ => Method.insert_tac ctxt thms THEN' REPEAT_ALL_NEW (partial_simplify_tac ctxt @{thms eq_commute} THEN' TRY' (simplify_tac ctxt @{thms ac_simps conj_ac}) THEN' TRY' (Classical.fast_tac ctxt))) (* And/Or *) local fun not_and_rule_prove ctxt prems = Method.insert_tac ctxt prems THEN' K (unfold_tac ctxt @{thms de_Morgan_conj}) THEN_ALL_NEW TRY' (assume_tac ctxt) fun or_pos_prove ctxt _ = K (unfold_tac ctxt @{thms de_Morgan_disj not_not}) THEN' match_tac ctxt @{thms verit_and_pos} THEN' K (unfold_tac ctxt @{thms de_Morgan_conj de_Morgan_disj not_not}) THEN' TRY' (assume_tac ctxt) fun not_or_rule_prove ctxt prems = Method.insert_tac ctxt prems THEN' K (unfold_tac ctxt @{thms de_Morgan_disj not_not}) THEN' TRY' (REPEAT' (match_tac ctxt @{thms conjI})) THEN_ALL_NEW ((REPEAT' (ematch_tac ctxt @{thms conjE})) THEN' TRY' (assume_tac ctxt)) fun and_rule_prove ctxt prems = Method.insert_tac ctxt prems THEN' (fn i => REPEAT (dresolve_tac ctxt @{thms conjE} i THEN assume_tac ctxt (i+1))) THEN' TRY' (assume_tac ctxt) fun and_neg_rule_prove ctxt _ = match_tac ctxt @{thms verit_and_neg} THEN' K (unfold_tac ctxt @{thms de_Morgan_conj not_not}) THEN' TRY' (assume_tac ctxt) fun prover tac = prove_abstract SMT_Replay_Methods.abstract_prop tac in val and_rule = prover and_rule_prove val not_and_rule = prover not_and_rule_prove val not_or_rule = prover not_or_rule_prove val or_pos_rule = prover or_pos_prove val and_neg_rule = prover and_neg_rule_prove val or_neg_rule = prove_abstract SMT_Replay_Methods.abstract_bool (fn ctxt => fn _ => resolve_tac ctxt @{thms verit_or_neg} THEN' K (unfold_tac ctxt @{thms not_not}) THEN_ALL_NEW (REPEAT' (SOLVED' (match_tac ctxt @{thms disjI1} THEN_ALL_NEW assume_tac ctxt) ORELSE' (match_tac ctxt @{thms disjI2} THEN' TRY' (assume_tac ctxt))))) fun and_pos ctxt _ t = SMT_Replay_Methods.prove ctxt t (fn _ => REPEAT_CHANGED (resolve_tac ctxt @{thms verit_and_pos}) THEN' TRY' (assume_tac ctxt)) end (* Equivalence Transformation *) local fun prove_equiv equiv_thm ctxt [thm] t = SMT_Replay_Methods.prove ctxt t (fn _ => Method.insert_tac ctxt [equiv_thm OF [thm]] THEN' TRY' (assume_tac ctxt)) | prove_equiv _ ctxt thms t = replay_error ctxt "invalid application in some equiv rule" Unsupported thms t in val not_equiv1 = prove_equiv @{lemma \\(A \ B) \ A \ B\ by blast} val not_equiv2 = prove_equiv @{lemma \\(A \ B) \ \A \ \B\ by blast} val equiv1 = prove_equiv @{lemma \(A \ B) \ \A \ B\ by blast} val equiv2 = prove_equiv @{lemma \(A \ B) \ A \ \B\ by blast} val not_implies1 = prove_equiv @{lemma \\(A \ B) \ A\ by blast} val not_implies2 = prove_equiv @{lemma \\(A \B) \ \B\ by blast} end (* Equivalence Lemma *) (*equiv_pos2 is very important for performance. We have tried various tactics, including a specialisation of SMT_Replay_Methods.match_instantiate, but there never was a measurable and consistent gain.*) local fun prove_equiv_pos_neg2 thm ctxt _ t = SMT_Replay_Methods.match_instantiate ctxt t thm in val equiv_pos1_thm = @{lemma \\(a \ b) \ a \ \b\ by blast+} val equiv_pos1 = prove_equiv_pos_neg2 equiv_pos1_thm val equiv_pos2_thm = @{lemma \\a b. (a \ b) \ \a \ b\ by blast+} val equiv_pos2 = prove_equiv_pos_neg2 equiv_pos2_thm val equiv_neg1_thm = @{lemma \(a \ b) \ \a \ \b\ by blast+} val equiv_neg1 = prove_equiv_pos_neg2 equiv_neg1_thm val equiv_neg2_thm = @{lemma \(a \ b) \ a \ b\ by blast} val equiv_neg2 = prove_equiv_pos_neg2 equiv_neg2_thm end local fun implies_pos_neg_term ctxt thm (\<^term>\Trueprop\ $ (\<^term>\HOL.disj\ $ (\<^term>\HOL.implies\ $ a $ b) $ _)) = Drule.infer_instantiate' ctxt (map (SOME o Thm.cterm_of ctxt) [a, b]) thm | implies_pos_neg_term ctxt thm t = replay_error ctxt "invalid application in Implies" Unsupported [thm] t fun prove_implies_pos_neg thm ctxt _ t = let val thm = implies_pos_neg_term ctxt thm t in SMT_Replay_Methods.prove ctxt t (fn _ => Method.insert_tac ctxt [thm] THEN' TRY' (assume_tac ctxt)) end in val implies_neg1_thm = @{lemma \(a \ b) \ a\ by blast} val implies_neg1 = prove_implies_pos_neg implies_neg1_thm val implies_neg2_thm = @{lemma \(a \ b) \ \b\ by blast} val implies_neg2 = prove_implies_pos_neg implies_neg2_thm val implies_thm = @{lemma \(a \ b) \ \a \ b\ by blast} fun implies_rules ctxt prems t = SMT_Replay_Methods.prove ctxt t (fn _ => Method.insert_tac ctxt [implies_thm OF prems] THEN' TRY' (assume_tac ctxt)) end (* BFun *) local val bfun_theorems = @{thms verit_bfun_elim} in fun bfun_elim ctxt prems t = SMT_Replay_Methods.prove ctxt t (fn _ => Method.insert_tac ctxt prems THEN' TRY' (eqsubst_all ctxt bfun_theorems) THEN' TRY' (simplify_tac ctxt @{thms eq_commute all_conj_distrib ex_disj_distrib})) end (* If-Then-Else *) local fun prove_ite ite_thm thm ctxt = resolve_tac ctxt [ite_thm OF [thm]] THEN' TRY' (assume_tac ctxt) in val ite_pos1_thm = @{lemma \\(if x then P else Q) \ x \ Q\ by auto} fun ite_pos1 ctxt _ t = SMT_Replay_Methods.prove ctxt t (fn _ => resolve_tac ctxt [ite_pos1_thm]) val ite_pos2_thms = @{lemma \\(if x then P else Q) \ \x \ P\ \\(if \x then P else Q) \ x \ P\ by auto} fun ite_pos2 ctxt _ t = SMT_Replay_Methods.prove ctxt t (fn _ => resolve_tac ctxt ite_pos2_thms) val ite_neg1_thms = @{lemma \(if x then P else Q) \ x \ \Q\ \(if x then P else \Q) \ x \ Q\ by auto} fun ite_neg1 ctxt _ t = SMT_Replay_Methods.prove ctxt t (fn _ => resolve_tac ctxt ite_neg1_thms) val ite_neg2_thms = @{lemma \(if x then P else Q) \ \x \ \P\ \(if \x then P else Q) \ x \ \P\ \(if x then \P else Q) \ \x \ P\ \(if \x then \P else Q) \ x \ P\ by auto} fun ite_neg2 ctxt _ t = SMT_Replay_Methods.prove ctxt t (fn _ => resolve_tac ctxt ite_neg2_thms) val ite1_thm = @{lemma \(if x then P else Q) \ x \ Q\ by (auto split: if_splits) } fun ite1 ctxt [thm] t = SMT_Replay_Methods.prove ctxt t (fn _ => prove_ite ite1_thm thm ctxt) val ite2_thm = @{lemma \(if x then P else Q) \ \x \ P\ by (auto split: if_splits) } fun ite2 ctxt [thm] t = SMT_Replay_Methods.prove ctxt t (fn _ => prove_ite ite2_thm thm ctxt) val not_ite1_thm = @{lemma \\(if x then P else Q) \ x \ \Q\ by (auto split: if_splits) } fun not_ite1 ctxt [thm] t = SMT_Replay_Methods.prove ctxt t (fn _ => prove_ite not_ite1_thm thm ctxt) val not_ite2_thm = @{lemma \\(if x then P else Q) \ \x \ \P\ by (auto split: if_splits) } fun not_ite2 ctxt [thm] t = SMT_Replay_Methods.prove ctxt t (fn _ => prove_ite not_ite2_thm thm ctxt) (*ite_intro can introduce new terms that are in the proof exactly the sames as the old one, but are not internally, hence the possible reordering.*) fun ite_intro ctxt _ t = let fun simplify_ite ctxt thms = ctxt |> empty_simpset |> put_simpset HOL_basic_ss |> (fn ctxt => ctxt addsimps thms @ @{thms if_True if_False refl simp_thms if_cancel}) |> Raw_Simplifier.add_eqcong @{thm verit_ite_if_cong} |> Simplifier.full_simp_tac in SMT_Replay_Methods.prove ctxt t (fn _ => simplify_ite ctxt [] THEN' TRY' (simplify_ite ctxt @{thms eq_commute})) end end (* Quantifiers *) local val rm_unused = @{lemma \(\x. P) = P\ \(\x. P) = P\ by blast+} fun qnt_cnf_tac ctxt = simplify_tac ctxt @{thms de_Morgan_conj de_Morgan_disj imp_conv_disj iff_conv_conj_imp if_bool_eq_disj ex_simps all_simps ex_disj_distrib verit_connective_def(3) all_conj_distrib} THEN' TRY' (Blast.blast_tac ctxt) in fun qnt_rm_unused ctxt _ t = SMT_Replay_Methods.prove ctxt t (fn _ => K (unfold_tac ctxt rm_unused)) fun onepoint ctxt prems t = SMT_Replay_Methods.prove ctxt t (fn _ => Method.insert_tac ctxt prems THEN' Simplifier.full_simp_tac (put_simpset HOL_basic_ss (empty_simpset ctxt) addsimps @{thms HOL.simp_thms HOL.all_simps} addsimprocs [@{simproc HOL.defined_All}, @{simproc HOL.defined_Ex}]) THEN' TRY' (Blast.blast_tac ctxt) THEN' TRY' (Metis_Tactic.metis_tac [] ATP_Problem_Generate.combsN ctxt [])) fun qnt_join ctxt _ t = SMT_Replay_Methods.prove ctxt t Classical.fast_tac fun qnt_cnf ctxt _ t = SMT_Replay_Methods.prove ctxt t qnt_cnf_tac fun qnt_simplify ctxt _ t = SMT_Replay_Methods.prove ctxt t (fn _ => partial_simplify_tac ctxt []) end (* Equality *) fun eq_transitive ctxt _ t = SMT_Replay_Methods.prove ctxt t (fn _ => REPEAT_CHANGED (resolve_tac ctxt [@{thm disj_not1} RSN (1, @{thm iffD2}) OF @{thms impI}]) THEN' REPEAT' (resolve_tac ctxt @{thms impI}) THEN' REPEAT' (eresolve_tac ctxt @{thms conjI}) THEN' REPEAT' (fn i => dresolve_tac ctxt @{thms verit_eq_transitive} i THEN assume_tac ctxt (i+1)) THEN' resolve_tac ctxt @{thms refl}) local fun find_rew rews t t' = (case AList.lookup (op =) rews (t, t') of SOME thm => SOME (thm COMP @{thm symmetric}) | NONE => (case AList.lookup (op =) rews (t', t) of SOME thm => SOME thm | NONE => NONE)) fun eq_pred_conv rews t ctxt ctrm = (case find_rew rews t (Thm.term_of ctrm) of SOME thm => Conv.rewr_conv thm ctrm | NONE => (case t of f $ arg => (Conv.fun_conv (eq_pred_conv rews f ctxt) then_conv Conv.arg_conv (eq_pred_conv rews arg ctxt)) ctrm | Abs (_, _, f) => Conv.abs_conv (eq_pred_conv rews f o snd) ctxt ctrm | _ => Conv.all_conv ctrm)) fun eq_pred_rewrite_tac ({context = ctxt, prems, concl, ...}: Subgoal.focus) = let val rews = prems |> map_filter (try (apfst (HOLogic.dest_eq o Thm.term_of o Object_Logic.dest_judgment ctxt o Thm.cconcl_of) o `(fn x => x))) |> map (apsnd (fn x => @{thm eq_reflection} OF [x])) fun conv_left conv = Conv.arg_conv (Conv.arg_conv conv) fun conv_left_neg conv = Conv.arg_conv (Conv.arg_conv (Conv.arg_conv conv)) val (t1, conv_term) = (case Thm.term_of (Object_Logic.dest_judgment ctxt concl) of Const(_, _) $ (Const(\<^const_name>\HOL.Not\, _) $ t1) $ _ => (t1, conv_left) | Const(_, _) $ t1 $ (Const(\<^const_name>\HOL.Not\, _) $ _) => (t1, conv_left_neg) | Const(_, _) $ t1 $ _ => (t1, conv_left) | t1 => (t1, conv_left)) fun throwing_CONVERSION cv i st = Seq.single (Conv.gconv_rule cv i st) in throwing_CONVERSION (conv_term (eq_pred_conv rews t1 ctxt)) end in fun eq_congruent_pred ctxt _ t = SMT_Replay_Methods.prove ctxt t (fn _ => REPEAT' (resolve_tac ctxt [@{thm disj_not1[of \_ = _\]} RSN (1, @{thm iffD2}) OF @{thms impI}]) THEN' (fn i => Subgoal.FOCUS (fn focus => eq_pred_rewrite_tac focus i) ctxt i) THEN' (resolve_tac ctxt @{thms refl excluded_middle excluded_middle[of \\_\, unfolded not_not]} ORELSE' assume_tac ctxt)) val eq_congruent = eq_congruent_pred end (* Subproof *) fun subproof ctxt [prem] t = SMT_Replay_Methods.prove ctxt t (fn _ => (REPEAT' (resolve_tac ctxt [@{thm disj_not1} RSN (1, @{thm iffD2}) OF [@{thm impI}], @{thm disj_not1[of \\_\, unfolded not_not]} RSN (1, @{thm iffD2}) OF [@{thm impI}]]) THEN' resolve_tac ctxt [prem] THEN_ALL_NEW assume_tac ctxt THEN' TRY' (assume_tac ctxt)) ORELSE' TRY' (Method.insert_tac ctxt [prem] THEN' Blast.blast_tac ctxt)) | subproof ctxt prems t = replay_error ctxt "invalid application, only one assumption expected" Subproof prems t (* Simplifying Steps *) (* The reconstruction is a bit tricky: At first we only rewrite only based on the rules that are passed as argument. Then we simply use simp_thms to reconstruct all the proofs (and these theorems cover all the simplification below). *) local fun rewrite_only_thms ctxt thms = ctxt |> empty_simpset |> put_simpset HOL_basic_ss |> (fn ctxt => ctxt addsimps thms) |> Simplifier.full_simp_tac fun rewrite_only_thms_tmp ctxt thms = rewrite_only_thms ctxt thms THEN' TRY' (K (Clasimp.auto_tac ctxt)) (*TODO: TEMP until cvc5 produces fine grained simplification steps *) fun rewrite_thms ctxt thms = ctxt |> empty_simpset |> put_simpset HOL_basic_ss |> Raw_Simplifier.add_eqcong @{thm eq_reflection[OF imp_cong]} |> (fn ctxt => ctxt addsimps thms addsimps @{thms simp_thms}) |> Simplifier.full_simp_tac fun chain_rewrite_thms ctxt thms = TRY' (rewrite_only_thms ctxt thms) THEN' TRY' (rewrite_thms ctxt thms) THEN' TRY' (K (Clasimp.auto_tac ctxt)) (*TODO: TEMP until cvc5 produces fine grained simplification steps *) fun chain_rewrite_two_step_with_ac_simps ctxt thms1 thms2 = TRY' (rewrite_only_thms ctxt thms1) THEN' TRY' (rewrite_thms ctxt thms2) THEN' TRY' (K (Clasimp.auto_tac ctxt)) (*TODO: TEMP until cvc5 produces fine grained simplification steps *) fun chain_rewrite_thms_two_step ctxt thms1 thms2 thms3 thms4 = chain_rewrite_two_step_with_ac_simps ctxt thms1 thms2 THEN' TRY' (chain_rewrite_two_step_with_ac_simps ctxt thms3 thms4) val imp_refl = @{lemma \(P \ P) = True\ by blast} in fun rewrite_bool_simplify ctxt _ t = SMT_Replay_Methods.prove ctxt t (fn _ => (chain_rewrite_thms ctxt @{thms verit_bool_simplify})) fun rewrite_and_simplify ctxt _ t = SMT_Replay_Methods.prove ctxt t (fn _ => (chain_rewrite_two_step_with_ac_simps ctxt @{thms verit_and_simplify verit_and_simplify1} @{thms verit_and_simplify})) fun rewrite_or_simplify ctxt _ t = SMT_Replay_Methods.prove ctxt t (fn _ => (chain_rewrite_two_step_with_ac_simps ctxt @{thms verit_or_simplify verit_or_simplify_1} @{thms verit_or_simplify}) THEN' TRY' (REPEAT' (match_tac ctxt @{thms verit_and_pos}) THEN' assume_tac ctxt)) fun rewrite_not_simplify ctxt _ t = SMT_Replay_Methods.prove ctxt t (fn _ => (rewrite_only_thms_tmp ctxt @{thms verit_not_simplify})) fun rewrite_equiv_simplify ctxt _ t = SMT_Replay_Methods.prove ctxt t (fn _ => (rewrite_only_thms_tmp ctxt @{thms verit_equiv_simplify})) fun rewrite_eq_simplify ctxt _ t = SMT_Replay_Methods.prove ctxt t (fn _ => (chain_rewrite_two_step_with_ac_simps ctxt @{thms verit_eq_simplify} (Named_Theorems.get ctxt @{named_theorems ac_simps}))) fun rewrite_implies_simplify ctxt _ t = SMT_Replay_Methods.prove ctxt t (fn _ => (rewrite_only_thms_tmp ctxt @{thms verit_implies_simplify})) (* It is more efficient to first fold the implication symbols. That is however not enough when symbols appears within expressions, hence we also unfold implications in the other direction. *) fun rewrite_connective_def ctxt _ t = SMT_Replay_Methods.prove ctxt t (fn _ => chain_rewrite_thms_two_step ctxt (imp_refl :: @{thms not_not verit_connective_def[symmetric]}) (@{thms verit_connective_def[symmetric]}) (imp_refl :: @{thms not_not verit_connective_def}) (@{thms verit_connective_def})) fun rewrite_minus_simplify ctxt _ t = SMT_Replay_Methods.prove ctxt t (fn _ => chain_rewrite_two_step_with_ac_simps ctxt @{thms arith_simps verit_minus_simplify} (Named_Theorems.get ctxt @{named_theorems ac_simps} @ @{thms numerals arith_simps arith_special numeral_class.numeral.numeral_One})) fun rewrite_comp_simplify ctxt _ t = SMT_Replay_Methods.prove ctxt t (fn _ => chain_rewrite_thms ctxt @{thms verit_comp_simplify}) fun rewrite_ite_simplify ctxt _ t = SMT_Replay_Methods.prove ctxt t (fn _ => (rewrite_only_thms_tmp ctxt @{thms verit_ite_simplify})) end (* Simplifications *) local fun simplify_arith ctxt thms = partial_simplify_tac ctxt (thms @ Named_Theorems.get ctxt @{named_theorems ac_simps} @ @{thms arith_simps}) in fun sum_simplify ctxt _ t = SMT_Replay_Methods.prove ctxt t (fn _ => simplify_arith ctxt @{thms verit_sum_simplify arith_special} THEN' TRY' (K (Clasimp.auto_tac ctxt))) (*TODO: TEMP until cvc5 produces fine grained simplification steps *) fun prod_simplify ctxt _ t = SMT_Replay_Methods.prove ctxt t (fn _ => simplify_arith ctxt @{thms verit_prod_simplify} THEN' TRY' (K (Clasimp.auto_tac ctxt))) (*TODO: TEMP until cvc5 produces fine grained simplification steps *) end fun all_simplify ctxt _ t = SMT_Replay_Methods.prove ctxt t (fn _ => TRY' (K (Clasimp.auto_tac ctxt))) (*TODO: TEMP until cvc5 produces fine grained simplification steps *) (* Arithmetics *) local val la_rw_eq_thm = @{lemma \(a :: nat) = b \ (a \ b) \ (a \ b)\ by auto} in fun la_rw_eq ctxt _ t = SMT_Replay_Methods.match_instantiate ctxt t la_rw_eq_thm fun la_generic_prove args ctxt _ = SMT_Replay_Arith.la_farkas args ctxt fun la_generic ctxt _ args = prove_abstract (SMT_Replay_Methods.abstract_arith_shallow ctxt) (la_generic_prove args) ctxt [] fun lia_generic ctxt _ t = SMT_Replay_Methods.prove_arith_rewrite SMT_Replay_Methods.abstract_neq ctxt t fun la_disequality ctxt _ t = SMT_Replay_Methods.match_instantiate ctxt t @{thm verit_la_disequality} end (* Symm and Not_Symm*) local fun prove_symm symm_thm ctxt [thm] t = SMT_Replay_Methods.prove ctxt t (fn _ => Method.insert_tac ctxt [symm_thm OF [thm]] THEN' TRY' (assume_tac ctxt)) | prove_symm _ ctxt thms t = replay_error ctxt "invalid application in some symm rule" Unsupported thms t in val symm_thm = @{lemma \(B = A) \ A = B\ by blast } val symm = prove_symm symm_thm val not_symm_thm = @{lemma \\(B = A) \ \(A = B)\ by blast } val not_symm = prove_symm not_symm_thm end (* Reordering *) local fun prove_reordering ctxt [thm] t = SMT_Replay_Methods.prove ctxt t (fn _ =>( Method.insert_tac ctxt [thm] THEN' match_tac ctxt @{thms ccontr} THEN' K (unfold_tac ctxt @{thms de_Morgan_disj}) THEN' TRY o CHANGED_PROP o REPEAT_ALL_NEW (ematch_tac ctxt @{thms conjE}) THEN' CHANGED_PROP o REPEAT_ALL_NEW (ematch_tac ctxt @{thms disjE}) THEN' REPEAT'(ematch_tac ctxt @{thms notE} THEN' TRY' (assume_tac ctxt)) )) | prove_reordering ctxt thms t = replay_error ctxt "invalid application in some reordering rule" Unsupported thms t in val reordering = prove_reordering end end; diff --git a/src/HOL/Tools/SMT/smt_config.ML b/src/HOL/Tools/SMT/smt_config.ML --- a/src/HOL/Tools/SMT/smt_config.ML +++ b/src/HOL/Tools/SMT/smt_config.ML @@ -1,294 +1,298 @@ (* Title: HOL/Tools/SMT/smt_config.ML Author: Sascha Boehme, TU Muenchen Configuration options and diagnostic tools for SMT. *) signature SMT_CONFIG = sig (*solver*) type solver_info = { name: string, class: Proof.context -> SMT_Util.class, avail: unit -> bool, options: Proof.context -> string list } val add_solver: solver_info -> Context.generic -> Context.generic val set_solver_options: string * string -> Context.generic -> Context.generic val all_solvers_of: Proof.context -> string list val is_available: Proof.context -> string -> bool val available_solvers_of: Proof.context -> string list val select_solver: string -> Context.generic -> Context.generic val solver_of: Proof.context -> string val solver_class_of: Proof.context -> SMT_Util.class val solver_options_of: Proof.context -> string list (*options*) val oracle: bool Config.T val timeout: real Config.T val reconstruction_step_timeout: real Config.T val random_seed: int Config.T val read_only_certificates: bool Config.T val verbose: bool Config.T val trace: bool Config.T val statistics: bool Config.T val monomorph_limit: int Config.T val monomorph_instances: int Config.T val explicit_application: int Config.T val higher_order: bool Config.T val native_bv: bool Config.T val nat_as_int: bool Config.T val infer_triggers: bool Config.T val debug_files: string Config.T val sat_solver: string Config.T val compress_verit_proofs: Proof.context -> bool (*tools*) val get_timeout: Proof.context -> Time.time option val with_time_limit: Proof.context -> real Config.T -> ('a -> 'b) -> 'a -> 'b val with_timeout: Proof.context -> ('a -> 'b) -> 'a -> 'b (*diagnostics*) val trace_msg: Proof.context -> ('a -> string) -> 'a -> unit val verbose_msg: Proof.context -> ('a -> string) -> 'a -> unit val statistics_msg: Proof.context -> ('a -> string) -> 'a -> unit val verit_msg: Proof.context -> (unit -> 'a) -> unit val verit_arith_msg: Proof.context -> (unit -> 'a) -> unit val spy_verit: Proof.context -> bool val spy_Z3: Proof.context -> bool + val use_lethe_proof_from_cvc: Proof.context -> bool (*certificates*) val select_certificates: string -> Context.generic -> Context.generic val certificates_of: Proof.context -> Cache_IO.cache option (*setup*) val print_setup: Proof.context -> unit end; structure SMT_Config: SMT_CONFIG = struct (* solver *) type solver_info = { name: string, class: Proof.context -> SMT_Util.class, avail: unit -> bool, options: Proof.context -> string list} type data = { solvers: (solver_info * string list) Symtab.table, solver: string option, certs: Cache_IO.cache option} fun mk_data solvers solver certs: data = {solvers=solvers, solver=solver, certs=certs} val empty_data = mk_data Symtab.empty NONE NONE fun solvers_of ({solvers, ...}: data) = solvers fun solver_of ({solver, ...}: data) = solver fun certs_of ({certs, ...}: data) = certs fun map_solvers f ({solvers, solver, certs}: data) = mk_data (f solvers) solver certs fun map_solver f ({solvers, solver, certs}: data) = mk_data solvers (f solver) certs fun put_certs c ({solvers, solver, ...}: data) = mk_data solvers solver c fun merge_data ({solvers=ss1,solver=s1,certs=c1}: data, {solvers=ss2,solver=s2,certs=c2}: data) = mk_data (Symtab.merge (K true) (ss1, ss2)) (merge_options (s1, s2)) (merge_options (c1, c2)) structure Data = Generic_Data ( type T = data val empty = empty_data val merge = merge_data ) fun set_solver_options (name, options) = let val opts = String.tokens (Symbol.is_ascii_blank o str) options in Data.map (map_solvers (Symtab.map_entry name (apsnd (K opts)))) end fun add_solver (info as {name, ...} : solver_info) context = if Symtab.defined (solvers_of (Data.get context)) name then error ("Solver already registered: " ^ quote name) else context |> Data.map (map_solvers (Symtab.update (name, (info, [])))) |> Context.map_theory (Attrib.setup (Binding.name (name ^ "_options")) (Scan.lift (\<^keyword>\=\ |-- Args.name) >> (Thm.declaration_attribute o K o set_solver_options o pair name)) ("additional command-line options for SMT solver " ^ quote name)) fun all_solvers_of ctxt = Symtab.keys (solvers_of (Data.get (Context.Proof ctxt))) fun solver_name_of ctxt = solver_of (Data.get (Context.Proof ctxt)) fun is_available ctxt name = (case Symtab.lookup (solvers_of (Data.get (Context.Proof ctxt))) name of SOME ({avail, ...}, _) => avail () | NONE => false) fun available_solvers_of ctxt = filter (is_available ctxt) (all_solvers_of ctxt) fun warn_solver (Context.Proof ctxt) name = if Context_Position.is_visible ctxt then warning ("The SMT solver " ^ quote name ^ " is not installed") else () | warn_solver _ _ = () fun select_solver name context = let val ctxt = Context.proof_of context val upd = Data.map (map_solver (K (SOME name))) in if not (member (op =) (all_solvers_of ctxt) name) then error ("Trying to select unknown solver: " ^ quote name) else if not (is_available ctxt name) then (warn_solver context name; upd context) else upd context end fun no_solver_err () = error "No SMT solver selected" fun solver_of ctxt = (case solver_name_of ctxt of SOME name => name | NONE => no_solver_err ()) fun solver_info_of default select ctxt = (case solver_name_of ctxt of NONE => default () | SOME name => select (Symtab.lookup (solvers_of (Data.get (Context.Proof ctxt))) name)) fun solver_class_of ctxt = let fun class_of ({class, ...}: solver_info, _) = class ctxt in solver_info_of no_solver_err (class_of o the) ctxt end fun solver_options_of ctxt = let fun all_options NONE = [] | all_options (SOME ({options, ...} : solver_info, opts)) = opts @ options ctxt in solver_info_of (K []) all_options ctxt end val setup_solver = Attrib.setup \<^binding>\smt_solver\ (Scan.lift (\<^keyword>\=\ |-- Args.name) >> (Thm.declaration_attribute o K o select_solver)) "SMT solver configuration" (* options *) val oracle = Attrib.setup_config_bool \<^binding>\smt_oracle\ (K true) val timeout = Attrib.setup_config_real \<^binding>\smt_timeout\ (K 0.0) val reconstruction_step_timeout = Attrib.setup_config_real \<^binding>\smt_reconstruction_step_timeout\ (K 10.0) val random_seed = Attrib.setup_config_int \<^binding>\smt_random_seed\ (K 1) val read_only_certificates = Attrib.setup_config_bool \<^binding>\smt_read_only_certificates\ (K false) val verbose = Attrib.setup_config_bool \<^binding>\smt_verbose\ (K true) val trace = Attrib.setup_config_bool \<^binding>\smt_trace\ (K false) val trace_verit = Attrib.setup_config_bool \<^binding>\smt_debug_verit\ (K false) val spy_verit_attr = Attrib.setup_config_bool \<^binding>\smt_spy_verit\ (K false) val spy_z3 = Attrib.setup_config_bool \<^binding>\smt_spy_z3\ (K false) val trace_arith_verit = Attrib.setup_config_bool \<^binding>\smt_debug_arith_verit\ (K false) val trace_verit_compression = Attrib.setup_config_bool \<^binding>\verit_compress_proofs\ (K true) val statistics = Attrib.setup_config_bool \<^binding>\smt_statistics\ (K false) val monomorph_limit = Attrib.setup_config_int \<^binding>\smt_monomorph_limit\ (K 10) val monomorph_instances = Attrib.setup_config_int \<^binding>\smt_monomorph_instances\ (K 500) val explicit_application = Attrib.setup_config_int \<^binding>\smt_explicit_application\ (K 1) val higher_order = Attrib.setup_config_bool \<^binding>\smt_higher_order\ (K false) val native_bv = Attrib.setup_config_bool \<^binding>\native_bv\ (K true) val nat_as_int = Attrib.setup_config_bool \<^binding>\smt_nat_as_int\ (K false) val infer_triggers = Attrib.setup_config_bool \<^binding>\smt_infer_triggers\ (K false) val debug_files = Attrib.setup_config_string \<^binding>\smt_debug_files\ (K "") val sat_solver = Attrib.setup_config_string \<^binding>\smt_sat_solver\ (K "cdclite") +val cvc_experimental_lethe = Attrib.setup_config_bool \<^binding>\smt_cvc_lethe\ (K false) (* diagnostics *) fun cond_trace flag f x = if flag then tracing ("SMT: " ^ f x) else () fun verbose_msg ctxt = cond_trace (Config.get ctxt verbose) fun trace_msg ctxt = cond_trace (Config.get ctxt trace) fun statistics_msg ctxt = cond_trace (Config.get ctxt statistics) fun verit_msg ctxt (x : unit -> 'a) = if (Config.get ctxt trace_verit) then ignore(x ()) else () fun verit_arith_msg ctxt (x : unit -> 'a) = if (Config.get ctxt trace_arith_verit) then ignore(x ()) else () fun spy_verit ctxt = Config.get ctxt spy_verit_attr fun spy_Z3 ctxt = Config.get ctxt spy_z3 fun compress_verit_proofs ctxt = Config.get ctxt trace_verit_compression +fun use_lethe_proof_from_cvc ctxt = Config.get ctxt cvc_experimental_lethe + (* tools *) fun get_timeout ctxt = let val t = seconds (Config.get ctxt timeout); in if Timeout.ignored t then NONE else SOME (Timeout.scale_time t) end; fun with_time_limit ctxt timeout_config f x = Timeout.apply (seconds (Config.get ctxt timeout_config)) f x handle Timeout.TIMEOUT _ => raise SMT_Failure.SMT SMT_Failure.Time_Out fun with_timeout ctxt = with_time_limit ctxt timeout (* certificates *) val certificates_of = certs_of o Data.get o Context.Proof val get_certificates_path = Option.map (Cache_IO.cache_path_of) o certificates_of fun select_certificates name context = context |> Data.map (put_certs ( if name = "" then NONE else (Resources.master_directory (Context.theory_of context) + Path.explode name) |> SOME o Cache_IO.unsynchronized_init)) val setup_certificates = Attrib.setup \<^binding>\smt_certificates\ (Scan.lift (\<^keyword>\=\ |-- Args.name) >> (Thm.declaration_attribute o K o select_certificates)) "SMT certificates configuration" (* setup *) val _ = Theory.setup ( setup_solver #> setup_certificates) fun print_setup ctxt = let fun string_of_bool b = if b then "true" else "false" val names = available_solvers_of ctxt val ns = if null names then ["(none)"] else sort_strings names val n = the_default "(none)" (solver_name_of ctxt) val opts = solver_options_of ctxt val t = string_of_real (Config.get ctxt timeout) val certs_filename = (case get_certificates_path ctxt of SOME path => Path.print path | NONE => "(disabled)") in Pretty.writeln (Pretty.big_list "SMT setup:" [ Pretty.str ("Current SMT solver: " ^ n), Pretty.str ("Current SMT solver options: " ^ space_implode " " opts), Pretty.str_list "Available SMT solvers: " "" ns, Pretty.str ("Current timeout: " ^ t ^ " seconds"), Pretty.str ("With proofs: " ^ string_of_bool (not (Config.get ctxt oracle))), Pretty.str ("Certificates cache: " ^ certs_filename), Pretty.str ("Fixed certificates: " ^ string_of_bool (Config.get ctxt read_only_certificates))]) end val _ = Outer_Syntax.command \<^command_keyword>\smt_status\ "show the available SMT solvers, the currently selected SMT solver, \ \and the values of SMT configuration options" (Scan.succeed (Toplevel.keep (print_setup o Toplevel.context_of))) end; diff --git a/src/HOL/Tools/SMT/smt_real.ML b/src/HOL/Tools/SMT/smt_real.ML --- a/src/HOL/Tools/SMT/smt_real.ML +++ b/src/HOL/Tools/SMT/smt_real.ML @@ -1,115 +1,133 @@ (* Title: HOL/Tools/SMT/smt_real.ML Author: Sascha Boehme, TU Muenchen SMT setup for reals. *) structure SMT_Real: sig end = struct (* SMT-LIB logic *) fun smtlib_logic _ ts = if exists (Term.exists_type (Term.exists_subtype (equal \<^typ>\real\))) ts then SOME "AUFLIRA" else NONE (* SMT-LIB and Z3 built-ins *) local fun real_num _ i = SOME (string_of_int i ^ ".0") fun is_linear [t] = SMT_Util.is_number t | is_linear [t, u] = SMT_Util.is_number t orelse SMT_Util.is_number u | is_linear _ = false fun mk_times ts = Term.list_comb (\<^Const>\times \<^Type>\real\\, ts) fun times _ _ ts = if is_linear ts then SOME ("*", 2, ts, mk_times) else NONE in +fun real_type_parser (SMTLIB.Sym "Real", []) = SOME \<^typ>\Real.real\ + | real_type_parser _ = NONE + +fun real_term_parser (SMTLIB.Dec (i, 0), []) = SOME (HOLogic.mk_number \<^typ>\Real.real\ i) + | real_term_parser (SMTLIB.Sym "/", [t1, t2]) = + SOME (\<^term>\Rings.divide :: real => _\ $ t1 $ t2) + | real_term_parser (SMTLIB.Sym "to_real", [t]) = SOME (\<^term>\Int.of_int :: int => _\ $ t) + | real_term_parser _ = NONE + +fun abstract abs t = + (case t of + (c as \<^term>\Rings.divide :: real => _\) $ t1 $ t2 => + abs t1 ##>> abs t2 #>> (fn (u1, u2) => SOME (c $ u1 $ u2)) + | (c as \<^term>\Int.of_int :: int => _\) $ t => + abs t #>> (fn u => SOME (c $ u)) + | _ => pair NONE) + +val _ = Theory.setup (Context.theory_map ( + SMTLIB_Proof.add_type_parser real_type_parser #> + SMTLIB_Proof.add_term_parser real_term_parser #> + SMT_Replay_Methods.add_arith_abstracter abstract)) + val setup_builtins = SMT_Builtin.add_builtin_typ SMTLIB_Interface.smtlibC (\<^typ>\real\, K (SOME ("Real", [])), real_num) #> fold (SMT_Builtin.add_builtin_fun' SMTLIB_Interface.smtlibC) [ (\<^Const>\less \<^Type>\real\\, "<"), (\<^Const>\less_eq \<^Type>\real\\, "<="), (\<^Const>\uminus \<^Type>\real\\, "-"), (\<^Const>\plus \<^Type>\real\\, "+"), (\<^Const>\minus \<^Type>\real\\, "-") ] #> SMT_Builtin.add_builtin_fun SMTLIB_Interface.smtlibC - (Term.dest_Const \<^Const>\times \<^Type>\real\\, times) #> - SMT_Builtin.add_builtin_fun' Z3_Interface.smtlib_z3C - (\<^Const>\times \<^Type>\real\\, "*") #> - SMT_Builtin.add_builtin_fun' Z3_Interface.smtlib_z3C - (\<^Const>\divide \<^Type>\real\\, "/") + (Term.dest_Const \<^Const>\times \<^Type>\real\\, times) end (* Z3 constructors *) local - fun z3_mk_builtin_typ (Z3_Interface.Sym ("Real", _)) = SOME \<^typ>\real\ - | z3_mk_builtin_typ (Z3_Interface.Sym ("real", _)) = SOME \<^typ>\real\ + fun smt_mk_builtin_typ (Z3_Interface.Sym ("Real", _)) = SOME \<^typ>\real\ + | smt_mk_builtin_typ (Z3_Interface.Sym ("real", _)) = SOME \<^typ>\real\ (*FIXME: delete*) - | z3_mk_builtin_typ _ = NONE + | smt_mk_builtin_typ _ = NONE - fun z3_mk_builtin_num _ i T = + fun smt_mk_builtin_num _ i T = if T = \<^typ>\real\ then SOME (Numeral.mk_cnumber \<^ctyp>\real\ i) else NONE fun mk_nary _ cu [] = cu | mk_nary ct _ cts = uncurry (fold_rev (Thm.mk_binop ct)) (split_last cts) val mk_uminus = Thm.apply \<^cterm>\uminus :: real \ _\ val add = \<^cterm>\(+) :: real \ _\ val real0 = Numeral.mk_cnumber \<^ctyp>\real\ 0 val mk_sub = Thm.mk_binop \<^cterm>\(-) :: real \ _\ val mk_mul = Thm.mk_binop \<^cterm>\(*) :: real \ _\ val mk_div = Thm.mk_binop \<^cterm>\(/) :: real \ _\ val mk_lt = Thm.mk_binop \<^cterm>\(<) :: real \ _\ val mk_le = Thm.mk_binop \<^cterm>\(\) :: real \ _\ - fun z3_mk_builtin_fun (Z3_Interface.Sym ("-", _)) [ct] = SOME (mk_uminus ct) - | z3_mk_builtin_fun (Z3_Interface.Sym ("+", _)) cts = SOME (mk_nary add real0 cts) - | z3_mk_builtin_fun (Z3_Interface.Sym ("-", _)) [ct, cu] = SOME (mk_sub ct cu) - | z3_mk_builtin_fun (Z3_Interface.Sym ("*", _)) [ct, cu] = SOME (mk_mul ct cu) - | z3_mk_builtin_fun (Z3_Interface.Sym ("/", _)) [ct, cu] = SOME (mk_div ct cu) - | z3_mk_builtin_fun (Z3_Interface.Sym ("<", _)) [ct, cu] = SOME (mk_lt ct cu) - | z3_mk_builtin_fun (Z3_Interface.Sym ("<=", _)) [ct, cu] = SOME (mk_le ct cu) - | z3_mk_builtin_fun (Z3_Interface.Sym (">", _)) [ct, cu] = SOME (mk_lt cu ct) - | z3_mk_builtin_fun (Z3_Interface.Sym (">=", _)) [ct, cu] = SOME (mk_le cu ct) - | z3_mk_builtin_fun _ _ = NONE + fun smt_mk_builtin_fun (Z3_Interface.Sym ("-", _)) [ct] = SOME (mk_uminus ct) + | smt_mk_builtin_fun (Z3_Interface.Sym ("+", _)) cts = SOME (mk_nary add real0 cts) + | smt_mk_builtin_fun (Z3_Interface.Sym ("-", _)) [ct, cu] = SOME (mk_sub ct cu) + | smt_mk_builtin_fun (Z3_Interface.Sym ("*", _)) [ct, cu] = SOME (mk_mul ct cu) + | smt_mk_builtin_fun (Z3_Interface.Sym ("/", _)) [ct, cu] = SOME (mk_div ct cu) + | smt_mk_builtin_fun (Z3_Interface.Sym ("<", _)) [ct, cu] = SOME (mk_lt ct cu) + | smt_mk_builtin_fun (Z3_Interface.Sym ("<=", _)) [ct, cu] = SOME (mk_le ct cu) + | smt_mk_builtin_fun (Z3_Interface.Sym (">", _)) [ct, cu] = SOME (mk_lt cu ct) + | smt_mk_builtin_fun (Z3_Interface.Sym (">=", _)) [ct, cu] = SOME (mk_le cu ct) + | smt_mk_builtin_fun _ _ = NONE in -val z3_mk_builtins = { - mk_builtin_typ = z3_mk_builtin_typ, - mk_builtin_num = z3_mk_builtin_num, +val smt_mk_builtins = { + mk_builtin_typ = smt_mk_builtin_typ, + mk_builtin_num = smt_mk_builtin_num, mk_builtin_fun = (fn _ => fn sym => fn cts => (case try (Thm.typ_of_cterm o hd) cts of - SOME \<^typ>\real\ => z3_mk_builtin_fun sym cts + SOME \<^typ>\real\ => smt_mk_builtin_fun sym cts | _ => NONE)) } end (* Z3 proof replay *) val real_linarith_proc = Simplifier.make_simproc \<^context> "fast_real_arith" {lhss = [\<^term>\(m::real) < n\, \<^term>\(m::real) \ n\, \<^term>\(m::real) = n\], proc = K Lin_Arith.simproc} (* setup *) val _ = Theory.setup (Context.theory_map ( SMTLIB_Interface.add_logic (10, smtlib_logic) #> setup_builtins #> - Z3_Interface.add_mk_builtins z3_mk_builtins #> + Z3_Interface.add_mk_builtins smt_mk_builtins #> SMT_Replay.add_simproc real_linarith_proc)) end; diff --git a/src/HOL/Tools/SMT/smt_replay_methods.ML b/src/HOL/Tools/SMT/smt_replay_methods.ML --- a/src/HOL/Tools/SMT/smt_replay_methods.ML +++ b/src/HOL/Tools/SMT/smt_replay_methods.ML @@ -1,517 +1,517 @@ (* Title: HOL/Tools/SMT/smt_replay_methods.ML Author: Sascha Boehme, TU Muenchen Author: Jasmin Blanchette, TU Muenchen Author: Mathias Fleury, MPII Proof methods for replaying SMT proofs. *) signature SMT_REPLAY_METHODS = sig (*Printing*) val pretty_goal: Proof.context -> string -> string -> thm list -> term -> Pretty.T val trace_goal: Proof.context -> string -> thm list -> term -> unit val trace: Proof.context -> (unit -> string) -> unit (*Replaying*) val replay_error: Proof.context -> string -> string -> thm list -> term -> 'a val replay_rule_error: string -> Proof.context -> string -> thm list -> term -> 'a (*theory lemma methods*) type th_lemma_method = Proof.context -> thm list -> term -> thm val add_th_lemma_method: string * th_lemma_method -> Context.generic -> Context.generic val get_th_lemma_method: Proof.context -> th_lemma_method Symtab.table val discharge: int -> thm list -> thm -> thm val match_instantiate: Proof.context -> term -> thm -> thm val prove: Proof.context -> term -> (Proof.context -> int -> tactic) -> thm val prove_arith_rewrite: ((term -> int * term Termtab.table -> term * (int * term Termtab.table)) -> term -> int * term Termtab.table -> term * (int * term Termtab.table)) -> Proof.context -> term -> thm (*abstraction*) type abs_context = int * term Termtab.table type 'a abstracter = term -> abs_context -> 'a * abs_context val add_arith_abstracter: (term abstracter -> term option abstracter) -> Context.generic -> Context.generic val abstract_lit: term -> abs_context -> term * abs_context val abstract_conj: term -> abs_context -> term * abs_context val abstract_disj: term -> abs_context -> term * abs_context val abstract_not: (term -> abs_context -> term * abs_context) -> term -> abs_context -> term * abs_context val abstract_unit: term -> abs_context -> term * abs_context val abstract_bool: term -> abs_context -> term * abs_context (* also abstracts over equivalences and conjunction and implication*) val abstract_bool_shallow: term -> abs_context -> term * abs_context (* abstracts down to equivalence symbols *) val abstract_bool_shallow_equivalence: term -> abs_context -> term * abs_context val abstract_prop: term -> abs_context -> term * abs_context val abstract_term: term -> abs_context -> term * abs_context val abstract_eq: (term -> int * term Termtab.table -> term * (int * term Termtab.table)) -> term -> int * term Termtab.table -> term * (int * term Termtab.table) val abstract_neq: (term -> int * term Termtab.table -> term * (int * term Termtab.table)) -> term -> int * term Termtab.table -> term * (int * term Termtab.table) val abstract_arith: Proof.context -> term -> abs_context -> term * abs_context (* also abstracts over if-then-else *) val abstract_arith_shallow: Proof.context -> term -> abs_context -> term * abs_context val prove_abstract: Proof.context -> thm list -> term -> (Proof.context -> thm list -> int -> tactic) -> (abs_context -> (term list * term) * abs_context) -> thm val prove_abstract': Proof.context -> term -> (Proof.context -> thm list -> int -> tactic) -> (abs_context -> term * abs_context) -> thm val try_provers: string -> Proof.context -> string -> (string * (term -> 'a)) list -> thm list -> term -> 'a (*shared tactics*) val cong_unfolding_trivial: Proof.context -> thm list -> term -> thm val cong_basic: Proof.context -> thm list -> term -> thm val cong_full: Proof.context -> thm list -> term -> thm val cong_unfolding_first: Proof.context -> thm list -> term -> thm val arith_th_lemma: Proof.context -> thm list -> term -> thm val arith_th_lemma_wo: Proof.context -> thm list -> term -> thm val arith_th_lemma_wo_shallow: Proof.context -> thm list -> term -> thm val arith_th_lemma_tac_with_wo: Proof.context -> thm list -> int -> tactic val dest_thm: thm -> term val prop_tac: Proof.context -> thm list -> int -> tactic val certify_prop: Proof.context -> term -> cterm val dest_prop: term -> term end; structure SMT_Replay_Methods: SMT_REPLAY_METHODS = struct (* utility functions *) fun trace ctxt f = SMT_Config.trace_msg ctxt f () fun pretty_thm ctxt thm = Syntax.pretty_term ctxt (Thm.concl_of thm) fun pretty_goal ctxt msg rule thms t = let val full_msg = msg ^ ": " ^ quote rule val assms = if null thms then [] else [Pretty.big_list "assumptions:" (map (pretty_thm ctxt) thms)] val concl = Pretty.big_list "proposition:" [Syntax.pretty_term ctxt t] in Pretty.big_list full_msg (assms @ [concl]) end fun replay_error ctxt msg rule thms t = error (Pretty.string_of (pretty_goal ctxt msg rule thms t)) -fun replay_rule_error name ctxt = replay_error ctxt ("Failed to replay" ^ name ^ " proof step") +fun replay_rule_error name ctxt = replay_error ctxt ("Failed to replay " ^ name ^ " proof step") fun trace_goal ctxt rule thms t = trace ctxt (fn () => Pretty.string_of (pretty_goal ctxt "Goal" rule thms t)) fun as_prop (t as Const (\<^const_name>\Trueprop\, _) $ _) = t | as_prop t = HOLogic.mk_Trueprop t fun dest_prop (Const (\<^const_name>\Trueprop\, _) $ t) = t | dest_prop t = t fun dest_thm thm = dest_prop (Thm.concl_of thm) (* plug-ins *) type abs_context = int * term Termtab.table type 'a abstracter = term -> abs_context -> 'a * abs_context type th_lemma_method = Proof.context -> thm list -> term -> thm fun id_ord ((id1, _), (id2, _)) = int_ord (id1, id2) structure Plugins = Generic_Data ( type T = (int * (term abstracter -> term option abstracter)) list * th_lemma_method Symtab.table val empty = ([], Symtab.empty) fun merge ((abss1, ths1), (abss2, ths2)) = ( Ord_List.merge id_ord (abss1, abss2), Symtab.merge (K true) (ths1, ths2)) ) fun add_arith_abstracter abs = Plugins.map (apfst (Ord_List.insert id_ord (serial (), abs))) fun get_arith_abstracters ctxt = map snd (fst (Plugins.get (Context.Proof ctxt))) fun add_th_lemma_method method = Plugins.map (apsnd (Symtab.update_new method)) fun get_th_lemma_method ctxt = snd (Plugins.get (Context.Proof ctxt)) fun match ctxt pat t = (Vartab.empty, Vartab.empty) |> Pattern.first_order_match (Proof_Context.theory_of ctxt) (pat, t) fun gen_certify_inst sel cert ctxt thm t = let val inst = match ctxt (dest_thm thm) (dest_prop t) fun cert_inst (ix, (a, b)) = ((ix, a), cert b) in Vartab.fold (cons o cert_inst) (sel inst) [] end fun match_instantiateT ctxt t thm = if Term.exists_type (Term.exists_subtype Term.is_TVar) (dest_thm thm) then Thm.instantiate (TVars.make (gen_certify_inst fst (Thm.ctyp_of ctxt) ctxt thm t), Vars.empty) thm else thm fun match_instantiate ctxt t thm = let val thm' = match_instantiateT ctxt t thm in Thm.instantiate (TVars.empty, Vars.make (gen_certify_inst snd (Thm.cterm_of ctxt) ctxt thm' t)) thm' end fun discharge _ [] thm = thm | discharge i (rule :: rules) thm = discharge (i + Thm.nprems_of rule) rules (rule RSN (i, thm)) fun by_tac ctxt thms ns ts t tac = Goal.prove ctxt [] (map as_prop ts) (as_prop t) (fn {context, prems} => HEADGOAL (tac context prems)) |> Drule.generalize (Names.empty, Names.make_set ns) |> discharge 1 thms fun prove ctxt t tac = by_tac ctxt [] [] [] t (K o tac) (* abstraction *) fun prove_abstract ctxt thms t tac f = let val ((prems, concl), (_, ts)) = f (1, Termtab.empty) val ns = Termtab.fold (fn (_, v) => cons (fst (Term.dest_Free v))) ts [] in by_tac ctxt [] ns prems concl tac |> match_instantiate ctxt t |> discharge 1 thms end fun prove_abstract' ctxt t tac f = prove_abstract ctxt [] t tac (f #>> pair []) fun lookup_term (_, terms) t = Termtab.lookup terms t fun abstract_sub t f cx = (case lookup_term cx t of SOME v => (v, cx) | NONE => f cx) fun mk_fresh_free t (i, terms) = let val v = Free ("t" ^ string_of_int i, fastype_of t) in (v, (i + 1, Termtab.update (t, v) terms)) end fun apply_abstracters _ [] _ cx = (NONE, cx) | apply_abstracters abs (abstracter :: abstracters) t cx = (case abstracter abs t cx of (NONE, _) => apply_abstracters abs abstracters t cx | x as (SOME _, _) => x) fun abstract_term (t as _ $ _) = abstract_sub t (mk_fresh_free t) | abstract_term (t as Abs _) = abstract_sub t (mk_fresh_free t) | abstract_term t = pair t fun abstract_bin abs f t t1 t2 = abstract_sub t (abs t1 ##>> abs t2 #>> f) fun abstract_ter abs f t t1 t2 t3 = abstract_sub t (abs t1 ##>> abs t2 ##>> abs t3 #>> (Scan.triple1 #> f)) fun abstract_lit \<^Const>\Not for t\ = abstract_term t #>> HOLogic.mk_not | abstract_lit t = abstract_term t fun abstract_not abs (t as \<^Const_>\Not\ $ t1) = abstract_sub t (abs t1 #>> HOLogic.mk_not) | abstract_not _ t = abstract_lit t fun abstract_conj (t as \<^Const_>\conj\ $ t1 $ t2) = abstract_bin abstract_conj HOLogic.mk_conj t t1 t2 | abstract_conj t = abstract_lit t fun abstract_disj (t as \<^Const_>\disj\ $ t1 $ t2) = abstract_bin abstract_disj HOLogic.mk_disj t t1 t2 | abstract_disj t = abstract_lit t fun abstract_prop (t as (c as \<^Const>\If \<^Type>\bool\\) $ t1 $ t2 $ t3) = abstract_ter abstract_prop (fn (t1, t2, t3) => c $ t1 $ t2 $ t3) t t1 t2 t3 | abstract_prop (t as \<^Const_>\disj\ $ t1 $ t2) = abstract_bin abstract_prop HOLogic.mk_disj t t1 t2 | abstract_prop (t as \<^Const_>\conj\ $ t1 $ t2) = abstract_bin abstract_prop HOLogic.mk_conj t t1 t2 | abstract_prop (t as \<^Const_>\implies\ $ t1 $ t2) = abstract_bin abstract_prop HOLogic.mk_imp t t1 t2 | abstract_prop (t as \<^Const_>\HOL.eq \<^Type>\bool\\ $ t1 $ t2) = abstract_bin abstract_prop HOLogic.mk_eq t t1 t2 | abstract_prop t = abstract_not abstract_prop t fun abstract_arith ctxt u = let fun abs (t as (Const (\<^const_name>\HOL.The\, _) $ Abs (_, _, _))) = abstract_sub t (abstract_term t) | abs (t as (c as Const _) $ Abs (s, T, t')) = abstract_sub t (abs t' #>> (fn u' => c $ Abs (s, T, u'))) | abs (t as (c as Const (\<^const_name>\If\, _)) $ t1 $ t2 $ t3) = abstract_ter abs (fn (t1, t2, t3) => c $ t1 $ t2 $ t3) t t1 t2 t3 | abs (t as \<^Const_>\Not\ $ t1) = abstract_sub t (abs t1 #>> HOLogic.mk_not) | abs (t as \<^Const_>\disj\ $ t1 $ t2) = abstract_sub t (abs t1 ##>> abs t2 #>> HOLogic.mk_disj) | abs (t as (c as Const (\<^const_name>\uminus_class.uminus\, _)) $ t1) = abstract_sub t (abs t1 #>> (fn u => c $ u)) | abs (t as (c as Const (\<^const_name>\plus_class.plus\, _)) $ t1 $ t2) = abstract_sub t (abs t1 ##>> abs t2 #>> (fn (u1, u2) => c $ u1 $ u2)) | abs (t as (c as Const (\<^const_name>\minus_class.minus\, _)) $ t1 $ t2) = abstract_sub t (abs t1 ##>> abs t2 #>> (fn (u1, u2) => c $ u1 $ u2)) | abs (t as (c as Const (\<^const_name>\times_class.times\, _)) $ t1 $ t2) = abstract_sub t (abs t1 ##>> abs t2 #>> (fn (u1, u2) => c $ u1 $ u2)) | abs (t as (c as Const (\<^const_name>\z3div\, _)) $ t1 $ t2) = abstract_sub t (abs t1 ##>> abs t2 #>> (fn (u1, u2) => c $ u1 $ u2)) | abs (t as (c as Const (\<^const_name>\z3mod\, _)) $ t1 $ t2) = abstract_sub t (abs t1 ##>> abs t2 #>> (fn (u1, u2) => c $ u1 $ u2)) | abs (t as (c as Const (\<^const_name>\HOL.eq\, _)) $ t1 $ t2) = abstract_sub t (abs t1 ##>> abs t2 #>> (fn (u1, u2) => c $ u1 $ u2)) | abs (t as (c as Const (\<^const_name>\ord_class.less\, _)) $ t1 $ t2) = abstract_sub t (abs t1 ##>> abs t2 #>> (fn (u1, u2) => c $ u1 $ u2)) | abs (t as (c as Const (\<^const_name>\ord_class.less_eq\, _)) $ t1 $ t2) = abstract_sub t (abs t1 ##>> abs t2 #>> (fn (u1, u2) => c $ u1 $ u2)) | abs t = abstract_sub t (fn cx => if can HOLogic.dest_number t then (t, cx) else (case apply_abstracters abs (get_arith_abstracters ctxt) t cx of (SOME u, cx') => (u, cx') | (NONE, _) => abstract_term t cx)) in abs u end fun abstract_unit (t as \<^Const_>\Not for \<^Const_>\disj for t1 t2\\) = abstract_sub t (abstract_unit t1 ##>> abstract_unit t2 #>> HOLogic.mk_not o HOLogic.mk_disj) | abstract_unit (t as \<^Const_>\disj for t1 t2\) = abstract_sub t (abstract_unit t1 ##>> abstract_unit t2 #>> HOLogic.mk_disj) | abstract_unit (t as (Const(\<^const_name>\HOL.eq\, _) $ t1 $ t2)) = if fastype_of t1 = \<^typ>\bool\ then abstract_sub t (abstract_unit t1 ##>> abstract_unit t2 #>> HOLogic.mk_eq) else abstract_lit t | abstract_unit (t as \<^Const_>\Not for \<^Const_>\HOL.eq _ for t1 t2\\) = if fastype_of t1 = \<^typ>\bool\ then abstract_sub t (abstract_unit t1 ##>> abstract_unit t2 #>> HOLogic.mk_eq #>> HOLogic.mk_not) else abstract_lit t | abstract_unit (t as \<^Const>\Not for t1\) = abstract_sub t (abstract_unit t1 #>> HOLogic.mk_not) | abstract_unit t = abstract_lit t fun abstract_bool (t as \<^Const_>\disj for t1 t2\) = abstract_sub t (abstract_bool t1 ##>> abstract_bool t2 #>> HOLogic.mk_disj) | abstract_bool (t as \<^Const_>\conj for t1 t2\) = abstract_sub t (abstract_bool t1 ##>> abstract_bool t2 #>> HOLogic.mk_conj) | abstract_bool (t as \<^Const_>\HOL.eq _ for t1 t2\) = if fastype_of t1 = @{typ bool} then abstract_sub t (abstract_bool t1 ##>> abstract_bool t2 #>> HOLogic.mk_eq) else abstract_lit t | abstract_bool (t as \<^Const_>\Not for t1\) = abstract_sub t (abstract_bool t1 #>> HOLogic.mk_not) | abstract_bool (t as \<^Const>\implies for t1 t2\) = abstract_sub t (abstract_bool t1 ##>> abstract_bool t2 #>> HOLogic.mk_imp) | abstract_bool t = abstract_lit t fun abstract_bool_shallow (t as \<^Const_>\disj for t1 t2\) = abstract_sub t (abstract_bool_shallow t1 ##>> abstract_bool_shallow t2 #>> HOLogic.mk_disj) | abstract_bool_shallow (t as \<^Const_>\Not for t1\) = abstract_sub t (abstract_bool_shallow t1 #>> HOLogic.mk_not) | abstract_bool_shallow t = abstract_term t fun abstract_bool_shallow_equivalence (t as \<^Const_>\disj for t1 t2\) = abstract_sub t (abstract_bool_shallow_equivalence t1 ##>> abstract_bool_shallow_equivalence t2 #>> HOLogic.mk_disj) | abstract_bool_shallow_equivalence (t as \<^Const_>\HOL.eq _ for t1 t2\) = if fastype_of t1 = \<^Type>\bool\ then abstract_sub t (abstract_lit t1 ##>> abstract_lit t2 #>> HOLogic.mk_eq) else abstract_lit t | abstract_bool_shallow_equivalence (t as \<^Const_>\Not for t1\) = abstract_sub t (abstract_bool_shallow_equivalence t1 #>> HOLogic.mk_not) | abstract_bool_shallow_equivalence t = abstract_lit t fun abstract_arith_shallow ctxt u = let fun abs (t as (Const (\<^const_name>\HOL.The\, _) $ Abs (_, _, _))) = abstract_sub t (abstract_term t) | abs (t as (c as Const _) $ Abs (s, T, t')) = abstract_sub t (abs t' #>> (fn u' => c $ Abs (s, T, u'))) | abs (t as (Const (\<^const_name>\If\, _)) $ _ $ _ $ _) = abstract_sub t (abstract_term t) | abs (t as \<^Const>\Not\ $ t1) = abstract_sub t (abs t1 #>> HOLogic.mk_not) | abs (t as \<^Const>\disj\ $ t1 $ t2) = abstract_sub t (abs t1 ##>> abs t2 #>> HOLogic.mk_disj) | abs (t as (c as Const (\<^const_name>\uminus_class.uminus\, _)) $ t1) = abstract_sub t (abs t1 #>> (fn u => c $ u)) | abs (t as (c as Const (\<^const_name>\plus_class.plus\, _)) $ t1 $ t2) = abstract_sub t (abs t1 ##>> abs t2 #>> (fn (u1, u2) => c $ u1 $ u2)) | abs (t as (c as Const (\<^const_name>\minus_class.minus\, _)) $ t1 $ t2) = abstract_sub t (abs t1 ##>> abs t2 #>> (fn (u1, u2) => c $ u1 $ u2)) | abs (t as (c as Const (\<^const_name>\times_class.times\, _)) $ t1 $ t2) = abstract_sub t (abs t1 ##>> abs t2 #>> (fn (u1, u2) => c $ u1 $ u2)) | abs (t as (Const (\<^const_name>\z3div\, _)) $ _ $ _) = abstract_sub t (abstract_term t) | abs (t as (Const (\<^const_name>\z3mod\, _)) $ _ $ _) = abstract_sub t (abstract_term t) | abs (t as (c as Const (\<^const_name>\HOL.eq\, _)) $ t1 $ t2) = abstract_sub t (abs t1 ##>> abs t2 #>> (fn (u1, u2) => c $ u1 $ u2)) | abs (t as (c as Const (\<^const_name>\ord_class.less\, _)) $ t1 $ t2) = abstract_sub t (abs t1 ##>> abs t2 #>> (fn (u1, u2) => c $ u1 $ u2)) | abs (t as (c as Const (\<^const_name>\ord_class.less_eq\, _)) $ t1 $ t2) = abstract_sub t (abs t1 ##>> abs t2 #>> (fn (u1, u2) => c $ u1 $ u2)) | abs t = abstract_sub t (fn cx => if can HOLogic.dest_number t then (t, cx) else (case apply_abstracters abs (get_arith_abstracters ctxt) t cx of (SOME u, cx') => (u, cx') | (NONE, _) => abstract_term t cx)) in abs u end (* theory lemmas *) fun try_provers prover_name ctxt rule [] thms t = replay_rule_error prover_name ctxt rule thms t | try_provers prover_name ctxt rule ((name, prover) :: named_provers) thms t = (case (trace ctxt (K ("Trying prover " ^ quote name)); try prover t) of SOME thm => thm | NONE => try_provers prover_name ctxt rule named_provers thms t) (*theory-lemma*) fun arith_th_lemma_tac ctxt prems = Method.insert_tac ctxt prems THEN' SELECT_GOAL (Local_Defs.unfold0_tac ctxt @{thms z3div_def z3mod_def}) THEN' Arith_Data.arith_tac ctxt fun arith_th_lemma ctxt thms t = prove_abstract ctxt thms t arith_th_lemma_tac ( fold_map (abstract_arith ctxt o dest_thm) thms ##>> abstract_arith ctxt (dest_prop t)) fun arith_th_lemma_tac_with_wo ctxt prems = Method.insert_tac ctxt prems THEN' SELECT_GOAL (Local_Defs.unfold0_tac ctxt @{thms z3div_def z3mod_def int_distrib}) THEN' Simplifier.asm_full_simp_tac (empty_simpset ctxt addsimprocs [(*@{simproc linordered_ring_strict_eq_cancel_factor_poly}, @{simproc linordered_ring_strict_le_cancel_factor_poly}, @{simproc linordered_ring_strict_less_cancel_factor_poly}, @{simproc nat_eq_cancel_factor_poly}, @{simproc nat_le_cancel_factor_poly}, @{simproc nat_less_cancel_factor_poly}*)]) THEN' (fn i => TRY (Arith_Data.arith_tac ctxt i)) fun arith_th_lemma_wo ctxt thms t = prove_abstract ctxt thms t arith_th_lemma_tac_with_wo ( fold_map (abstract_arith ctxt o dest_thm) thms ##>> abstract_arith ctxt (dest_prop t)) fun arith_th_lemma_wo_shallow ctxt thms t = prove_abstract ctxt thms t arith_th_lemma_tac_with_wo ( fold_map (abstract_arith_shallow ctxt o dest_thm) thms ##>> abstract_arith_shallow ctxt (dest_prop t)) val _ = Theory.setup (Context.theory_map (add_th_lemma_method ("arith", arith_th_lemma))) (* congruence *) fun certify_prop ctxt t = Thm.cterm_of ctxt (as_prop t) fun ctac ctxt prems i st = st |> ( resolve_tac ctxt (@{thm refl} :: prems) i ORELSE (cong_tac ctxt i THEN ctac ctxt prems (i + 1) THEN ctac ctxt prems i)) fun cong_basic ctxt thms t = let val st = Thm.trivial (certify_prop ctxt t) in (case Seq.pull (ctac ctxt thms 1 st) of SOME (thm, _) => thm | NONE => raise THM ("cong", 0, thms @ [st])) end val cong_dest_rules = @{lemma "(\ P \ Q) \ (P \ \ Q) \ P = Q" "(P \ \ Q) \ (\ P \ Q) \ P = Q" by fast+} fun cong_full_core_tac ctxt = eresolve_tac ctxt @{thms subst} THEN' resolve_tac ctxt @{thms refl} ORELSE' Classical.fast_tac ctxt fun cong_full ctxt thms t = prove ctxt t (fn ctxt' => Method.insert_tac ctxt thms THEN' (cong_full_core_tac ctxt' ORELSE' dresolve_tac ctxt cong_dest_rules THEN' cong_full_core_tac ctxt')) local val reorder_for_simp = try (fn thm => let val t = Thm.prop_of (@{thm eq_reflection} OF [thm]) val thm = (case Logic.dest_equals t of (t1, t2) => if t1 aconv t2 then raise TERM("identical terms", [t1, t2]) else if Term.size_of_term t1 > Term.size_of_term t2 then @{thm eq_reflection} OF [thm] else @{thm eq_reflection} OF [@{thm sym} OF [thm]]) handle TERM("dest_equals", _) => @{thm eq_reflection} OF [thm] in thm end) in fun cong_unfolding_trivial ctxt thms t = prove ctxt t (fn _ => EVERY' (map (fn thm => K (unfold_tac ctxt [thm])) ((map_filter reorder_for_simp thms))) THEN' (fn i => TRY (resolve_tac ctxt @{thms refl} i))) fun cong_unfolding_first ctxt thms t = let val ctxt = ctxt |> empty_simpset |> put_simpset HOL_basic_ss |> (fn ctxt => ctxt addsimps @{thms not_not eq_commute}) in prove ctxt t (fn _ => EVERY' (map (fn thm => K (unfold_tac ctxt [thm])) ((map_filter reorder_for_simp thms))) THEN' Method.insert_tac ctxt thms THEN' (full_simp_tac ctxt) THEN' K (ALLGOALS (K (Clasimp.auto_tac ctxt)))) end end fun arith_rewrite_tac ctxt _ = let val backup_tac = Arith_Data.arith_tac ctxt ORELSE' Clasimp.force_tac ctxt in (TRY o Simplifier.simp_tac ctxt) THEN_ALL_NEW backup_tac ORELSE' backup_tac end fun abstract_eq f (Const (\<^const_name>\HOL.eq\, _) $ t1 $ t2) = f t1 ##>> f t2 #>> HOLogic.mk_eq | abstract_eq _ t = abstract_term t fun abstract_neq f (Const (\<^const_name>\HOL.eq\, _) $ t1 $ t2) = f t1 ##>> f t2 #>> HOLogic.mk_eq | abstract_neq f (Const (\<^const_name>\HOL.Not\, _) $ (Const (\<^const_name>\HOL.eq\, _) $ t1 $ t2)) = f t1 ##>> f t2 #>> HOLogic.mk_eq #>> curry (op $) HOLogic.Not | abstract_neq f (Const (\<^const_name>\HOL.disj\, _) $ t1 $ t2) = f t1 ##>> f t2 #>> HOLogic.mk_disj | abstract_neq _ t = abstract_term t fun prove_arith_rewrite abstracter ctxt t = prove_abstract' ctxt t arith_rewrite_tac ( abstracter (abstract_arith ctxt) (dest_prop t)) fun prop_tac ctxt prems = Method.insert_tac ctxt prems THEN' SUBGOAL (fn (prop, i) => if Term.size_of_term prop > 100 then SAT.satx_tac ctxt i else (Classical.fast_tac ctxt ORELSE' Clasimp.force_tac ctxt) i) end; diff --git a/src/HOL/Tools/SMT/smt_systems.ML b/src/HOL/Tools/SMT/smt_systems.ML --- a/src/HOL/Tools/SMT/smt_systems.ML +++ b/src/HOL/Tools/SMT/smt_systems.ML @@ -1,263 +1,263 @@ (* Title: HOL/Tools/SMT/smt_systems.ML Author: Sascha Boehme, TU Muenchen Setup SMT solvers. *) signature SMT_SYSTEMS = sig val cvc_extensions: bool Config.T val z3_extensions: bool Config.T end; structure SMT_Systems: SMT_SYSTEMS = struct val mashN = "mash" val mepoN = "mepo" val meshN = "mesh" (* helper functions *) fun check_tool var () = (case getenv var of "" => NONE | s => if File.is_file (Path.variable var |> Path.expand |> Path.platform_exe) then SOME [s] else NONE); fun make_avail name () = getenv (name ^ "_SOLVER") <> "" fun make_command name () = [getenv (name ^ "_SOLVER")] fun outcome_of unsat sat unknown timeout solver_name line = if String.isPrefix unsat line then SMT_Solver.Unsat else if String.isPrefix sat line then SMT_Solver.Sat else if String.isPrefix unknown line then SMT_Solver.Unknown else if String.isPrefix timeout line then SMT_Solver.Time_Out else raise SMT_Failure.SMT (SMT_Failure.Other_Failure ("Solver " ^ quote solver_name ^ " failed -- enable tracing using the " ^ quote (Config.name_of SMT_Config.trace) ^ " option for details")) (* When used with bitvectors, CVC4 can produce error messages like: $ISABELLE_TMP_PREFIX/... No set-logic command was given before this point. These message should be ignored. *) fun is_blank_or_error_line "" = true | is_blank_or_error_line s = String.isPrefix "(error " s orelse String.isPrefix (getenv "ISABELLE_TMP_PREFIX") s fun on_first_line test_outcome solver_name lines = let val split_first = (fn [] => ("", []) | l :: ls => (l, ls)) val (l, ls) = split_first (drop_prefix is_blank_or_error_line lines) in (test_outcome solver_name l, ls) end fun on_first_non_unsupported_line test_outcome solver_name lines = on_first_line test_outcome solver_name (filter (curry (op <>) "unsupported") lines) (* CVC4 and cvc5 *) val cvc_extensions = Attrib.setup_config_bool \<^binding>\cvc_extensions\ (K false) local fun cvc4_options ctxt = ["--no-stats", "--random-seed=" ^ string_of_int (Config.get ctxt SMT_Config.random_seed), "--lang=smt2"] @ (case SMT_Config.get_timeout ctxt of NONE => [] | SOME t => ["--tlimit", string_of_int (Time.toMilliseconds t)]) fun cvc5_options ctxt = ["--no-stats", "--sat-random-seed=" ^ string_of_int (Config.get ctxt SMT_Config.random_seed), "--lang=smt2"] @ (case SMT_Config.get_timeout ctxt of NONE => [] | SOME t => ["--tlimit", string_of_int (Time.toMilliseconds t)]) fun select_class ctxt = if Config.get ctxt cvc_extensions then if Config.get ctxt SMT_Config.higher_order then CVC_Interface.hosmtlib_cvcC else CVC_Interface.smtlib_cvcC else if Config.get ctxt SMT_Config.higher_order then SMTLIB_Interface.hosmtlibC else if Config.get ctxt SMT_Config.native_bv then SMTLIB_Interface.bvsmlibC else SMTLIB_Interface.smtlibC in val cvc4: SMT_Solver.solver_config = { name = "cvc4", class = select_class, avail = make_avail "CVC4", command = make_command "CVC4", options = cvc4_options, smt_options = [(":produce-unsat-cores", "true")], good_slices = (* FUDGE *) [((2, false, false, 512, meshN), ["--full-saturate-quant", "--inst-when=full-last-call", "--inst-no-entail", "--term-db-mode=relevant", "--multi-trigger-linear"]), ((2, false, false, 64, meshN), ["--decision=internal", "--simplification=none", "--full-saturate-quant"]), ((2, false, true, 256, mepoN), ["--trigger-sel=max", "--full-saturate-quant"]), ((2, false, false, 1024, meshN), ["--relevant-triggers", "--full-saturate-quant"]), ((2, false, false, 32, meshN), ["--term-db-mode=relevant", "--full-saturate-quant"]), ((2, false, false, 128, meshN), ["--no-e-matching", "--full-saturate-quant"]), ((2, false, false, 256, meshN), ["--finite-model-find", "--fmf-inst-engine"])], outcome = on_first_line (outcome_of "unsat" "sat" "unknown" "timeout"), parse_proof = SOME (K CVC_Proof_Parse.parse_proof), replay = NONE } val cvc5: SMT_Solver.solver_config = { name = "cvc5", class = select_class, avail = make_avail "CVC5", command = make_command "CVC5", options = cvc5_options, - smt_options = [(":produce-unsat-cores", "true")], + smt_options = [(":produce-proofs", "true")], good_slices = (* FUDGE *) [((2, false, false, 512, meshN), ["--full-saturate-quant", "--inst-when=full-last-call", "--inst-no-entail", "--term-db-mode=relevant", "--multi-trigger-linear"]), ((2, false, false, 64, meshN), ["--decision=internal", "--simplification=none", "--full-saturate-quant"]), ((2, false, true, 256, mepoN), ["--trigger-sel=max", "--full-saturate-quant"]), ((2, false, false, 1024, meshN), ["--relevant-triggers", "--full-saturate-quant"]), ((2, false, false, 32, meshN), ["--term-db-mode=relevant", "--full-saturate-quant"]), ((2, false, false, 128, meshN), ["--no-e-matching", "--full-saturate-quant"]), ((2, false, false, 256, meshN), ["--finite-model-find", "--fmf-inst-engine"])], outcome = on_first_line (outcome_of "unsat" "sat" "unknown" "timeout"), parse_proof = SOME (K CVC_Proof_Parse.parse_proof), - replay = NONE } + replay = SOME CVC5_Replay.replay } end (* veriT *) local fun select_class ctxt = if Config.get ctxt SMT_Config.higher_order then SMTLIB_Interface.hosmtlibC else SMTLIB_Interface.smtlibC fun veriT_options ctxt = ["--proof-with-sharing", "--proof-define-skolems", "--proof-prune", "--proof-merge", "--disable-print-success", "--disable-banner"] @ Verit_Strategies.veriT_current_strategy (Context.Proof ctxt) @ (case SMT_Config.get_timeout ctxt of NONE => [] | SOME t => ["--max-time=" ^ string_of_int (Time.toMilliseconds t)]) in val veriT: SMT_Solver.solver_config = { name = "verit", class = select_class, avail = is_some o check_tool "ISABELLE_VERIT", command = the o check_tool "ISABELLE_VERIT", options = veriT_options, smt_options = [(":produce-proofs", "true")], good_slices = (* FUDGE *) [((2, false, false, 1024, meshN), []), ((2, false, false, 512, mashN), []), ((2, false, true, 128, meshN), []), ((2, false, false, 64, meshN), []), ((2, false, false, 256, mepoN), []), ((2, false, false, 32, meshN), [])], outcome = on_first_non_unsupported_line (outcome_of "unsat" "sat" "unknown" "Time limit exceeded"), parse_proof = SOME (K Lethe_Proof_Parse.parse_proof), replay = SOME Verit_Replay.replay } end (* Z3 *) val z3_extensions = Attrib.setup_config_bool \<^binding>\z3_extensions\ (K false) local fun z3_options ctxt = ["smt.random_seed=" ^ string_of_int (Config.get ctxt SMT_Config.random_seed), "smt.refine_inj_axioms=false"] @ (case SMT_Config.get_timeout ctxt of NONE => [] | SOME t => ["-T:" ^ string_of_int (Real.ceil (Time.toReal t))]) @ ["-smt2"] fun select_class ctxt = if Config.get ctxt z3_extensions then Z3_Interface.smtlib_z3C else if Config.get ctxt SMT_Config.native_bv then SMTLIB_Interface.bvsmlibC else SMTLIB_Interface.smtlibC in val z3: SMT_Solver.solver_config = { name = "z3", class = select_class, avail = make_avail "Z3", command = make_command "Z3", options = z3_options, smt_options = [(":produce-proofs", "true")], good_slices = (* FUDGE *) [((2, false, false, 1024, meshN), []), ((2, false, false, 512, mepoN), []), ((2, false, false, 64, meshN), []), ((2, false, true, 256, meshN), []), ((2, false, false, 128, mashN), []), ((2, false, false, 32, meshN), [])], outcome = on_first_line (outcome_of "unsat" "sat" "unknown" "timeout"), parse_proof = SOME Z3_Replay.parse_proof, replay = SOME Z3_Replay.replay } end (* smt tactic *) val parse_smt_options = Scan.optional (Args.parens (Args.name -- Scan.option (\<^keyword>\,\ |-- Args.name)) >> apfst SOME) (NONE, NONE) fun smt_method ((solver, stgy), thms) ctxt facts = let val default_solver = SMT_Config.solver_of ctxt val solver = the_default default_solver solver val _ = if solver = "z3" andalso stgy <> NONE then warning ("No strategy is available for z3. Ignoring " ^ quote (the stgy)) else () val ctxt = ctxt |> (if stgy <> NONE then Context.proof_map (Verit_Strategies.select_veriT_stgy (the stgy)) else I) |> Context.Proof |> SMT_Config.select_solver solver |> Context.proof_of in HEADGOAL (SOLVED' (SMT_Solver.smt_tac ctxt (thms @ facts))) end val _ = Theory.setup (Method.setup \<^binding>\smt\ (Scan.lift parse_smt_options -- Attrib.thms >> (METHOD oo smt_method)) "Call to the SMT solver veriT or z3") (* overall setup *) val _ = Theory.setup ( SMT_Solver.add_solver cvc4 #> SMT_Solver.add_solver cvc5 #> SMT_Solver.add_solver veriT #> SMT_Solver.add_solver z3) end; diff --git a/src/HOL/Tools/SMT/smtlib_interface.ML b/src/HOL/Tools/SMT/smtlib_interface.ML --- a/src/HOL/Tools/SMT/smtlib_interface.ML +++ b/src/HOL/Tools/SMT/smtlib_interface.ML @@ -1,195 +1,197 @@ (* Title: HOL/Tools/SMT/smtlib_interface.ML Author: Sascha Boehme, TU Muenchen Author: Jasmin Blanchette, TU Muenchen Interface to SMT solvers based on the SMT-LIB 2 format. *) signature SMTLIB_INTERFACE = sig val smtlibC: SMT_Util.class val hosmtlibC: SMT_Util.class val bvsmlibC: SMT_Util.class + val realsmlibC: SMT_Util.class val add_logic: int * (string -> term list -> string option) -> Context.generic -> Context.generic val del_logic: int * (string -> term list -> string option) -> Context.generic -> Context.generic val translate_config: SMT_Util.order -> Proof.context -> SMT_Translate.config val assert_name_of_role_and_index: SMT_Util.role -> int -> string val role_and_index_of_assert_name: string -> SMT_Util.role * int end; structure SMTLIB_Interface: SMTLIB_INTERFACE = struct val hoC = ["ho"] val smtlibC = ["smtlib"] (* SMT-LIB 2 *) val hosmtlibC = smtlibC @ hoC (* possibly SMT-LIB 3 *) val bvsmlibC = smtlibC @ ["BV"] (* if BV are supported *) +val realsmlibC = ["Real"] (* builtins *) local fun int_num _ i = SOME (string_of_int i) fun is_linear [t] = SMT_Util.is_number t | is_linear [t, u] = SMT_Util.is_number t orelse SMT_Util.is_number u | is_linear _ = false fun times _ _ ts = let val mk = Term.list_comb o pair \<^Const>\times \<^Type>\int\\ in if is_linear ts then SOME ("*", 2, ts, mk) else NONE end in val setup_builtins = SMT_Builtin.add_builtin_typ hosmtlibC (\<^typ>\'a => 'b\, fn Type (\<^type_name>\fun\, Ts) => SOME ("->", Ts), K (K NONE)) #> fold (SMT_Builtin.add_builtin_typ smtlibC) [ (\<^typ>\bool\, K (SOME ("Bool", [])), K (K NONE)), (\<^typ>\int\, K (SOME ("Int", [])), int_num)] #> fold (SMT_Builtin.add_builtin_fun' smtlibC) [ (\<^Const>\True\, "true"), (\<^Const>\False\, "false"), (\<^Const>\Not\, "not"), (\<^Const>\conj\, "and"), (\<^Const>\disj\, "or"), (\<^Const>\implies\, "=>"), (\<^Const>\HOL.eq \<^typ>\'a\\, "="), (\<^Const>\If \<^typ>\'a\\, "ite"), (\<^Const>\less \<^Type>\int\\, "<"), (\<^Const>\less_eq \<^Type>\int\\, "<="), (\<^Const>\uminus \<^Type>\int\\, "-"), (\<^Const>\plus \<^Type>\int\\, "+"), (\<^Const>\minus \<^Type>\int\\, "-")] #> SMT_Builtin.add_builtin_fun smtlibC (Term.dest_Const \<^Const>\times \<^Type>\int\\, times) end (* serialization *) (** logic **) fun fst_int_ord ((i1, _), (i2, _)) = int_ord (i1, i2) structure Logics = Generic_Data ( type T = (int * (string -> term list -> string option)) list val empty = [] fun merge data = Ord_List.merge fst_int_ord data ) fun add_logic pf = Logics.map (Ord_List.insert fst_int_ord pf) fun del_logic pf = Logics.map (Ord_List.remove fst_int_ord pf) fun choose_logic ctxt prover ts = let fun choose [] = "AUFLIA" | choose ((_, f) :: fs) = (case f prover ts of SOME s => s | NONE => choose fs) in (case choose (Logics.get (Context.Proof ctxt)) of "" => "" (* for default Z3 logic, a subset of everything *) | logic => "(set-logic " ^ logic ^ ")\n") end (** serialization **) fun var i = "?v" ^ string_of_int i fun tree_of_sterm l (SMT_Translate.SVar (i, [])) = SMTLIB.Sym (var (l - i - 1)) | tree_of_sterm l (SMT_Translate.SVar (i, ts)) = SMTLIB.S (SMTLIB.Sym (var (l - i - 1)) :: map (tree_of_sterm l) ts) | tree_of_sterm _ (SMT_Translate.SConst (n, [])) = SMTLIB.Sym n | tree_of_sterm l (SMT_Translate.SConst (n, ts)) = SMTLIB.S (SMTLIB.Sym n :: map (tree_of_sterm l) ts) | tree_of_sterm l (SMT_Translate.SQua (q, ss, pats, t)) = let val l' = l + length ss fun quant_name SMT_Translate.SForall = "forall" | quant_name SMT_Translate.SExists = "exists" fun gen_trees_of_pat keyword ps = [SMTLIB.Key keyword, SMTLIB.S (map (tree_of_sterm l') ps)] fun trees_of_pat (SMT_Translate.SPat ps) = gen_trees_of_pat "pattern" ps | trees_of_pat (SMT_Translate.SNoPat ps) = gen_trees_of_pat "no-pattern" ps fun tree_of_pats [] t = t | tree_of_pats pats t = SMTLIB.S (SMTLIB.Sym "!" :: t :: maps trees_of_pat pats) val vs = map_index (fn (i, ty) => SMTLIB.S [SMTLIB.Sym (var (l + i)), SMTLIB.Sym ty]) ss val body = t |> tree_of_sterm l' |> tree_of_pats pats in SMTLIB.S [SMTLIB.Sym (quant_name q), SMTLIB.S vs, body] end fun sctrarg (sel, typ) = "(" ^ sel ^ " " ^ typ ^ ")" fun sctr (name, args) = enclose "(" ")" (space_implode " " (name :: map sctrarg args)) fun sdatatype (name, ctrs) = enclose "(" ")" (space_implode " " (name :: map sctr ctrs)) fun string_of_fun (f, (ss, s)) = f ^ " (" ^ space_implode " " ss ^ ") " ^ s fun named_sterm s t = SMTLIB.S [SMTLIB.Sym "!", t, SMTLIB.Key "named", SMTLIB.Sym s] val conjecture_prefix = "conjecture" (* FUDGE *) val hypothesis_prefix = "hypothesis" (* FUDGE *) -val axiom_prefix = "axiom" (* FUDGE *) +val axiom_prefix = "a" (* matching Alethe's convention *) fun assert_prefix_of_role SMT_Util.Conjecture = conjecture_prefix | assert_prefix_of_role SMT_Util.Hypothesis = hypothesis_prefix | assert_prefix_of_role SMT_Util.Axiom = axiom_prefix fun assert_name_of_role_and_index role i = assert_prefix_of_role role ^ string_of_int i fun unprefix_axiom s = try (pair SMT_Util.Conjecture o unprefix conjecture_prefix) s |> curry merge_options (try (pair SMT_Util.Hypothesis o unprefix hypothesis_prefix) s) |> curry merge_options (try (pair SMT_Util.Axiom o unprefix axiom_prefix) s) |> the fun role_and_index_of_assert_name s = apsnd (the_default ~1 o Int.fromString) (unprefix_axiom s) fun sdtyp (fp, dtyps) = Buffer.add (enclose ("(declare-" ^ BNF_FP_Util.co_prefix fp ^ "datatypes () (") "))\n" (space_implode "\n " (map sdatatype dtyps))) fun serialize smt_options comments {logic, sorts, dtyps, funcs} ts = let val unsat_core = member (op =) smt_options (":produce-unsat-cores", "true") in Buffer.empty |> fold (Buffer.add o enclose "; " "\n") comments |> fold (fn (k, v) => Buffer.add ("(set-option " ^ k ^ " " ^ v ^ ")\n")) smt_options |> Buffer.add logic |> fold (Buffer.add o enclose "(declare-sort " " 0)\n") (sort fast_string_ord sorts) |> fold sdtyp (AList.coalesce (op =) dtyps) |> fold (Buffer.add o enclose "(declare-fun " ")\n" o string_of_fun) (sort (fast_string_ord o apply2 fst) funcs) |> fold (fn (i, (role, t)) => Buffer.add (enclose "(assert " ")\n" (SMTLIB.str_of (named_sterm (assert_name_of_role_and_index role i) (tree_of_sterm 0 t))))) (map_index I ts) |> Buffer.add "(check-sat)\n" |> Buffer.add (if unsat_core then "(get-unsat-core)\n" else "(get-proof)\n") |> Buffer.content end (* interface *) fun translate_config order ctxt = { order = order, logic = choose_logic ctxt, fp_kinds = [], serialize = serialize} val _ = Theory.setup (Context.theory_map (setup_builtins #> SMT_Translate.add_config (smtlibC, translate_config SMT_Util.First_Order) #> SMT_Translate.add_config (hosmtlibC, translate_config SMT_Util.Higher_Order))) end; diff --git a/src/HOL/Tools/SMT/verit_replay_methods.ML b/src/HOL/Tools/SMT/verit_replay_methods.ML --- a/src/HOL/Tools/SMT/verit_replay_methods.ML +++ b/src/HOL/Tools/SMT/verit_replay_methods.ML @@ -1,210 +1,210 @@ (* Title: HOL/Tools/SMT/verit_replay_methods.ML Author: Mathias Fleury, MPII, JKU Proof method for replaying veriT proofs. *) signature VERIT_REPLAY_METHODS = sig (*methods for verit proof rules*) val method_for: string -> Proof.context -> thm list -> term list -> term Symtab.table -> (string * term) list -> term -> thm val discharge: Proof.context -> thm list -> term -> thm end; structure Verit_Replay_Methods: VERIT_REPLAY_METHODS = struct open Lethe_Replay_Methods fun verit_rule_of "bind" = Bind | verit_rule_of "cong" = Cong | verit_rule_of "refl" = Refl | verit_rule_of "equiv1" = Equiv1 | verit_rule_of "equiv2" = Equiv2 | verit_rule_of "equiv_pos1" = Equiv_pos1 (*Equiv_pos2 covered below*) | verit_rule_of "equiv_neg1" = Equiv_neg1 | verit_rule_of "equiv_neg2" = Equiv_neg2 | verit_rule_of "sko_forall" = Skolem_Forall | verit_rule_of "sko_ex" = Skolem_Ex | verit_rule_of "eq_reflexive" = Eq_Reflexive | verit_rule_of "forall_inst" = Forall_Inst | verit_rule_of "implies_pos" = Implies_Pos | verit_rule_of "or" = Or | verit_rule_of "not_or" = Not_Or | verit_rule_of "resolution" = Resolution | verit_rule_of "trans" = Trans | verit_rule_of "false" = False | verit_rule_of "ac_simp" = AC_Simp | verit_rule_of "and" = And | verit_rule_of "not_and" = Not_And | verit_rule_of "and_neg" = And_Neg | verit_rule_of "or_pos" = Or_Pos | verit_rule_of "or_neg" = Or_Neg | verit_rule_of "not_equiv1" = Not_Equiv1 | verit_rule_of "not_equiv2" = Not_Equiv2 | verit_rule_of "not_implies1" = Not_Implies1 | verit_rule_of "not_implies2" = Not_Implies2 | verit_rule_of "implies_neg1" = Implies_Neg1 | verit_rule_of "implies_neg2" = Implies_Neg2 | verit_rule_of "implies" = Implies | verit_rule_of "bfun_elim" = Bfun_Elim | verit_rule_of "ite1" = ITE1 | verit_rule_of "ite2" = ITE2 | verit_rule_of "not_ite1" = Not_ITE1 | verit_rule_of "not_ite2" = Not_ITE2 | verit_rule_of "ite_pos1" = ITE_Pos1 | verit_rule_of "ite_pos2" = ITE_Pos2 | verit_rule_of "ite_neg1" = ITE_Neg1 | verit_rule_of "ite_neg2" = ITE_Neg2 | verit_rule_of "la_disequality" = LA_Disequality | verit_rule_of "lia_generic" = LIA_Generic | verit_rule_of "la_generic" = LA_Generic | verit_rule_of "la_tautology" = LA_Tautology | verit_rule_of "la_totality" = LA_Totality | verit_rule_of "la_rw_eq"= LA_RW_Eq | verit_rule_of "nla_generic"= NLA_Generic | verit_rule_of "eq_transitive" = Eq_Transitive | verit_rule_of "qnt_rm_unused" = Qnt_Rm_Unused | verit_rule_of "onepoint" = Onepoint | verit_rule_of "qnt_join" = Qnt_Join | verit_rule_of "subproof" = Subproof | verit_rule_of "bool_simplify" = Bool_Simplify | verit_rule_of "or_simplify" = Or_Simplify | verit_rule_of "ite_simplify" = ITE_Simplify | verit_rule_of "and_simplify" = And_Simplify | verit_rule_of "not_simplify" = Not_Simplify | verit_rule_of "equiv_simplify" = Equiv_Simplify | verit_rule_of "eq_simplify" = Eq_Simplify | verit_rule_of "implies_simplify" = Implies_Simplify | verit_rule_of "connective_def" = Connective_Def | verit_rule_of "minus_simplify" = Minus_Simplify | verit_rule_of "sum_simplify" = Sum_Simplify | verit_rule_of "prod_simplify" = Prod_Simplify | verit_rule_of "comp_simplify" = Comp_Simplify | verit_rule_of "qnt_simplify" = Qnt_Simplify | verit_rule_of "tautology" = Tautological_Clause | verit_rule_of "qnt_cnf" = Qnt_CNF | verit_rule_of r = if r = Lethe_Proof.normalized_input_rule then Normalized_Input else if r = Lethe_Proof.local_input_rule then Local_Input else if r = Lethe_Proof.lethe_def then Definition else if r = Lethe_Proof.not_not_rule then Not_Not else if r = Lethe_Proof.contract_rule then Duplicate_Literals else if r = Lethe_Proof.ite_intro_rule then ITE_Intro else if r = Lethe_Proof.eq_congruent_rule then Eq_Congruent else if r = Lethe_Proof.eq_congruent_pred_rule then Eq_Congruent_Pred else if r = Lethe_Proof.theory_resolution2_rule then Theory_Resolution2 else if r = Lethe_Proof.th_resolution_rule then Theory_Resolution else if r = Lethe_Proof.equiv_pos2_rule then Equiv_pos2 else if r = Lethe_Proof.and_pos_rule then And_Pos else (@{print} ("Unsupport rule", r); Unsupported) (* Combining all together *) fun unsupported rule ctxt thms _ _ _ = SMT_Replay_Methods.replay_error ctxt "Unsupported verit rule" rule thms fun ignore_args f ctxt thm _ _ _ t = f ctxt thm t fun ignore_decls f ctxt thm args insts _ t = f ctxt thm args insts t fun ignore_insts f ctxt thm args _ _ t = f ctxt thm args t fun choose And = ignore_args and_rule | choose And_Neg = ignore_args and_neg_rule | choose And_Pos = ignore_args and_pos | choose And_Simplify = ignore_args rewrite_and_simplify | choose Bind = ignore_insts bind | choose Bool_Simplify = ignore_args rewrite_bool_simplify | choose Comp_Simplify = ignore_args rewrite_comp_simplify - | choose Cong = ignore_args cong + | choose Cong = ignore_args (cong "verit") | choose Connective_Def = ignore_args rewrite_connective_def | choose Duplicate_Literals = ignore_args duplicate_literals | choose Eq_Congruent = ignore_args eq_congruent | choose Eq_Congruent_Pred = ignore_args eq_congruent_pred | choose Eq_Reflexive = ignore_args eq_reflexive | choose Eq_Simplify = ignore_args rewrite_eq_simplify | choose Eq_Transitive = ignore_args eq_transitive | choose Equiv1 = ignore_args equiv1 | choose Equiv2 = ignore_args equiv2 | choose Equiv_neg1 = ignore_args equiv_neg1 | choose Equiv_neg2 = ignore_args equiv_neg2 | choose Equiv_pos1 = ignore_args equiv_pos1 | choose Equiv_pos2 = ignore_args equiv_pos2 | choose Equiv_Simplify = ignore_args rewrite_equiv_simplify | choose False = ignore_args false_rule | choose Forall_Inst = ignore_decls forall_inst | choose Implies = ignore_args implies_rules | choose Implies_Neg1 = ignore_args implies_neg1 | choose Implies_Neg2 = ignore_args implies_neg2 | choose Implies_Pos = ignore_args implies_pos | choose Implies_Simplify = ignore_args rewrite_implies_simplify | choose ITE1 = ignore_args ite1 | choose ITE2 = ignore_args ite2 | choose ITE_Intro = ignore_args ite_intro | choose ITE_Neg1 = ignore_args ite_neg1 | choose ITE_Neg2 = ignore_args ite_neg2 | choose ITE_Pos1 = ignore_args ite_pos1 | choose ITE_Pos2 = ignore_args ite_pos2 | choose ITE_Simplify = ignore_args rewrite_ite_simplify | choose LA_Disequality = ignore_args la_disequality | choose LA_Generic = ignore_insts la_generic | choose LA_RW_Eq = ignore_args la_rw_eq | choose LA_Tautology = ignore_args SMT_Replay_Methods.arith_th_lemma_wo_shallow | choose LA_Totality = ignore_args SMT_Replay_Methods.arith_th_lemma_wo_shallow | choose LIA_Generic = ignore_args lia_generic - | choose Local_Input = ignore_args refl + | choose Local_Input = ignore_args (refl "verit") | choose Minus_Simplify = ignore_args rewrite_minus_simplify | choose NLA_Generic = ignore_args SMT_Replay_Methods.arith_th_lemma_wo_shallow | choose Normalized_Input = ignore_args normalized_input | choose Not_And = ignore_args not_and_rule | choose Not_Equiv1 = ignore_args not_equiv1 | choose Not_Equiv2 = ignore_args not_equiv2 | choose Not_Implies1 = ignore_args not_implies1 | choose Not_Implies2 = ignore_args not_implies2 | choose Not_ITE1 = ignore_args not_ite1 | choose Not_ITE2 = ignore_args not_ite2 | choose Not_Not = ignore_args not_not | choose Not_Or = ignore_args not_or_rule | choose Not_Simplify = ignore_args rewrite_not_simplify | choose Or = ignore_args or | choose Or_Neg = ignore_args or_neg_rule | choose Or_Pos = ignore_args or_pos_rule | choose Or_Simplify = ignore_args rewrite_or_simplify | choose Theory_Resolution2 = ignore_args theory_resolution2 | choose Prod_Simplify = ignore_args prod_simplify | choose Qnt_Join = ignore_args qnt_join | choose Qnt_Rm_Unused = ignore_args qnt_rm_unused | choose Onepoint = ignore_args onepoint | choose Qnt_Simplify = ignore_args qnt_simplify - | choose Refl = ignore_args refl + | choose Refl = ignore_args (refl "verit") | choose Resolution = ignore_args unit_res | choose Skolem_Ex = ignore_args skolem_ex | choose Skolem_Forall = ignore_args skolem_forall | choose Subproof = ignore_args subproof | choose Sum_Simplify = ignore_args sum_simplify | choose Tautological_Clause = ignore_args tautological_clause | choose Theory_Resolution = ignore_args unit_res | choose AC_Simp = ignore_args tmp_AC_rule | choose Bfun_Elim = ignore_args bfun_elim | choose Qnt_CNF = ignore_args qnt_cnf | choose Trans = ignore_args trans | choose r = unsupported (string_of_verit_rule r) type verit_method = Proof.context -> thm list -> term -> thm type abs_context = int * term Termtab.table fun with_tracing rule method ctxt thms args insts decls t = let val _ = SMT_Replay_Methods.trace_goal ctxt rule thms t in method ctxt thms args insts decls t end fun method_for rule = with_tracing rule (choose (verit_rule_of rule)) fun discharge ctxt [thm] t = SMT_Replay_Methods.prove ctxt t (fn _ => resolve_tac ctxt [thm] THEN_ALL_NEW (resolve_tac ctxt @{thms refl})) end; diff --git a/src/HOL/Tools/SMT/z3_real.ML b/src/HOL/Tools/SMT/z3_real.ML --- a/src/HOL/Tools/SMT/z3_real.ML +++ b/src/HOL/Tools/SMT/z3_real.ML @@ -1,32 +1,20 @@ (* Title: HOL/Tools/SMT/z3_real.ML Author: Sascha Boehme, TU Muenchen -Z3 setup for reals. +Z3 setup for reals based on a relaxed version of SMT-LIB (outside of LIRA). *) structure Z3_Real: sig end = struct -fun real_type_parser (SMTLIB.Sym "Real", []) = SOME \<^typ>\Real.real\ - | real_type_parser _ = NONE - -fun real_term_parser (SMTLIB.Dec (i, 0), []) = SOME (HOLogic.mk_number \<^typ>\Real.real\ i) - | real_term_parser (SMTLIB.Sym "/", [t1, t2]) = - SOME (\<^term>\Rings.divide :: real => _\ $ t1 $ t2) - | real_term_parser (SMTLIB.Sym "to_real", [t]) = SOME (\<^term>\Int.of_int :: int => _\ $ t) - | real_term_parser _ = NONE +val setup_builtins = + SMT_Builtin.add_builtin_fun' Z3_Interface.smtlib_z3C + (\<^Const>\times \<^Type>\real\\, "*") #> + SMT_Builtin.add_builtin_fun' Z3_Interface.smtlib_z3C + (\<^Const>\divide \<^Type>\real\\, "/") -fun abstract abs t = - (case t of - (c as \<^term>\Rings.divide :: real => _\) $ t1 $ t2 => - abs t1 ##>> abs t2 #>> (fn (u1, u2) => SOME (c $ u1 $ u2)) - | (c as \<^term>\Int.of_int :: int => _\) $ t => - abs t #>> (fn u => SOME (c $ u)) - | _ => pair NONE) -val _ = Theory.setup (Context.theory_map ( - SMTLIB_Proof.add_type_parser real_type_parser #> - SMTLIB_Proof.add_term_parser real_term_parser #> - SMT_Replay_Methods.add_arith_abstracter abstract)) +val _ = Theory.setup (Context.theory_map + setup_builtins) end;