From: Haniel Barbosa Date: Wed, 31 Jul 2019 17:17:29 +0000 (-0500) Subject: Parsing THF and adding several regressions (#3131) X-Git-Tag: cvc5-1.0.0~4061 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=7537ff075dbb2d814d722d2d72586ce78235467c;p=cvc5.git Parsing THF and adding several regressions (#3131) --- diff --git a/src/options/options.h b/src/options/options.h index 56b92359b..020350c49 100644 --- a/src/options/options.h +++ b/src/options/options.h @@ -242,7 +242,6 @@ public: unsigned getThreadStackSize() const; unsigned getThreads() const; - // TODO: Document these. void setInputLanguage(InputLanguage); void setInteractive(bool); diff --git a/src/parser/parser.cpp b/src/parser/parser.cpp index 5e036ee69..dec4ebc97 100644 --- a/src/parser/parser.cpp +++ b/src/parser/parser.cpp @@ -492,6 +492,15 @@ Type Parser::mkFlatFunctionType(std::vector& sorts, Type range) // no difference return range; } + if (Debug.isOn("parser")) + { + Debug("parser") << "mkFlatFunctionType: range " << range << " and domains "; + for (Type t : sorts) + { + Debug("parser") << " " << t; + } + Debug("parser") << "\n"; + } while (range.isFunction()) { std::vector domainTypes = diff --git a/src/parser/tptp/Tptp.g b/src/parser/tptp/Tptp.g index 758198e0d..599b3bbe1 100644 --- a/src/parser/tptp/Tptp.g +++ b/src/parser/tptp/Tptp.g @@ -148,7 +148,6 @@ parseCommand returns [CVC4::Command* cmd = NULL] Tptp::FormulaRole fr; std::string name, inclSymbol; } -// : LPAREN_TOK c = command RPAREN_TOK { $cmd = c; } : CNF_TOK LPAREN_TOK nameN[name] COMMA_TOK formulaRole[fr] COMMA_TOK { PARSER_STATE->setCnf(true); PARSER_STATE->setFof(false); @@ -203,6 +202,26 @@ parseCommand returns [CVC4::Command* cmd = NULL] cmd = PARSER_STATE->makeAssertCommand(fr, aexpr, /* cnf == */ false, true); } ) RPAREN_TOK DOT_TOK + | THF_TOK LPAREN_TOK nameN[name] COMMA_TOK + // Supported THF formulas: either a logic formula or a typing atom (i.e. we + // ignore subtyping and logic sequents). Also, only TH0 + ( TYPE_TOK COMMA_TOK thfAtomTyping[cmd] + | formulaRole[fr] COMMA_TOK + { PARSER_STATE->setCnf(false); PARSER_STATE->setFof(false); } + thfLogicFormula[expr] (COMMA_TOK anything*)? + { + Expr aexpr = PARSER_STATE->getAssertionExpr(fr,expr); + if (!aexpr.isNull()) + { + // set the expression name (e.g. used with unsat core printing) + Command* csen = new SetExpressionNameCommand(aexpr, name); + csen->setMuted(true); + PARSER_STATE->preemptCommand(csen); + } + // make the command to assert the formula + cmd = PARSER_STATE->makeAssertCommand(fr, aexpr, /* cnf == */ false, true); + } + ) RPAREN_TOK DOT_TOK | INCLUDE_TOK LPAREN_TOK unquotedFileName[name] ( COMMA_TOK LBRACK_TOK nameN[inclSymbol] ( COMMA_TOK nameN[inclSymbol] )* RBRACK_TOK )? @@ -226,13 +245,13 @@ parseCommand returns [CVC4::Command* cmd = NULL] | EOF { CommandSequence* seq = new CommandSequence(); - // assert that all distinct constants are distinct + // assert that all distinct constants are distinct Expr aexpr = PARSER_STATE->getAssertionDistinctConstants(); if( !aexpr.isNull() ) { seq->addCommand(new AssertCommand(aexpr, false)); } - + std::string filename = PARSER_STATE->getInput()->getInputStreamName(); size_t i = filename.find_last_of('/'); if(i != std::string::npos) { @@ -284,7 +303,6 @@ formulaRole[CVC4::parser::Tptp::FormulaRole& role] cnfFormula[CVC4::Expr& expr] : LPAREN_TOK cnfDisjunction[expr] RPAREN_TOK | cnfDisjunction[expr] -//| FALSE_TOK { expr = MK_CONST(bool(false)); } ; cnfDisjunction[CVC4::Expr& expr] @@ -302,7 +320,6 @@ cnfDisjunction[CVC4::Expr& expr] cnfLiteral[CVC4::Expr& expr] : atomicFormula[expr] | NOT_TOK atomicFormula[expr] { expr = MK_EXPR(kind::NOT, expr); } -//| folInfixUnary[expr] ; atomicFormula[CVC4::Expr& expr] @@ -323,22 +340,77 @@ atomicFormula[CVC4::Expr& expr] PARSER_STATE->makeApplication(expr, name, args, false); } ) - | definedFun[expr] LPAREN_TOK arguments[args] RPAREN_TOK - equalOp[equal] term[expr2] - { expr = EXPR_MANAGER->mkExpr(expr, args); - expr = MK_EXPR(kind::EQUAL, expr, expr2); - if(!equal) expr = MK_EXPR(kind::NOT, expr); - } + | definedFun[expr] + ( + LPAREN_TOK arguments[args] RPAREN_TOK + equalOp[equal] term[expr2] + { + expr = EXPR_MANAGER->mkExpr(expr, args); + expr = MK_EXPR(kind::EQUAL, expr, expr2); + if (!equal) + { + expr = MK_EXPR(kind::NOT, expr); + } + } + )? | (simpleTerm[expr] | letTerm[expr] | conditionalTerm[expr]) - equalOp[equal] term[expr2] - { // equality/disequality between terms - expr = MK_EXPR(kind::EQUAL, expr, expr2); - if(!equal) expr = MK_EXPR(kind::NOT, expr); + ( + equalOp[equal] term[expr2] + { // equality/disequality between terms + expr = MK_EXPR(kind::EQUAL, expr, expr2); + if (!equal) + { + expr = MK_EXPR(kind::NOT, expr); + } + } + )? + | definedPred[expr] (LPAREN_TOK arguments[args] RPAREN_TOK)? + { + if (!args.empty()) + { + expr = EXPR_MANAGER->mkExpr(expr, args); + } } - | definedPred[expr] LPAREN_TOK arguments[args] RPAREN_TOK - { expr = EXPR_MANAGER->mkExpr(expr, args); } | definedProp[expr] ; + +thfAtomicFormula[CVC4::Expr& expr] +@declarations { + Expr expr2; + std::string name; + std::vector args; + bool equal; +} + : atomicWord[name] (LPAREN_TOK arguments[args] RPAREN_TOK)? + { + PARSER_STATE->makeApplication(expr, name, args, true); + } + | definedFun[expr] + ( + LPAREN_TOK arguments[args] RPAREN_TOK + equalOp[equal] term[expr2] + { + expr = EXPR_MANAGER->mkExpr(expr, args); + expr = MK_EXPR(kind::EQUAL, expr, expr2); + if (!equal) + { + expr = MK_EXPR(kind::NOT, expr); + } + } + )? + | thfSimpleTerm[expr] + | letTerm[expr] + | conditionalTerm[expr] + | thfDefinedPred[expr] (LPAREN_TOK arguments[args] RPAREN_TOK)? + { + if (!args.empty()) + { + expr = EXPR_MANAGER->mkExpr(expr, args); + } + } + | definedProp[expr] + ; + //%----Using removes a reduce/reduce ambiguity in lex/yacc. //%----Note: "defined" means a word starting with one $ and "system" means $$. @@ -373,6 +445,45 @@ definedPred[CVC4::Expr& expr] } | '$is_int' { expr = EXPR_MANAGER->operatorOf(CVC4::kind::IS_INTEGER); } | '$distinct' { expr = EXPR_MANAGER->operatorOf(CVC4::kind::DISTINCT); } + | AND_TOK { expr = EXPR_MANAGER->operatorOf(CVC4::kind::AND); } + | IMPLIES_TOK { expr = EXPR_MANAGER->operatorOf(CVC4::kind::IMPLIES); } + | OR_TOK { expr = EXPR_MANAGER->operatorOf(CVC4::kind::OR); } + ; + +thfDefinedPred[CVC4::Expr& expr] + : '$less' { expr = EXPR_MANAGER->operatorOf(CVC4::kind::LT); } + | '$lesseq' { expr = EXPR_MANAGER->operatorOf(CVC4::kind::LEQ); } + | '$greater' { expr = EXPR_MANAGER->operatorOf(CVC4::kind::GT); } + | '$greatereq' { expr = EXPR_MANAGER->operatorOf(CVC4::kind::GEQ); } + | '$is_rat' + // a real n is a rational if there exists q,r integers such that + // to_real(q) = n*to_real(r), + // where r is non-zero. + { + Expr n = EXPR_MANAGER->mkBoundVar("N", EXPR_MANAGER->realType()); + Expr q = EXPR_MANAGER->mkBoundVar("Q", EXPR_MANAGER->integerType()); + Expr qr = MK_EXPR(CVC4::kind::TO_REAL, q); + Expr r = EXPR_MANAGER->mkBoundVar("R", EXPR_MANAGER->integerType()); + Expr rr = MK_EXPR(CVC4::kind::TO_REAL, r); + Expr body = MK_EXPR( + CVC4::kind::AND, + MK_EXPR(CVC4::kind::NOT, + MK_EXPR(CVC4::kind::EQUAL, r, MK_CONST(Rational(0)))), + MK_EXPR(CVC4::kind::EQUAL, qr, MK_EXPR(CVC4::kind::MULT, n, rr))); + Expr bvl = MK_EXPR(CVC4::kind::BOUND_VAR_LIST, q, r); + body = MK_EXPR(CVC4::kind::EXISTS, bvl, body); + Expr lbvl = MK_EXPR(CVC4::kind::BOUND_VAR_LIST, n); + expr = MK_EXPR(CVC4::kind::LAMBDA, lbvl, body); + } + | '$is_int' { expr = EXPR_MANAGER->operatorOf(CVC4::kind::IS_INTEGER); } + | '$distinct' { expr = EXPR_MANAGER->operatorOf(CVC4::kind::DISTINCT); } + | LPAREN_TOK + ( + AND_TOK { expr = EXPR_MANAGER->operatorOf(CVC4::kind::AND); } + | OR_TOK { expr = EXPR_MANAGER->operatorOf(CVC4::kind::OR); } + | IMPLIES_TOK { expr = EXPR_MANAGER->operatorOf(CVC4::kind::IMPLIES); } + ) + RPAREN_TOK ; definedFun[CVC4::Expr& expr] @@ -504,6 +615,16 @@ simpleTerm[CVC4::Expr& expr] | DISTINCT_OBJECT { expr = PARSER_STATE->convertStrToUnsorted(AntlrInput::tokenText($DISTINCT_OBJECT)); } ; +/* Not an application */ +thfSimpleTerm[CVC4::Expr& expr] + : NUMBER { expr = PARSER_STATE->d_tmp_expr; } + | DISTINCT_OBJECT + { + expr = PARSER_STATE->convertStrToUnsorted( + AntlrInput::tokenText($DISTINCT_OBJECT)); + } + ; + functionTerm[CVC4::Expr& expr] @declarations { std::vector args; @@ -637,8 +758,283 @@ fofBinaryNonAssoc[CVC4::parser::tptp::NonAssoc& na] ; folQuantifier[CVC4::Kind& kind] - : BANG_TOK { kind = kind::FORALL; } - | MARK_TOK { kind = kind::EXISTS; } + : FORALL_TOK { kind = kind::FORALL; } + | EXISTS_TOK { kind = kind::EXISTS; } + ; + +/*******/ +/* THF */ + +thfQuantifier[CVC4::Kind& kind] + : FORALL_TOK { kind = kind::FORALL; } + | EXISTS_TOK { kind = kind::EXISTS; } + | LAMBDA_TOK { kind = kind::LAMBDA; } + | CHOICE_TOK { kind = kind::CHOICE; } + | DEF_DESC_TOK + { + UNSUPPORTED("Description quantifier"); + } + | (TH1_UN_A | TH1_UN_E) + { + UNSUPPORTED("TH1 operator"); + } + ; + +thfAtomTyping[CVC4::Command*& cmd] +// for now only supports mapping types (i.e. no applied types) +@declarations { + CVC4::Expr expr; + CVC4::Type type; + std::string name; +} + : LPAREN_TOK thfAtomTyping[cmd] RPAREN_TOK + | nameN[name] COLON_TOK + ( '$tType' + { + if (PARSER_STATE->isDeclared(name, SYM_SORT)) + { + // duplicate declaration is fine, they're compatible + cmd = new EmptyCommand("compatible redeclaration of sort " + name); + } + else if (PARSER_STATE->isDeclared(name, SYM_VARIABLE)) + { + // error: cannot be both sort and constant + PARSER_STATE->parseError( + "Symbol `" + name + + "' previously declared as a constant; cannot also be a sort"); + } + else + { + // as yet, it's undeclared + Type type = PARSER_STATE->mkSort(name); + cmd = new DeclareTypeCommand(name, 0, type); + } + } + | parseThfType[type] + { + if (PARSER_STATE->isDeclared(name, SYM_SORT)) + { + // error: cannot be both sort and constant + PARSER_STATE->parseError("Symbol `" + name + + "' previously declared as a sort"); + cmd = new EmptyCommand("compatible redeclaration of sort " + name); + } + else if (PARSER_STATE->isDeclared(name, SYM_VARIABLE)) + { + if (type == PARSER_STATE->getVariable(name).getType()) + { + // duplicate declaration is fine, they're compatible + cmd = new EmptyCommand("compatible redeclaration of constant " + + name); + } + else + { + // error: sorts incompatible + PARSER_STATE->parseError( + "Symbol `" + name + + "' declared previously with a different sort"); + } + } + else + { + // as yet, it's undeclared + CVC4::Expr freshExpr; + if (type.isFunction()) + { + freshExpr = PARSER_STATE->mkFunction(name, type); + } + else + { + freshExpr = PARSER_STATE->mkVar(name, type); + } + cmd = new DeclareFunctionCommand(name, freshExpr, type); + } + } + ) + ; + +thfLogicFormula[CVC4::Expr& expr] +@declarations { + tptp::NonAssoc na; + std::vector< Expr > args; + Expr expr2; + bool equal; +} + //prefix unary formula case + // ~ + : thfUnitaryFormula[expr] + ( // Equality: = + equalOp[equal] + thfUnitaryFormula[expr2] + { + if (expr.getKind() == kind::BUILTIN && expr2.getKind() != kind::BUILTIN) + { + // make expr with a lambda of the same type as expr + PARSER_STATE->mkLambdaWrapper(expr, expr2.getType()); + } + else if (expr2.getKind() == kind::BUILTIN + && expr.getKind() != kind::BUILTIN) + { + // make expr2 with a lambda of the same type as expr + PARSER_STATE->mkLambdaWrapper(expr2, expr.getType()); + } + else if (expr.getKind() == kind::BUILTIN + && expr2.getKind() == kind::BUILTIN) + { + // TODO create whatever lambda + } + expr = MK_EXPR(kind::EQUAL, expr, expr2); + if (!equal) + { + expr = MK_EXPR(kind::NOT, expr); + } + } + | // Non-associative: <=> <~> ~& ~| + fofBinaryNonAssoc[na] thfUnitaryFormula[expr2] + { + switch(na) { + case tptp::NA_IFF: + expr = MK_EXPR(kind::EQUAL,expr,expr2); + break; + case tptp::NA_REVIFF: + expr = MK_EXPR(kind::XOR,expr,expr2); + break; + case tptp::NA_IMPLIES: + expr = MK_EXPR(kind::IMPLIES,expr,expr2); + break; + case tptp::NA_REVIMPLIES: + expr = MK_EXPR(kind::IMPLIES,expr2,expr); + break; + case tptp::NA_REVOR: + expr = MK_EXPR(kind::NOT,MK_EXPR(kind::OR,expr,expr2)); + break; + case tptp::NA_REVAND: + expr = MK_EXPR(kind::NOT,MK_EXPR(kind::AND,expr,expr2)); + break; + } + } + | // N-ary and & + ( { args.push_back(expr); } + ( AND_TOK thfUnitaryFormula[expr] { args.push_back(expr); } )+ + { + expr = MK_EXPR_ASSOCIATIVE(kind::AND, args); + } + ) + | // N-ary or | + ( { args.push_back(expr); } + ( OR_TOK thfUnitaryFormula[expr] { args.push_back(expr); } )+ + { + expr = MK_EXPR_ASSOCIATIVE(kind::OR, args); + } + ) + | // N-ary @ | + // + // @ (denoting apply) is left-associative and lambda is right-associative. + // ^ [X] : ^ [Y] : f @ g (where f is a and g is a + // ) should be parsed as: (^ [X] : (^ [Y] : f)) @ g. + // That is, g is not in the scope of either lambda. + { args.push_back(expr); } + ( APP_TOK + ( + thfUnitaryFormula[expr] { args.push_back(expr); } + | LBRACK_TOK + { UNSUPPORTED("Tuple terms"); } + thfTupleForm[args] + RBRACK_TOK + ) + )+ + { + expr = args[0]; + // also add case for total applications + if (expr.getKind() == kind::BUILTIN) + { + args.erase(args.begin()); + expr = EXPR_MANAGER->mkExpr(expr, args); + } + else + { + // check if any argument is a bultin node, e.g. "~", and create a + // lambda wrapper then, e.g. (\lambda x. ~ x) + for (unsigned i = 1; i < args.size(); ++i) + { + // create a lambda wrapper, e.g. (\lambda x. ~ x) + if (args[i].getKind() != kind::BUILTIN) + { + continue; + } + PARSER_STATE->mkLambdaWrapper( + args[i], + (static_cast(args[0].getType())) + .getArgTypes()[i - 1]); + } + for (unsigned i = 1; i < args.size(); ++i) + { + expr = MK_EXPR(kind::HO_APPLY, expr, args[i]); + } + } + } + )? + ; + +thfTupleForm[std::vector& args] +@declarations { + Expr expr; +} + : thfUnitaryFormula[expr] + { args.push_back(expr); } + ( COMMA_TOK thfUnitaryFormula[expr] { args.push_back(expr); } )+ +; + +thfUnitaryFormula[CVC4::Expr& expr] +@declarations { + Kind kind; + std::vector< Expr > bv; + Expr expr2; + bool equal; +} + : variable[expr] + | thfAtomicFormula[expr] + | LPAREN_TOK + thfLogicFormula[expr] + RPAREN_TOK + | NOT_TOK + { expr = EXPR_MANAGER->operatorOf(CVC4::kind::NOT); } + (thfUnitaryFormula[expr2] { expr = MK_EXPR(expr,expr2); })? + | // Quantified + thfQuantifier[kind] + LBRACK_TOK {PARSER_STATE->pushScope();} + thfBindVariable[expr] + { + bv.push_back(expr); + } + ( COMMA_TOK thfBindVariable[expr] + { + bv.push_back(expr); + } + )* + RBRACK_TOK COLON_TOK + thfUnitaryFormula[expr] + { + PARSER_STATE->popScope(); + // handle lambda case, in which return type must be flattened and the + // auxiliary variables introduced in the proccess must be added no the + // variable list + // + // see documentation of mkFlatFunctionType for how it's done + // + // flatten body via flattening its type + std::vector sorts; + std::vector flattenVars; + PARSER_STATE->mkFlatFunctionType(sorts, expr.getType(), flattenVars); + if (!flattenVars.empty()) + { + // apply body of lambda to flatten vars + expr = PARSER_STATE->mkHoApply(expr, flattenVars); + // add variables to BOUND_VAR_LIST + bv.insert(bv.end(), flattenVars.begin(), flattenVars.end()); + } + expr = MK_EXPR(kind, MK_EXPR(kind::BOUND_VAR_LIST, bv), expr); + } ; /*******/ @@ -776,7 +1172,7 @@ tffLetTermDefn[CVC4::Expr& lhs, CVC4::Expr& rhs] @declarations { std::vector bvlist; } - : (BANG_TOK LBRACK_TOK tffVariableList[bvlist] RBRACK_TOK COLON_TOK)* + : (FORALL_TOK LBRACK_TOK tffVariableList[bvlist] RBRACK_TOK COLON_TOK)* tffLetTermBinding[bvlist, lhs, rhs] ; @@ -793,7 +1189,7 @@ tffLetFormulaDefn[CVC4::Expr& lhs, CVC4::Expr& rhs] @declarations { std::vector bvlist; } - : (BANG_TOK LBRACK_TOK tffVariableList[bvlist] RBRACK_TOK COLON_TOK)* + : (FORALL_TOK LBRACK_TOK tffVariableList[bvlist] RBRACK_TOK COLON_TOK)* tffLetFormulaBinding[bvlist, lhs, rhs] ; @@ -806,6 +1202,20 @@ tffLetFormulaBinding[std::vector& bvlist, CVC4::Expr& lhs, CVC4::Exp | LPAREN_TOK tffLetFormulaBinding[bvlist, lhs, rhs] RPAREN_TOK ; +thfBindVariable[CVC4::Expr& expr] +@declarations { + std::string name; + CVC4::Type type = PARSER_STATE->d_unsorted; +} + : UPPER_WORD + { name = AntlrInput::tokenText($UPPER_WORD); } + ( COLON_TOK parseThfType[type] )? + { + expr = PARSER_STATE->mkBoundVar(name, type); + } + ; + + tffbindvariable[CVC4::Expr& expr] @declarations { CVC4::Type type = PARSER_STATE->d_unsorted; @@ -827,8 +1237,39 @@ tffVariableList[std::vector& bvlist] ( COMMA_TOK tffbindvariable[e] { bvlist.push_back(e); } )* ; -parseType[CVC4::Type& type] +parseThfType[CVC4::Type& type] +// assumes only mapping types (arrows), no tuple type @declarations { + std::vector sorts; +} + : thfType[type] { sorts.push_back(type); } + ( + (ARROW_TOK | TIMES_TOK) thfType[type] { sorts.push_back(type); } + )* + { + if (sorts.size() < 1) + { + type = sorts[0]; + } + else + { + Type range = sorts.back(); + sorts.pop_back(); + type = PARSER_STATE->mkFlatFunctionType(sorts, range); + } + } + ; + +thfType[CVC4::Type& type] +// assumes only mapping types (arrows), no tuple type + : simpleType[type] + | LPAREN_TOK parseThfType[type] RPAREN_TOK + | LBRACK_TOK { UNSUPPORTED("Tuple types"); } parseThfType[type] RBRACK_TOK + ; + +parseType[CVC4::Type & type] +@declarations +{ std::vector v; } : simpleType[type] @@ -837,7 +1278,7 @@ parseType[CVC4::Type& type] ( TIMES_TOK simpleType[type] { v.push_back(type); } )+ RPAREN_TOK ) - GREATER_TOK simpleType[type] + ARROW_TOK simpleType[type] { v.push_back(type); type = EXPR_MANAGER->mkFunctionType(v); } @@ -873,8 +1314,8 @@ anything | COLON_TOK | OR_TOK | NOT_TOK - | BANG_TOK - | MARK_TOK + | FORALL_TOK + | EXISTS_TOK | AND_TOK | IFF_TOK | IMPLIES_TOK @@ -914,23 +1355,32 @@ LBRACK_TOK : '['; RBRACK_TOK : ']'; COLON_TOK : ':'; -GREATER_TOK : '>'; +// typing +ARROW_TOK : '>'; +SUBTYPE_TOK : '>>'; //operator -OR_TOK : '|'; -NOT_TOK : '~'; -BANG_TOK : '!'; -MARK_TOK : '?'; -AND_TOK : '&'; -IFF_TOK : '<=>'; +OR_TOK : '|'; +NOT_TOK : '~'; +FORALL_TOK : '!'; +EXISTS_TOK : '?'; +LAMBDA_TOK : '^'; +CHOICE_TOK : '@+'; +DEF_DESC_TOK : '@-'; +AND_TOK : '&'; +IFF_TOK : '<=>'; IMPLIES_TOK : '=>'; REVIMPLIES_TOK : '<='; -REVIFF_TOK : '<~>'; -REVOR_TOK : '~|'; -REVAND_TOK : '~&'; -TIMES_TOK : '*'; -PLUS_TOK : '+'; -MINUS_TOK : '-'; +REVIFF_TOK : '<~>'; +REVOR_TOK : '~|'; +REVAND_TOK : '~&'; +TIMES_TOK : '*'; +PLUS_TOK : '+'; +MINUS_TOK : '-'; +APP_TOK : '@'; + +TH1_UN_A : '!!'; +TH1_UN_E : '??'; //predicate TRUE_TOK : '$true'; @@ -1076,4 +1526,3 @@ COMMENT : '%' (~('\n' | '\r'))* { SKIP(); } //comment line | '/*' ( options {greedy=false;} : . )* '*/' { SKIP(); } //comment block ; - diff --git a/src/parser/tptp/tptp.cpp b/src/parser/tptp/tptp.cpp index c4efe5e09..694369429 100644 --- a/src/parser/tptp/tptp.cpp +++ b/src/parser/tptp/tptp.cpp @@ -121,7 +121,7 @@ bool newInputStream(std::string fileName, pANTLR3_LEXER lexer, std::vector< pANT // Same thing as the predefined PUSHSTREAM(in); lexer->pushCharStream(lexer,in); // restart it - //lexer->rec->state->tokenStartCharIndex = -10; + //lexer->rec->state->tokenStartCharIndex = -10; //lexer->emit(lexer); // Note that the input stream is not closed when it EOFs, I don't bother @@ -301,6 +301,27 @@ void Tptp::makeApplication(Expr& expr, std::string& name, } } +void Tptp::mkLambdaWrapper(Expr& expr, Type argType) +{ + std::vector lvars; + std::vector domainTypes = + (static_cast(argType)).getArgTypes(); + for (unsigned i = 0, size = domainTypes.size(); i < size; ++i) + { + // the introduced variable is internal (not parsable) + std::stringstream ss; + ss << "_lvar_" << i; + Expr v = getExprManager()->mkBoundVar(ss.str(), domainTypes[i]); + lvars.push_back(v); + } + // apply body of lambda to variables + Expr wrapper = getExprManager()->mkExpr( + kind::LAMBDA, + getExprManager()->mkExpr(kind::BOUND_VAR_LIST, lvars), + getExprManager()->mkExpr(expr, lvars)); + + expr = wrapper; +} Expr Tptp::getAssertionExpr(FormulaRole fr, Expr expr) { switch (fr) { diff --git a/src/parser/tptp/tptp.h b/src/parser/tptp/tptp.h index 605748d88..5b3ed0807 100644 --- a/src/parser/tptp/tptp.h +++ b/src/parser/tptp/tptp.h @@ -105,6 +105,14 @@ class Tptp : public Parser { void makeApplication(Expr& expr, std::string& name, std::vector& args, bool term); + /** creates a lambda abstraction around expression + * + * Given an expression expr of type argType = t1...tn -> t, creates a lambda + * expression + * (lambda x1:t1,...,xn:tn . (expr x)) : t + */ + void mkLambdaWrapper(Expr& expr, Type argType); + /** get assertion expression, based on the formula role. * expr should have Boolean type. * This returns the expression that should be asserted, given the formula role fr. @@ -159,7 +167,7 @@ class Tptp : public Parser { // TPTP directory where to find includes; // empty if none could be determined std::string d_tptpDir; - + // the null expression Expr d_nullExpr; diff --git a/test/regress/CMakeLists.txt b/test/regress/CMakeLists.txt index 0ac2d4142..df278ba5a 100644 --- a/test/regress/CMakeLists.txt +++ b/test/regress/CMakeLists.txt @@ -467,6 +467,7 @@ set(regress_0_tests regress0/get-value-reals.smt2 regress0/ho/apply-collapse-sat.smt2 regress0/ho/apply-collapse-unsat.smt2 + regress0/ho/bug_nodbuilding_interpreted_SYO042^1.p regress0/ho/cong-full-apply.smt2 regress0/ho/cong.smt2 regress0/ho/declare-fun-variants.smt2 @@ -478,11 +479,17 @@ set(regress_0_tests regress0/ho/ext-sat.smt2 regress0/ho/finite-fun-ext.smt2 regress0/ho/fta0144-alpha-eq.smt2 + regress0/ho/fta0210.smt2 + regress0/ho/ho-exponential-model.smt2 regress0/ho/ho-match-fun-suffix.smt2 regress0/ho/ho-matching-enum.smt2 + regress0/ho/ho-matching-enum-2.smt2 regress0/ho/ho-matching-nested-app.smt2 + regress0/ho/ho-std-fmf.smt2 + regress0/ho/hoa0008.smt2 regress0/ho/ite-apply-eq.smt2 regress0/ho/lambda-equality-non-canon.smt2 + regress0/ho/match-middle.smt2 regress0/ho/modulo-func-equality.smt2 regress0/ho/shadowing-defs.smt2 regress0/ho/simple-matching-partial.smt2 @@ -1182,14 +1189,14 @@ set(regress_1_tests regress1/fmf/sort-inf-int.smt2 regress1/fmf/with-ind-104-core.smt2 regress1/gensys_brn001.smt2 - regress1/ho/auth0068.smt2 - regress1/ho/fta0210.smt2 - regress1/ho/fta0409.smt2 - regress1/ho/ho-exponential-model.smt2 - regress1/ho/ho-matching-enum-2.smt2 - regress1/ho/ho-std-fmf.smt2 - regress1/ho/hoa0008.smt2 - regress1/ho/match-middle.smt2 + regress1/ho/fta0328.lfho.p + regress1/ho/nested_lambdas-AGT034^2.smt2 + regress1/ho/nested_lambdas-sat-SYO056^1-delta.smt2 + regress1/ho/NUM638^1.smt2 + regress1/ho/NUM925^1.p + regress1/ho/soundness_fmf_SYO362^5-delta.p + regress1/ho/store-ax-min.p + regress1/ho/SYO056^1.p regress1/hole6.cvc regress1/ite5.smt2 regress1/lemmas/clocksynchro_5clocks.main_invar.base.smt @@ -1766,6 +1773,12 @@ set(regress_2_tests regress2/hash_sat_07_17.smt2 regress2/hash_sat_09_09.smt2 regress2/hash_sat_10_09.smt2 + regress2/ho/auth0068.smt2 + regress2/ho/bug_instfalse_SEU882^5.p + regress2/ho/fta0409.smt2 + regress2/ho/involved_parsing_ALG248^3.p + regress2/ho/partial_app_interpreted_SWW474^2.p + regress2/ho/SYO362^5.p regress2/hole7.cvc regress2/hole8.cvc regress2/instance_1444.smt diff --git a/test/regress/regress0/ho/bug_nodbuilding_interpreted_SYO042^1.p b/test/regress/regress0/ho/bug_nodbuilding_interpreted_SYO042^1.p new file mode 100644 index 000000000..0ed7fe44b --- /dev/null +++ b/test/regress/regress0/ho/bug_nodbuilding_interpreted_SYO042^1.p @@ -0,0 +1,56 @@ +% COMMAND-LINE: --uf-ho +% EXPECT: % SZS status Unsatisfiable for bug_nodbuilding_interpreted_SYO042^1 + +%------------------------------------------------------------------------------ +% File : SYO042^1 : TPTP v7.2.0. Released v4.0.0. +% Domain : Syntactic +% Problem : Unsatisfiable basic formula 4 +% Version : Especial. +% English : + +% Refs : [BS09a] Brown E. & Smolka (2009), Terminating Tableaux for the +% : [BS09b] Brown E. & Smolka (2009), Extended First-Order Logic +% Source : [BS09a] +% Names : + +% Status : Unsatisfiable +% Rating : 0.00 v5.4.0, 0.33 v5.3.0, 0.67 v5.0.0, 0.33 v4.1.0, 0.67 v4.0.1, 1.00 v4.0.0 +% Syntax : Number of formulae : 5 ( 0 unit; 4 type; 0 defn) +% Number of atoms : 15 ( 3 equality; 0 variable) +% Maximal formula depth : 7 ( 4 average) +% Number of connectives : 10 ( 2 ~; 0 |; 4 &; 4 @) +% ( 0 <=>; 0 =>; 0 <=; 0 <~>) +% ( 0 ~|; 0 ~&) +% Number of type conns : 3 ( 3 >; 0 *; 0 +; 0 <<) +% Number of symbols : 6 ( 4 :; 0 =) +% Number of variables : 0 ( 0 sgn; 0 !; 0 ?; 0 ^) +% ( 0 :; 0 !>; 0 ?*) +% ( 0 @-; 0 @+) +% SPC : TH0_UNS_EQU_NAR + +% Comments : The fragment of simple type theory that restricts equations to +% base types and disallows lambda abstraction and quantification is +% decidable. This is an example. +%------------------------------------------------------------------------------ +thf(g,type,( + g: $o > $o )). + +thf(p,type,( + p: ( $o > $o ) > $o )). + +thf(x,type,( + x: $o )). + +thf(y,type,( + y: $o )). + +thf(4,axiom, + ( ( x != y ) + & ( ( g @ x ) + = y ) + & ( ( g @ y ) + = x ) + & ( p @ g ) + & ~ ( p @ (~) ) )). + +%------------------------------------------------------------------------------ diff --git a/test/regress/regress0/ho/fta0210.smt2 b/test/regress/regress0/ho/fta0210.smt2 new file mode 100644 index 000000000..9f0a39f25 --- /dev/null +++ b/test/regress/regress0/ho/fta0210.smt2 @@ -0,0 +1,64 @@ +; COMMAND-LINE: --uf-ho +; EXPECT: unsat +(set-logic ALL) +(declare-sort A$ 0) +(declare-sort Nat$ 0) +(declare-sort A_poly$ 0) +(declare-sort Nat_poly$ 0) +(declare-sort A_poly_poly$ 0) +(declare-fun p$ () A_poly$) +(declare-fun uu$ (A_poly$ (-> A_poly$ A_poly$) A_poly$) A_poly$) +(declare-fun one$ () Nat$) +(declare-fun suc$ (Nat$) Nat$) +(declare-fun uua$ (A_poly$) A_poly$) +(declare-fun uub$ (A$ (-> A$ A$) A$) A$) +(declare-fun uuc$ (A$) A$) +(declare-fun uud$ (Nat$ (-> Nat$ Nat$) Nat$) Nat$) +(declare-fun uue$ (Nat$) Nat$) +(declare-fun one$a () Nat_poly$) +(declare-fun one$b () A$) +(declare-fun one$c () A_poly$) +(declare-fun plus$ (A_poly$ A_poly$) A_poly$) +(declare-fun poly$ (A_poly$ A$) A$) +(declare-fun zero$ () A_poly$) +(declare-fun pCons$ (A$ A_poly$) A_poly$) +(declare-fun plus$a (Nat$ Nat$) Nat$) +(declare-fun plus$b (A$ A$) A$) +(declare-fun plus$c (Nat_poly$ Nat_poly$) Nat_poly$) +(declare-fun poly$a (Nat_poly$ Nat$) Nat$) +(declare-fun poly$b (A_poly_poly$ A_poly$) A_poly$) +(declare-fun power$ (A$ Nat$) A$) +(declare-fun psize$ (A_poly$) Nat$) +(declare-fun times$ (A_poly$ A_poly$) A_poly$) +(declare-fun zero$a () Nat$) +(declare-fun zero$b () A$) +(declare-fun zero$c () Nat_poly$) +(declare-fun zero$d () A_poly_poly$) +(declare-fun pCons$a (Nat$ Nat_poly$) Nat_poly$) +(declare-fun pCons$b (A_poly$ A_poly_poly$) A_poly_poly$) +(declare-fun power$a (A_poly$ Nat$) A_poly$) +(declare-fun power$b (Nat_poly$ Nat$) Nat_poly$) +(declare-fun power$c (Nat$ Nat$) Nat$) +(declare-fun psize$a (A_poly_poly$) Nat$) +(declare-fun times$a (Nat$ Nat$) Nat$) +(declare-fun times$b (A$ A$) A$) +(declare-fun times$c (Nat_poly$ Nat_poly$) Nat_poly$) +(declare-fun times$d (A_poly_poly$ A_poly_poly$) A_poly_poly$) +(declare-fun uminus$ (A_poly$) A_poly$) +(declare-fun uminus$a (A$) A$) +(declare-fun constant$ ((-> A$ A$)) Bool) +(declare-fun pcompose$ (A_poly$ A_poly$) A_poly$) +(declare-fun pcompose$a (Nat_poly$ Nat_poly$) Nat_poly$) +(declare-fun pcompose$b (A_poly_poly$ A_poly_poly$) A_poly_poly$) +(declare-fun poly_shift$ (Nat$ A_poly$) A_poly$) +(declare-fun fold_coeffs$ ((-> A_poly$ (-> (-> A_poly$ A_poly$) (-> A_poly$ A_poly$))) A_poly_poly$ (-> A_poly$ A_poly$)) (-> A_poly$ A_poly$)) +(declare-fun poly_cutoff$ (Nat$ A_poly$) A_poly$) +(declare-fun fold_coeffs$a ((-> A$ (-> (-> A$ A$) (-> A$ A$))) A_poly$ (-> A$ A$)) (-> A$ A$)) +(declare-fun fold_coeffs$b ((-> Nat$ (-> (-> Nat$ Nat$) (-> Nat$ Nat$))) Nat_poly$ (-> Nat$ Nat$)) (-> Nat$ Nat$)) + +(assert (! (forall ((?v0 A$)) (= (poly$ zero$ ?v0) zero$b)) :named a14)) +(assert (! (forall ((?v0 (-> A$ A$))) (= (constant$ ?v0) (forall ((?v1 A$) (?v2 A$)) (= (?v0 ?v1) (?v0 ?v2))))) :named a69)) +(assert (! (not (constant$ (poly$ zero$))) :named a206)) + +(check-sat) +;(get-proof) diff --git a/test/regress/regress0/ho/ho-exponential-model.smt2 b/test/regress/regress0/ho/ho-exponential-model.smt2 new file mode 100644 index 000000000..3f0011828 --- /dev/null +++ b/test/regress/regress0/ho/ho-exponential-model.smt2 @@ -0,0 +1,40 @@ +; COMMAND-LINE: --uf-ho +; EXPECT: sat +(set-logic UFLIA) +(set-info :status sat) +(declare-fun f1 (Int Int Int Int) Int) +(declare-fun f2 (Int Int Int) Int) +(declare-fun f3 (Int Int) Int) +(declare-fun f4 (Int) Int) +(declare-fun f5 (Int Int Int) Int) +(declare-fun f6 (Int Int) Int) +(declare-fun f7 (Int) Int) + + +(assert (= (f1 0) (f1 1))) +(assert (= (f1 1) f2)) + +(assert (= (f2 0) (f2 1))) +(assert (= (f2 1) f3)) + +(assert (= (f3 0) (f3 1))) +(assert (= (f3 1) f4)) + +(assert (= (f4 0) (f4 1))) +(assert (= (f4 1) 2)) + + +(assert (= (f1 3) (f1 4))) +(assert (= (f1 4) f5)) + +(assert (= (f5 3) (f5 4))) +(assert (= (f5 4) f6)) + +(assert (= (f6 3) (f6 4))) +(assert (= (f6 4) f7)) + +(assert (= (f7 3) (f7 4))) +(assert (= (f7 4) 5)) + +; this benchmark has a concise model representation for f1 if we use curried (tree-like) models for UF +(check-sat) diff --git a/test/regress/regress0/ho/ho-matching-enum-2.smt2 b/test/regress/regress0/ho/ho-matching-enum-2.smt2 new file mode 100644 index 000000000..9581e4c4f --- /dev/null +++ b/test/regress/regress0/ho/ho-matching-enum-2.smt2 @@ -0,0 +1,18 @@ +; COMMAND-LINE: --uf-ho +; EXPECT: unsat +(set-logic ALL) +(set-info :status unsat) + +(declare-sort U 0) + +(declare-fun p (Int) Bool) +(declare-fun q (Int) Bool) +(declare-fun k (Int Int) Int) + +(assert (q (k 0 1))) +(assert (not (p (k 0 0)))) + +(assert (forall ((f (-> Int Int Int)) (y Int) (z Int)) (or (p (f y z)) (not (q (f z y)))))) + +(check-sat) +(exit) diff --git a/test/regress/regress0/ho/ho-std-fmf.smt2 b/test/regress/regress0/ho/ho-std-fmf.smt2 new file mode 100644 index 000000000..61d82d00c --- /dev/null +++ b/test/regress/regress0/ho/ho-std-fmf.smt2 @@ -0,0 +1,18 @@ +; COMMAND-LINE: --uf-ho --finite-model-find +; EXPECT: sat +(set-logic UF) +(set-info :status sat) +(declare-sort U 0) +(declare-fun P (U U) Bool) +(declare-fun Q (U U) Bool) +(declare-fun R (U U) Bool) +(declare-fun a () U) +(declare-fun b () U) + +; can solve this using standard MBQI model for P = \ xy true +(assert (forall ((x U) (y U)) (or (P x y) (Q x y)))) +(assert (forall ((x U) (y U)) (or (P x y) (R x y)))) + +(assert (not (= a b))) +(assert (= (Q a) (R b))) +(check-sat) diff --git a/test/regress/regress0/ho/hoa0008.smt2 b/test/regress/regress0/ho/hoa0008.smt2 new file mode 100644 index 000000000..f4833aadf --- /dev/null +++ b/test/regress/regress0/ho/hoa0008.smt2 @@ -0,0 +1,68 @@ +; COMMAND-LINE: --uf-ho +; EXPECT: unsat +(set-logic ALL) +(declare-sort A$ 0) +(declare-sort Com$ 0) +(declare-sort Loc$ 0) +(declare-sort Nat$ 0) +(declare-sort Pname$ 0) +(declare-sort State$ 0) +(declare-sort Vname$ 0) +(declare-sort Literal$ 0) +(declare-sort Natural$ 0) +(declare-sort Typerep$ 0) +(declare-sort A_triple$ 0) +(declare-sort Com_option$ 0) +(declare-fun p$ () (-> A$ (-> State$ Bool))) +(declare-fun q$ () (-> A$ (-> State$ Bool))) +(declare-fun pn$ () Pname$) +(declare-fun wt$ (Com$) Bool) +(declare-fun ass$ (Vname$ (-> State$ Nat$)) Com$) +(declare-fun suc$ (Nat$) Nat$) +(declare-fun the$ (Com_option$) Com$) +(declare-fun body$ (Pname$) Com$) +(declare-fun call$ (Vname$ Pname$ (-> State$ Nat$)) Com$) +(declare-fun cond$ ((-> State$ Bool) Com$ Com$) Com$) +(declare-fun none$ () Com_option$) +(declare-fun plus$ (Nat$ Nat$) Nat$) +(declare-fun semi$ (Com$ Com$) Com$) +(declare-fun size$ (A_triple$) Nat$) +(declare-fun skip$ () Com$) +(declare-fun some$ (Com$) Com_option$) +(declare-fun suc$a (Natural$) Natural$) +(declare-fun zero$ () Nat$) +(declare-fun body$a (Pname$) Com_option$) +(declare-fun evalc$ (Com$ State$ State$) Bool) +(declare-fun evaln$ (Com$ State$ Nat$ State$) Bool) +(declare-fun local$ (Loc$ (-> State$ Nat$) Com$) Com$) +(declare-fun plus$a (Natural$ Natural$) Natural$) +(declare-fun size$a (Com$) Nat$) +(declare-fun size$b (Natural$) Nat$) +(declare-fun size$c (Bool) Nat$) +(declare-fun size$d (Com_option$) Nat$) +(declare-fun size$e (Typerep$) Nat$) +(declare-fun size$f (Literal$) Nat$) +(declare-fun while$ ((-> State$ Bool) Com$) Com$) +(declare-fun zero$a () Natural$) +(declare-fun triple$ ((-> A$ (-> State$ Bool)) Com$ (-> A$ (-> State$ Bool))) A_triple$) +(declare-fun rec_bool$ (Nat$ Nat$) (-> Bool Nat$)) +(declare-fun size_com$ (Com$) Nat$) +(declare-fun size_bool$ (Bool) Nat$) +(declare-fun wT_bodies$ () Bool) +(declare-fun size_option$ ((-> Com$ Nat$)) (-> Com_option$ Nat$)) +(declare-fun size_triple$ ((-> A$ Nat$) A_triple$) Nat$) +(declare-fun size_natural$ (Natural$) Nat$) +(declare-fun triple_valid$ (Nat$ A_triple$) Bool) +(assert (! (not (triple_valid$ zero$ (triple$ p$ (body$ pn$) q$))) :named a0)) + +(assert (! (forall ((?v0 Nat$) (?v1 (-> A$ (-> State$ Bool))) (?v2 Com$) (?v3 (-> A$ (-> State$ Bool)))) (= (triple_valid$ ?v0 (triple$ ?v1 ?v2 ?v3)) (forall ((?v4 A$) (?v5 State$)) (=> (?v1 ?v4 ?v5) (forall ((?v6 State$)) (=> (evaln$ ?v2 ?v5 ?v0 ?v6) (?v3 ?v4 ?v6))))))) :named a6)) + +(assert (! (= (size_bool$ true) zero$) :named a13)) +(assert (! (= size_bool$ (rec_bool$ zero$ zero$)) :named a14)) + +(assert (! (forall ((?v0 Nat$)) (not (= zero$ (suc$ ?v0)))) :named a37)) + +(assert (! (forall ((?v0 Pname$) (?v1 State$) (?v2 Nat$) (?v3 State$)) (=> (and (evaln$ (body$ ?v0) ?v1 ?v2 ?v3) (forall ((?v4 Nat$)) (=> (and (= ?v2 (suc$ ?v4)) (evaln$ (the$ (body$a ?v0)) ?v1 ?v4 ?v3)) false))) false)) :named a204)) + +(check-sat) +;(get-proof) diff --git a/test/regress/regress0/ho/match-middle.smt2 b/test/regress/regress0/ho/match-middle.smt2 new file mode 100644 index 000000000..0485f9a6f --- /dev/null +++ b/test/regress/regress0/ho/match-middle.smt2 @@ -0,0 +1,20 @@ +; COMMAND-LINE: --uf-ho +; EXPECT: unsat +(set-logic UFLIA) +(set-info :status unsat) +(declare-fun f (Int Int Int) Int) +(declare-fun h (Int Int Int) Int) +(declare-fun g (Int Int) Int) +(declare-fun a () Int) +(declare-fun b () Int) +(declare-fun c () Int) +(declare-fun d () Int) + +(assert (or (= (f a) g) (= (h a) g))) + +(assert (= (f a b d) c)) +(assert (= (h a b d) c)) + +(assert (forall ((x Int) (y Int)) (not (= (g x y) c)))) + +(check-sat) diff --git a/test/regress/regress1/ho/NUM638^1.smt2 b/test/regress/regress1/ho/NUM638^1.smt2 new file mode 100644 index 000000000..bee17b21a --- /dev/null +++ b/test/regress/regress1/ho/NUM638^1.smt2 @@ -0,0 +1,17 @@ +; COMMAND-LINE: --uf-ho --finite-model-find +; EXPECT: unsat + +(set-option :incremental false) +(set-logic ALL) +(declare-sort $$unsorted 0) +(declare-sort nat 0) +(declare-fun x () nat) +(declare-fun n_1 () nat) +(assert (not (= x n_1))) +(declare-fun suc (nat) nat) +(declare-fun some ((-> nat Bool)) Bool) +(assert (forall ((Xx nat) (Xy nat)) (=> (= (suc Xx) (suc Xy)) (= Xx Xy)) )) +(assert (forall ((Xx nat)) (=> (not (= Xx n_1)) (some (lambda ((Xu nat)) (= Xx (suc Xu))))) )) +(assert (not (not (=> (forall ((Xx_0 nat) (Xy nat)) (=> (= x (suc Xx_0)) (=> (= x (suc Xy)) (= Xx_0 Xy))) ) (not (some (lambda ((Xu nat)) (= x (suc Xu))))))))) +(meta-info :filename "NUM638^1") +(check-sat-assuming ( (not false) )) diff --git a/test/regress/regress1/ho/NUM925^1.p b/test/regress/regress1/ho/NUM925^1.p new file mode 100644 index 000000000..d2977ddb8 --- /dev/null +++ b/test/regress/regress1/ho/NUM925^1.p @@ -0,0 +1,638 @@ +% COMMAND-LINE: --uf-ho +% EXPECT: % SZS status Theorem for NUM925^1 + +%------------------------------------------------------------------------------ +% File : NUM925^1 : TPTP v7.2.0. Released v5.3.0. +% Domain : Number Theory +% Problem : Sum of two squares line 192, 100 axioms selected +% Version : Especial. +% English : + +% Refs : [BN10] Boehme & Nipkow (2010), Sledgehammer: Judgement Day +% : [Bla11] Blanchette (2011), Email to Geoff Sutcliffe +% Source : [Bla11] +% Names : s2s_100_thf_l192 [Bla11] + +% Status : Theorem +% Rating : 0.22 v7.2.0, 0.12 v7.1.0, 0.38 v7.0.0, 0.29 v6.4.0, 0.33 v6.3.0, 0.40 v6.2.0, 0.29 v6.1.0, 0.43 v5.5.0, 0.33 v5.4.0, 0.40 v5.3.0 +% Syntax : Number of formulae : 128 ( 0 unit; 21 type; 0 defn) +% Number of atoms : 868 ( 105 equality; 251 variable) +% Maximal formula depth : 11 ( 5 average) +% Number of connectives : 571 ( 20 ~; 4 |; 7 &; 495 @) +% ( 36 <=>; 9 =>; 0 <=; 0 <~>) +% ( 0 ~|; 0 ~&) +% Number of type conns : 18 ( 18 >; 0 *; 0 +; 0 <<) +% Number of symbols : 23 ( 21 :; 0 =) +% Number of variables : 118 ( 0 sgn; 118 !; 0 ?; 0 ^) +% ( 118 :; 0 !>; 0 ?*) +% ( 0 @-; 0 @+) +% SPC : TH0_THM_EQU_NAR + +% Comments : This file was generated by Isabelle (most likely Sledgehammer) +% 2011-08-09 19:10:38 +%------------------------------------------------------------------------------ +%----Should-be-implicit typings (2) +thf(ty_ty_tc__Int__Oint,type,( + int: $tType )). + +thf(ty_ty_tc__Nat__Onat,type,( + nat: $tType )). + +%----Explicit typings (19) +thf(sy_c_Groups_Oone__class_Oone_000tc__Int__Oint,type,( + one_one_int: int )). + +thf(sy_c_Groups_Oone__class_Oone_000tc__Nat__Onat,type,( + one_one_nat: nat )). + +thf(sy_c_Groups_Oplus__class_Oplus_000tc__Int__Oint,type,( + plus_plus_int: int > int > int )). + +thf(sy_c_Groups_Oplus__class_Oplus_000tc__Nat__Onat,type,( + plus_plus_nat: nat > nat > nat )). + +thf(sy_c_Groups_Ozero__class_Ozero_000tc__Int__Oint,type,( + zero_zero_int: int )). + +thf(sy_c_Groups_Ozero__class_Ozero_000tc__Nat__Onat,type,( + zero_zero_nat: nat )). + +thf(sy_c_Int_OBit0,type,( + bit0: int > int )). + +thf(sy_c_Int_OBit1,type,( + bit1: int > int )). + +thf(sy_c_Int_OPls,type,( + pls: int )). + +thf(sy_c_Int_Onumber__class_Onumber__of_000tc__Int__Oint,type,( + number_number_of_int: int > int )). + +thf(sy_c_Int_Onumber__class_Onumber__of_000tc__Nat__Onat,type,( + number_number_of_nat: int > nat )). + +thf(sy_c_Nat_Osemiring__1__class_Oof__nat_000tc__Int__Oint,type,( + semiri1621563631at_int: nat > int )). + +thf(sy_c_Nat_Osemiring__1__class_Oof__nat_000tc__Nat__Onat,type,( + semiri984289939at_nat: nat > nat )). + +thf(sy_c_Orderings_Oord__class_Oless_000tc__Int__Oint,type,( + ord_less_int: int > int > $o )). + +thf(sy_c_Orderings_Oord__class_Oless_000tc__Nat__Onat,type,( + ord_less_nat: nat > nat > $o )). + +thf(sy_c_Power_Opower__class_Opower_000tc__Int__Oint,type,( + power_power_int: int > nat > int )). + +thf(sy_c_Power_Opower__class_Opower_000tc__Nat__Onat,type,( + power_power_nat: nat > nat > nat )). + +thf(sy_v_n____,type,( + n: nat )). + +thf(sy_v_t____,type,( + t: int )). + +%----Relevant facts (106) +thf(fact_0_n1pos,axiom, + ( ord_less_int @ zero_zero_int @ ( plus_plus_int @ one_one_int @ ( semiri1621563631at_int @ n ) ) )). + +thf(fact_1_t1,axiom, + ( ord_less_int @ one_one_int @ t )). + +thf(fact_2_sum__power2__eq__zero__iff,axiom,( + ! [X_3: int,Y_3: int] : + ( ( ( plus_plus_int @ ( power_power_int @ X_3 @ ( number_number_of_nat @ ( bit0 @ ( bit1 @ pls ) ) ) ) @ ( power_power_int @ Y_3 @ ( number_number_of_nat @ ( bit0 @ ( bit1 @ pls ) ) ) ) ) + = zero_zero_int ) + <=> ( ( X_3 = zero_zero_int ) + & ( Y_3 = zero_zero_int ) ) ) )). + +thf(fact_3_one__power2,axiom, + ( ( power_power_int @ one_one_int @ ( number_number_of_nat @ ( bit0 @ ( bit1 @ pls ) ) ) ) + = one_one_int )). + +thf(fact_4_one__power2,axiom, + ( ( power_power_nat @ one_one_nat @ ( number_number_of_nat @ ( bit0 @ ( bit1 @ pls ) ) ) ) + = one_one_nat )). + +thf(fact_5_zero__power2,axiom, + ( ( power_power_int @ zero_zero_int @ ( number_number_of_nat @ ( bit0 @ ( bit1 @ pls ) ) ) ) + = zero_zero_int )). + +thf(fact_6_zero__power2,axiom, + ( ( power_power_nat @ zero_zero_nat @ ( number_number_of_nat @ ( bit0 @ ( bit1 @ pls ) ) ) ) + = zero_zero_nat )). + +thf(fact_7_zero__eq__power2,axiom,( + ! [A_7: int] : + ( ( ( power_power_int @ A_7 @ ( number_number_of_nat @ ( bit0 @ ( bit1 @ pls ) ) ) ) + = zero_zero_int ) + <=> ( A_7 = zero_zero_int ) ) )). + +thf(fact_8_add__special_I2_J,axiom,( + ! [W_7: int] : + ( ( plus_plus_int @ one_one_int @ ( number_number_of_int @ W_7 ) ) + = ( number_number_of_int @ ( plus_plus_int @ ( bit1 @ pls ) @ W_7 ) ) ) )). + +thf(fact_9_add__special_I3_J,axiom,( + ! [V_5: int] : + ( ( plus_plus_int @ ( number_number_of_int @ V_5 ) @ one_one_int ) + = ( number_number_of_int @ ( plus_plus_int @ V_5 @ ( bit1 @ pls ) ) ) ) )). + +thf(fact_10_one__add__one__is__two,axiom, + ( ( plus_plus_int @ one_one_int @ one_one_int ) + = ( number_number_of_int @ ( bit0 @ ( bit1 @ pls ) ) ) )). + +thf(fact_11_semiring__one__add__one__is__two,axiom, + ( ( plus_plus_int @ one_one_int @ one_one_int ) + = ( number_number_of_int @ ( bit0 @ ( bit1 @ pls ) ) ) )). + +thf(fact_12_semiring__one__add__one__is__two,axiom, + ( ( plus_plus_nat @ one_one_nat @ one_one_nat ) + = ( number_number_of_nat @ ( bit0 @ ( bit1 @ pls ) ) ) )). + +thf(fact_13_quartic__square__square,axiom,( + ! [X_3: int] : + ( ( power_power_int @ ( power_power_int @ X_3 @ ( number_number_of_nat @ ( bit0 @ ( bit1 @ pls ) ) ) ) @ ( number_number_of_nat @ ( bit0 @ ( bit1 @ pls ) ) ) ) + = ( power_power_int @ X_3 @ ( number_number_of_nat @ ( bit0 @ ( bit0 @ ( bit1 @ pls ) ) ) ) ) ) )). + +thf(fact_14_power__0__left__number__of,axiom,( + ! [W_6: int] : + ( ( ( ( number_number_of_nat @ W_6 ) + = zero_zero_nat ) + => ( ( power_power_int @ zero_zero_int @ ( number_number_of_nat @ W_6 ) ) + = one_one_int ) ) + & ( ( ( number_number_of_nat @ W_6 ) + != zero_zero_nat ) + => ( ( power_power_int @ zero_zero_int @ ( number_number_of_nat @ W_6 ) ) + = zero_zero_int ) ) ) )). + +thf(fact_15_power__0__left__number__of,axiom,( + ! [W_6: int] : + ( ( ( ( number_number_of_nat @ W_6 ) + = zero_zero_nat ) + => ( ( power_power_nat @ zero_zero_nat @ ( number_number_of_nat @ W_6 ) ) + = one_one_nat ) ) + & ( ( ( number_number_of_nat @ W_6 ) + != zero_zero_nat ) + => ( ( power_power_nat @ zero_zero_nat @ ( number_number_of_nat @ W_6 ) ) + = zero_zero_nat ) ) ) )). + +thf(fact_16_semiring__norm_I110_J,axiom, + ( one_one_int + = ( number_number_of_int @ ( bit1 @ pls ) ) )). + +thf(fact_17_numeral__1__eq__1,axiom, + ( ( number_number_of_int @ ( bit1 @ pls ) ) + = one_one_int )). + +thf(fact_18_n0,axiom, + ( ord_less_nat @ zero_zero_nat @ n )). + +thf(fact_19_zless__linear,axiom,( + ! [X_3: int,Y_3: int] : + ( ( ord_less_int @ X_3 @ Y_3 ) + | ( X_3 = Y_3 ) + | ( ord_less_int @ Y_3 @ X_3 ) ) )). + +thf(fact_20_less__number__of__int__code,axiom,( + ! [K: int,L: int] : + ( ( ord_less_int @ ( number_number_of_int @ K ) @ ( number_number_of_int @ L ) ) + <=> ( ord_less_int @ K @ L ) ) )). + +thf(fact_21_plus__numeral__code_I9_J,axiom,( + ! [V_3: int,W_4: int] : + ( ( plus_plus_int @ ( number_number_of_int @ V_3 ) @ ( number_number_of_int @ W_4 ) ) + = ( number_number_of_int @ ( plus_plus_int @ V_3 @ W_4 ) ) ) )). + +thf(fact_22_less__number__of,axiom,( + ! [X_6: int,Y_5: int] : + ( ( ord_less_int @ ( number_number_of_int @ X_6 ) @ ( number_number_of_int @ Y_5 ) ) + <=> ( ord_less_int @ X_6 @ Y_5 ) ) )). + +thf(fact_23_zero__is__num__zero,axiom, + ( zero_zero_int + = ( number_number_of_int @ pls ) )). + +thf(fact_24_zpower__int,axiom,( + ! [M: nat,N_1: nat] : + ( ( power_power_int @ ( semiri1621563631at_int @ M ) @ N_1 ) + = ( semiri1621563631at_int @ ( power_power_nat @ M @ N_1 ) ) ) )). + +thf(fact_25_int__power,axiom,( + ! [M: nat,N_1: nat] : + ( ( semiri1621563631at_int @ ( power_power_nat @ M @ N_1 ) ) + = ( power_power_int @ ( semiri1621563631at_int @ M ) @ N_1 ) ) )). + +thf(fact_26_zadd__int__left,axiom,( + ! [M: nat,N_1: nat,Z: int] : + ( ( plus_plus_int @ ( semiri1621563631at_int @ M ) @ ( plus_plus_int @ ( semiri1621563631at_int @ N_1 ) @ Z ) ) + = ( plus_plus_int @ ( semiri1621563631at_int @ ( plus_plus_nat @ M @ N_1 ) ) @ Z ) ) )). + +thf(fact_27_zadd__int,axiom,( + ! [M: nat,N_1: nat] : + ( ( plus_plus_int @ ( semiri1621563631at_int @ M ) @ ( semiri1621563631at_int @ N_1 ) ) + = ( semiri1621563631at_int @ ( plus_plus_nat @ M @ N_1 ) ) ) )). + +thf(fact_28_int__1,axiom, + ( ( semiri1621563631at_int @ one_one_nat ) + = one_one_int )). + +thf(fact_29_nat__number__of__Pls,axiom, + ( ( number_number_of_nat @ pls ) + = zero_zero_nat )). + +thf(fact_30_semiring__norm_I113_J,axiom, + ( zero_zero_nat + = ( number_number_of_nat @ pls ) )). + +thf(fact_31_int__eq__0__conv,axiom,( + ! [N_1: nat] : + ( ( ( semiri1621563631at_int @ N_1 ) + = zero_zero_int ) + <=> ( N_1 = zero_zero_nat ) ) )). + +thf(fact_32_int__0,axiom, + ( ( semiri1621563631at_int @ zero_zero_nat ) + = zero_zero_int )). + +thf(fact_33_nat__1__add__1,axiom, + ( ( plus_plus_nat @ one_one_nat @ one_one_nat ) + = ( number_number_of_nat @ ( bit0 @ ( bit1 @ pls ) ) ) )). + +thf(fact_34_less__int__code_I16_J,axiom,( + ! [K1: int,K2: int] : + ( ( ord_less_int @ ( bit1 @ K1 ) @ ( bit1 @ K2 ) ) + <=> ( ord_less_int @ K1 @ K2 ) ) )). + +thf(fact_35_rel__simps_I17_J,axiom,( + ! [K: int,L: int] : + ( ( ord_less_int @ ( bit1 @ K ) @ ( bit1 @ L ) ) + <=> ( ord_less_int @ K @ L ) ) )). + +thf(fact_36_rel__simps_I2_J,axiom,( + ~ ( ord_less_int @ pls @ pls ) )). + +thf(fact_37_less__int__code_I13_J,axiom,( + ! [K1: int,K2: int] : + ( ( ord_less_int @ ( bit0 @ K1 ) @ ( bit0 @ K2 ) ) + <=> ( ord_less_int @ K1 @ K2 ) ) )). + +thf(fact_38_rel__simps_I14_J,axiom,( + ! [K: int,L: int] : + ( ( ord_less_int @ ( bit0 @ K ) @ ( bit0 @ L ) ) + <=> ( ord_less_int @ K @ L ) ) )). + +thf(fact_39_zadd__strict__right__mono,axiom,( + ! [K: int,I: int,J: int] : + ( ( ord_less_int @ I @ J ) + => ( ord_less_int @ ( plus_plus_int @ I @ K ) @ ( plus_plus_int @ J @ K ) ) ) )). + +thf(fact_40_add__nat__number__of,axiom,( + ! [V_4: int,V_3: int] : + ( ( ( ord_less_int @ V_3 @ pls ) + => ( ( plus_plus_nat @ ( number_number_of_nat @ V_3 ) @ ( number_number_of_nat @ V_4 ) ) + = ( number_number_of_nat @ V_4 ) ) ) + & ( ~ ( ord_less_int @ V_3 @ pls ) + => ( ( ( ord_less_int @ V_4 @ pls ) + => ( ( plus_plus_nat @ ( number_number_of_nat @ V_3 ) @ ( number_number_of_nat @ V_4 ) ) + = ( number_number_of_nat @ V_3 ) ) ) + & ( ~ ( ord_less_int @ V_4 @ pls ) + => ( ( plus_plus_nat @ ( number_number_of_nat @ V_3 ) @ ( number_number_of_nat @ V_4 ) ) + = ( number_number_of_nat @ ( plus_plus_int @ V_3 @ V_4 ) ) ) ) ) ) ) )). + +thf(fact_41_one__is__num__one,axiom, + ( one_one_int + = ( number_number_of_int @ ( bit1 @ pls ) ) )). + +thf(fact_42_nat__numeral__1__eq__1,axiom, + ( ( number_number_of_nat @ ( bit1 @ pls ) ) + = one_one_nat )). + +thf(fact_43_Numeral1__eq1__nat,axiom, + ( one_one_nat + = ( number_number_of_nat @ ( bit1 @ pls ) ) )). + +thf(fact_44_eq__number__of,axiom,( + ! [X_5: int,Y_4: int] : + ( ( ( number_number_of_int @ X_5 ) + = ( number_number_of_int @ Y_4 ) ) + <=> ( X_5 = Y_4 ) ) )). + +thf(fact_45_number__of__reorient,axiom,( + ! [W_5: int,X_4: nat] : + ( ( ( number_number_of_nat @ W_5 ) + = X_4 ) + <=> ( X_4 + = ( number_number_of_nat @ W_5 ) ) ) )). + +thf(fact_46_number__of__reorient,axiom,( + ! [W_5: int,X_4: int] : + ( ( ( number_number_of_int @ W_5 ) + = X_4 ) + <=> ( X_4 + = ( number_number_of_int @ W_5 ) ) ) )). + +thf(fact_47_rel__simps_I51_J,axiom,( + ! [K: int,L: int] : + ( ( ( bit1 @ K ) + = ( bit1 @ L ) ) + <=> ( K = L ) ) )). + +thf(fact_48_rel__simps_I48_J,axiom,( + ! [K: int,L: int] : + ( ( ( bit0 @ K ) + = ( bit0 @ L ) ) + <=> ( K = L ) ) )). + +thf(fact_49_even__less__0__iff,axiom,( + ! [A_6: int] : + ( ( ord_less_int @ ( plus_plus_int @ A_6 @ A_6 ) @ zero_zero_int ) + <=> ( ord_less_int @ A_6 @ zero_zero_int ) ) )). + +thf(fact_50_zadd__assoc,axiom,( + ! [Z1: int,Z2: int,Z3: int] : + ( ( plus_plus_int @ ( plus_plus_int @ Z1 @ Z2 ) @ Z3 ) + = ( plus_plus_int @ Z1 @ ( plus_plus_int @ Z2 @ Z3 ) ) ) )). + +thf(fact_51_zadd__left__commute,axiom,( + ! [X_3: int,Y_3: int,Z: int] : + ( ( plus_plus_int @ X_3 @ ( plus_plus_int @ Y_3 @ Z ) ) + = ( plus_plus_int @ Y_3 @ ( plus_plus_int @ X_3 @ Z ) ) ) )). + +thf(fact_52_zadd__commute,axiom,( + ! [Z: int,W_4: int] : + ( ( plus_plus_int @ Z @ W_4 ) + = ( plus_plus_int @ W_4 @ Z ) ) )). + +thf(fact_53_int__int__eq,axiom,( + ! [M: nat,N_1: nat] : + ( ( ( semiri1621563631at_int @ M ) + = ( semiri1621563631at_int @ N_1 ) ) + <=> ( M = N_1 ) ) )). + +thf(fact_54_less__special_I3_J,axiom,( + ! [X_2: int] : + ( ( ord_less_int @ ( number_number_of_int @ X_2 ) @ zero_zero_int ) + <=> ( ord_less_int @ X_2 @ pls ) ) )). + +thf(fact_55_less__special_I1_J,axiom,( + ! [Y_2: int] : + ( ( ord_less_int @ zero_zero_int @ ( number_number_of_int @ Y_2 ) ) + <=> ( ord_less_int @ pls @ Y_2 ) ) )). + +thf(fact_56_rel__simps_I12_J,axiom,( + ! [K: int] : + ( ( ord_less_int @ ( bit1 @ K ) @ pls ) + <=> ( ord_less_int @ K @ pls ) ) )). + +thf(fact_57_less__int__code_I15_J,axiom,( + ! [K1: int,K2: int] : + ( ( ord_less_int @ ( bit1 @ K1 ) @ ( bit0 @ K2 ) ) + <=> ( ord_less_int @ K1 @ K2 ) ) )). + +thf(fact_58_rel__simps_I16_J,axiom,( + ! [K: int,L: int] : + ( ( ord_less_int @ ( bit1 @ K ) @ ( bit0 @ L ) ) + <=> ( ord_less_int @ K @ L ) ) )). + +thf(fact_59_rel__simps_I10_J,axiom,( + ! [K: int] : + ( ( ord_less_int @ ( bit0 @ K ) @ pls ) + <=> ( ord_less_int @ K @ pls ) ) )). + +thf(fact_60_rel__simps_I4_J,axiom,( + ! [K: int] : + ( ( ord_less_int @ pls @ ( bit0 @ K ) ) + <=> ( ord_less_int @ pls @ K ) ) )). + +thf(fact_61_bin__less__0__simps_I4_J,axiom,( + ! [W_4: int] : + ( ( ord_less_int @ ( bit1 @ W_4 ) @ zero_zero_int ) + <=> ( ord_less_int @ W_4 @ zero_zero_int ) ) )). + +thf(fact_62_bin__less__0__simps_I1_J,axiom,( + ~ ( ord_less_int @ pls @ zero_zero_int ) )). + +thf(fact_63_bin__less__0__simps_I3_J,axiom,( + ! [W_4: int] : + ( ( ord_less_int @ ( bit0 @ W_4 ) @ zero_zero_int ) + <=> ( ord_less_int @ W_4 @ zero_zero_int ) ) )). + +thf(fact_64_int__0__less__1,axiom, + ( ord_less_int @ zero_zero_int @ one_one_int )). + +thf(fact_65_zless__add1__eq,axiom,( + ! [W_4: int,Z: int] : + ( ( ord_less_int @ W_4 @ ( plus_plus_int @ Z @ one_one_int ) ) + <=> ( ( ord_less_int @ W_4 @ Z ) + | ( W_4 = Z ) ) ) )). + +thf(fact_66_int__less__0__conv,axiom,( + ! [K: nat] : + ~ ( ord_less_int @ ( semiri1621563631at_int @ K ) @ zero_zero_int ) )). + +thf(fact_67_less__special_I4_J,axiom,( + ! [X_1: int] : + ( ( ord_less_int @ ( number_number_of_int @ X_1 ) @ one_one_int ) + <=> ( ord_less_int @ X_1 @ ( bit1 @ pls ) ) ) )). + +thf(fact_68_less__special_I2_J,axiom,( + ! [Y_1: int] : + ( ( ord_less_int @ one_one_int @ ( number_number_of_int @ Y_1 ) ) + <=> ( ord_less_int @ ( bit1 @ pls ) @ Y_1 ) ) )). + +thf(fact_69_odd__less__0,axiom,( + ! [Z: int] : + ( ( ord_less_int @ ( plus_plus_int @ ( plus_plus_int @ one_one_int @ Z ) @ Z ) @ zero_zero_int ) + <=> ( ord_less_int @ Z @ zero_zero_int ) ) )). + +thf(fact_70_double__eq__0__iff,axiom,( + ! [A_5: int] : + ( ( ( plus_plus_int @ A_5 @ A_5 ) + = zero_zero_int ) + <=> ( A_5 = zero_zero_int ) ) )). + +thf(fact_71_rel__simps_I46_J,axiom,( + ! [K: int] : + ( ( bit1 @ K ) + != pls ) )). + +thf(fact_72_rel__simps_I39_J,axiom,( + ! [L: int] : + ( pls + != ( bit1 @ L ) ) )). + +thf(fact_73_rel__simps_I50_J,axiom,( + ! [K: int,L: int] : + ( ( bit1 @ K ) + != ( bit0 @ L ) ) )). + +thf(fact_74_rel__simps_I49_J,axiom,( + ! [K: int,L: int] : + ( ( bit0 @ K ) + != ( bit1 @ L ) ) )). + +thf(fact_75_rel__simps_I44_J,axiom,( + ! [K: int] : + ( ( ( bit0 @ K ) + = pls ) + <=> ( K = pls ) ) )). + +thf(fact_76_rel__simps_I38_J,axiom,( + ! [L: int] : + ( ( pls + = ( bit0 @ L ) ) + <=> ( pls = L ) ) )). + +thf(fact_77_Bit0__Pls,axiom, + ( ( bit0 @ pls ) + = pls )). + +thf(fact_78_Pls__def,axiom,( + pls = zero_zero_int )). + +thf(fact_79_int__0__neq__1,axiom,( + zero_zero_int != one_one_int )). + +thf(fact_80_add__Pls__right,axiom,( + ! [K: int] : + ( ( plus_plus_int @ K @ pls ) + = K ) )). + +thf(fact_81_add__Pls,axiom,( + ! [K: int] : + ( ( plus_plus_int @ pls @ K ) + = K ) )). + +thf(fact_82_add__Bit0__Bit0,axiom,( + ! [K: int,L: int] : + ( ( plus_plus_int @ ( bit0 @ K ) @ ( bit0 @ L ) ) + = ( bit0 @ ( plus_plus_int @ K @ L ) ) ) )). + +thf(fact_83_Bit0__def,axiom,( + ! [K: int] : + ( ( bit0 @ K ) + = ( plus_plus_int @ K @ K ) ) )). + +thf(fact_84_zadd__0__right,axiom,( + ! [Z: int] : + ( ( plus_plus_int @ Z @ zero_zero_int ) + = Z ) )). + +thf(fact_85_zadd__0,axiom,( + ! [Z: int] : + ( ( plus_plus_int @ zero_zero_int @ Z ) + = Z ) )). + +thf(fact_86_semiring__numeral__0__eq__0,axiom, + ( ( number_number_of_int @ pls ) + = zero_zero_int )). + +thf(fact_87_semiring__numeral__0__eq__0,axiom, + ( ( number_number_of_nat @ pls ) + = zero_zero_nat )). + +thf(fact_88_number__of__Pls,axiom, + ( ( number_number_of_int @ pls ) + = zero_zero_int )). + +thf(fact_89_semiring__norm_I112_J,axiom, + ( zero_zero_int + = ( number_number_of_int @ pls ) )). + +thf(fact_90_add__numeral__0,axiom,( + ! [A_4: int] : + ( ( plus_plus_int @ ( number_number_of_int @ pls ) @ A_4 ) + = A_4 ) )). + +thf(fact_91_add__numeral__0__right,axiom,( + ! [A_3: int] : + ( ( plus_plus_int @ A_3 @ ( number_number_of_int @ pls ) ) + = A_3 ) )). + +thf(fact_92_power__eq__0__iff__number__of,axiom,( + ! [A_2: int,W_3: int] : + ( ( ( power_power_int @ A_2 @ ( number_number_of_nat @ W_3 ) ) + = zero_zero_int ) + <=> ( ( A_2 = zero_zero_int ) + & ( ( number_number_of_nat @ W_3 ) + != zero_zero_nat ) ) ) )). + +thf(fact_93_power__eq__0__iff__number__of,axiom,( + ! [A_2: nat,W_3: int] : + ( ( ( power_power_nat @ A_2 @ ( number_number_of_nat @ W_3 ) ) + = zero_zero_nat ) + <=> ( ( A_2 = zero_zero_nat ) + & ( ( number_number_of_nat @ W_3 ) + != zero_zero_nat ) ) ) )). + +thf(fact_94_add__number__of__left,axiom,( + ! [V_2: int,W_2: int,Z_1: int] : + ( ( plus_plus_int @ ( number_number_of_int @ V_2 ) @ ( plus_plus_int @ ( number_number_of_int @ W_2 ) @ Z_1 ) ) + = ( plus_plus_int @ ( number_number_of_int @ ( plus_plus_int @ V_2 @ W_2 ) ) @ Z_1 ) ) )). + +thf(fact_95_add__number__of__eq,axiom,( + ! [V_1: int,W_1: int] : + ( ( plus_plus_int @ ( number_number_of_int @ V_1 ) @ ( number_number_of_int @ W_1 ) ) + = ( number_number_of_int @ ( plus_plus_int @ V_1 @ W_1 ) ) ) )). + +thf(fact_96_number__of__add,axiom,( + ! [V: int,W: int] : + ( ( number_number_of_int @ ( plus_plus_int @ V @ W ) ) + = ( plus_plus_int @ ( number_number_of_int @ V ) @ ( number_number_of_int @ W ) ) ) )). + +thf(fact_97_add__Bit1__Bit0,axiom,( + ! [K: int,L: int] : + ( ( plus_plus_int @ ( bit1 @ K ) @ ( bit0 @ L ) ) + = ( bit1 @ ( plus_plus_int @ K @ L ) ) ) )). + +thf(fact_98_add__Bit0__Bit1,axiom,( + ! [K: int,L: int] : + ( ( plus_plus_int @ ( bit0 @ K ) @ ( bit1 @ L ) ) + = ( bit1 @ ( plus_plus_int @ K @ L ) ) ) )). + +thf(fact_99_Bit1__def,axiom,( + ! [K: int] : + ( ( bit1 @ K ) + = ( plus_plus_int @ ( plus_plus_int @ one_one_int @ K ) @ K ) ) )). + +thf(fact_100_odd__nonzero,axiom,( + ! [Z: int] : + ( ( plus_plus_int @ ( plus_plus_int @ one_one_int @ Z ) @ Z ) + != zero_zero_int ) )). + +thf(fact_101_number__of__int,axiom,( + ! [N: nat] : + ( ( number_number_of_nat @ ( semiri1621563631at_int @ N ) ) + = ( semiri984289939at_nat @ N ) ) )). + +thf(fact_102_number__of__int,axiom,( + ! [N: nat] : + ( ( number_number_of_int @ ( semiri1621563631at_int @ N ) ) + = ( semiri1621563631at_int @ N ) ) )). + +thf(fact_103_zero__less__power2,axiom,( + ! [A_1: int] : + ( ( ord_less_int @ zero_zero_int @ ( power_power_int @ A_1 @ ( number_number_of_nat @ ( bit0 @ ( bit1 @ pls ) ) ) ) ) + <=> ( A_1 != zero_zero_int ) ) )). + +thf(fact_104_power2__less__0,axiom,( + ! [A: int] : + ~ ( ord_less_int @ ( power_power_int @ A @ ( number_number_of_nat @ ( bit0 @ ( bit1 @ pls ) ) ) ) @ zero_zero_int ) )). + +thf(fact_105_sum__power2__gt__zero__iff,axiom,( + ! [X: int,Y: int] : + ( ( ord_less_int @ zero_zero_int @ ( plus_plus_int @ ( power_power_int @ X @ ( number_number_of_nat @ ( bit0 @ ( bit1 @ pls ) ) ) ) @ ( power_power_int @ Y @ ( number_number_of_nat @ ( bit0 @ ( bit1 @ pls ) ) ) ) ) ) + <=> ( ( X != zero_zero_int ) + | ( Y != zero_zero_int ) ) ) )). + +%----Conjectures (1) +thf(conj_0,conjecture,( + ( power_power_int @ ( plus_plus_int @ one_one_int @ ( semiri1621563631at_int @ n ) ) @ ( number_number_of_nat @ ( bit0 @ ( bit1 @ pls ) ) ) ) + != zero_zero_int )). + +%------------------------------------------------------------------------------ diff --git a/test/regress/regress1/ho/SYO056^1.p b/test/regress/regress1/ho/SYO056^1.p new file mode 100644 index 000000000..a8a6bafca --- /dev/null +++ b/test/regress/regress1/ho/SYO056^1.p @@ -0,0 +1,100 @@ +% COMMAND-LINE: --uf-ho --finite-model-find +% EXPECT: % SZS status CounterSatisfiable for SYO056^1 + +%------------------------------------------------------------------------------ +% File : SYO056^1 : TPTP v7.2.0. Released v4.0.0. +% Domain : Logic Calculi (Quantified multimodal logic) +% Problem : Simple textbook example 13 +% Version : [Ben09] axioms. +% English : + +% Refs : [Gol92] Goldblatt (1992), Logics of Time and Computation +% : [Ben09] Benzmueller (2009), Email to Geoff Sutcliffe +% Source : [Ben09] +% Names : ex13.p [Ben09] + +% Status : CounterSatisfiable +% Rating : 0.25 v7.2.0, 0.33 v6.4.0, 0.00 v6.3.0, 0.33 v5.4.0, 0.00 v5.0.0, 0.67 v4.1.0, 0.50 v4.0.0 +% Syntax : Number of formulae : 64 ( 0 unit; 32 type; 31 defn) +% Number of atoms : 238 ( 36 equality; 137 variable) +% Maximal formula depth : 12 ( 6 average) +% Number of connectives : 138 ( 4 ~; 4 |; 8 &; 114 @) +% ( 0 <=>; 8 =>; 0 <=; 0 <~>) +% ( 0 ~|; 0 ~&) +% Number of type conns : 172 ( 172 >; 0 *; 0 +; 0 <<) +% Number of symbols : 36 ( 32 :; 0 =) +% Number of variables : 87 ( 3 sgn; 30 !; 6 ?; 51 ^) +% ( 87 :; 0 !>; 0 ?*) +% ( 0 @-; 0 @+) +% SPC : TH0_CSA_EQU_NAR + +% Comments : +%------------------------------------------------------------------------------ +%----Include embedding of quantified multimodal logic in simple type theory +%% include('Axioms/LCL013^0.ax'). +%------------------------------------------------------------------------------ +thf(mvalid_type,type,( + mvalid: ( $i > $o ) > $o )). + +thf(mvalid,definition, + ( mvalid + = ( ^ [Phi: $i > $o] : + ! [W: $i] : + ( Phi @ W ) ) )). + + +thf(mforall_prop_type,type,( + mforall_prop: ( ( $i > $o ) > $i > $o ) > $i > $o )). + +thf(mforall_prop,definition, + ( mforall_prop + = ( ^ [Phi: ( $i > $o ) > $i > $o,W: $i] : + ! [P: $i > $o] : + ( Phi @ P @ W ) ) )). + +thf(mnot_type,type,( + mnot: ( $i > $o ) > $i > $o )). + +thf(mnot,definition, + ( mnot + = ( ^ [Phi: $i > $o,W: $i] : + ~ ( Phi @ W ) ) )). + +thf(mor_type,type,( + mor: ( $i > $o ) > ( $i > $o ) > $i > $o )). + +thf(mor,definition, + ( mor + = ( ^ [Phi: $i > $o,Psi: $i > $o,W: $i] : + ( ( Phi @ W ) + | ( Psi @ W ) ) ) )). + +thf(mimplies_type,type,( + mimplies: ( $i > $o ) > ( $i > $o ) > $i > $o )). + +thf(mimplies,definition, + ( mimplies + = ( ^ [Phi: $i > $o,Psi: $i > $o] : + ( mor @ ( mnot @ Phi ) @ Psi ) ) )). + +thf(mbox_type,type,( + mbox: ( $i > $i > $o ) > ( $i > $o ) > $i > $o )). + +thf(mbox,definition, + ( mbox + = ( ^ [R: $i > $i > $o,Phi: $i > $o,W: $i] : + ! [V: $i] : + ( ~ ( R @ W @ V ) + | ( Phi @ V ) ) ) )). + + +thf(conj,conjecture,( + ! [R: $i > $i > $o] : + ( mvalid + @ ( mforall_prop + @ ^ [A: $i > $o] : + ( mforall_prop + @ ^ [B: $i > $o] : + ( mimplies @ ( mbox @ R @ ( mor @ A @ B ) ) @ ( mor @ ( mbox @ R @ A ) @ ( mbox @ R @ B ) ) ) ) ) ) )). + +%------------------------------------------------------------------------------ diff --git a/test/regress/regress1/ho/auth0068.smt2 b/test/regress/regress1/ho/auth0068.smt2 deleted file mode 100644 index eb0bb5d36..000000000 --- a/test/regress/regress1/ho/auth0068.smt2 +++ /dev/null @@ -1,491 +0,0 @@ -; COMMAND-LINE: --uf-ho -; EXPECT: unsat -(set-logic ALL) -(set-info :status unsat) -(declare-sort Msg$ 0) -(declare-sort Nat$ 0) -(declare-sort Agent$ 0) -(declare-sort Event$ 0) -(declare-sort Msg_set$ 0) -(declare-sort Msg_list$ 0) -(declare-sort Agent_set$ 0) -(declare-sort Event_set$ 0) -(declare-sort Agent_list$ 0) -(declare-sort Event_list$ 0) -(declare-sort Event_option$ 0) -(declare-sort Msg_list_set$ 0) -(declare-sort Agent_list_set$ 0) -(declare-sort Event_list_set$ 0) -(declare-sort Event_list_list$ 0) -(declare-fun p$ () (-> Event$ Bool)) -(declare-fun uu$ ((-> Msg$ Bool) (-> Msg$ Bool) Msg$) Bool) -(declare-fun bad$ () Agent_set$) -(declare-fun nil$ () Event_list$) -(declare-fun set$ (Event_list$) Event_set$) -(declare-fun spy$ () Agent$) -(declare-fun uua$ (Event_set$ (-> Event$ Bool) Event$) Bool) -(declare-fun uub$ (Agent_set$ (-> Agent$ Bool) Agent$) Bool) -(declare-fun uuc$ (Msg_set$ (-> Msg$ Bool) Msg$) Bool) -(declare-fun uud$ (Event_set$ Event$) Bool) -(declare-fun uue$ (Agent_set$ Agent$) Bool) -(declare-fun uuf$ (Msg_set$ Msg$) Bool) -(declare-fun uug$ (Event$ Event_list$) Bool) -(declare-fun uuh$ (Event$ Event_list$) Bool) -(declare-fun uui$ ((-> Event$ Bool) Event$ Event$) Bool) -(declare-fun uuj$ (Event_list_set$ Event_list$ Event$) Bool) -(declare-fun uuk$ (Msg$ (-> Msg$ Bool) Msg$) Bool) -(declare-fun uul$ (Msg$ Msg_set$ Msg$) Bool) -(declare-fun uum$ (Event$ Event_set$ Event$) Bool) -(declare-fun uun$ (Agent$ Agent_set$ Agent$) Bool) -(declare-fun uuo$ (Event_list$ Agent$ Agent$ Msg$) Msg_set$) -(declare-fun uup$ (Event_list$ Agent$ Msg$) Msg_set$) -(declare-fun uuq$ (Event_list$ Agent$ Msg$) Msg_set$) -(declare-fun uur$ (Agent$ Event_list$ Agent$ Agent$ Msg$) Msg_set$) -(declare-fun uus$ (Agent$ Event_list$ Agent$ Msg$) Msg_set$) -(declare-fun bind$ (Event_list$ (-> Event$ Event_list$)) Event_list$) -(declare-fun cons$ (Event$ Event_list$) Event_list$) -(declare-fun gets$ (Agent$ Msg$) Event$) -(declare-fun maps$ ((-> Event$ Event_list$)) (-> Event_list$ Event_list$)) -(declare-fun nil$a () Event_list_list$) -(declare-fun nil$b () Msg_list$) -(declare-fun nil$c () Agent_list$) -(declare-fun null$ (Event_list$) Bool) -(declare-fun says$ (Agent$ Agent$ Msg$) Event$) -(declare-fun set$a (Msg_list$) Msg_set$) -(declare-fun set$b (Agent_list$) Agent_set$) -(declare-fun succ$ (Event_list_set$ Event_list$) Event_set$) -(declare-fun cons$a (Event_list$ Event_list_list$) Event_list_list$) -(declare-fun cons$b (Msg$ Msg_list$) Msg_list$) -(declare-fun cons$c (Agent$ Agent_list$) Agent_list$) -(declare-fun knows$ (Agent$ Event_list$) Msg_set$) -(declare-fun notes$ (Agent$ Msg$) Event$) -(declare-fun succ$a (Msg_list_set$ Msg_list$) Msg_set$) -(declare-fun succ$b (Agent_list_set$ Agent_list$) Agent_set$) -(declare-fun append$ (Event_list$ Event_list$) Event_list$) -(declare-fun insert$ (Msg$ Msg_set$) Msg_set$) -(declare-fun member$ (Agent$ Agent_set$) Bool) -(declare-fun splice$ (Event_list$) (-> Event_list$ Event_list$)) -(declare-fun append$a (Msg_list$ Msg_list$) Msg_list$) -(declare-fun append$b (Agent_list$ Agent_list$) Agent_list$) -(declare-fun collect$ ((-> Msg$ Bool)) Msg_set$) -(declare-fun insert$a (Event$) (-> Event_list$ Event_list$)) -(declare-fun insert$b (Event$ Event_set$) Event_set$) -(declare-fun insert$c (Agent$ Agent_set$) Agent_set$) -(declare-fun insert$d (Msg$ Msg_list$) Msg_list$) -(declare-fun insert$e (Agent$ Agent_list$) Agent_list$) -(declare-fun less_eq$ (Msg_set$ Msg_set$) Bool) -(declare-fun list_ex$ ((-> Event$ Bool)) (-> Event_list$ Bool)) -(declare-fun member$a (Msg$ Msg_set$) Bool) -(declare-fun member$b (Event$ Event_set$) Bool) -(declare-fun member$c (Event_list$ Event_list_set$) Bool) -(declare-fun member$d (Event_list$ Event$) Bool) -(declare-fun member$e (Msg_list$ Msg_list_set$) Bool) -(declare-fun member$f (Agent_list$ Agent_list_set$) Bool) -(declare-fun member$g (Msg_list$ Msg$) Bool) -(declare-fun member$h (Agent_list$ Agent$) Bool) -(declare-fun rotate1$ (Event_list$) Event_list$) -(declare-fun subseqs$ (Event_list$) Event_list_list$) -(declare-fun antimono$ ((-> Msg_set$ Msg_set$)) Bool) -(declare-fun collect$a ((-> Event$ Bool)) Event_set$) -(declare-fun collect$b ((-> Agent$ Bool)) Agent_set$) -(declare-fun greatest$ ((-> Msg_set$ Bool)) Msg_set$) -(declare-fun less_eq$a (Event_set$ Event_set$) Bool) -(declare-fun less_eq$b (Agent_set$ Agent_set$) Bool) -(declare-fun less_eq$c ((-> Event$ Bool) (-> Event$ Bool)) Bool) -(declare-fun less_eq$d ((-> Agent$ Bool) (-> Agent$ Bool)) Bool) -(declare-fun less_eq$e ((-> Msg$ Bool) (-> Msg$ Bool)) Bool) -(declare-fun less_eq$f ((-> Bool Msg_set$) (-> Bool Msg_set$)) Bool) -(declare-fun list_all$ ((-> Event$ Bool) Event_list$) Bool) -(declare-fun list_ex$a ((-> Msg$ Bool) Msg_list$) Bool) -(declare-fun list_ex$b ((-> Agent$ Bool) Agent_list$) Bool) -(declare-fun list_ex1$ ((-> Event$ Bool)) (-> Event_list$ Bool)) -(declare-fun case_list$ (Bool (-> Event$ (-> Event_list$ Bool)) Event_list$) Bool) -(declare-fun initState$ (Agent$) Msg_set$) -(declare-fun list_all$a ((-> Msg$ Bool) Msg_list$) Bool) -(declare-fun list_all$b ((-> Agent$ Bool) Agent_list$) Bool) -(declare-fun list_ex1$a ((-> Msg$ Bool) Msg_list$) Bool) -(declare-fun list_ex1$b ((-> Agent$ Bool) Agent_list$) Bool) -(declare-fun takeWhile$ ((-> Event$ Bool) Event_list$) Event_list$) -(declare-fun case_event$ ((-> Agent$ (-> Agent$ (-> Msg$ Msg_set$))) (-> Agent$ (-> Msg$ Msg_set$)) (-> Agent$ (-> Msg$ Msg_set$)) Event$) Msg_set$) -(declare-fun gen_length$ (Nat$) (-> Event_list$ Nat$)) -(declare-fun map_filter$ ((-> Event$ Event_option$)) (-> Event_list$ Event_list$)) -(declare-fun takeWhile$a ((-> Msg$ Bool) Msg_list$) Msg_list$) -(declare-fun takeWhile$b ((-> Agent$ Bool) Agent_list$) Agent_list$) -(declare-fun product_lists$ (Event_list_list$) Event_list_list$) -(assert (! (forall ((?v0 Agent_set$) (?v1 Agent$)) (! (= (uue$ ?v0 ?v1) (member$ ?v1 ?v0)) :pattern ((uue$ ?v0 ?v1)))) :named a0)) -(assert (! (forall ((?v0 Msg_set$) (?v1 Msg$)) (! (= (uuf$ ?v0 ?v1) (member$a ?v1 ?v0)) :pattern ((uuf$ ?v0 ?v1)))) :named a1)) -(assert (! (forall ((?v0 Event_set$) (?v1 Event$)) (! (= (uud$ ?v0 ?v1) (member$b ?v1 ?v0)) :pattern ((uud$ ?v0 ?v1)))) :named a2)) -(assert (! (forall ((?v0 Event_list$) (?v1 Agent$) (?v2 Msg$)) (! (= (uuq$ ?v0 ?v1 ?v2) (ite (member$ ?v1 bad$) (insert$ ?v2 (knows$ spy$ ?v0)) (knows$ spy$ ?v0))) :pattern ((uuq$ ?v0 ?v1 ?v2)))) :named a3)) -(assert (! (forall ((?v0 Event_list_set$) (?v1 Event_list$) (?v2 Event$)) (! (= (uuj$ ?v0 ?v1 ?v2) (member$c (append$ ?v1 (cons$ ?v2 nil$)) ?v0)) :pattern ((uuj$ ?v0 ?v1 ?v2)))) :named a4)) -(assert (! (forall ((?v0 Agent$) (?v1 Agent_set$) (?v2 Agent$)) (! (= (uun$ ?v0 ?v1 ?v2) (or (= ?v2 ?v0) (member$ ?v2 ?v1))) :pattern ((uun$ ?v0 ?v1 ?v2)))) :named a5)) -(assert (! (forall ((?v0 Msg$) (?v1 Msg_set$) (?v2 Msg$)) (! (= (uul$ ?v0 ?v1 ?v2) (or (= ?v2 ?v0) (member$a ?v2 ?v1))) :pattern ((uul$ ?v0 ?v1 ?v2)))) :named a6)) -(assert (! (forall ((?v0 Event$) (?v1 Event_set$) (?v2 Event$)) (! (= (uum$ ?v0 ?v1 ?v2) (or (= ?v2 ?v0) (member$b ?v2 ?v1))) :pattern ((uum$ ?v0 ?v1 ?v2)))) :named a7)) -(assert (! (forall ((?v0 Agent_set$) (?v1 (-> Agent$ Bool)) (?v2 Agent$)) (! (= (uub$ ?v0 ?v1 ?v2) (and (member$ ?v2 ?v0) (?v1 ?v2))) :pattern ((uub$ ?v0 ?v1 ?v2)))) :named a8)) -(assert (! (forall ((?v0 Msg_set$) (?v1 (-> Msg$ Bool)) (?v2 Msg$)) (! (= (uuc$ ?v0 ?v1 ?v2) (and (member$a ?v2 ?v0) (?v1 ?v2))) :pattern ((uuc$ ?v0 ?v1 ?v2)))) :named a9)) -(assert (! (forall ((?v0 Event_set$) (?v1 (-> Event$ Bool)) (?v2 Event$)) (! (= (uua$ ?v0 ?v1 ?v2) (and (member$b ?v2 ?v0) (?v1 ?v2))) :pattern ((uua$ ?v0 ?v1 ?v2)))) :named a10)) -(assert (! (forall ((?v0 (-> Msg$ Bool)) (?v1 (-> Msg$ Bool)) (?v2 Msg$)) (! (= (uu$ ?v0 ?v1 ?v2) (and (?v0 ?v2) (?v1 ?v2))) :pattern ((uu$ ?v0 ?v1 ?v2)))) :named a11)) -(assert (! (forall ((?v0 Msg$) (?v1 (-> Msg$ Bool)) (?v2 Msg$)) (! (= (uuk$ ?v0 ?v1 ?v2) (=> (not (= ?v2 ?v0)) (?v1 ?v2))) :pattern ((uuk$ ?v0 ?v1 ?v2)))) :named a12)) -(assert (! (forall ((?v0 (-> Event$ Bool)) (?v1 Event$) (?v2 Event$)) (! (= (uui$ ?v0 ?v1 ?v2) (or (not (?v0 ?v2)) (= ?v1 ?v2))) :pattern ((uui$ ?v0 ?v1 ?v2)))) :named a13)) -(assert (! (forall ((?v0 Event_list$) (?v1 Agent$) (?v2 Msg$)) (! (= (uup$ ?v0 ?v1 ?v2) (knows$ spy$ ?v0)) :pattern ((uup$ ?v0 ?v1 ?v2)))) :named a14)) -(assert (! (forall ((?v0 Agent$) (?v1 Event_list$) (?v2 Agent$) (?v3 Msg$)) (! (= (uus$ ?v0 ?v1 ?v2 ?v3) (ite (= ?v2 ?v0) (insert$ ?v3 (knows$ ?v0 ?v1)) (knows$ ?v0 ?v1))) :pattern ((uus$ ?v0 ?v1 ?v2 ?v3)))) :named a15)) -(assert (! (forall ((?v0 Event_list$) (?v1 Agent$) (?v2 Agent$) (?v3 Msg$)) (! (= (uuo$ ?v0 ?v1 ?v2 ?v3) (insert$ ?v3 (knows$ spy$ ?v0))) :pattern ((uuo$ ?v0 ?v1 ?v2 ?v3)))) :named a16)) -(assert (! (forall ((?v0 Agent$) (?v1 Event_list$) (?v2 Agent$) (?v3 Agent$) (?v4 Msg$)) (! (= (uur$ ?v0 ?v1 ?v2 ?v3 ?v4) (ite (= ?v2 ?v0) (insert$ ?v4 (knows$ ?v0 ?v1)) (knows$ ?v0 ?v1))) :pattern ((uur$ ?v0 ?v1 ?v2 ?v3 ?v4)))) :named a17)) -(assert (! (forall ((?v0 Event$) (?v1 Event_list$)) (! (= (uug$ ?v0 ?v1) false) :pattern ((uug$ ?v0 ?v1)))) :named a18)) -(assert (! (forall ((?v0 Event$) (?v1 Event_list$)) (! (= (uuh$ ?v0 ?v1) true) :pattern ((uuh$ ?v0 ?v1)))) :named a19)) -(assert (! (not (less_eq$ (knows$ spy$ (takeWhile$ p$ nil$)) (knows$ spy$ nil$))) :named a20)) -(assert (! (forall ((?v0 (-> Event$ Bool)) (?v1 Event_list$)) (= (takeWhile$ ?v0 (takeWhile$ ?v0 ?v1)) (takeWhile$ ?v0 ?v1))) :named a21)) -(assert (! (forall ((?v0 Event_set$) (?v1 Event_set$)) (=> (forall ((?v2 Event$)) (=> (member$b ?v2 ?v0) (member$b ?v2 ?v1))) (less_eq$a ?v0 ?v1))) :named a22)) -(assert (! (forall ((?v0 Agent_set$) (?v1 Agent_set$)) (=> (forall ((?v2 Agent$)) (=> (member$ ?v2 ?v0) (member$ ?v2 ?v1))) (less_eq$b ?v0 ?v1))) :named a23)) -(assert (! (forall ((?v0 Msg_set$) (?v1 Msg_set$)) (=> (forall ((?v2 Msg$)) (=> (member$a ?v2 ?v0) (member$a ?v2 ?v1))) (less_eq$ ?v0 ?v1))) :named a24)) -(assert (! (forall ((?v0 Msg_set$) (?v1 Msg_set$)) (=> (and (less_eq$ ?v0 ?v1) (less_eq$ ?v1 ?v0)) (= ?v0 ?v1))) :named a25)) -(assert (! (forall ((?v0 Msg_set$)) (less_eq$ ?v0 ?v0)) :named a26)) -(assert (! (forall ((?v0 (-> Event$ Bool))) (! (= (takeWhile$ ?v0 nil$) nil$) :pattern ((takeWhile$ ?v0)))) :named a27)) -(assert (! (forall ((?v0 Msg_set$) (?v1 (-> Msg$ Bool)) (?v2 (-> Msg$ Bool))) (= (less_eq$ ?v0 (collect$ (uu$ ?v1 ?v2))) (and (less_eq$ ?v0 (collect$ ?v1)) (less_eq$ ?v0 (collect$ ?v2))))) :named a28)) -(assert (! (forall ((?v0 Event$) (?v1 Event_set$) (?v2 Event_set$) (?v3 (-> Event$ Bool))) (=> (and (member$b ?v0 ?v1) (less_eq$a ?v1 (collect$a (uua$ ?v2 ?v3)))) (?v3 ?v0))) :named a29)) -(assert (! (forall ((?v0 Agent$) (?v1 Agent_set$) (?v2 Agent_set$) (?v3 (-> Agent$ Bool))) (=> (and (member$ ?v0 ?v1) (less_eq$b ?v1 (collect$b (uub$ ?v2 ?v3)))) (?v3 ?v0))) :named a30)) -(assert (! (forall ((?v0 Msg$) (?v1 Msg_set$) (?v2 Msg_set$) (?v3 (-> Msg$ Bool))) (=> (and (member$a ?v0 ?v1) (less_eq$ ?v1 (collect$ (uuc$ ?v2 ?v3)))) (?v3 ?v0))) :named a31)) -(assert (! (forall ((?v0 Event_set$) (?v1 (-> Event$ Bool))) (less_eq$a (collect$a (uua$ ?v0 ?v1)) ?v0)) :named a32)) -(assert (! (forall ((?v0 Agent_set$) (?v1 (-> Agent$ Bool))) (less_eq$b (collect$b (uub$ ?v0 ?v1)) ?v0)) :named a33)) -(assert (! (forall ((?v0 Msg_set$) (?v1 (-> Msg$ Bool))) (less_eq$ (collect$ (uuc$ ?v0 ?v1)) ?v0)) :named a34)) -(assert (! (forall ((?v0 Event_set$) (?v1 Event_set$) (?v2 (-> Event$ Bool)) (?v3 (-> Event$ Bool))) (=> (and (less_eq$a ?v0 ?v1) (forall ((?v4 Event$)) (=> (and (member$b ?v4 ?v0) (?v2 ?v4)) (?v3 ?v4)))) (less_eq$a (collect$a (uua$ ?v0 ?v2)) (collect$a (uua$ ?v1 ?v3))))) :named a35)) -(assert (! (forall ((?v0 Agent_set$) (?v1 Agent_set$) (?v2 (-> Agent$ Bool)) (?v3 (-> Agent$ Bool))) (=> (and (less_eq$b ?v0 ?v1) (forall ((?v4 Agent$)) (=> (and (member$ ?v4 ?v0) (?v2 ?v4)) (?v3 ?v4)))) (less_eq$b (collect$b (uub$ ?v0 ?v2)) (collect$b (uub$ ?v1 ?v3))))) :named a36)) -(assert (! (forall ((?v0 Msg_set$) (?v1 Msg_set$) (?v2 (-> Msg$ Bool)) (?v3 (-> Msg$ Bool))) (=> (and (less_eq$ ?v0 ?v1) (forall ((?v4 Msg$)) (=> (and (member$a ?v4 ?v0) (?v2 ?v4)) (?v3 ?v4)))) (less_eq$ (collect$ (uuc$ ?v0 ?v2)) (collect$ (uuc$ ?v1 ?v3))))) :named a37)) -(assert (! (forall ((?v0 Event_set$) (?v1 Event_set$) (?v2 (-> Event$ Bool))) (=> (less_eq$a ?v0 ?v1) (= (less_eq$a ?v0 (collect$a (uua$ ?v1 ?v2))) (forall ((?v3 Event$)) (=> (member$b ?v3 ?v0) (?v2 ?v3)))))) :named a38)) -(assert (! (forall ((?v0 Agent_set$) (?v1 Agent_set$) (?v2 (-> Agent$ Bool))) (=> (less_eq$b ?v0 ?v1) (= (less_eq$b ?v0 (collect$b (uub$ ?v1 ?v2))) (forall ((?v3 Agent$)) (=> (member$ ?v3 ?v0) (?v2 ?v3)))))) :named a39)) -(assert (! (forall ((?v0 Msg_set$) (?v1 Msg_set$) (?v2 (-> Msg$ Bool))) (=> (less_eq$ ?v0 ?v1) (= (less_eq$ ?v0 (collect$ (uuc$ ?v1 ?v2))) (forall ((?v3 Msg$)) (=> (member$a ?v3 ?v0) (?v2 ?v3)))))) :named a40)) -(assert (! (forall ((?v0 Event_list$)) (=> (and (=> (= ?v0 nil$) false) (=> (not (= ?v0 nil$)) false)) false)) :named a41)) -(assert (! (forall ((?v0 Event_set$) (?v1 Event_set$) (?v2 Event$)) (=> (and (less_eq$a ?v0 ?v1) (member$b ?v2 ?v0)) (member$b ?v2 ?v1))) :named a42)) -(assert (! (forall ((?v0 Agent_set$) (?v1 Agent_set$) (?v2 Agent$)) (=> (and (less_eq$b ?v0 ?v1) (member$ ?v2 ?v0)) (member$ ?v2 ?v1))) :named a43)) -(assert (! (forall ((?v0 Msg_set$) (?v1 Msg_set$) (?v2 Msg$)) (=> (and (less_eq$ ?v0 ?v1) (member$a ?v2 ?v0)) (member$a ?v2 ?v1))) :named a44)) -(assert (! (forall ((?v0 Event_set$) (?v1 Event_set$)) (= (less_eq$a ?v0 ?v1) (less_eq$c (uud$ ?v0) (uud$ ?v1)))) :named a45)) -(assert (! (forall ((?v0 Agent_set$) (?v1 Agent_set$)) (= (less_eq$b ?v0 ?v1) (less_eq$d (uue$ ?v0) (uue$ ?v1)))) :named a46)) -(assert (! (forall ((?v0 Msg_set$) (?v1 Msg_set$)) (= (less_eq$ ?v0 ?v1) (less_eq$e (uuf$ ?v0) (uuf$ ?v1)))) :named a47)) -(assert (! (forall ((?v0 Msg_set$) (?v1 Msg_set$)) (=> (and (less_eq$ ?v0 ?v1) (less_eq$ ?v1 ?v0)) (= ?v1 ?v0))) :named a48)) -(assert (! (forall ((?v0 Msg_set$) (?v1 Msg_set$) (?v2 Msg_set$)) (=> (and (less_eq$ ?v0 ?v1) (less_eq$ ?v2 ?v0)) (less_eq$ ?v2 ?v1))) :named a49)) -(assert (! (forall ((?v0 Msg_set$)) (less_eq$ ?v0 ?v0)) :named a50)) -(assert (! (forall ((?v0 Msg_set$) (?v1 Msg_set$) (?v2 Msg_set$)) (=> (and (less_eq$ ?v0 ?v1) (less_eq$ ?v1 ?v2)) (less_eq$ ?v0 ?v2))) :named a51)) -(assert (! (forall ((?v0 Msg_set$) (?v1 Msg_set$)) (=> (and (less_eq$ ?v0 ?v1) (less_eq$ ?v1 ?v0)) (= ?v0 ?v1))) :named a52)) -(assert (! (forall ((?v0 Msg_set$) (?v1 Msg_set$) (?v2 Msg_set$)) (=> (and (less_eq$ ?v0 ?v1) (= ?v1 ?v2)) (less_eq$ ?v0 ?v2))) :named a53)) -(assert (! (forall ((?v0 Msg_set$) (?v1 Msg_set$) (?v2 Msg_set$)) (=> (and (= ?v0 ?v1) (less_eq$ ?v1 ?v2)) (less_eq$ ?v0 ?v2))) :named a54)) -(assert (! (forall ((?v0 Msg_set$) (?v1 Msg_set$)) (! (=> (less_eq$ ?v0 ?v1) (= (less_eq$ ?v1 ?v0) (= ?v1 ?v0))) :pattern ((less_eq$ ?v1 ?v0)))) :named a55)) -(assert (! (forall ((?v0 Msg_set$) (?v1 Msg_set$) (?v2 Msg_set$)) (=> (and (less_eq$ ?v0 ?v1) (less_eq$ ?v1 ?v2)) (less_eq$ ?v0 ?v2))) :named a56)) -(assert (! (forall ((?v0 Msg_set$) (?v1 Msg_set$)) (=> (= ?v0 ?v1) (less_eq$ ?v0 ?v1))) :named a57)) -(assert (! (forall ((?v0 Msg_set$) (?v1 Msg_set$)) (=> (and (less_eq$ ?v0 ?v1) (less_eq$ ?v1 ?v0)) (= ?v0 ?v1))) :named a58)) -(assert (! (forall ((?v0 Msg_set$) (?v1 Msg_set$)) (= (= ?v0 ?v1) (and (less_eq$ ?v0 ?v1) (less_eq$ ?v1 ?v0)))) :named a59)) -(assert (! (forall ((?v0 Msg_set$) (?v1 Msg_set$) (?v2 (-> Msg_set$ Msg_set$)) (?v3 Msg_set$)) (=> (and (less_eq$ ?v0 ?v1) (and (= (?v2 ?v1) ?v3) (forall ((?v4 Msg_set$) (?v5 Msg_set$)) (=> (less_eq$ ?v4 ?v5) (less_eq$ (?v2 ?v4) (?v2 ?v5)))))) (less_eq$ (?v2 ?v0) ?v3))) :named a60)) -(assert (! (forall ((?v0 Msg_set$) (?v1 (-> Msg_set$ Msg_set$)) (?v2 Msg_set$) (?v3 Msg_set$)) (=> (and (= ?v0 (?v1 ?v2)) (and (less_eq$ ?v2 ?v3) (forall ((?v4 Msg_set$) (?v5 Msg_set$)) (=> (less_eq$ ?v4 ?v5) (less_eq$ (?v1 ?v4) (?v1 ?v5)))))) (less_eq$ ?v0 (?v1 ?v3)))) :named a61)) -(assert (! (forall ((?v0 Msg_set$) (?v1 Msg_set$) (?v2 (-> Msg_set$ Msg_set$)) (?v3 Msg_set$)) (=> (and (less_eq$ ?v0 ?v1) (and (less_eq$ (?v2 ?v1) ?v3) (forall ((?v4 Msg_set$) (?v5 Msg_set$)) (=> (less_eq$ ?v4 ?v5) (less_eq$ (?v2 ?v4) (?v2 ?v5)))))) (less_eq$ (?v2 ?v0) ?v3))) :named a62)) -(assert (! (forall ((?v0 Msg_set$) (?v1 (-> Msg_set$ Msg_set$)) (?v2 Msg_set$) (?v3 Msg_set$)) (=> (and (less_eq$ ?v0 (?v1 ?v2)) (and (less_eq$ ?v2 ?v3) (forall ((?v4 Msg_set$) (?v5 Msg_set$)) (=> (less_eq$ ?v4 ?v5) (less_eq$ (?v1 ?v4) (?v1 ?v5)))))) (less_eq$ ?v0 (?v1 ?v3)))) :named a63)) -(assert (! (forall ((?v0 (-> Msg$ Bool)) (?v1 (-> Msg$ Bool))) (= (less_eq$ (collect$ ?v0) (collect$ ?v1)) (forall ((?v2 Msg$)) (=> (?v0 ?v2) (?v1 ?v2))))) :named a64)) -(assert (! (forall ((?v0 Event_set$) (?v1 Event_set$) (?v2 Event$)) (=> (and (less_eq$a ?v0 ?v1) (not (member$b ?v2 ?v1))) (not (member$b ?v2 ?v0)))) :named a65)) -(assert (! (forall ((?v0 Agent_set$) (?v1 Agent_set$) (?v2 Agent$)) (=> (and (less_eq$b ?v0 ?v1) (not (member$ ?v2 ?v1))) (not (member$ ?v2 ?v0)))) :named a66)) -(assert (! (forall ((?v0 Msg_set$) (?v1 Msg_set$) (?v2 Msg$)) (=> (and (less_eq$ ?v0 ?v1) (not (member$a ?v2 ?v1))) (not (member$a ?v2 ?v0)))) :named a67)) -(assert (! (forall ((?v0 Msg_set$) (?v1 Msg_set$)) (= (= ?v0 ?v1) (and (less_eq$ ?v0 ?v1) (less_eq$ ?v1 ?v0)))) :named a68)) -(assert (! (forall ((?v0 Msg_set$) (?v1 Msg_set$) (?v2 Msg_set$)) (=> (and (less_eq$ ?v0 ?v1) (less_eq$ ?v1 ?v2)) (less_eq$ ?v0 ?v2))) :named a69)) -(assert (! (forall ((?v0 (-> Msg$ Bool)) (?v1 (-> Msg$ Bool))) (=> (forall ((?v2 Msg$)) (=> (?v0 ?v2) (?v1 ?v2))) (less_eq$ (collect$ ?v0) (collect$ ?v1)))) :named a70)) -(assert (! (forall ((?v0 Msg_set$)) (less_eq$ ?v0 ?v0)) :named a71)) -(assert (! (forall ((?v0 Event$) (?v1 Event_set$) (?v2 Event_set$)) (=> (and (member$b ?v0 ?v1) (less_eq$a ?v1 ?v2)) (member$b ?v0 ?v2))) :named a72)) -(assert (! (forall ((?v0 Agent$) (?v1 Agent_set$) (?v2 Agent_set$)) (=> (and (member$ ?v0 ?v1) (less_eq$b ?v1 ?v2)) (member$ ?v0 ?v2))) :named a73)) -(assert (! (forall ((?v0 Msg$) (?v1 Msg_set$) (?v2 Msg_set$)) (=> (and (member$a ?v0 ?v1) (less_eq$ ?v1 ?v2)) (member$a ?v0 ?v2))) :named a74)) -(assert (! (forall ((?v0 Event_set$) (?v1 Event_set$)) (= (less_eq$a ?v0 ?v1) (forall ((?v2 Event$)) (=> (member$b ?v2 ?v0) (member$b ?v2 ?v1))))) :named a75)) -(assert (! (forall ((?v0 Agent_set$) (?v1 Agent_set$)) (= (less_eq$b ?v0 ?v1) (forall ((?v2 Agent$)) (=> (member$ ?v2 ?v0) (member$ ?v2 ?v1))))) :named a76)) -(assert (! (forall ((?v0 Msg_set$) (?v1 Msg_set$)) (= (less_eq$ ?v0 ?v1) (forall ((?v2 Msg$)) (=> (member$a ?v2 ?v0) (member$a ?v2 ?v1))))) :named a77)) -(assert (! (forall ((?v0 Msg$) (?v1 (-> Msg$ Bool))) (= (member$a ?v0 (collect$ ?v1)) (?v1 ?v0))) :named a78)) -(assert (! (forall ((?v0 Event$) (?v1 (-> Event$ Bool))) (= (member$b ?v0 (collect$a ?v1)) (?v1 ?v0))) :named a79)) -(assert (! (forall ((?v0 Agent$) (?v1 (-> Agent$ Bool))) (= (member$ ?v0 (collect$b ?v1)) (?v1 ?v0))) :named a80)) -(assert (! (forall ((?v0 Msg_set$)) (= (collect$ (uuf$ ?v0)) ?v0)) :named a81)) -(assert (! (forall ((?v0 Event_set$)) (= (collect$a (uud$ ?v0)) ?v0)) :named a82)) -(assert (! (forall ((?v0 Agent_set$)) (= (collect$b (uue$ ?v0)) ?v0)) :named a83)) -(assert (! (forall ((?v0 Event$) (?v1 Event_set$) (?v2 Event_set$)) (=> (and (member$b ?v0 ?v1) (less_eq$a ?v1 ?v2)) (member$b ?v0 ?v2))) :named a84)) -(assert (! (forall ((?v0 Agent$) (?v1 Agent_set$) (?v2 Agent_set$)) (=> (and (member$ ?v0 ?v1) (less_eq$b ?v1 ?v2)) (member$ ?v0 ?v2))) :named a85)) -(assert (! (forall ((?v0 Msg$) (?v1 Msg_set$) (?v2 Msg_set$)) (=> (and (member$a ?v0 ?v1) (less_eq$ ?v1 ?v2)) (member$a ?v0 ?v2))) :named a86)) -(assert (! (forall ((?v0 Msg_set$) (?v1 Msg_set$)) (=> (= ?v0 ?v1) (less_eq$ ?v1 ?v0))) :named a87)) -(assert (! (forall ((?v0 Msg_set$) (?v1 Msg_set$)) (=> (= ?v0 ?v1) (less_eq$ ?v0 ?v1))) :named a88)) -(assert (! (forall ((?v0 Event_set$) (?v1 Event_set$)) (= (less_eq$a ?v0 ?v1) (forall ((?v2 Event$)) (=> (member$b ?v2 ?v0) (member$b ?v2 ?v1))))) :named a89)) -(assert (! (forall ((?v0 Agent_set$) (?v1 Agent_set$)) (= (less_eq$b ?v0 ?v1) (forall ((?v2 Agent$)) (=> (member$ ?v2 ?v0) (member$ ?v2 ?v1))))) :named a90)) -(assert (! (forall ((?v0 Msg_set$) (?v1 Msg_set$)) (= (less_eq$ ?v0 ?v1) (forall ((?v2 Msg$)) (=> (member$a ?v2 ?v0) (member$a ?v2 ?v1))))) :named a91)) -(assert (! (forall ((?v0 Msg_set$) (?v1 Msg_set$)) (=> (and (= ?v0 ?v1) (=> (and (less_eq$ ?v0 ?v1) (less_eq$ ?v1 ?v0)) false)) false)) :named a92)) -(assert (! (forall ((?v0 Event_set$) (?v1 Event_set$) (?v2 Event$)) (=> (and (less_eq$a ?v0 ?v1) (and (=> (not (member$b ?v2 ?v0)) false) (=> (member$b ?v2 ?v1) false))) false)) :named a93)) -(assert (! (forall ((?v0 Agent_set$) (?v1 Agent_set$) (?v2 Agent$)) (=> (and (less_eq$b ?v0 ?v1) (and (=> (not (member$ ?v2 ?v0)) false) (=> (member$ ?v2 ?v1) false))) false)) :named a94)) -(assert (! (forall ((?v0 Msg_set$) (?v1 Msg_set$) (?v2 Msg$)) (=> (and (less_eq$ ?v0 ?v1) (and (=> (not (member$a ?v2 ?v0)) false) (=> (member$a ?v2 ?v1) false))) false)) :named a95)) -(assert (! (forall ((?v0 Event_set$) (?v1 Event_set$) (?v2 Event$)) (=> (and (less_eq$a ?v0 ?v1) (member$b ?v2 ?v0)) (member$b ?v2 ?v1))) :named a96)) -(assert (! (forall ((?v0 Agent_set$) (?v1 Agent_set$) (?v2 Agent$)) (=> (and (less_eq$b ?v0 ?v1) (member$ ?v2 ?v0)) (member$ ?v2 ?v1))) :named a97)) -(assert (! (forall ((?v0 Msg_set$) (?v1 Msg_set$) (?v2 Msg$)) (=> (and (less_eq$ ?v0 ?v1) (member$a ?v2 ?v0)) (member$a ?v2 ?v1))) :named a98)) -(assert (! (forall ((?v0 Event_set$) (?v1 Event_set$) (?v2 Event$)) (=> (and (less_eq$a ?v0 ?v1) (member$b ?v2 ?v0)) (member$b ?v2 ?v1))) :named a99)) -(assert (! (forall ((?v0 Agent_set$) (?v1 Agent_set$) (?v2 Agent$)) (=> (and (less_eq$b ?v0 ?v1) (member$ ?v2 ?v0)) (member$ ?v2 ?v1))) :named a100)) -(assert (! (forall ((?v0 Msg_set$) (?v1 Msg_set$) (?v2 Msg$)) (=> (and (less_eq$ ?v0 ?v1) (member$a ?v2 ?v0)) (member$a ?v2 ?v1))) :named a101)) -(assert (! (forall ((?v0 Event_set$) (?v1 Event_set$)) (= (less_eq$c (uud$ ?v0) (uud$ ?v1)) (less_eq$a ?v0 ?v1))) :named a102)) -(assert (! (forall ((?v0 Agent_set$) (?v1 Agent_set$)) (= (less_eq$d (uue$ ?v0) (uue$ ?v1)) (less_eq$b ?v0 ?v1))) :named a103)) -(assert (! (forall ((?v0 Msg_set$) (?v1 Msg_set$)) (= (less_eq$e (uuf$ ?v0) (uuf$ ?v1)) (less_eq$ ?v0 ?v1))) :named a104)) -(assert (! (forall ((?v0 (-> Event$ Bool))) (! (= (list_ex1$ ?v0 nil$) false) :pattern ((list_ex1$ ?v0)))) :named a105)) -(assert (! (forall ((?v0 (-> Event$ Event_list$))) (! (= (bind$ nil$ ?v0) nil$) :pattern ((bind$ nil$ ?v0)))) :named a106)) -(assert (! (forall ((?v0 (-> Msg_set$ Bool)) (?v1 Msg_set$)) (=> (and (?v0 ?v1) (forall ((?v2 Msg_set$)) (=> (?v0 ?v2) (less_eq$ ?v2 ?v1)))) (= (greatest$ ?v0) ?v1))) :named a107)) -(assert (! (forall ((?v0 (-> Msg_set$ Bool)) (?v1 Msg_set$) (?v2 (-> Msg_set$ Bool))) (=> (and (?v0 ?v1) (and (forall ((?v3 Msg_set$)) (=> (?v0 ?v3) (less_eq$ ?v3 ?v1))) (forall ((?v3 Msg_set$)) (=> (and (?v0 ?v3) (forall ((?v4 Msg_set$)) (=> (?v0 ?v4) (less_eq$ ?v4 ?v3)))) (?v2 ?v3))))) (?v2 (greatest$ ?v0)))) :named a108)) -(assert (! (forall ((?v0 Event$)) (! (= (member$d nil$ ?v0) false) :pattern ((member$d nil$ ?v0)))) :named a109)) -(assert (! (forall ((?v0 (-> Bool Msg_set$)) (?v1 (-> Bool Msg_set$))) (! (= (less_eq$f ?v0 ?v1) (and (less_eq$ (?v0 false) (?v1 false)) (less_eq$ (?v0 true) (?v1 true)))) :pattern ((less_eq$f ?v0 ?v1)))) :named a110)) -(assert (! (forall ((?v0 Nat$)) (! (= (gen_length$ ?v0 nil$) ?v0) :pattern ((gen_length$ ?v0)))) :named a111)) -(assert (! (forall ((?v0 (-> Event$ Event_list$))) (! (= (maps$ ?v0 nil$) nil$) :pattern ((maps$ ?v0)))) :named a112)) -(assert (! (forall ((?v0 Event_list$)) (= (= ?v0 nil$) (null$ ?v0))) :named a113)) -(assert (! (= (null$ nil$) true) :named a114)) -(assert (! (forall ((?v0 Event_list$)) (! (= (splice$ ?v0 nil$) ?v0) :pattern ((splice$ ?v0)))) :named a115)) -(assert (! (forall ((?v0 Event_list$)) (= (= (rotate1$ ?v0) nil$) (= ?v0 nil$))) :named a116)) -(assert (! (forall ((?v0 (-> Event$ Event_option$))) (! (= (map_filter$ ?v0 nil$) nil$) :pattern ((map_filter$ ?v0)))) :named a117)) -(assert (! (forall ((?v0 (-> Msg_set$ Msg_set$)) (?v1 Msg_set$) (?v2 Msg_set$)) (=> (and (antimono$ ?v0) (less_eq$ ?v1 ?v2)) (less_eq$ (?v0 ?v2) (?v0 ?v1)))) :named a118)) -(assert (! (= (rotate1$ nil$) nil$) :named a119)) -(assert (! (forall ((?v0 Event_list$)) (! (= (splice$ nil$ ?v0) ?v0) :pattern ((splice$ nil$ ?v0)))) :named a120)) -(assert (! (forall ((?v0 (-> Msg_set$ Msg_set$))) (= (antimono$ ?v0) (forall ((?v1 Msg_set$) (?v2 Msg_set$)) (=> (less_eq$ ?v1 ?v2) (less_eq$ (?v0 ?v2) (?v0 ?v1)))))) :named a121)) -(assert (! (forall ((?v0 (-> Msg_set$ Msg_set$))) (=> (forall ((?v1 Msg_set$) (?v2 Msg_set$)) (=> (less_eq$ ?v1 ?v2) (less_eq$ (?v0 ?v2) (?v0 ?v1)))) (antimono$ ?v0))) :named a122)) -(assert (! (forall ((?v0 (-> Msg_set$ Msg_set$)) (?v1 Msg_set$) (?v2 Msg_set$)) (=> (and (antimono$ ?v0) (and (less_eq$ ?v1 ?v2) (=> (less_eq$ (?v0 ?v2) (?v0 ?v1)) false))) false)) :named a123)) -(assert (! (forall ((?v0 Event_list$) (?v1 Event_list$) (?v2 Event_list$)) (=> (and (= (splice$ ?v0 ?v1) ?v2) (and (forall ((?v3 Event_list$)) (=> (and (= ?v0 nil$) (and (= ?v1 ?v3) (= ?v2 ?v3))) false)) (and (forall ((?v3 Event$) (?v4 Event_list$)) (=> (and (= ?v0 (cons$ ?v3 ?v4)) (and (= ?v1 nil$) (= ?v2 (cons$ ?v3 ?v4)))) false)) (forall ((?v3 Event$) (?v4 Event_list$) (?v5 Event$) (?v6 Event_list$)) (=> (and (= ?v0 (cons$ ?v3 ?v4)) (and (= ?v1 (cons$ ?v5 ?v6)) (= ?v2 (cons$ ?v3 (cons$ ?v5 (splice$ ?v4 ?v6)))))) false))))) false)) :named a124)) -(assert (! (forall ((?v0 Event$) (?v1 Event_list$)) (! (= (splice$ (cons$ ?v0 ?v1) nil$) (cons$ ?v0 ?v1)) :pattern ((cons$ ?v0 ?v1)))) :named a125)) -(assert (! (forall ((?v0 (-> Event$ Bool))) (! (= (list_ex$ ?v0 nil$) false) :pattern ((list_ex$ ?v0)))) :named a126)) -(assert (! (forall ((?v0 Event_list$)) (= (= ?v0 nil$) (case_list$ true uug$ ?v0))) :named a127)) -(assert (! (forall ((?v0 Event_list$)) (= (not (= ?v0 nil$)) (case_list$ false uuh$ ?v0))) :named a128)) -(assert (! (forall ((?v0 Agent$)) (! (= (knows$ ?v0 nil$) (initState$ ?v0)) :pattern ((knows$ ?v0)))) :named a129)) -(assert (! (forall ((?v0 Event$) (?v1 Event_list$) (?v2 Event$) (?v3 Event_list$)) (= (= (cons$ ?v0 ?v1) (cons$ ?v2 ?v3)) (and (= ?v0 ?v2) (= ?v1 ?v3)))) :named a130)) -(assert (! (forall ((?v0 (-> Event$ Bool)) (?v1 Event$) (?v2 Event_list$)) (! (= (list_ex$ ?v0 (cons$ ?v1 ?v2)) (or (?v0 ?v1) (list_ex$ ?v0 ?v2))) :pattern ((list_ex$ ?v0 (cons$ ?v1 ?v2))))) :named a131)) -(assert (! (forall ((?v0 Event$) (?v1 Event_list$)) (not (= (cons$ ?v0 ?v1) ?v1))) :named a132)) -(assert (! (forall ((?v0 Event_list_list$)) (=> (and (=> (= ?v0 nil$a) false) (and (forall ((?v1 Event_list_list$)) (=> (= ?v0 (cons$a nil$ ?v1)) false)) (forall ((?v1 Event$) (?v2 Event_list$) (?v3 Event_list_list$)) (=> (= ?v0 (cons$a (cons$ ?v1 ?v2) ?v3)) false)))) false)) :named a133)) -(assert (! (forall ((?v0 Event$) (?v1 Event_list$)) (not (= nil$ (cons$ ?v0 ?v1)))) :named a134)) -(assert (! (forall ((?v0 Event_list$) (?v1 Event$) (?v2 Event_list$)) (=> (= ?v0 (cons$ ?v1 ?v2)) (not (= ?v0 nil$)))) :named a135)) -(assert (! (forall ((?v0 Event_list$)) (=> (and (=> (= ?v0 nil$) false) (forall ((?v1 Event$) (?v2 Event_list$)) (=> (= ?v0 (cons$ ?v1 ?v2)) false))) false)) :named a136)) -(assert (! (forall ((?v0 Event_list$)) (= (not (= ?v0 nil$)) (exists ((?v1 Event$) (?v2 Event_list$)) (= ?v0 (cons$ ?v1 ?v2))))) :named a137)) -(assert (! (forall ((?v0 (-> Event_list$ (-> Event_list$ Bool))) (?v1 Event_list$) (?v2 Event_list$)) (=> (and (?v0 nil$ nil$) (and (forall ((?v3 Event$) (?v4 Event_list$)) (?v0 (cons$ ?v3 ?v4) nil$)) (and (forall ((?v3 Event$) (?v4 Event_list$)) (?v0 nil$ (cons$ ?v3 ?v4))) (forall ((?v3 Event$) (?v4 Event_list$) (?v5 Event$) (?v6 Event_list$)) (=> (?v0 ?v4 ?v6) (?v0 (cons$ ?v3 ?v4) (cons$ ?v5 ?v6))))))) (?v0 ?v1 ?v2))) :named a138)) -(assert (! (forall ((?v0 Event_list$)) (=> (and (=> (= ?v0 nil$) false) (and (forall ((?v1 Event$)) (=> (= ?v0 (cons$ ?v1 nil$)) false)) (forall ((?v1 Event$) (?v2 Event$) (?v3 Event_list$)) (=> (= ?v0 (cons$ ?v1 (cons$ ?v2 ?v3))) false)))) false)) :named a139)) -(assert (! (forall ((?v0 (-> Event_list$ Bool)) (?v1 Event_list$)) (=> (and (?v0 nil$) (and (forall ((?v2 Event$)) (?v0 (cons$ ?v2 nil$))) (forall ((?v2 Event$) (?v3 Event$) (?v4 Event_list$)) (=> (?v0 (cons$ ?v3 ?v4)) (?v0 (cons$ ?v2 (cons$ ?v3 ?v4))))))) (?v0 ?v1))) :named a140)) -(assert (! (forall ((?v0 Event_list$) (?v1 (-> Event_list$ Bool))) (=> (and (not (= ?v0 nil$)) (and (forall ((?v2 Event$)) (?v1 (cons$ ?v2 nil$))) (forall ((?v2 Event$) (?v3 Event_list$)) (=> (and (not (= ?v3 nil$)) (?v1 ?v3)) (?v1 (cons$ ?v2 ?v3)))))) (?v1 ?v0))) :named a141)) -(assert (! (forall ((?v0 Event$) (?v1 Event_list$) (?v2 Event$) (?v3 Event_list$)) (! (= (splice$ (cons$ ?v0 ?v1) (cons$ ?v2 ?v3)) (cons$ ?v0 (cons$ ?v2 (splice$ ?v1 ?v3)))) :pattern ((splice$ (cons$ ?v0 ?v1) (cons$ ?v2 ?v3))))) :named a142)) -(assert (! (forall ((?v0 Agent$) (?v1 Event_list$) (?v2 Event$)) (less_eq$ (knows$ ?v0 ?v1) (knows$ ?v0 (cons$ ?v2 ?v1)))) :named a143)) -(assert (! (forall ((?v0 Event$) (?v1 Event_list$)) (! (= (null$ (cons$ ?v0 ?v1)) false) :pattern ((cons$ ?v0 ?v1)))) :named a144)) -(assert (! (forall ((?v0 Event$) (?v1 Event_list$) (?v2 Event$)) (! (= (member$d (cons$ ?v0 ?v1) ?v2) (or (= ?v0 ?v2) (member$d ?v1 ?v2))) :pattern ((member$d (cons$ ?v0 ?v1) ?v2)))) :named a145)) -(assert (! (forall ((?v0 Agent$) (?v1 Event_list$)) (less_eq$ (initState$ ?v0) (knows$ ?v0 ?v1))) :named a146)) -(assert (! (forall ((?v0 (-> Event$ Bool)) (?v1 Event$) (?v2 Event_list$)) (! (= (takeWhile$ ?v0 (cons$ ?v1 ?v2)) (ite (?v0 ?v1) (cons$ ?v1 (takeWhile$ ?v0 ?v2)) nil$)) :pattern ((takeWhile$ ?v0 (cons$ ?v1 ?v2))))) :named a147)) -(assert (! (forall ((?v0 Event_list$) (?v1 Agent$) (?v2 Msg$)) (less_eq$ (knows$ spy$ ?v0) (knows$ spy$ (cons$ (gets$ ?v1 ?v2) ?v0)))) :named a148)) -(assert (! (forall ((?v0 Event$)) (! (= (insert$a ?v0 nil$) (cons$ ?v0 nil$)) :pattern ((insert$a ?v0)))) :named a149)) -(assert (! (forall ((?v0 Agent$) (?v1 Msg$) (?v2 Event_list$)) (! (= (knows$ spy$ (cons$ (gets$ ?v0 ?v1) ?v2)) (knows$ spy$ ?v2)) :pattern ((cons$ (gets$ ?v0 ?v1) ?v2)))) :named a150)) -(assert (! (forall ((?v0 Event_list$) (?v1 Agent$) (?v2 Msg$)) (less_eq$ (knows$ spy$ ?v0) (knows$ spy$ (cons$ (notes$ ?v1 ?v2) ?v0)))) :named a151)) -(assert (! (forall ((?v0 (-> Event$ Bool)) (?v1 Event$) (?v2 Event_list$)) (= (list_ex1$ ?v0 (cons$ ?v1 ?v2)) (ite (?v0 ?v1) (list_all$ (uui$ ?v0 ?v1) ?v2) (list_ex1$ ?v0 ?v2)))) :named a152)) -(assert (! (forall ((?v0 Agent$) (?v1 Msg$) (?v2 Agent$) (?v3 Msg$)) (= (= (notes$ ?v0 ?v1) (notes$ ?v2 ?v3)) (and (= ?v0 ?v2) (= ?v1 ?v3)))) :named a153)) -(assert (! (forall ((?v0 Agent$) (?v1 Msg$) (?v2 Agent$) (?v3 Msg$)) (= (= (gets$ ?v0 ?v1) (gets$ ?v2 ?v3)) (and (= ?v0 ?v2) (= ?v1 ?v3)))) :named a154)) -(assert (! (forall ((?v0 (-> Event$ Bool)) (?v1 Event$) (?v2 Event_list$)) (! (= (list_all$ ?v0 (cons$ ?v1 ?v2)) (and (?v0 ?v1) (list_all$ ?v0 ?v2))) :pattern ((list_all$ ?v0 (cons$ ?v1 ?v2))))) :named a155)) -(assert (! (forall ((?v0 (-> Event$ Bool)) (?v1 Event$) (?v2 Event_list$)) (! (= (list_all$ ?v0 (cons$ ?v1 ?v2)) (and (?v0 ?v1) (list_all$ ?v0 ?v2))) :pattern ((list_all$ ?v0 (cons$ ?v1 ?v2))))) :named a156)) -(assert (! (forall ((?v0 (-> Event$ Bool))) (! (= (list_all$ ?v0 nil$) true) :pattern ((list_all$ ?v0)))) :named a157)) -(assert (! (forall ((?v0 Agent$) (?v1 Msg$) (?v2 Agent$) (?v3 Msg$)) (not (= (gets$ ?v0 ?v1) (notes$ ?v2 ?v3)))) :named a158)) -(assert (! (forall ((?v0 (-> Event$ Bool))) (list_all$ ?v0 nil$)) :named a159)) -(assert (! (forall ((?v0 Agent$) (?v1 Event_list$) (?v2 Agent$) (?v3 Msg$)) (less_eq$ (knows$ ?v0 ?v1) (knows$ ?v0 (cons$ (notes$ ?v2 ?v3) ?v1)))) :named a160)) -(assert (! (forall ((?v0 Agent$) (?v1 Event_list$) (?v2 Agent$) (?v3 Msg$)) (less_eq$ (knows$ ?v0 ?v1) (knows$ ?v0 (cons$ (gets$ ?v2 ?v3) ?v1)))) :named a161)) -(assert (! (= (product_lists$ nil$a) (cons$a nil$ nil$a)) :named a162)) -(assert (! (forall ((?v0 Event_list$) (?v1 Agent$) (?v2 Msg$)) (= (knows$ spy$ (append$ ?v0 (cons$ (gets$ ?v1 ?v2) nil$))) (knows$ spy$ ?v0))) :named a163)) -(assert (! (= (subseqs$ nil$) (cons$a nil$ nil$a)) :named a164)) -(assert (! (forall ((?v0 Event_list$) (?v1 Agent$) (?v2 Agent$) (?v3 Msg$)) (less_eq$ (knows$ spy$ ?v0) (knows$ spy$ (cons$ (says$ ?v1 ?v2 ?v3) ?v0)))) :named a165)) -(assert (! (forall ((?v0 Event_list$) (?v1 Event_list$) (?v2 Event_list$)) (= (append$ (append$ ?v0 ?v1) ?v2) (append$ ?v0 (append$ ?v1 ?v2)))) :named a166)) -(assert (! (forall ((?v0 Event_list$) (?v1 Event_list$) (?v2 Event_list$)) (= (append$ (append$ ?v0 ?v1) ?v2) (append$ ?v0 (append$ ?v1 ?v2)))) :named a167)) -(assert (! (forall ((?v0 Event_list$) (?v1 Event_list$) (?v2 Event_list$)) (= (= (append$ ?v0 ?v1) (append$ ?v2 ?v1)) (= ?v0 ?v2))) :named a168)) -(assert (! (forall ((?v0 Event_list$) (?v1 Event_list$) (?v2 Event_list$)) (= (= (append$ ?v0 ?v1) (append$ ?v0 ?v2)) (= ?v1 ?v2))) :named a169)) -(assert (! (forall ((?v0 Agent$) (?v1 Agent$) (?v2 Msg$) (?v3 Agent$) (?v4 Agent$) (?v5 Msg$)) (= (= (says$ ?v0 ?v1 ?v2) (says$ ?v3 ?v4 ?v5)) (and (= ?v0 ?v3) (and (= ?v1 ?v4) (= ?v2 ?v5))))) :named a170)) -(assert (! (forall ((?v0 Event_list$)) (! (= (append$ ?v0 nil$) ?v0) :pattern ((append$ ?v0)))) :named a171)) -(assert (! (forall ((?v0 Event_list$) (?v1 Event_list$)) (= (= (append$ ?v0 ?v1) ?v0) (= ?v1 nil$))) :named a172)) -(assert (! (forall ((?v0 Event_list$) (?v1 Event_list$)) (= (= ?v0 (append$ ?v0 ?v1)) (= ?v1 nil$))) :named a173)) -(assert (! (forall ((?v0 Event_list$) (?v1 Event_list$)) (= (= (append$ ?v0 ?v1) ?v1) (= ?v0 nil$))) :named a174)) -(assert (! (forall ((?v0 Event_list$) (?v1 Event_list$)) (= (= ?v0 (append$ ?v1 ?v0)) (= ?v1 nil$))) :named a175)) -(assert (! (forall ((?v0 Event_list$) (?v1 Event_list$)) (= (= nil$ (append$ ?v0 ?v1)) (and (= ?v0 nil$) (= ?v1 nil$)))) :named a176)) -(assert (! (forall ((?v0 Event_list$) (?v1 Event_list$)) (= (= (append$ ?v0 ?v1) nil$) (and (= ?v0 nil$) (= ?v1 nil$)))) :named a177)) -(assert (! (forall ((?v0 Event_list$)) (! (= (append$ ?v0 nil$) ?v0) :pattern ((append$ ?v0)))) :named a178)) -(assert (! (forall ((?v0 (-> Event$ Bool)) (?v1 Event_list$) (?v2 Event_list$)) (= (list_all$ ?v0 (append$ ?v1 ?v2)) (and (list_all$ ?v0 ?v1) (list_all$ ?v0 ?v2)))) :named a179)) -(assert (! (forall ((?v0 (-> Event$ Bool)) (?v1 Event_list$) (?v2 Event_list$)) (= (list_ex$ ?v0 (append$ ?v1 ?v2)) (or (list_ex$ ?v0 ?v1) (list_ex$ ?v0 ?v2)))) :named a180)) -(assert (! (forall ((?v0 Event_list$) (?v1 Event$) (?v2 Event_list$) (?v3 Event$)) (= (= (append$ ?v0 (cons$ ?v1 nil$)) (append$ ?v2 (cons$ ?v3 nil$))) (and (= ?v0 ?v2) (= ?v1 ?v3)))) :named a181)) -(assert (! (forall ((?v0 Event$) (?v1 Event_list$) (?v2 (-> Event$ Event_list$))) (! (= (bind$ (cons$ ?v0 ?v1) ?v2) (append$ (?v2 ?v0) (bind$ ?v1 ?v2))) :pattern ((bind$ (cons$ ?v0 ?v1) ?v2)))) :named a182)) -(assert (! (forall ((?v0 Event$) (?v1 Event_list$) (?v2 Event_list$)) (! (= (append$ (cons$ ?v0 ?v1) ?v2) (cons$ ?v0 (append$ ?v1 ?v2))) :pattern ((append$ (cons$ ?v0 ?v1) ?v2)))) :named a183)) -(assert (! (forall ((?v0 Event$) (?v1 Event_list$) (?v2 Event_list$) (?v3 Event_list$) (?v4 Event_list$)) (=> (and (= (cons$ ?v0 ?v1) ?v2) (= ?v3 (append$ ?v1 ?v4))) (= (cons$ ?v0 ?v3) (append$ ?v2 ?v4)))) :named a184)) -(assert (! (forall ((?v0 Event_list$)) (! (= (append$ nil$ ?v0) ?v0) :pattern ((append$ nil$ ?v0)))) :named a185)) -(assert (! (forall ((?v0 Event_list$)) (! (= (append$ nil$ ?v0) ?v0) :pattern ((append$ nil$ ?v0)))) :named a186)) -(assert (! (forall ((?v0 Event_list$) (?v1 Event_list$)) (=> (= ?v0 ?v1) (= ?v0 (append$ nil$ ?v1)))) :named a187)) -(assert (! (forall ((?v0 Event_list$) (?v1 Event_list$) (?v2 Event_list$) (?v3 Event_list$) (?v4 Event_list$)) (=> (and (= (append$ ?v0 ?v1) ?v2) (= ?v3 (append$ ?v1 ?v4))) (= (append$ ?v0 ?v3) (append$ ?v2 ?v4)))) :named a188)) -(assert (! (forall ((?v0 Event_list$) (?v1 Event_list$) (?v2 Event_list$) (?v3 Event_list$)) (= (= (append$ ?v0 ?v1) (append$ ?v2 ?v3)) (exists ((?v4 Event_list$)) (or (and (= ?v0 (append$ ?v2 ?v4)) (= (append$ ?v4 ?v1) ?v3)) (and (= (append$ ?v0 ?v4) ?v2) (= ?v1 (append$ ?v4 ?v3))))))) :named a189)) -(assert (! (forall ((?v0 Agent$) (?v1 Agent$) (?v2 Msg$) (?v3 Agent$) (?v4 Msg$)) (not (= (says$ ?v0 ?v1 ?v2) (notes$ ?v3 ?v4)))) :named a190)) -(assert (! (forall ((?v0 Agent$) (?v1 Agent$) (?v2 Msg$) (?v3 Agent$) (?v4 Msg$)) (not (= (says$ ?v0 ?v1 ?v2) (gets$ ?v3 ?v4)))) :named a191)) -(assert (! (forall ((?v0 (-> Event_list$ Bool)) (?v1 Event_list$)) (=> (and (?v0 nil$) (forall ((?v2 Event$) (?v3 Event_list$)) (=> (?v0 ?v3) (?v0 (append$ ?v3 (cons$ ?v2 nil$)))))) (?v0 ?v1))) :named a192)) -(assert (! (forall ((?v0 Event_list$)) (=> (and (=> (= ?v0 nil$) false) (forall ((?v1 Event_list$) (?v2 Event$)) (=> (= ?v0 (append$ ?v1 (cons$ ?v2 nil$))) false))) false)) :named a193)) -(assert (! (forall ((?v0 Event$) (?v1 Event_list$) (?v2 Event_list$) (?v3 Event_list$)) (= (= (cons$ ?v0 ?v1) (append$ ?v2 ?v3)) (or (and (= ?v2 nil$) (= (cons$ ?v0 ?v1) ?v3)) (exists ((?v4 Event_list$)) (and (= (cons$ ?v0 ?v4) ?v2) (= ?v1 (append$ ?v4 ?v3))))))) :named a194)) -(assert (! (forall ((?v0 Event_list$) (?v1 Event_list$) (?v2 Event$) (?v3 Event_list$)) (= (= (append$ ?v0 ?v1) (cons$ ?v2 ?v3)) (or (and (= ?v0 nil$) (= ?v1 (cons$ ?v2 ?v3))) (exists ((?v4 Event_list$)) (and (= ?v0 (cons$ ?v2 ?v4)) (= (append$ ?v4 ?v1) ?v3)))))) :named a195)) -(assert (! (forall ((?v0 Event_list$) (?v1 (-> Event_list$ Bool))) (=> (and (not (= ?v0 nil$)) (and (forall ((?v2 Event$)) (?v1 (cons$ ?v2 nil$))) (forall ((?v2 Event$) (?v3 Event_list$)) (=> (and (not (= ?v3 nil$)) (?v1 ?v3)) (?v1 (append$ ?v3 (cons$ ?v2 nil$))))))) (?v1 ?v0))) :named a196)) -(assert (! (forall ((?v0 (-> Event$ Bool)) (?v1 Event$) (?v2 Event_list$) (?v3 Event_list$)) (=> (not (?v0 ?v1)) (= (takeWhile$ ?v0 (append$ ?v2 (cons$ ?v1 ?v3))) (takeWhile$ ?v0 ?v2)))) :named a197)) -(assert (! (forall ((?v0 Event$)) (=> (and (forall ((?v1 Agent$) (?v2 Agent$) (?v3 Msg$)) (=> (= ?v0 (says$ ?v1 ?v2 ?v3)) false)) (and (forall ((?v1 Agent$) (?v2 Msg$)) (=> (= ?v0 (gets$ ?v1 ?v2)) false)) (forall ((?v1 Agent$) (?v2 Msg$)) (=> (= ?v0 (notes$ ?v1 ?v2)) false)))) false)) :named a198)) -(assert (! (forall ((?v0 (-> Event$ Event_list$)) (?v1 Event$) (?v2 Event_list$)) (! (= (maps$ ?v0 (cons$ ?v1 ?v2)) (append$ (?v0 ?v1) (maps$ ?v0 ?v2))) :pattern ((maps$ ?v0 (cons$ ?v1 ?v2))))) :named a199)) -(assert (! (forall ((?v0 Event$) (?v1 Event_list$)) (= (rotate1$ (cons$ ?v0 ?v1)) (append$ ?v1 (cons$ ?v0 nil$)))) :named a200)) -(assert (! (forall ((?v0 Agent$) (?v1 Event_list$) (?v2 Agent$) (?v3 Agent$) (?v4 Msg$)) (less_eq$ (knows$ ?v0 ?v1) (knows$ ?v0 (cons$ (says$ ?v2 ?v3 ?v4) ?v1)))) :named a201)) -(assert (! (forall ((?v0 Event_list_set$) (?v1 Event_list$)) (= (succ$ ?v0 ?v1) (collect$a (uuj$ ?v0 ?v1)))) :named a202)) -(assert (! (forall ((?v0 Event_list$) (?v1 Agent$) (?v2 Agent$) (?v3 Msg$)) (= (knows$ spy$ (append$ ?v0 (cons$ (says$ ?v1 ?v2 ?v3) nil$))) (insert$ ?v3 (knows$ spy$ ?v0)))) :named a203)) -(assert (! (forall ((?v0 Msg$) (?v1 Agent$) (?v2 Event_list$)) (=> (and (member$a ?v0 (knows$ ?v1 ?v2)) (not (= ?v1 spy$))) (exists ((?v3 Agent$)) (or (member$b (says$ ?v1 ?v3 ?v0) (set$ ?v2)) (or (member$b (gets$ ?v1 ?v0) (set$ ?v2)) (or (member$b (notes$ ?v1 ?v0) (set$ ?v2)) (member$a ?v0 (initState$ ?v1)))))))) :named a204)) -(assert (! (forall ((?v0 Msg$) (?v1 Msg_list_set$) (?v2 Msg_list$)) (=> (member$a ?v0 (succ$a ?v1 ?v2)) (member$e (append$a ?v2 (cons$b ?v0 nil$b)) ?v1))) :named a205)) -(assert (! (forall ((?v0 Agent$) (?v1 Agent_list_set$) (?v2 Agent_list$)) (=> (member$ ?v0 (succ$b ?v1 ?v2)) (member$f (append$b ?v2 (cons$c ?v0 nil$c)) ?v1))) :named a206)) -(assert (! (forall ((?v0 Event$) (?v1 Event_list_set$) (?v2 Event_list$)) (=> (member$b ?v0 (succ$ ?v1 ?v2)) (member$c (append$ ?v2 (cons$ ?v0 nil$)) ?v1))) :named a207)) -(assert (! (forall ((?v0 Msg$) (?v1 Msg_set$)) (= (insert$ ?v0 (insert$ ?v0 ?v1)) (insert$ ?v0 ?v1))) :named a208)) -(assert (! (forall ((?v0 Msg$) (?v1 Msg$) (?v2 Msg_set$)) (= (member$a ?v0 (insert$ ?v1 ?v2)) (or (= ?v0 ?v1) (member$a ?v0 ?v2)))) :named a209)) -(assert (! (forall ((?v0 Event$) (?v1 Event$) (?v2 Event_set$)) (= (member$b ?v0 (insert$b ?v1 ?v2)) (or (= ?v0 ?v1) (member$b ?v0 ?v2)))) :named a210)) -(assert (! (forall ((?v0 Agent$) (?v1 Agent$) (?v2 Agent_set$)) (= (member$ ?v0 (insert$c ?v1 ?v2)) (or (= ?v0 ?v1) (member$ ?v0 ?v2)))) :named a211)) -(assert (! (forall ((?v0 Msg$) (?v1 Msg_set$) (?v2 Msg$)) (=> (=> (not (member$a ?v0 ?v1)) (= ?v0 ?v2)) (member$a ?v0 (insert$ ?v2 ?v1)))) :named a212)) -(assert (! (forall ((?v0 Event$) (?v1 Event_set$) (?v2 Event$)) (=> (=> (not (member$b ?v0 ?v1)) (= ?v0 ?v2)) (member$b ?v0 (insert$b ?v2 ?v1)))) :named a213)) -(assert (! (forall ((?v0 Agent$) (?v1 Agent_set$) (?v2 Agent$)) (=> (=> (not (member$ ?v0 ?v1)) (= ?v0 ?v2)) (member$ ?v0 (insert$c ?v2 ?v1)))) :named a214)) -(assert (! (forall ((?v0 Event$) (?v1 Event_set$) (?v2 Event_set$)) (= (less_eq$a (insert$b ?v0 ?v1) ?v2) (and (member$b ?v0 ?v2) (less_eq$a ?v1 ?v2)))) :named a215)) -(assert (! (forall ((?v0 Agent$) (?v1 Agent_set$) (?v2 Agent_set$)) (= (less_eq$b (insert$c ?v0 ?v1) ?v2) (and (member$ ?v0 ?v2) (less_eq$b ?v1 ?v2)))) :named a216)) -(assert (! (forall ((?v0 Msg$) (?v1 Msg_set$) (?v2 Msg_set$)) (= (less_eq$ (insert$ ?v0 ?v1) ?v2) (and (member$a ?v0 ?v2) (less_eq$ ?v1 ?v2)))) :named a217)) -(assert (! (forall ((?v0 (-> Msg$ Bool)) (?v1 Msg_list$)) (= (= (takeWhile$a ?v0 ?v1) ?v1) (forall ((?v2 Msg$)) (=> (member$a ?v2 (set$a ?v1)) (?v0 ?v2))))) :named a218)) -(assert (! (forall ((?v0 (-> Agent$ Bool)) (?v1 Agent_list$)) (= (= (takeWhile$b ?v0 ?v1) ?v1) (forall ((?v2 Agent$)) (=> (member$ ?v2 (set$b ?v1)) (?v0 ?v2))))) :named a219)) -(assert (! (forall ((?v0 (-> Event$ Bool)) (?v1 Event_list$)) (= (= (takeWhile$ ?v0 ?v1) ?v1) (forall ((?v2 Event$)) (=> (member$b ?v2 (set$ ?v1)) (?v0 ?v2))))) :named a220)) -(assert (! (forall ((?v0 Event_list$)) (= (set$ (rotate1$ ?v0)) (set$ ?v0))) :named a221)) -(assert (! (forall ((?v0 Msg$) (?v1 Msg_list$)) (! (=> (member$a ?v0 (set$a ?v1)) (= (insert$d ?v0 ?v1) ?v1)) :pattern ((insert$d ?v0 ?v1)))) :named a222)) -(assert (! (forall ((?v0 Agent$) (?v1 Agent_list$)) (! (=> (member$ ?v0 (set$b ?v1)) (= (insert$e ?v0 ?v1) ?v1)) :pattern ((insert$e ?v0 ?v1)))) :named a223)) -(assert (! (forall ((?v0 Event$) (?v1 Event_list$)) (! (=> (member$b ?v0 (set$ ?v1)) (= (insert$a ?v0 ?v1) ?v1)) :pattern ((insert$a ?v0 ?v1)))) :named a224)) -(assert (! (forall ((?v0 Msg$) (?v1 Msg_list$)) (! (= (set$a (cons$b ?v0 ?v1)) (insert$ ?v0 (set$a ?v1))) :pattern ((cons$b ?v0 ?v1)))) :named a225)) -(assert (! (forall ((?v0 Event$) (?v1 Event_list$)) (! (= (set$ (cons$ ?v0 ?v1)) (insert$b ?v0 (set$ ?v1))) :pattern ((cons$ ?v0 ?v1)))) :named a226)) -(assert (! (forall ((?v0 Msg_list$) (?v1 (-> Msg$ Bool)) (?v2 Msg_list$)) (=> (forall ((?v3 Msg$)) (=> (member$a ?v3 (set$a ?v0)) (?v1 ?v3))) (= (takeWhile$a ?v1 (append$a ?v0 ?v2)) (append$a ?v0 (takeWhile$a ?v1 ?v2))))) :named a227)) -(assert (! (forall ((?v0 Agent_list$) (?v1 (-> Agent$ Bool)) (?v2 Agent_list$)) (=> (forall ((?v3 Agent$)) (=> (member$ ?v3 (set$b ?v0)) (?v1 ?v3))) (= (takeWhile$b ?v1 (append$b ?v0 ?v2)) (append$b ?v0 (takeWhile$b ?v1 ?v2))))) :named a228)) -(assert (! (forall ((?v0 Event_list$) (?v1 (-> Event$ Bool)) (?v2 Event_list$)) (=> (forall ((?v3 Event$)) (=> (member$b ?v3 (set$ ?v0)) (?v1 ?v3))) (= (takeWhile$ ?v1 (append$ ?v0 ?v2)) (append$ ?v0 (takeWhile$ ?v1 ?v2))))) :named a229)) -(assert (! (forall ((?v0 Msg$) (?v1 Msg_list$) (?v2 (-> Msg$ Bool)) (?v3 Msg_list$)) (=> (and (member$a ?v0 (set$a ?v1)) (not (?v2 ?v0))) (= (takeWhile$a ?v2 (append$a ?v1 ?v3)) (takeWhile$a ?v2 ?v1)))) :named a230)) -(assert (! (forall ((?v0 Agent$) (?v1 Agent_list$) (?v2 (-> Agent$ Bool)) (?v3 Agent_list$)) (=> (and (member$ ?v0 (set$b ?v1)) (not (?v2 ?v0))) (= (takeWhile$b ?v2 (append$b ?v1 ?v3)) (takeWhile$b ?v2 ?v1)))) :named a231)) -(assert (! (forall ((?v0 Event$) (?v1 Event_list$) (?v2 (-> Event$ Bool)) (?v3 Event_list$)) (=> (and (member$b ?v0 (set$ ?v1)) (not (?v2 ?v0))) (= (takeWhile$ ?v2 (append$ ?v1 ?v3)) (takeWhile$ ?v2 ?v1)))) :named a232)) -(assert (! (forall ((?v0 Msg$) (?v1 Msg_list$)) (= (set$a (insert$d ?v0 ?v1)) (insert$ ?v0 (set$a ?v1)))) :named a233)) -(assert (! (forall ((?v0 Event$) (?v1 Event_list$)) (= (set$ (insert$a ?v0 ?v1)) (insert$b ?v0 (set$ ?v1)))) :named a234)) -(assert (! (forall ((?v0 Msg$) (?v1 Msg_list$)) (! (=> (not (member$a ?v0 (set$a ?v1))) (= (insert$d ?v0 ?v1) (cons$b ?v0 ?v1))) :pattern ((insert$d ?v0 ?v1)))) :named a235)) -(assert (! (forall ((?v0 Agent$) (?v1 Agent_list$)) (! (=> (not (member$ ?v0 (set$b ?v1))) (= (insert$e ?v0 ?v1) (cons$c ?v0 ?v1))) :pattern ((insert$e ?v0 ?v1)))) :named a236)) -(assert (! (forall ((?v0 Event$) (?v1 Event_list$)) (! (=> (not (member$b ?v0 (set$ ?v1))) (= (insert$a ?v0 ?v1) (cons$ ?v0 ?v1))) :pattern ((insert$a ?v0 ?v1)))) :named a237)) -(assert (! (forall ((?v0 Agent$) (?v1 Agent$) (?v2 Msg$) (?v3 Event_list$)) (! (= (knows$ spy$ (cons$ (says$ ?v0 ?v1 ?v2) ?v3)) (insert$ ?v2 (knows$ spy$ ?v3))) :pattern ((cons$ (says$ ?v0 ?v1 ?v2) ?v3)))) :named a238)) -(assert (! (forall ((?v0 Agent_list$) (?v1 Agent_set$)) (= (less_eq$b (set$b ?v0) ?v1) (forall ((?v2 Agent$)) (=> (member$ ?v2 (set$b ?v0)) (member$ ?v2 ?v1))))) :named a239)) -(assert (! (forall ((?v0 Event_list$) (?v1 Event_set$)) (= (less_eq$a (set$ ?v0) ?v1) (forall ((?v2 Event$)) (=> (member$b ?v2 (set$ ?v0)) (member$b ?v2 ?v1))))) :named a240)) -(assert (! (forall ((?v0 Msg_list$) (?v1 Msg_set$)) (= (less_eq$ (set$a ?v0) ?v1) (forall ((?v2 Msg$)) (=> (member$a ?v2 (set$a ?v0)) (member$a ?v2 ?v1))))) :named a241)) -(assert (! (forall ((?v0 Event$) (?v1 Event_set$) (?v2 Event_set$)) (=> (and (member$b ?v0 ?v1) (less_eq$a ?v2 ?v1)) (less_eq$a (insert$b ?v0 ?v2) ?v1))) :named a242)) -(assert (! (forall ((?v0 Agent$) (?v1 Agent_set$) (?v2 Agent_set$)) (=> (and (member$ ?v0 ?v1) (less_eq$b ?v2 ?v1)) (less_eq$b (insert$c ?v0 ?v2) ?v1))) :named a243)) -(assert (! (forall ((?v0 Msg$) (?v1 Msg_set$) (?v2 Msg_set$)) (=> (and (member$a ?v0 ?v1) (less_eq$ ?v2 ?v1)) (less_eq$ (insert$ ?v0 ?v2) ?v1))) :named a244)) -(assert (! (forall ((?v0 Msg_set$) (?v1 Msg_set$) (?v2 Msg$)) (=> (less_eq$ ?v0 ?v1) (less_eq$ ?v0 (insert$ ?v2 ?v1)))) :named a245)) -(assert (! (forall ((?v0 Msg_set$) (?v1 Msg$)) (less_eq$ ?v0 (insert$ ?v1 ?v0))) :named a246)) -(assert (! (forall ((?v0 Event$) (?v1 Event_set$) (?v2 Event_set$)) (=> (not (member$b ?v0 ?v1)) (= (less_eq$a ?v1 (insert$b ?v0 ?v2)) (less_eq$a ?v1 ?v2)))) :named a247)) -(assert (! (forall ((?v0 Agent$) (?v1 Agent_set$) (?v2 Agent_set$)) (=> (not (member$ ?v0 ?v1)) (= (less_eq$b ?v1 (insert$c ?v0 ?v2)) (less_eq$b ?v1 ?v2)))) :named a248)) -(assert (! (forall ((?v0 Msg$) (?v1 Msg_set$) (?v2 Msg_set$)) (=> (not (member$a ?v0 ?v1)) (= (less_eq$ ?v1 (insert$ ?v0 ?v2)) (less_eq$ ?v1 ?v2)))) :named a249)) -(assert (! (forall ((?v0 Msg_set$) (?v1 Msg_set$) (?v2 Msg$)) (=> (less_eq$ ?v0 ?v1) (less_eq$ (insert$ ?v2 ?v0) (insert$ ?v2 ?v1)))) :named a250)) -(assert (! (forall ((?v0 Msg_list$) (?v1 Msg_list$) (?v2 (-> Msg$ Bool)) (?v3 (-> Msg$ Bool))) (=> (and (= ?v0 ?v1) (forall ((?v4 Msg$)) (=> (member$a ?v4 (set$a ?v1)) (= (?v2 ?v4) (?v3 ?v4))))) (= (list_ex$a ?v2 ?v0) (list_ex$a ?v3 ?v1)))) :named a251)) -(assert (! (forall ((?v0 Agent_list$) (?v1 Agent_list$) (?v2 (-> Agent$ Bool)) (?v3 (-> Agent$ Bool))) (=> (and (= ?v0 ?v1) (forall ((?v4 Agent$)) (=> (member$ ?v4 (set$b ?v1)) (= (?v2 ?v4) (?v3 ?v4))))) (= (list_ex$b ?v2 ?v0) (list_ex$b ?v3 ?v1)))) :named a252)) -(assert (! (forall ((?v0 Event_list$) (?v1 Event_list$) (?v2 (-> Event$ Bool)) (?v3 (-> Event$ Bool))) (=> (and (= ?v0 ?v1) (forall ((?v4 Event$)) (=> (member$b ?v4 (set$ ?v1)) (= (?v2 ?v4) (?v3 ?v4))))) (= (list_ex$ ?v2 ?v0) (list_ex$ ?v3 ?v1)))) :named a253)) -(assert (! (forall ((?v0 Msg$) (?v1 (-> Msg$ Bool))) (= (insert$ ?v0 (collect$ ?v1)) (collect$ (uuk$ ?v0 ?v1)))) :named a254)) -(assert (! (forall ((?v0 Msg$) (?v1 Msg_set$)) (= (insert$ ?v0 ?v1) (collect$ (uul$ ?v0 ?v1)))) :named a255)) -(assert (! (forall ((?v0 Event$) (?v1 Event_set$)) (= (insert$b ?v0 ?v1) (collect$a (uum$ ?v0 ?v1)))) :named a256)) -(assert (! (forall ((?v0 Agent$) (?v1 Agent_set$)) (= (insert$c ?v0 ?v1) (collect$b (uun$ ?v0 ?v1)))) :named a257)) -(assert (! (forall ((?v0 Msg$) (?v1 Msg_set$)) (=> (member$a ?v0 ?v1) (exists ((?v2 Msg_set$)) (and (= ?v1 (insert$ ?v0 ?v2)) (not (member$a ?v0 ?v2)))))) :named a258)) -(assert (! (forall ((?v0 Event$) (?v1 Event_set$)) (=> (member$b ?v0 ?v1) (exists ((?v2 Event_set$)) (and (= ?v1 (insert$b ?v0 ?v2)) (not (member$b ?v0 ?v2)))))) :named a259)) -(assert (! (forall ((?v0 Agent$) (?v1 Agent_set$)) (=> (member$ ?v0 ?v1) (exists ((?v2 Agent_set$)) (and (= ?v1 (insert$c ?v0 ?v2)) (not (member$ ?v0 ?v2)))))) :named a260)) -(assert (! (forall ((?v0 Msg$) (?v1 Msg$) (?v2 Msg_set$)) (= (insert$ ?v0 (insert$ ?v1 ?v2)) (insert$ ?v1 (insert$ ?v0 ?v2)))) :named a261)) -(assert (! (forall ((?v0 Msg$) (?v1 Msg_set$) (?v2 Msg$) (?v3 Msg_set$)) (=> (and (not (member$a ?v0 ?v1)) (not (member$a ?v2 ?v3))) (= (= (insert$ ?v0 ?v1) (insert$ ?v2 ?v3)) (ite (= ?v0 ?v2) (= ?v1 ?v3) (exists ((?v4 Msg_set$)) (and (= ?v1 (insert$ ?v2 ?v4)) (and (not (member$a ?v2 ?v4)) (and (= ?v3 (insert$ ?v0 ?v4)) (not (member$a ?v0 ?v4)))))))))) :named a262)) -(assert (! (forall ((?v0 Event$) (?v1 Event_set$) (?v2 Event$) (?v3 Event_set$)) (=> (and (not (member$b ?v0 ?v1)) (not (member$b ?v2 ?v3))) (= (= (insert$b ?v0 ?v1) (insert$b ?v2 ?v3)) (ite (= ?v0 ?v2) (= ?v1 ?v3) (exists ((?v4 Event_set$)) (and (= ?v1 (insert$b ?v2 ?v4)) (and (not (member$b ?v2 ?v4)) (and (= ?v3 (insert$b ?v0 ?v4)) (not (member$b ?v0 ?v4)))))))))) :named a263)) -(assert (! (forall ((?v0 Agent$) (?v1 Agent_set$) (?v2 Agent$) (?v3 Agent_set$)) (=> (and (not (member$ ?v0 ?v1)) (not (member$ ?v2 ?v3))) (= (= (insert$c ?v0 ?v1) (insert$c ?v2 ?v3)) (ite (= ?v0 ?v2) (= ?v1 ?v3) (exists ((?v4 Agent_set$)) (and (= ?v1 (insert$c ?v2 ?v4)) (and (not (member$ ?v2 ?v4)) (and (= ?v3 (insert$c ?v0 ?v4)) (not (member$ ?v0 ?v4)))))))))) :named a264)) -(assert (! (forall ((?v0 Msg$) (?v1 Msg_set$)) (! (=> (member$a ?v0 ?v1) (= (insert$ ?v0 ?v1) ?v1)) :pattern ((insert$ ?v0 ?v1)))) :named a265)) -(assert (! (forall ((?v0 Event$) (?v1 Event_set$)) (! (=> (member$b ?v0 ?v1) (= (insert$b ?v0 ?v1) ?v1)) :pattern ((insert$b ?v0 ?v1)))) :named a266)) -(assert (! (forall ((?v0 Agent$) (?v1 Agent_set$)) (! (=> (member$ ?v0 ?v1) (= (insert$c ?v0 ?v1) ?v1)) :pattern ((insert$c ?v0 ?v1)))) :named a267)) -(assert (! (forall ((?v0 Msg$) (?v1 Msg_set$) (?v2 Msg_set$)) (=> (and (not (member$a ?v0 ?v1)) (not (member$a ?v0 ?v2))) (= (= (insert$ ?v0 ?v1) (insert$ ?v0 ?v2)) (= ?v1 ?v2)))) :named a268)) -(assert (! (forall ((?v0 Event$) (?v1 Event_set$) (?v2 Event_set$)) (=> (and (not (member$b ?v0 ?v1)) (not (member$b ?v0 ?v2))) (= (= (insert$b ?v0 ?v1) (insert$b ?v0 ?v2)) (= ?v1 ?v2)))) :named a269)) -(assert (! (forall ((?v0 Agent$) (?v1 Agent_set$) (?v2 Agent_set$)) (=> (and (not (member$ ?v0 ?v1)) (not (member$ ?v0 ?v2))) (= (= (insert$c ?v0 ?v1) (insert$c ?v0 ?v2)) (= ?v1 ?v2)))) :named a270)) -(assert (! (forall ((?v0 Msg$) (?v1 Msg_set$)) (=> (and (member$a ?v0 ?v1) (forall ((?v2 Msg_set$)) (=> (and (= ?v1 (insert$ ?v0 ?v2)) (not (member$a ?v0 ?v2))) false))) false)) :named a271)) -(assert (! (forall ((?v0 Event$) (?v1 Event_set$)) (=> (and (member$b ?v0 ?v1) (forall ((?v2 Event_set$)) (=> (and (= ?v1 (insert$b ?v0 ?v2)) (not (member$b ?v0 ?v2))) false))) false)) :named a272)) -(assert (! (forall ((?v0 Agent$) (?v1 Agent_set$)) (=> (and (member$ ?v0 ?v1) (forall ((?v2 Agent_set$)) (=> (and (= ?v1 (insert$c ?v0 ?v2)) (not (member$ ?v0 ?v2))) false))) false)) :named a273)) -(assert (! (forall ((?v0 Msg$) (?v1 Msg_set$) (?v2 Msg$)) (=> (member$a ?v0 ?v1) (member$a ?v0 (insert$ ?v2 ?v1)))) :named a274)) -(assert (! (forall ((?v0 Event$) (?v1 Event_set$) (?v2 Event$)) (=> (member$b ?v0 ?v1) (member$b ?v0 (insert$b ?v2 ?v1)))) :named a275)) -(assert (! (forall ((?v0 Agent$) (?v1 Agent_set$) (?v2 Agent$)) (=> (member$ ?v0 ?v1) (member$ ?v0 (insert$c ?v2 ?v1)))) :named a276)) -(assert (! (forall ((?v0 Msg$) (?v1 Msg_set$)) (member$a ?v0 (insert$ ?v0 ?v1))) :named a277)) -(assert (! (forall ((?v0 Event$) (?v1 Event_set$)) (member$b ?v0 (insert$b ?v0 ?v1))) :named a278)) -(assert (! (forall ((?v0 Agent$) (?v1 Agent_set$)) (member$ ?v0 (insert$c ?v0 ?v1))) :named a279)) -(assert (! (forall ((?v0 Msg$) (?v1 Msg$) (?v2 Msg_set$)) (=> (and (member$a ?v0 (insert$ ?v1 ?v2)) (and (=> (= ?v0 ?v1) false) (=> (member$a ?v0 ?v2) false))) false)) :named a280)) -(assert (! (forall ((?v0 Event$) (?v1 Event$) (?v2 Event_set$)) (=> (and (member$b ?v0 (insert$b ?v1 ?v2)) (and (=> (= ?v0 ?v1) false) (=> (member$b ?v0 ?v2) false))) false)) :named a281)) -(assert (! (forall ((?v0 Agent$) (?v1 Agent$) (?v2 Agent_set$)) (=> (and (member$ ?v0 (insert$c ?v1 ?v2)) (and (=> (= ?v0 ?v1) false) (=> (member$ ?v0 ?v2) false))) false)) :named a282)) -(assert (! (forall ((?v0 Msg$) (?v1 (-> Msg$ Bool)) (?v2 Msg_list$)) (=> (member$a ?v0 (set$a (takeWhile$a ?v1 ?v2))) (and (member$a ?v0 (set$a ?v2)) (?v1 ?v0)))) :named a283)) -(assert (! (forall ((?v0 Agent$) (?v1 (-> Agent$ Bool)) (?v2 Agent_list$)) (=> (member$ ?v0 (set$b (takeWhile$b ?v1 ?v2))) (and (member$ ?v0 (set$b ?v2)) (?v1 ?v0)))) :named a284)) -(assert (! (forall ((?v0 Event$) (?v1 (-> Event$ Bool)) (?v2 Event_list$)) (=> (member$b ?v0 (set$ (takeWhile$ ?v1 ?v2))) (and (member$b ?v0 (set$ ?v2)) (?v1 ?v0)))) :named a285)) -(assert (! (forall ((?v0 Msg_list$) (?v1 Msg_list$) (?v2 (-> Msg$ Bool)) (?v3 (-> Msg$ Bool))) (=> (and (= ?v0 ?v1) (forall ((?v4 Msg$)) (=> (member$a ?v4 (set$a ?v0)) (= (?v2 ?v4) (?v3 ?v4))))) (= (takeWhile$a ?v2 ?v0) (takeWhile$a ?v3 ?v1)))) :named a286)) -(assert (! (forall ((?v0 Agent_list$) (?v1 Agent_list$) (?v2 (-> Agent$ Bool)) (?v3 (-> Agent$ Bool))) (=> (and (= ?v0 ?v1) (forall ((?v4 Agent$)) (=> (member$ ?v4 (set$b ?v0)) (= (?v2 ?v4) (?v3 ?v4))))) (= (takeWhile$b ?v2 ?v0) (takeWhile$b ?v3 ?v1)))) :named a287)) -(assert (! (forall ((?v0 Event_list$) (?v1 Event_list$) (?v2 (-> Event$ Bool)) (?v3 (-> Event$ Bool))) (=> (and (= ?v0 ?v1) (forall ((?v4 Event$)) (=> (member$b ?v4 (set$ ?v0)) (= (?v2 ?v4) (?v3 ?v4))))) (= (takeWhile$ ?v2 ?v0) (takeWhile$ ?v3 ?v1)))) :named a288)) -(assert (! (forall ((?v0 Msg$) (?v1 Msg_list$) (?v2 Msg$)) (=> (member$a ?v0 (set$a ?v1)) (member$a ?v0 (set$a (cons$b ?v2 ?v1))))) :named a289)) -(assert (! (forall ((?v0 Agent$) (?v1 Agent_list$) (?v2 Agent$)) (=> (member$ ?v0 (set$b ?v1)) (member$ ?v0 (set$b (cons$c ?v2 ?v1))))) :named a290)) -(assert (! (forall ((?v0 Event$) (?v1 Event_list$) (?v2 Event$)) (=> (member$b ?v0 (set$ ?v1)) (member$b ?v0 (set$ (cons$ ?v2 ?v1))))) :named a291)) -(assert (! (forall ((?v0 Msg$) (?v1 Msg_list$)) (member$a ?v0 (set$a (cons$b ?v0 ?v1)))) :named a292)) -(assert (! (forall ((?v0 Agent$) (?v1 Agent_list$)) (member$ ?v0 (set$b (cons$c ?v0 ?v1)))) :named a293)) -(assert (! (forall ((?v0 Event$) (?v1 Event_list$)) (member$b ?v0 (set$ (cons$ ?v0 ?v1)))) :named a294)) -(assert (! (forall ((?v0 Msg$) (?v1 Msg$) (?v2 Msg_list$)) (=> (member$a ?v0 (set$a (cons$b ?v1 ?v2))) (or (= ?v0 ?v1) (member$a ?v0 (set$a ?v2))))) :named a295)) -(assert (! (forall ((?v0 Agent$) (?v1 Agent$) (?v2 Agent_list$)) (=> (member$ ?v0 (set$b (cons$c ?v1 ?v2))) (or (= ?v0 ?v1) (member$ ?v0 (set$b ?v2))))) :named a296)) -(assert (! (forall ((?v0 Event$) (?v1 Event$) (?v2 Event_list$)) (=> (member$b ?v0 (set$ (cons$ ?v1 ?v2))) (or (= ?v0 ?v1) (member$b ?v0 (set$ ?v2))))) :named a297)) -(assert (! (forall ((?v0 Msg$) (?v1 Msg_list$)) (=> (and (member$a ?v0 (set$a ?v1)) (and (forall ((?v2 Msg_list$)) (=> (= ?v1 (cons$b ?v0 ?v2)) false)) (forall ((?v2 Msg$) (?v3 Msg_list$)) (=> (and (= ?v1 (cons$b ?v2 ?v3)) (member$a ?v0 (set$a ?v3))) false)))) false)) :named a298)) -(assert (! (forall ((?v0 Agent$) (?v1 Agent_list$)) (=> (and (member$ ?v0 (set$b ?v1)) (and (forall ((?v2 Agent_list$)) (=> (= ?v1 (cons$c ?v0 ?v2)) false)) (forall ((?v2 Agent$) (?v3 Agent_list$)) (=> (and (= ?v1 (cons$c ?v2 ?v3)) (member$ ?v0 (set$b ?v3))) false)))) false)) :named a299)) -(assert (! (forall ((?v0 Event$) (?v1 Event_list$)) (=> (and (member$b ?v0 (set$ ?v1)) (and (forall ((?v2 Event_list$)) (=> (= ?v1 (cons$ ?v0 ?v2)) false)) (forall ((?v2 Event$) (?v3 Event_list$)) (=> (and (= ?v1 (cons$ ?v2 ?v3)) (member$b ?v0 (set$ ?v3))) false)))) false)) :named a300)) -(assert (! (forall ((?v0 Msg_list$) (?v1 Msg_list$) (?v2 (-> Msg$ Bool)) (?v3 (-> Msg$ Bool))) (=> (and (= ?v0 ?v1) (forall ((?v4 Msg$)) (=> (member$a ?v4 (set$a ?v1)) (= (?v2 ?v4) (?v3 ?v4))))) (= (list_all$a ?v2 ?v0) (list_all$a ?v3 ?v1)))) :named a301)) -(assert (! (forall ((?v0 Agent_list$) (?v1 Agent_list$) (?v2 (-> Agent$ Bool)) (?v3 (-> Agent$ Bool))) (=> (and (= ?v0 ?v1) (forall ((?v4 Agent$)) (=> (member$ ?v4 (set$b ?v1)) (= (?v2 ?v4) (?v3 ?v4))))) (= (list_all$b ?v2 ?v0) (list_all$b ?v3 ?v1)))) :named a302)) -(assert (! (forall ((?v0 Event_list$) (?v1 Event_list$) (?v2 (-> Event$ Bool)) (?v3 (-> Event$ Bool))) (=> (and (= ?v0 ?v1) (forall ((?v4 Event$)) (=> (member$b ?v4 (set$ ?v1)) (= (?v2 ?v4) (?v3 ?v4))))) (= (list_all$ ?v2 ?v0) (list_all$ ?v3 ?v1)))) :named a303)) -(assert (! (forall ((?v0 (-> Msg$ Bool)) (?v1 Msg_list$) (?v2 (-> Msg$ Bool))) (=> (and (list_all$a ?v0 ?v1) (forall ((?v3 Msg$)) (=> (and (member$a ?v3 (set$a ?v1)) (?v0 ?v3)) (?v2 ?v3)))) (list_all$a ?v2 ?v1))) :named a304)) -(assert (! (forall ((?v0 (-> Agent$ Bool)) (?v1 Agent_list$) (?v2 (-> Agent$ Bool))) (=> (and (list_all$b ?v0 ?v1) (forall ((?v3 Agent$)) (=> (and (member$ ?v3 (set$b ?v1)) (?v0 ?v3)) (?v2 ?v3)))) (list_all$b ?v2 ?v1))) :named a305)) -(assert (! (forall ((?v0 (-> Event$ Bool)) (?v1 Event_list$) (?v2 (-> Event$ Bool))) (=> (and (list_all$ ?v0 ?v1) (forall ((?v3 Event$)) (=> (and (member$b ?v3 (set$ ?v1)) (?v0 ?v3)) (?v2 ?v3)))) (list_all$ ?v2 ?v1))) :named a306)) -(assert (! (forall ((?v0 (-> Msg$ Bool)) (?v1 Msg_list$)) (= (list_ex1$a ?v0 ?v1) (exists ((?v2 Msg$)) (and (and (member$a ?v2 (set$a ?v1)) (?v0 ?v2)) (forall ((?v3 Msg$)) (=> (and (member$a ?v3 (set$a ?v1)) (?v0 ?v3)) (= ?v3 ?v2))))))) :named a307)) -(assert (! (forall ((?v0 (-> Agent$ Bool)) (?v1 Agent_list$)) (= (list_ex1$b ?v0 ?v1) (exists ((?v2 Agent$)) (and (and (member$ ?v2 (set$b ?v1)) (?v0 ?v2)) (forall ((?v3 Agent$)) (=> (and (member$ ?v3 (set$b ?v1)) (?v0 ?v3)) (= ?v3 ?v2))))))) :named a308)) -(assert (! (forall ((?v0 (-> Event$ Bool)) (?v1 Event_list$)) (= (list_ex1$ ?v0 ?v1) (exists ((?v2 Event$)) (and (and (member$b ?v2 (set$ ?v1)) (?v0 ?v2)) (forall ((?v3 Event$)) (=> (and (member$b ?v3 (set$ ?v1)) (?v0 ?v3)) (= ?v3 ?v2))))))) :named a309)) -(assert (! (forall ((?v0 Msg$) (?v1 Msg_list$)) (= (member$a ?v0 (set$a ?v1)) (member$g ?v1 ?v0))) :named a310)) -(assert (! (forall ((?v0 Agent$) (?v1 Agent_list$)) (= (member$ ?v0 (set$b ?v1)) (member$h ?v1 ?v0))) :named a311)) -(assert (! (forall ((?v0 Event$) (?v1 Event_list$)) (= (member$b ?v0 (set$ ?v1)) (member$d ?v1 ?v0))) :named a312)) -(assert (! (forall ((?v0 Event_list$) (?v1 Event$)) (less_eq$a (set$ ?v0) (set$ (cons$ ?v1 ?v0)))) :named a313)) -(assert (! (forall ((?v0 Msg_list$) (?v1 Msg$)) (less_eq$ (set$a ?v0) (set$a (cons$b ?v1 ?v0)))) :named a314)) -(assert (! (forall ((?v0 Msg_list$) (?v1 (-> Msg$ Bool))) (= (exists ((?v2 Msg$)) (and (member$a ?v2 (set$a ?v0)) (?v1 ?v2))) (exists ((?v2 Msg_list$) (?v3 Msg$) (?v4 Msg_list$)) (and (= ?v0 (append$a ?v2 (cons$b ?v3 ?v4))) (and (?v1 ?v3) (forall ((?v5 Msg$)) (=> (member$a ?v5 (set$a ?v2)) (not (?v1 ?v5))))))))) :named a315)) -(assert (! (forall ((?v0 Agent_list$) (?v1 (-> Agent$ Bool))) (= (exists ((?v2 Agent$)) (and (member$ ?v2 (set$b ?v0)) (?v1 ?v2))) (exists ((?v2 Agent_list$) (?v3 Agent$) (?v4 Agent_list$)) (and (= ?v0 (append$b ?v2 (cons$c ?v3 ?v4))) (and (?v1 ?v3) (forall ((?v5 Agent$)) (=> (member$ ?v5 (set$b ?v2)) (not (?v1 ?v5))))))))) :named a316)) -(assert (! (forall ((?v0 Event_list$) (?v1 (-> Event$ Bool))) (= (exists ((?v2 Event$)) (and (member$b ?v2 (set$ ?v0)) (?v1 ?v2))) (exists ((?v2 Event_list$) (?v3 Event$) (?v4 Event_list$)) (and (= ?v0 (append$ ?v2 (cons$ ?v3 ?v4))) (and (?v1 ?v3) (forall ((?v5 Event$)) (=> (member$b ?v5 (set$ ?v2)) (not (?v1 ?v5))))))))) :named a317)) -(assert (! (forall ((?v0 Msg_list$) (?v1 (-> Msg$ Bool))) (= (exists ((?v2 Msg$)) (and (member$a ?v2 (set$a ?v0)) (?v1 ?v2))) (exists ((?v2 Msg_list$) (?v3 Msg$) (?v4 Msg_list$)) (and (= ?v0 (append$a ?v2 (cons$b ?v3 ?v4))) (and (?v1 ?v3) (forall ((?v5 Msg$)) (=> (member$a ?v5 (set$a ?v4)) (not (?v1 ?v5))))))))) :named a318)) -(assert (! (forall ((?v0 Agent_list$) (?v1 (-> Agent$ Bool))) (= (exists ((?v2 Agent$)) (and (member$ ?v2 (set$b ?v0)) (?v1 ?v2))) (exists ((?v2 Agent_list$) (?v3 Agent$) (?v4 Agent_list$)) (and (= ?v0 (append$b ?v2 (cons$c ?v3 ?v4))) (and (?v1 ?v3) (forall ((?v5 Agent$)) (=> (member$ ?v5 (set$b ?v4)) (not (?v1 ?v5))))))))) :named a319)) -(assert (! (forall ((?v0 Event_list$) (?v1 (-> Event$ Bool))) (= (exists ((?v2 Event$)) (and (member$b ?v2 (set$ ?v0)) (?v1 ?v2))) (exists ((?v2 Event_list$) (?v3 Event$) (?v4 Event_list$)) (and (= ?v0 (append$ ?v2 (cons$ ?v3 ?v4))) (and (?v1 ?v3) (forall ((?v5 Event$)) (=> (member$b ?v5 (set$ ?v4)) (not (?v1 ?v5))))))))) :named a320)) -(assert (! (forall ((?v0 Msg$) (?v1 Msg_list$)) (= (member$a ?v0 (set$a ?v1)) (exists ((?v2 Msg_list$) (?v3 Msg_list$)) (and (= ?v1 (append$a ?v2 (cons$b ?v0 ?v3))) (not (member$a ?v0 (set$a ?v2))))))) :named a321)) -(assert (! (forall ((?v0 Agent$) (?v1 Agent_list$)) (= (member$ ?v0 (set$b ?v1)) (exists ((?v2 Agent_list$) (?v3 Agent_list$)) (and (= ?v1 (append$b ?v2 (cons$c ?v0 ?v3))) (not (member$ ?v0 (set$b ?v2))))))) :named a322)) -(assert (! (forall ((?v0 Event$) (?v1 Event_list$)) (= (member$b ?v0 (set$ ?v1)) (exists ((?v2 Event_list$) (?v3 Event_list$)) (and (= ?v1 (append$ ?v2 (cons$ ?v0 ?v3))) (not (member$b ?v0 (set$ ?v2))))))) :named a323)) -(assert (! (forall ((?v0 Msg$) (?v1 Msg_list$)) (= (member$a ?v0 (set$a ?v1)) (exists ((?v2 Msg_list$) (?v3 Msg_list$)) (and (= ?v1 (append$a ?v2 (cons$b ?v0 ?v3))) (not (member$a ?v0 (set$a ?v3))))))) :named a324)) -(assert (! (forall ((?v0 Agent$) (?v1 Agent_list$)) (= (member$ ?v0 (set$b ?v1)) (exists ((?v2 Agent_list$) (?v3 Agent_list$)) (and (= ?v1 (append$b ?v2 (cons$c ?v0 ?v3))) (not (member$ ?v0 (set$b ?v3))))))) :named a325)) -(assert (! (forall ((?v0 Event$) (?v1 Event_list$)) (= (member$b ?v0 (set$ ?v1)) (exists ((?v2 Event_list$) (?v3 Event_list$)) (and (= ?v1 (append$ ?v2 (cons$ ?v0 ?v3))) (not (member$b ?v0 (set$ ?v3))))))) :named a326)) -(assert (! (forall ((?v0 Msg_list$) (?v1 (-> Msg$ Bool))) (=> (and (exists ((?v2 Msg$)) (and (member$a ?v2 (set$a ?v0)) (?v1 ?v2))) (forall ((?v2 Msg_list$) (?v3 Msg$) (?v4 Msg_list$)) (=> (and (= ?v0 (append$a ?v2 (cons$b ?v3 ?v4))) (and (?v1 ?v3) (forall ((?v5 Msg$)) (=> (member$a ?v5 (set$a ?v2)) (not (?v1 ?v5)))))) false))) false)) :named a327)) -(assert (! (forall ((?v0 Agent_list$) (?v1 (-> Agent$ Bool))) (=> (and (exists ((?v2 Agent$)) (and (member$ ?v2 (set$b ?v0)) (?v1 ?v2))) (forall ((?v2 Agent_list$) (?v3 Agent$) (?v4 Agent_list$)) (=> (and (= ?v0 (append$b ?v2 (cons$c ?v3 ?v4))) (and (?v1 ?v3) (forall ((?v5 Agent$)) (=> (member$ ?v5 (set$b ?v2)) (not (?v1 ?v5)))))) false))) false)) :named a328)) -(assert (! (forall ((?v0 Event_list$) (?v1 (-> Event$ Bool))) (=> (and (exists ((?v2 Event$)) (and (member$b ?v2 (set$ ?v0)) (?v1 ?v2))) (forall ((?v2 Event_list$) (?v3 Event$) (?v4 Event_list$)) (=> (and (= ?v0 (append$ ?v2 (cons$ ?v3 ?v4))) (and (?v1 ?v3) (forall ((?v5 Event$)) (=> (member$b ?v5 (set$ ?v2)) (not (?v1 ?v5)))))) false))) false)) :named a329)) -(assert (! (forall ((?v0 Msg_list$) (?v1 (-> Msg$ Bool))) (=> (and (exists ((?v2 Msg$)) (and (member$a ?v2 (set$a ?v0)) (?v1 ?v2))) (forall ((?v2 Msg_list$) (?v3 Msg$) (?v4 Msg_list$)) (=> (and (= ?v0 (append$a ?v2 (cons$b ?v3 ?v4))) (and (?v1 ?v3) (forall ((?v5 Msg$)) (=> (member$a ?v5 (set$a ?v4)) (not (?v1 ?v5)))))) false))) false)) :named a330)) -(assert (! (forall ((?v0 Agent_list$) (?v1 (-> Agent$ Bool))) (=> (and (exists ((?v2 Agent$)) (and (member$ ?v2 (set$b ?v0)) (?v1 ?v2))) (forall ((?v2 Agent_list$) (?v3 Agent$) (?v4 Agent_list$)) (=> (and (= ?v0 (append$b ?v2 (cons$c ?v3 ?v4))) (and (?v1 ?v3) (forall ((?v5 Agent$)) (=> (member$ ?v5 (set$b ?v4)) (not (?v1 ?v5)))))) false))) false)) :named a331)) -(assert (! (forall ((?v0 Event_list$) (?v1 (-> Event$ Bool))) (=> (and (exists ((?v2 Event$)) (and (member$b ?v2 (set$ ?v0)) (?v1 ?v2))) (forall ((?v2 Event_list$) (?v3 Event$) (?v4 Event_list$)) (=> (and (= ?v0 (append$ ?v2 (cons$ ?v3 ?v4))) (and (?v1 ?v3) (forall ((?v5 Event$)) (=> (member$b ?v5 (set$ ?v4)) (not (?v1 ?v5)))))) false))) false)) :named a332)) -(assert (! (forall ((?v0 Msg_list$) (?v1 (-> Msg$ Bool))) (=> (exists ((?v2 Msg$)) (and (member$a ?v2 (set$a ?v0)) (?v1 ?v2))) (exists ((?v2 Msg_list$) (?v3 Msg$) (?v4 Msg_list$)) (and (= ?v0 (append$a ?v2 (cons$b ?v3 ?v4))) (and (?v1 ?v3) (forall ((?v5 Msg$)) (=> (member$a ?v5 (set$a ?v2)) (not (?v1 ?v5))))))))) :named a333)) -(assert (! (forall ((?v0 Agent_list$) (?v1 (-> Agent$ Bool))) (=> (exists ((?v2 Agent$)) (and (member$ ?v2 (set$b ?v0)) (?v1 ?v2))) (exists ((?v2 Agent_list$) (?v3 Agent$) (?v4 Agent_list$)) (and (= ?v0 (append$b ?v2 (cons$c ?v3 ?v4))) (and (?v1 ?v3) (forall ((?v5 Agent$)) (=> (member$ ?v5 (set$b ?v2)) (not (?v1 ?v5))))))))) :named a334)) -(assert (! (forall ((?v0 Event_list$) (?v1 (-> Event$ Bool))) (=> (exists ((?v2 Event$)) (and (member$b ?v2 (set$ ?v0)) (?v1 ?v2))) (exists ((?v2 Event_list$) (?v3 Event$) (?v4 Event_list$)) (and (= ?v0 (append$ ?v2 (cons$ ?v3 ?v4))) (and (?v1 ?v3) (forall ((?v5 Event$)) (=> (member$b ?v5 (set$ ?v2)) (not (?v1 ?v5))))))))) :named a335)) -(assert (! (forall ((?v0 Msg_list$) (?v1 (-> Msg$ Bool))) (=> (exists ((?v2 Msg$)) (and (member$a ?v2 (set$a ?v0)) (?v1 ?v2))) (exists ((?v2 Msg_list$) (?v3 Msg$) (?v4 Msg_list$)) (and (= ?v0 (append$a ?v2 (cons$b ?v3 ?v4))) (and (?v1 ?v3) (forall ((?v5 Msg$)) (=> (member$a ?v5 (set$a ?v4)) (not (?v1 ?v5))))))))) :named a336)) -(assert (! (forall ((?v0 Agent_list$) (?v1 (-> Agent$ Bool))) (=> (exists ((?v2 Agent$)) (and (member$ ?v2 (set$b ?v0)) (?v1 ?v2))) (exists ((?v2 Agent_list$) (?v3 Agent$) (?v4 Agent_list$)) (and (= ?v0 (append$b ?v2 (cons$c ?v3 ?v4))) (and (?v1 ?v3) (forall ((?v5 Agent$)) (=> (member$ ?v5 (set$b ?v4)) (not (?v1 ?v5))))))))) :named a337)) -(assert (! (forall ((?v0 Event_list$) (?v1 (-> Event$ Bool))) (=> (exists ((?v2 Event$)) (and (member$b ?v2 (set$ ?v0)) (?v1 ?v2))) (exists ((?v2 Event_list$) (?v3 Event$) (?v4 Event_list$)) (and (= ?v0 (append$ ?v2 (cons$ ?v3 ?v4))) (and (?v1 ?v3) (forall ((?v5 Event$)) (=> (member$b ?v5 (set$ ?v4)) (not (?v1 ?v5))))))))) :named a338)) -(assert (! (forall ((?v0 Msg$) (?v1 Msg_list$)) (= (member$a ?v0 (set$a ?v1)) (exists ((?v2 Msg_list$) (?v3 Msg_list$)) (= ?v1 (append$a ?v2 (cons$b ?v0 ?v3)))))) :named a339)) -(assert (! (forall ((?v0 Agent$) (?v1 Agent_list$)) (= (member$ ?v0 (set$b ?v1)) (exists ((?v2 Agent_list$) (?v3 Agent_list$)) (= ?v1 (append$b ?v2 (cons$c ?v0 ?v3)))))) :named a340)) -(assert (! (forall ((?v0 Event$) (?v1 Event_list$)) (= (member$b ?v0 (set$ ?v1)) (exists ((?v2 Event_list$) (?v3 Event_list$)) (= ?v1 (append$ ?v2 (cons$ ?v0 ?v3)))))) :named a341)) -(assert (! (forall ((?v0 Msg$) (?v1 Msg_list$) (?v2 Msg_list$) (?v3 Msg_list$) (?v4 Msg_list$)) (=> (and (not (member$a ?v0 (set$a ?v1))) (not (member$a ?v0 (set$a ?v2)))) (= (= (append$a ?v1 (cons$b ?v0 ?v2)) (append$a ?v3 (cons$b ?v0 ?v4))) (and (= ?v1 ?v3) (= ?v2 ?v4))))) :named a342)) -(assert (! (forall ((?v0 Agent$) (?v1 Agent_list$) (?v2 Agent_list$) (?v3 Agent_list$) (?v4 Agent_list$)) (=> (and (not (member$ ?v0 (set$b ?v1))) (not (member$ ?v0 (set$b ?v2)))) (= (= (append$b ?v1 (cons$c ?v0 ?v2)) (append$b ?v3 (cons$c ?v0 ?v4))) (and (= ?v1 ?v3) (= ?v2 ?v4))))) :named a343)) -(assert (! (forall ((?v0 Event$) (?v1 Event_list$) (?v2 Event_list$) (?v3 Event_list$) (?v4 Event_list$)) (=> (and (not (member$b ?v0 (set$ ?v1))) (not (member$b ?v0 (set$ ?v2)))) (= (= (append$ ?v1 (cons$ ?v0 ?v2)) (append$ ?v3 (cons$ ?v0 ?v4))) (and (= ?v1 ?v3) (= ?v2 ?v4))))) :named a344)) -(assert (! (forall ((?v0 Msg_list$) (?v1 (-> Msg$ Bool))) (=> (and (exists ((?v2 Msg$)) (and (member$a ?v2 (set$a ?v0)) (?v1 ?v2))) (forall ((?v2 Msg_list$) (?v3 Msg$) (?v4 Msg_list$)) (=> (and (= ?v0 (append$a ?v2 (cons$b ?v3 ?v4))) (?v1 ?v3)) false))) false)) :named a345)) -(assert (! (forall ((?v0 Agent_list$) (?v1 (-> Agent$ Bool))) (=> (and (exists ((?v2 Agent$)) (and (member$ ?v2 (set$b ?v0)) (?v1 ?v2))) (forall ((?v2 Agent_list$) (?v3 Agent$) (?v4 Agent_list$)) (=> (and (= ?v0 (append$b ?v2 (cons$c ?v3 ?v4))) (?v1 ?v3)) false))) false)) :named a346)) -(assert (! (forall ((?v0 Event_list$) (?v1 (-> Event$ Bool))) (=> (and (exists ((?v2 Event$)) (and (member$b ?v2 (set$ ?v0)) (?v1 ?v2))) (forall ((?v2 Event_list$) (?v3 Event$) (?v4 Event_list$)) (=> (and (= ?v0 (append$ ?v2 (cons$ ?v3 ?v4))) (?v1 ?v3)) false))) false)) :named a347)) -(assert (! (forall ((?v0 Msg$) (?v1 Msg_list$)) (=> (member$a ?v0 (set$a ?v1)) (exists ((?v2 Msg_list$) (?v3 Msg_list$)) (and (= ?v1 (append$a ?v2 (cons$b ?v0 ?v3))) (not (member$a ?v0 (set$a ?v2))))))) :named a348)) -(assert (! (forall ((?v0 Agent$) (?v1 Agent_list$)) (=> (member$ ?v0 (set$b ?v1)) (exists ((?v2 Agent_list$) (?v3 Agent_list$)) (and (= ?v1 (append$b ?v2 (cons$c ?v0 ?v3))) (not (member$ ?v0 (set$b ?v2))))))) :named a349)) -(assert (! (forall ((?v0 Event$) (?v1 Event_list$)) (=> (member$b ?v0 (set$ ?v1)) (exists ((?v2 Event_list$) (?v3 Event_list$)) (and (= ?v1 (append$ ?v2 (cons$ ?v0 ?v3))) (not (member$b ?v0 (set$ ?v2))))))) :named a350)) -(assert (! (forall ((?v0 Msg_list$) (?v1 (-> Msg$ Bool))) (=> (exists ((?v2 Msg$)) (and (member$a ?v2 (set$a ?v0)) (?v1 ?v2))) (exists ((?v2 Msg_list$) (?v3 Msg$) (?v4 Msg_list$)) (and (= ?v0 (append$a ?v2 (cons$b ?v3 ?v4))) (?v1 ?v3))))) :named a351)) -(assert (! (forall ((?v0 Agent_list$) (?v1 (-> Agent$ Bool))) (=> (exists ((?v2 Agent$)) (and (member$ ?v2 (set$b ?v0)) (?v1 ?v2))) (exists ((?v2 Agent_list$) (?v3 Agent$) (?v4 Agent_list$)) (and (= ?v0 (append$b ?v2 (cons$c ?v3 ?v4))) (?v1 ?v3))))) :named a352)) -(assert (! (forall ((?v0 Event_list$) (?v1 (-> Event$ Bool))) (=> (exists ((?v2 Event$)) (and (member$b ?v2 (set$ ?v0)) (?v1 ?v2))) (exists ((?v2 Event_list$) (?v3 Event$) (?v4 Event_list$)) (and (= ?v0 (append$ ?v2 (cons$ ?v3 ?v4))) (?v1 ?v3))))) :named a353)) -(assert (! (forall ((?v0 Msg$) (?v1 Msg_list$)) (=> (member$a ?v0 (set$a ?v1)) (exists ((?v2 Msg_list$) (?v3 Msg_list$)) (and (= ?v1 (append$a ?v2 (cons$b ?v0 ?v3))) (not (member$a ?v0 (set$a ?v3))))))) :named a354)) -(assert (! (forall ((?v0 Agent$) (?v1 Agent_list$)) (=> (member$ ?v0 (set$b ?v1)) (exists ((?v2 Agent_list$) (?v3 Agent_list$)) (and (= ?v1 (append$b ?v2 (cons$c ?v0 ?v3))) (not (member$ ?v0 (set$b ?v3))))))) :named a355)) -(assert (! (forall ((?v0 Event$) (?v1 Event_list$)) (=> (member$b ?v0 (set$ ?v1)) (exists ((?v2 Event_list$) (?v3 Event_list$)) (and (= ?v1 (append$ ?v2 (cons$ ?v0 ?v3))) (not (member$b ?v0 (set$ ?v3))))))) :named a356)) -(assert (! (forall ((?v0 Msg$) (?v1 Msg_list$)) (=> (member$a ?v0 (set$a ?v1)) (exists ((?v2 Msg_list$) (?v3 Msg_list$)) (= ?v1 (append$a ?v2 (cons$b ?v0 ?v3)))))) :named a357)) -(assert (! (forall ((?v0 Agent$) (?v1 Agent_list$)) (=> (member$ ?v0 (set$b ?v1)) (exists ((?v2 Agent_list$) (?v3 Agent_list$)) (= ?v1 (append$b ?v2 (cons$c ?v0 ?v3)))))) :named a358)) -(assert (! (forall ((?v0 Event$) (?v1 Event_list$)) (=> (member$b ?v0 (set$ ?v1)) (exists ((?v2 Event_list$) (?v3 Event_list$)) (= ?v1 (append$ ?v2 (cons$ ?v0 ?v3)))))) :named a359)) -(assert (! (forall ((?v0 Agent$) (?v1 Agent$) (?v2 Msg$) (?v3 Event_list$)) (=> (member$b (says$ ?v0 ?v1 ?v2) (set$ ?v3)) (member$a ?v2 (knows$ ?v0 ?v3)))) :named a360)) -(assert (! (forall ((?v0 Agent$) (?v1 Msg$) (?v2 Event_list$)) (=> (member$b (notes$ ?v0 ?v1) (set$ ?v2)) (member$a ?v1 (knows$ ?v0 ?v2)))) :named a361)) -(assert (! (forall ((?v0 Msg$) (?v1 Msg_list$)) (! (= (insert$d ?v0 ?v1) (ite (member$a ?v0 (set$a ?v1)) ?v1 (cons$b ?v0 ?v1))) :pattern ((insert$d ?v0 ?v1)))) :named a362)) -(assert (! (forall ((?v0 Agent$) (?v1 Agent_list$)) (! (= (insert$e ?v0 ?v1) (ite (member$ ?v0 (set$b ?v1)) ?v1 (cons$c ?v0 ?v1))) :pattern ((insert$e ?v0 ?v1)))) :named a363)) -(assert (! (forall ((?v0 Event$) (?v1 Event_list$)) (! (= (insert$a ?v0 ?v1) (ite (member$b ?v0 (set$ ?v1)) ?v1 (cons$ ?v0 ?v1))) :pattern ((insert$a ?v0 ?v1)))) :named a364)) -(assert (! (forall ((?v0 Agent$) (?v1 Agent$) (?v2 Msg$) (?v3 Event_list$)) (=> (member$b (says$ ?v0 ?v1 ?v2) (set$ ?v3)) (member$a ?v2 (knows$ spy$ ?v3)))) :named a365)) -(assert (! (forall ((?v0 Agent$) (?v1 Msg$) (?v2 Event_list$)) (=> (and (not (= ?v0 spy$)) (member$b (gets$ ?v0 ?v1) (set$ ?v2))) (member$a ?v1 (knows$ ?v0 ?v2)))) :named a366)) -(assert (! (forall ((?v0 Msg$) (?v1 Event_list$)) (=> (member$a ?v0 (knows$ spy$ ?v1)) (exists ((?v2 Agent$) (?v3 Agent$)) (or (member$b (says$ ?v2 ?v3 ?v0) (set$ ?v1)) (or (member$b (notes$ ?v2 ?v0) (set$ ?v1)) (member$a ?v0 (initState$ spy$))))))) :named a367)) -(assert (! (forall ((?v0 Msg_list$) (?v1 Msg$) (?v2 Msg_list_set$)) (=> (member$e (append$a ?v0 (cons$b ?v1 nil$b)) ?v2) (member$a ?v1 (succ$a ?v2 ?v0)))) :named a368)) -(assert (! (forall ((?v0 Agent_list$) (?v1 Agent$) (?v2 Agent_list_set$)) (=> (member$f (append$b ?v0 (cons$c ?v1 nil$c)) ?v2) (member$ ?v1 (succ$b ?v2 ?v0)))) :named a369)) -(assert (! (forall ((?v0 Event_list$) (?v1 Event$) (?v2 Event_list_set$)) (=> (member$c (append$ ?v0 (cons$ ?v1 nil$)) ?v2) (member$b ?v1 (succ$ ?v2 ?v0)))) :named a370)) -(assert (! (forall ((?v0 Event_list$) (?v1 Agent$) (?v2 Msg$)) (= (knows$ spy$ (append$ ?v0 (cons$ (notes$ ?v1 ?v2) nil$))) (ite (member$ ?v1 bad$) (insert$ ?v2 (knows$ spy$ ?v0)) (knows$ spy$ ?v0)))) :named a371)) -(assert (! (member$ spy$ bad$) :named a372)) -(assert (! (forall ((?v0 Agent$) (?v1 Msg$) (?v2 Event_list$)) (! (= (knows$ spy$ (cons$ (notes$ ?v0 ?v1) ?v2)) (ite (member$ ?v0 bad$) (insert$ ?v1 (knows$ spy$ ?v2)) (knows$ spy$ ?v2))) :pattern ((cons$ (notes$ ?v0 ?v1) ?v2)))) :named a373)) -(assert (! (forall ((?v0 Agent$) (?v1 Msg$) (?v2 Event_list$)) (=> (and (member$b (notes$ ?v0 ?v1) (set$ ?v2)) (member$ ?v0 bad$)) (member$a ?v1 (knows$ spy$ ?v2)))) :named a374)) -(assert (! (forall ((?v0 Agent$) (?v1 Event$) (?v2 Event_list$)) (= (knows$ ?v0 (cons$ ?v1 ?v2)) (ite (= ?v0 spy$) (case_event$ (uuo$ ?v2) (uup$ ?v2) (uuq$ ?v2) ?v1) (case_event$ (uur$ ?v0 ?v2) (uus$ ?v0 ?v2) (uus$ ?v0 ?v2) ?v1)))) :named a375)) -(check-sat) diff --git a/test/regress/regress1/ho/bound_var_bug.p b/test/regress/regress1/ho/bound_var_bug.p new file mode 100644 index 000000000..0dc946d6a --- /dev/null +++ b/test/regress/regress1/ho/bound_var_bug.p @@ -0,0 +1,26 @@ +% COMMAND-LINE: --uf-ho +% EXPECT: % SZS status GaveUp for bound_var_bug + +% TIMEFORMAT='%3R'; { time (exec 2>&1; /Users/blanchette/misc/leo --foatp e --atp e="$E_HOME"/eprover --atp epclextract="$E_HOME"/epclextract --proofoutput 1 --timeout 30 /Users/blanchette/hgs/afp_mining/tools/judgment_day_2017/data_afp/leo2-mepo/Call_Arity_SestoftGC_data/prob_308__3244432_1 ) ; } +% This file was generated by Isabelle (most likely Sledgehammer) +% 2017-07-27 17:26:12.634 + +% Could-be-implicit typings (91) + +thf(ty_n_t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_It__Vars__Ovar_Mt__Terms__Oexp_J_J_Mt__Product____Type__Oprod_It__Terms__Oexp_Mt__List__Olist_It__SestoftConf__Ostack____elem_J_J_J, type, + produc1516857811k_elem : $tType). + + +thf(ty_n_t__Vars__Ovar, type, + var : $tType). + +thf(sy_c_Transitive__Closure_Ortranclp_001t__Product____Type__Oprod_It__List__Olist_It__Product____Type__Oprod_It__Vars__Ovar_Mt__Terms__Oexp_J_J_Mt__Product____Type__Oprod_It__Terms__Oexp_Mt__List__Olist_It__SestoftConf__Ostack____elem_J_J_J, type, + transi803447880k_elem : (produc1516857811k_elem > produc1516857811k_elem > $o) > produc1516857811k_elem > produc1516857811k_elem > $o). + +% Relevant facts (1094) + +thf(fact_233_rtranclp__idemp, axiom, + ((![R : produc1516857811k_elem > produc1516857811k_elem > $o]: ((transi803447880k_elem @ (transi803447880k_elem @ R)) = (transi803447880k_elem @ R))))). % rtranclp_idemp + +thf(fact_293_rtranclp_Osimps, axiom, + ((transi803447880k_elem = (^[R4 : produc1516857811k_elem > produc1516857811k_elem > $o]: (^[A12 : produc1516857811k_elem]: (^[A23 : produc1516857811k_elem]: (((?[A5 : produc1516857811k_elem]: (((A12 = A5)) & ((A23 = A5))))) | ((?[A5 : produc1516857811k_elem]: (?[B4 : produc1516857811k_elem]: (?[C5 : produc1516857811k_elem]: (((A12 = A5)) & ((((A23 = C5)) & ((((transi803447880k_elem @ R4 @ A5 @ B4)) & ((R4 @ B4 @ C5)))))))))))))))))). % rtranclp.simps diff --git a/test/regress/regress1/ho/bug_freeVar_BDD_General_data_270.p b/test/regress/regress1/ho/bug_freeVar_BDD_General_data_270.p new file mode 100644 index 000000000..6c35270fd --- /dev/null +++ b/test/regress/regress1/ho/bug_freeVar_BDD_General_data_270.p @@ -0,0 +1,11 @@ +% COMMAND-LINE: --uf-ho --finite-model-find +% EXPECT: % SZS status Satisfiable for bug_freeVar_BDD_General_data_270 + +thf(ty_n_t__Nat__Onat, type, + nat : $tType). + +thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Nat__Onat, type, + ord_less_eq_nat : nat > nat > $o). + +thf(fact_76_eq__iff, axiom, + (((^[Y3 : nat]: (^[Z2 : nat]: (Y3 = Z2))) = (^[X4 : nat]: (^[Y4 : nat]: (((ord_less_eq_nat @ X4 @ Y4)) & ((ord_less_eq_nat @ Y4 @ X4)))))))). % eq_iff diff --git a/test/regress/regress1/ho/bug_freevar_PHI004^4-delta.smt2 b/test/regress/regress1/ho/bug_freevar_PHI004^4-delta.smt2 new file mode 100644 index 000000000..9dd95aeae --- /dev/null +++ b/test/regress/regress1/ho/bug_freevar_PHI004^4-delta.smt2 @@ -0,0 +1,35 @@ +; COMMAND-LINE: --uf-ho --finite-model-find --no-check-models +; EXPECT: sat + +(set-logic ALL) +(declare-sort $$unsorted 0) +(declare-sort qML_mu 0) +(declare-sort qML_i 0) +(declare-fun scott_G (qML_mu qML_i) Bool) +(declare-fun scott_P ((-> qML_mu qML_i Bool) qML_i) Bool) + +(assert + (= + scott_G + (lambda ((X qML_mu) (__flatten_var_0 qML_i)) + (forall ((BOUND_VARIABLE_292 (-> qML_mu qML_i Bool))) + (or + (not (scott_P BOUND_VARIABLE_292 __flatten_var_0)) + (BOUND_VARIABLE_292 X __flatten_var_0) + ) )))) + +(assert + (forall ((X_1 qML_i)) + (scott_P + (lambda ((X qML_mu) (__flatten_var_0 qML_i)) + (forall ((BOUND_VARIABLE_292 (-> qML_mu qML_i Bool))) + (or + (not (scott_P BOUND_VARIABLE_292 __flatten_var_0)) + (BOUND_VARIABLE_292 X __flatten_var_0)) )) + X_1 + ) + )) + + + +(check-sat) \ No newline at end of file diff --git a/test/regress/regress1/ho/fta0210.smt2 b/test/regress/regress1/ho/fta0210.smt2 deleted file mode 100644 index 9f0a39f25..000000000 --- a/test/regress/regress1/ho/fta0210.smt2 +++ /dev/null @@ -1,64 +0,0 @@ -; COMMAND-LINE: --uf-ho -; EXPECT: unsat -(set-logic ALL) -(declare-sort A$ 0) -(declare-sort Nat$ 0) -(declare-sort A_poly$ 0) -(declare-sort Nat_poly$ 0) -(declare-sort A_poly_poly$ 0) -(declare-fun p$ () A_poly$) -(declare-fun uu$ (A_poly$ (-> A_poly$ A_poly$) A_poly$) A_poly$) -(declare-fun one$ () Nat$) -(declare-fun suc$ (Nat$) Nat$) -(declare-fun uua$ (A_poly$) A_poly$) -(declare-fun uub$ (A$ (-> A$ A$) A$) A$) -(declare-fun uuc$ (A$) A$) -(declare-fun uud$ (Nat$ (-> Nat$ Nat$) Nat$) Nat$) -(declare-fun uue$ (Nat$) Nat$) -(declare-fun one$a () Nat_poly$) -(declare-fun one$b () A$) -(declare-fun one$c () A_poly$) -(declare-fun plus$ (A_poly$ A_poly$) A_poly$) -(declare-fun poly$ (A_poly$ A$) A$) -(declare-fun zero$ () A_poly$) -(declare-fun pCons$ (A$ A_poly$) A_poly$) -(declare-fun plus$a (Nat$ Nat$) Nat$) -(declare-fun plus$b (A$ A$) A$) -(declare-fun plus$c (Nat_poly$ Nat_poly$) Nat_poly$) -(declare-fun poly$a (Nat_poly$ Nat$) Nat$) -(declare-fun poly$b (A_poly_poly$ A_poly$) A_poly$) -(declare-fun power$ (A$ Nat$) A$) -(declare-fun psize$ (A_poly$) Nat$) -(declare-fun times$ (A_poly$ A_poly$) A_poly$) -(declare-fun zero$a () Nat$) -(declare-fun zero$b () A$) -(declare-fun zero$c () Nat_poly$) -(declare-fun zero$d () A_poly_poly$) -(declare-fun pCons$a (Nat$ Nat_poly$) Nat_poly$) -(declare-fun pCons$b (A_poly$ A_poly_poly$) A_poly_poly$) -(declare-fun power$a (A_poly$ Nat$) A_poly$) -(declare-fun power$b (Nat_poly$ Nat$) Nat_poly$) -(declare-fun power$c (Nat$ Nat$) Nat$) -(declare-fun psize$a (A_poly_poly$) Nat$) -(declare-fun times$a (Nat$ Nat$) Nat$) -(declare-fun times$b (A$ A$) A$) -(declare-fun times$c (Nat_poly$ Nat_poly$) Nat_poly$) -(declare-fun times$d (A_poly_poly$ A_poly_poly$) A_poly_poly$) -(declare-fun uminus$ (A_poly$) A_poly$) -(declare-fun uminus$a (A$) A$) -(declare-fun constant$ ((-> A$ A$)) Bool) -(declare-fun pcompose$ (A_poly$ A_poly$) A_poly$) -(declare-fun pcompose$a (Nat_poly$ Nat_poly$) Nat_poly$) -(declare-fun pcompose$b (A_poly_poly$ A_poly_poly$) A_poly_poly$) -(declare-fun poly_shift$ (Nat$ A_poly$) A_poly$) -(declare-fun fold_coeffs$ ((-> A_poly$ (-> (-> A_poly$ A_poly$) (-> A_poly$ A_poly$))) A_poly_poly$ (-> A_poly$ A_poly$)) (-> A_poly$ A_poly$)) -(declare-fun poly_cutoff$ (Nat$ A_poly$) A_poly$) -(declare-fun fold_coeffs$a ((-> A$ (-> (-> A$ A$) (-> A$ A$))) A_poly$ (-> A$ A$)) (-> A$ A$)) -(declare-fun fold_coeffs$b ((-> Nat$ (-> (-> Nat$ Nat$) (-> Nat$ Nat$))) Nat_poly$ (-> Nat$ Nat$)) (-> Nat$ Nat$)) - -(assert (! (forall ((?v0 A$)) (= (poly$ zero$ ?v0) zero$b)) :named a14)) -(assert (! (forall ((?v0 (-> A$ A$))) (= (constant$ ?v0) (forall ((?v1 A$) (?v2 A$)) (= (?v0 ?v1) (?v0 ?v2))))) :named a69)) -(assert (! (not (constant$ (poly$ zero$))) :named a206)) - -(check-sat) -;(get-proof) diff --git a/test/regress/regress1/ho/fta0328.lfho.p b/test/regress/regress1/ho/fta0328.lfho.p new file mode 100644 index 000000000..c33b43ca5 --- /dev/null +++ b/test/regress/regress1/ho/fta0328.lfho.p @@ -0,0 +1,200 @@ +% COMMAND-LINE: --uf-ho --uf-ho --finite-model-find +% EXPECT: % SZS status CounterSatisfiable for fta0328.lfho + +% TIMEFORMAT='%3R'; { time (exec 2>&1; /Users/blanchette/.isabelle/contrib/e-2.0-2/x86_64-darwin/eprover --auto-schedule --tstp-in --tstp-out --silent --cpu-limit=2 --proof-object=1 /Users/blanchette/hgs/matryoshka/papers/2019-TACAS-ehoh/eval/judgment_day/judgment_day_lifting_32/fta/prob_804__4064966_1 ) ; } +% This file was generated by Isabelle (most likely Sledgehammer) +% 2018-05-22 19:17:55.732 + +% Could-be-implicit typings (8) +thf(ty_n_t__Polynomial__Opoly_It__Polynomial__Opoly_It__Polynomial__Opoly_It__Complex__Ocomplex_J_J_J, type, + poly_p1267267526omplex : $tType). +thf(ty_n_t__Polynomial__Opoly_It__Polynomial__Opoly_It__Complex__Ocomplex_J_J, type, + poly_poly_complex : $tType). +thf(ty_n_t__Polynomial__Opoly_It__Complex__Ocomplex_J, type, + poly_complex : $tType). +thf(ty_n_t__Polynomial__Opoly_It__Nat__Onat_J, type, + poly_nat : $tType). +thf(ty_n_t__Complex__Ocomplex, type, + complex : $tType). +thf(ty_n_t__Real__Oreal, type, + real : $tType). +thf(ty_n_t__HOL__Obool, type, + bool : $tType). +thf(ty_n_t__Nat__Onat, type, + nat : $tType). + +% Explicit typings (28) +thf(sy_c_Fundamental__Theorem__Algebra__Mirabelle__bptywjkimr_Oconstant_001t__Complex__Ocomplex_001t__Complex__Ocomplex, type, + fundam769667258omplex : (complex > complex) > $o). +thf(sy_c_Fundamental__Theorem__Algebra__Mirabelle__bptywjkimr_Opsize_001t__Complex__Ocomplex, type, + fundam835161864omplex : poly_complex > nat). +thf(sy_c_Groups_Oplus__class_Oplus_001t__Complex__Ocomplex, type, + plus_plus_complex : complex > complex > complex). +thf(sy_c_Groups_Oplus__class_Oplus_001t__Nat__Onat, type, + plus_plus_nat : nat > nat > nat). +thf(sy_c_Groups_Oplus__class_Oplus_001t__Polynomial__Opoly_It__Complex__Ocomplex_J, type, + plus_p1547158847omplex : poly_complex > poly_complex > poly_complex). +thf(sy_c_Groups_Oplus__class_Oplus_001t__Polynomial__Opoly_It__Polynomial__Opoly_It__Complex__Ocomplex_J_J, type, + plus_p138939463omplex : poly_poly_complex > poly_poly_complex > poly_poly_complex). +thf(sy_c_Groups_Ozero__class_Ozero_001t__Complex__Ocomplex, type, + zero_zero_complex : complex). +thf(sy_c_Groups_Ozero__class_Ozero_001t__Nat__Onat, type, + zero_zero_nat : nat). +thf(sy_c_Groups_Ozero__class_Ozero_001t__Polynomial__Opoly_It__Complex__Ocomplex_J, type, + zero_z1746442943omplex : poly_complex). +thf(sy_c_Groups_Ozero__class_Ozero_001t__Polynomial__Opoly_It__Nat__Onat_J, type, + zero_zero_poly_nat : poly_nat). +thf(sy_c_Groups_Ozero__class_Ozero_001t__Polynomial__Opoly_It__Polynomial__Opoly_It__Complex__Ocomplex_J_J, type, + zero_z1040703943omplex : poly_poly_complex). +thf(sy_c_Groups_Ozero__class_Ozero_001t__Polynomial__Opoly_It__Polynomial__Opoly_It__Polynomial__Opoly_It__Complex__Ocomplex_J_J_J, type, + zero_z1200043727omplex : poly_p1267267526omplex). +thf(sy_c_Orderings_Oord__class_Oless_001t__Nat__Onat, type, + ord_less_nat : nat > nat > $o). +thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Nat__Onat, type, + ord_less_eq_nat : nat > nat > $o). +thf(sy_c_Orderings_Oord__class_Oless__eq_001t__Real__Oreal, type, + ord_less_eq_real : real > real > $o). +thf(sy_c_Polynomial_Opoly_001t__Complex__Ocomplex, type, + poly_complex2 : poly_complex > complex > complex). +thf(sy_c_Polynomial_Opoly_001t__Nat__Onat, type, + poly_nat2 : poly_nat > nat > nat). +thf(sy_c_Polynomial_Opoly_001t__Polynomial__Opoly_It__Complex__Ocomplex_J, type, + poly_poly_complex2 : poly_poly_complex > poly_complex > poly_complex). +thf(sy_c_Polynomial_Opoly_001t__Polynomial__Opoly_It__Polynomial__Opoly_It__Complex__Ocomplex_J_J, type, + poly_p282434315omplex : poly_p1267267526omplex > poly_poly_complex > poly_poly_complex). +thf(sy_c_Real__Vector__Spaces_Onorm__class_Onorm_001t__Complex__Ocomplex, type, + real_V638595069omplex : complex > real). +thf(sy_c_fFalse, type, + fFalse : bool). +thf(sy_c_fTrue, type, + fTrue : bool). +thf(sy_c_pp, type, + pp : bool > $o). +thf(sy_v_a____, type, + a : complex). +thf(sy_v_c____, type, + c : complex). +thf(sy_v_p, type, + p : poly_complex). +thf(sy_v_pa____, type, + pa : poly_complex). +thf(sy_v_q____, type, + q : poly_complex). + +% Relevant facts (53) +thf(fact_0_kas_I1_J, axiom, + ((~ ((a = zero_zero_complex))))). % kas(1) +thf(fact_1_q_I2_J, axiom, + ((![X : complex]: ((poly_complex2 @ q @ X) = (poly_complex2 @ pa @ (plus_plus_complex @ c @ X)))))). % q(2) +thf(fact_2_nc, axiom, + ((~ ((fundam769667258omplex @ (poly_complex2 @ p)))))). % nc +thf(fact_3_False, axiom, + ((~ (((poly_complex2 @ pa @ c) = zero_zero_complex))))). % False +thf(fact_4_less_Oprems, axiom, + ((~ ((fundam769667258omplex @ (poly_complex2 @ pa)))))). % less.prems +thf(fact_5_a00, axiom, + ((~ (((poly_complex2 @ q @ zero_zero_complex) = zero_zero_complex))))). % a00 +thf(fact_6_pqc0, axiom, + (((poly_complex2 @ pa @ c) = (poly_complex2 @ q @ zero_zero_complex)))). % pqc0 +thf(fact_7_q_I1_J, axiom, + (((fundam835161864omplex @ q) = (fundam835161864omplex @ pa)))). % q(1) +thf(fact_8_poly__0, axiom, + ((![X2 : poly_poly_complex]: ((poly_p282434315omplex @ zero_z1200043727omplex @ X2) = zero_z1040703943omplex)))). % poly_0 +thf(fact_9_poly__0, axiom, + ((![X2 : nat]: ((poly_nat2 @ zero_zero_poly_nat @ X2) = zero_zero_nat)))). % poly_0 +thf(fact_10_poly__0, axiom, + ((![X2 : poly_complex]: ((poly_poly_complex2 @ zero_z1040703943omplex @ X2) = zero_z1746442943omplex)))). % poly_0 +thf(fact_11_poly__0, axiom, + ((![X2 : complex]: ((poly_complex2 @ zero_z1746442943omplex @ X2) = zero_zero_complex)))). % poly_0 +thf(fact_12_poly__all__0__iff__0, axiom, + ((![P : poly_p1267267526omplex]: ((![X3 : poly_poly_complex]: ((poly_p282434315omplex @ P @ X3) = zero_z1040703943omplex)) <=> (P = zero_z1200043727omplex))))). % poly_all_0_iff_0 +thf(fact_13_poly__all__0__iff__0, axiom, + ((![P : poly_complex]: ((![X3 : complex]: ((poly_complex2 @ P @ X3) = zero_zero_complex)) <=> (P = zero_z1746442943omplex))))). % poly_all_0_iff_0 +thf(fact_14_poly__all__0__iff__0, axiom, + ((![P : poly_poly_complex]: ((![X3 : poly_complex]: ((poly_poly_complex2 @ P @ X3) = zero_z1746442943omplex)) <=> (P = zero_z1040703943omplex))))). % poly_all_0_iff_0 +thf(fact_15__092_060open_062_092_060exists_062q_O_Apsize_Aq_A_061_Apsize_Ap_A_092_060and_062_A_I_092_060forall_062x_O_Apoly_Aq_Ax_A_061_Apoly_Ap_A_Ic_A_L_Ax_J_J_092_060close_062, axiom, + ((?[Q : poly_complex]: (((fundam835161864omplex @ Q) = (fundam835161864omplex @ pa)) & (![X : complex]: ((poly_complex2 @ Q @ X) = (poly_complex2 @ pa @ (plus_plus_complex @ c @ X)))))))). % \\q. psize q = psize p \ (\x. poly q x = poly p (c + x))\ +thf(fact_16__092_060open_062_092_060And_062thesis_O_A_I_092_060And_062q_O_A_092_060lbrakk_062psize_Aq_A_061_Apsize_Ap_059_A_092_060forall_062x_O_Apoly_Aq_Ax_A_061_Apoly_Ap_A_Ic_A_L_Ax_J_092_060rbrakk_062_A_092_060Longrightarrow_062_Athesis_J_A_092_060Longrightarrow_062_Athesis_092_060close_062, axiom, + ((~ ((![Q : poly_complex]: (((fundam835161864omplex @ Q) = (fundam835161864omplex @ pa)) => (~ ((![X : complex]: ((poly_complex2 @ Q @ X) = (poly_complex2 @ pa @ (plus_plus_complex @ c @ X)))))))))))). % \\thesis. (\q. \psize q = psize p; \x. poly q x = poly p (c + x)\ \ thesis) \ thesis\ +thf(fact_17__092_060open_062constant_A_Ipoly_Aq_J_A_092_060Longrightarrow_062_AFalse_092_060close_062, axiom, + ((~ ((fundam769667258omplex @ (poly_complex2 @ q)))))). % \constant (poly q) \ False\ +thf(fact_18_qnc, axiom, + ((~ ((fundam769667258omplex @ (poly_complex2 @ q)))))). % qnc +thf(fact_19_poly__eq__poly__eq__iff, axiom, + ((![P : poly_poly_complex, Q2 : poly_poly_complex]: (((poly_poly_complex2 @ P) = (poly_poly_complex2 @ Q2)) <=> (P = Q2))))). % poly_eq_poly_eq_iff +thf(fact_20_poly__eq__poly__eq__iff, axiom, + ((![P : poly_complex, Q2 : poly_complex]: (((poly_complex2 @ P) = (poly_complex2 @ Q2)) <=> (P = Q2))))). % poly_eq_poly_eq_iff +thf(fact_21_c, axiom, + ((![W : complex]: (ord_less_eq_real @ (real_V638595069omplex @ (poly_complex2 @ pa @ c)) @ (real_V638595069omplex @ (poly_complex2 @ pa @ W)))))). % c +thf(fact_22_zero__reorient, axiom, + ((![X2 : poly_poly_complex]: ((zero_z1040703943omplex = X2) <=> (X2 = zero_z1040703943omplex))))). % zero_reorient +thf(fact_23_zero__reorient, axiom, + ((![X2 : nat]: ((zero_zero_nat = X2) <=> (X2 = zero_zero_nat))))). % zero_reorient +thf(fact_24_zero__reorient, axiom, + ((![X2 : complex]: ((zero_zero_complex = X2) <=> (X2 = zero_zero_complex))))). % zero_reorient +thf(fact_25_zero__reorient, axiom, + ((![X2 : poly_complex]: ((zero_z1746442943omplex = X2) <=> (X2 = zero_z1746442943omplex))))). % zero_reorient +thf(fact_26_cq0, axiom, + ((![W : complex]: (ord_less_eq_real @ (real_V638595069omplex @ (poly_complex2 @ q @ zero_zero_complex)) @ (real_V638595069omplex @ (poly_complex2 @ pa @ W)))))). % cq0 +thf(fact_27_less_Ohyps, axiom, + ((![P : poly_complex]: ((ord_less_nat @ (fundam835161864omplex @ P) @ (fundam835161864omplex @ pa)) => ((~ ((fundam769667258omplex @ (poly_complex2 @ P)))) => (?[Z : complex]: ((poly_complex2 @ P @ Z) = zero_zero_complex))))))). % less.hyps +thf(fact_28_add__left__cancel, axiom, + ((![A : poly_complex, B : poly_complex, C : poly_complex]: (((plus_p1547158847omplex @ A @ B) = (plus_p1547158847omplex @ A @ C)) <=> (B = C))))). % add_left_cancel +thf(fact_29_add__left__cancel, axiom, + ((![A : complex, B : complex, C : complex]: (((plus_plus_complex @ A @ B) = (plus_plus_complex @ A @ C)) <=> (B = C))))). % add_left_cancel +thf(fact_30_add__right__cancel, axiom, + ((![B : poly_complex, A : poly_complex, C : poly_complex]: (((plus_p1547158847omplex @ B @ A) = (plus_p1547158847omplex @ C @ A)) <=> (B = C))))). % add_right_cancel +thf(fact_31_add__right__cancel, axiom, + ((![B : complex, A : complex, C : complex]: (((plus_plus_complex @ B @ A) = (plus_plus_complex @ C @ A)) <=> (B = C))))). % add_right_cancel +thf(fact_32__092_060open_062_092_060And_062thesis_O_A_I_092_060And_062c_O_A_092_060forall_062w_O_Acmod_A_Ipoly_Ap_Ac_J_A_092_060le_062_Acmod_A_Ipoly_Ap_Aw_J_A_092_060Longrightarrow_062_Athesis_J_A_092_060Longrightarrow_062_Athesis_092_060close_062, axiom, + ((~ ((![C2 : complex]: (~ ((![W : complex]: (ord_less_eq_real @ (real_V638595069omplex @ (poly_complex2 @ pa @ C2)) @ (real_V638595069omplex @ (poly_complex2 @ pa @ W))))))))))). % \\thesis. (\c. \w. cmod (poly p c) \ cmod (poly p w) \ thesis) \ thesis\ +thf(fact_33_le__zero__eq, axiom, + ((![N : nat]: ((ord_less_eq_nat @ N @ zero_zero_nat) <=> (N = zero_zero_nat))))). % le_zero_eq +thf(fact_34_not__gr__zero, axiom, + ((![N : nat]: ((~ ((ord_less_nat @ zero_zero_nat @ N))) <=> (N = zero_zero_nat))))). % not_gr_zero +thf(fact_35_zero__eq__add__iff__both__eq__0, axiom, + ((![X2 : nat, Y : nat]: ((zero_zero_nat = (plus_plus_nat @ X2 @ Y)) <=> ((X2 = zero_zero_nat) & (Y = zero_zero_nat)))))). % zero_eq_add_iff_both_eq_0 +thf(fact_36_add__eq__0__iff__both__eq__0, axiom, + ((![X2 : nat, Y : nat]: (((plus_plus_nat @ X2 @ Y) = zero_zero_nat) <=> ((X2 = zero_zero_nat) & (Y = zero_zero_nat)))))). % add_eq_0_iff_both_eq_0 +thf(fact_37_add__cancel__right__right, axiom, + ((![A : poly_poly_complex, B : poly_poly_complex]: ((A = (plus_p138939463omplex @ A @ B)) <=> (B = zero_z1040703943omplex))))). % add_cancel_right_right +thf(fact_38_add__cancel__right__right, axiom, + ((![A : nat, B : nat]: ((A = (plus_plus_nat @ A @ B)) <=> (B = zero_zero_nat))))). % add_cancel_right_right +thf(fact_39_add__cancel__right__right, axiom, + ((![A : complex, B : complex]: ((A = (plus_plus_complex @ A @ B)) <=> (B = zero_zero_complex))))). % add_cancel_right_right +thf(fact_40_add__cancel__right__right, axiom, + ((![A : poly_complex, B : poly_complex]: ((A = (plus_p1547158847omplex @ A @ B)) <=> (B = zero_z1746442943omplex))))). % add_cancel_right_right +thf(fact_41_add__cancel__right__left, axiom, + ((![A : poly_poly_complex, B : poly_poly_complex]: ((A = (plus_p138939463omplex @ B @ A)) <=> (B = zero_z1040703943omplex))))). % add_cancel_right_left +thf(fact_42_add__cancel__right__left, axiom, + ((![A : nat, B : nat]: ((A = (plus_plus_nat @ B @ A)) <=> (B = zero_zero_nat))))). % add_cancel_right_left +thf(fact_43_add__cancel__right__left, axiom, + ((![A : complex, B : complex]: ((A = (plus_plus_complex @ B @ A)) <=> (B = zero_zero_complex))))). % add_cancel_right_left +thf(fact_44_add__cancel__right__left, axiom, + ((![A : poly_complex, B : poly_complex]: ((A = (plus_p1547158847omplex @ B @ A)) <=> (B = zero_z1746442943omplex))))). % add_cancel_right_left +thf(fact_45_add__cancel__left__right, axiom, + ((![A : poly_poly_complex, B : poly_poly_complex]: (((plus_p138939463omplex @ A @ B) = A) <=> (B = zero_z1040703943omplex))))). % add_cancel_left_right +thf(fact_46_add__cancel__left__right, axiom, + ((![A : nat, B : nat]: (((plus_plus_nat @ A @ B) = A) <=> (B = zero_zero_nat))))). % add_cancel_left_right +thf(fact_47_add__cancel__left__right, axiom, + ((![A : complex, B : complex]: (((plus_plus_complex @ A @ B) = A) <=> (B = zero_zero_complex))))). % add_cancel_left_right +thf(fact_48_add__cancel__left__right, axiom, + ((![A : poly_complex, B : poly_complex]: (((plus_p1547158847omplex @ A @ B) = A) <=> (B = zero_z1746442943omplex))))). % add_cancel_left_right +thf(fact_49_add__cancel__left__left, axiom, + ((![B : poly_poly_complex, A : poly_poly_complex]: (((plus_p138939463omplex @ B @ A) = A) <=> (B = zero_z1040703943omplex))))). % add_cancel_left_left +thf(fact_50_add__cancel__left__left, axiom, + ((![B : nat, A : nat]: (((plus_plus_nat @ B @ A) = A) <=> (B = zero_zero_nat))))). % add_cancel_left_left +thf(fact_51_add__cancel__left__left, axiom, + ((![B : complex, A : complex]: (((plus_plus_complex @ B @ A) = A) <=> (B = zero_zero_complex))))). % add_cancel_left_left +thf(fact_52_add__cancel__left__left, axiom, + ((![B : poly_complex, A : poly_complex]: (((plus_p1547158847omplex @ B @ A) = A) <=> (B = zero_z1746442943omplex))))). % add_cancel_left_left + +% Helper facts (2) +thf(help_pp_2_1_U, axiom, + ((pp @ fTrue))). +thf(help_pp_1_1_U, axiom, + ((~ ((pp @ fFalse))))). + +% Conjectures (1) +thf(conj_0, conjecture, + ((?[Z2 : complex]: ((poly_complex2 @ pa @ Z2) = zero_zero_complex)))). diff --git a/test/regress/regress1/ho/fta0409.smt2 b/test/regress/regress1/ho/fta0409.smt2 deleted file mode 100644 index 51ac5f2da..000000000 --- a/test/regress/regress1/ho/fta0409.smt2 +++ /dev/null @@ -1,427 +0,0 @@ -; COMMAND-LINE: --uf-ho -; EXPECT: unsat -(set-logic ALL) -(set-info :status unsat) -(declare-sort Nat$ 0) -(declare-sort Complex$ 0) -(declare-sort Nat_poly$ 0) -(declare-sort Complex_poly$ 0) -(declare-sort Complex_poly_poly$ 0) -(declare-fun n$ () Nat$) -(declare-fun q$ () Complex_poly$) -(declare-fun r$ () Complex_poly$) -(declare-fun dvd$ (Complex_poly$ Complex_poly$) Bool) -(declare-fun one$ () Nat$) -(declare-fun suc$ (Nat$) Nat$) -(declare-fun dvd$a (Complex$ Complex$) Bool) -(declare-fun dvd$b (Nat$ Nat$) Bool) -(declare-fun dvd$c (Complex_poly_poly$ Complex_poly_poly$) Bool) -(declare-fun dvd$d (Nat_poly$ Nat_poly$) Bool) -(declare-fun one$a () Complex_poly$) -(declare-fun one$b () Complex$) -(declare-fun one$c () Nat_poly$) -(declare-fun plus$ (Complex$ Complex$) Complex$) -(declare-fun poly$ (Complex_poly$) (-> Complex$ Complex$)) -(declare-fun zero$ () Complex$) -(declare-fun coeff$ (Complex_poly_poly$ Nat$) Complex_poly$) -(declare-fun monom$ (Complex$ Nat$) Complex_poly$) -(declare-fun order$ (Complex$ Complex_poly$) Nat$) -(declare-fun pCons$ (Complex$ Complex_poly$) Complex_poly$) -(declare-fun plus$a (Nat$ Nat$) Nat$) -(declare-fun plus$b (Nat_poly$ Nat_poly$) Nat_poly$) -(declare-fun plus$c (Complex_poly$ Complex_poly$) Complex_poly$) -(declare-fun poly$a (Complex_poly_poly$ Complex_poly$) Complex_poly$) -(declare-fun poly$b (Nat_poly$ Nat$) Nat$) -(declare-fun power$ (Complex_poly$ Nat$) Complex_poly$) -(declare-fun psize$ (Complex_poly$) Nat$) -(declare-fun times$ (Nat$ Nat$) Nat$) -(declare-fun zero$a () Nat$) -(declare-fun zero$b () Complex_poly_poly$) -(declare-fun zero$c () Complex_poly$) -(declare-fun zero$d () Nat_poly$) -(declare-fun coeff$a (Nat_poly$ Nat$) Nat$) -(declare-fun coeff$b (Complex_poly$ Nat$) Complex$) -(declare-fun degree$ (Complex_poly_poly$) Nat$) -(declare-fun monom$a (Complex_poly$ Nat$) Complex_poly_poly$) -(declare-fun monom$b (Nat$ Nat$) Nat_poly$) -(declare-fun order$a (Complex_poly$ Complex_poly_poly$) Nat$) -(declare-fun pCons$a (Complex_poly$ Complex_poly_poly$) Complex_poly_poly$) -(declare-fun pCons$b (Nat$ Nat_poly$) Nat_poly$) -(declare-fun power$a (Complex_poly_poly$ Nat$) Complex_poly_poly$) -(declare-fun power$b (Nat_poly$ Nat$) Nat_poly$) -(declare-fun power$c (Nat$ Nat$) Nat$) -(declare-fun power$d (Complex$ Nat$) Complex$) -(declare-fun degree$a (Nat_poly$) Nat$) -(declare-fun degree$b (Complex_poly$) Nat$) -(declare-fun is_zero$ (Complex_poly$) Bool) -(declare-fun less_eq$ (Nat$ Nat$) Bool) -(declare-fun of_bool$ (Bool) Complex$) -(declare-fun constant$ ((-> Complex$ Complex$)) Bool) -(declare-fun of_bool$a (Bool) Complex_poly$) -(declare-fun of_bool$b (Bool) Nat$) -(declare-fun pcompose$ (Complex_poly$ Complex_poly$) Complex_poly$) -(declare-fun pcompose$a (Complex_poly_poly$ Complex_poly_poly$) Complex_poly_poly$) -(declare-fun pcompose$b (Nat_poly$ Nat_poly$) Nat_poly$) -(declare-fun poly_shift$ (Nat$ Complex_poly$) Complex_poly$) -(declare-fun offset_poly$ (Complex_poly$ Complex$) Complex_poly$) -(declare-fun poly_cutoff$ (Nat$ Complex_poly$) Complex_poly$) -(declare-fun rsquarefree$ (Complex_poly$) Bool) -(declare-fun offset_poly$a (Nat_poly$ Nat$) Nat_poly$) -(declare-fun reflect_poly$ (Complex_poly$) Complex_poly$) -(declare-fun reflect_poly$a (Complex_poly_poly$) Complex_poly_poly$) -(declare-fun reflect_poly$b (Nat_poly$) Nat_poly$) -(declare-fun synthetic_div$ (Complex_poly$ Complex$) Complex_poly$) -(assert (! (not (= (poly$ (power$ q$ n$)) (poly$ r$))) :named a0)) -(assert (! (forall ((?v0 Complex$)) (= (poly$ (power$ q$ n$) ?v0) (poly$ r$ ?v0))) :named a1)) -(assert (! (forall ((?v0 Complex_poly_poly$) (?v1 Nat$) (?v2 Complex_poly$)) (= (poly$a (power$a ?v0 ?v1) ?v2) (power$ (poly$a ?v0 ?v2) ?v1))) :named a2)) -(assert (! (forall ((?v0 Nat_poly$) (?v1 Nat$) (?v2 Nat$)) (= (poly$b (power$b ?v0 ?v1) ?v2) (power$c (poly$b ?v0 ?v2) ?v1))) :named a3)) -(assert (! (forall ((?v0 Complex_poly$) (?v1 Nat$) (?v2 Complex$)) (= (poly$ (power$ ?v0 ?v1) ?v2) (power$d (poly$ ?v0 ?v2) ?v1))) :named a4)) -(assert (! (forall ((?v0 Complex_poly$) (?v1 Complex_poly$)) (= (= (poly$ ?v0) (poly$ ?v1)) (= ?v0 ?v1))) :named a5)) -(assert (! (forall ((?v0 Complex_poly$)) (=> (not (constant$ (poly$ ?v0))) (exists ((?v1 Complex$)) (= (poly$ ?v0 ?v1) zero$)))) :named a6)) -(assert (! (forall ((?v0 Complex_poly$) (?v1 Nat$)) (= (reflect_poly$ (power$ ?v0 ?v1)) (power$ (reflect_poly$ ?v0) ?v1))) :named a7)) -(assert (! (forall ((?v0 Complex_poly_poly$) (?v1 Nat$)) (= (coeff$ (power$a ?v0 ?v1) zero$a) (power$ (coeff$ ?v0 zero$a) ?v1))) :named a8)) -(assert (! (forall ((?v0 Nat_poly$) (?v1 Nat$)) (= (coeff$a (power$b ?v0 ?v1) zero$a) (power$c (coeff$a ?v0 zero$a) ?v1))) :named a9)) -(assert (! (forall ((?v0 Complex_poly$) (?v1 Nat$)) (= (coeff$b (power$ ?v0 ?v1) zero$a) (power$d (coeff$b ?v0 zero$a) ?v1))) :named a10)) -(assert (! (forall ((?v0 (-> Complex$ Complex$))) (= (constant$ ?v0) (forall ((?v1 Complex$) (?v2 Complex$)) (= (?v0 ?v1) (?v0 ?v2))))) :named a11)) -(assert (! (forall ((?v0 Complex_poly$) (?v1 Complex$)) (exists ((?v2 Complex_poly$)) (and (= (psize$ ?v2) (psize$ ?v0)) (forall ((?v3 Complex$)) (= (poly$ ?v2 ?v3) (poly$ ?v0 (plus$ ?v1 ?v3))))))) :named a12)) -(assert (! (forall ((?v0 Complex_poly$) (?v1 Complex$) (?v2 Complex$)) (= (poly$ (offset_poly$ ?v0 ?v1) ?v2) (poly$ ?v0 (plus$ ?v1 ?v2)))) :named a13)) -(assert (! (forall ((?v0 Nat_poly$) (?v1 Nat$) (?v2 Nat$)) (= (poly$b (offset_poly$a ?v0 ?v1) ?v2) (poly$b ?v0 (plus$a ?v1 ?v2)))) :named a14)) -(assert (! (forall ((?v0 Complex_poly$) (?v1 Complex_poly$) (?v2 Complex$)) (= (poly$ (pcompose$ ?v0 ?v1) ?v2) (poly$ ?v0 (poly$ ?v1 ?v2)))) :named a15)) -(assert (! (forall ((?v0 Complex_poly$)) (= (power$ ?v0 one$) ?v0)) :named a16)) -(assert (! (forall ((?v0 Nat$)) (= (power$c ?v0 one$) ?v0)) :named a17)) -(assert (! (forall ((?v0 Nat$)) (= (power$ one$a ?v0) one$a)) :named a18)) -(assert (! (forall ((?v0 Nat$)) (= (power$c one$ ?v0) one$)) :named a19)) -(assert (! (forall ((?v0 Complex_poly_poly$) (?v1 Nat$)) (= (coeff$ (power$a ?v0 ?v1) (degree$ (power$a ?v0 ?v1))) (power$ (coeff$ ?v0 (degree$ ?v0)) ?v1))) :named a20)) -(assert (! (forall ((?v0 Nat_poly$) (?v1 Nat$)) (= (coeff$a (power$b ?v0 ?v1) (degree$a (power$b ?v0 ?v1))) (power$c (coeff$a ?v0 (degree$a ?v0)) ?v1))) :named a21)) -(assert (! (forall ((?v0 Complex_poly$) (?v1 Nat$)) (= (coeff$b (power$ ?v0 ?v1) (degree$b (power$ ?v0 ?v1))) (power$d (coeff$b ?v0 (degree$b ?v0)) ?v1))) :named a22)) -(assert (! (forall ((?v0 Nat$)) (= (coeff$ zero$b ?v0) zero$c)) :named a23)) -(assert (! (forall ((?v0 Nat$)) (= (coeff$a zero$d ?v0) zero$a)) :named a24)) -(assert (! (forall ((?v0 Nat$)) (= (coeff$b zero$c ?v0) zero$)) :named a25)) -(assert (! (forall ((?v0 Nat_poly$) (?v1 Nat_poly$) (?v2 Nat$)) (= (coeff$a (plus$b ?v0 ?v1) ?v2) (plus$a (coeff$a ?v0 ?v2) (coeff$a ?v1 ?v2)))) :named a26)) -(assert (! (forall ((?v0 Complex_poly$)) (= (poly$a zero$b ?v0) zero$c)) :named a27)) -(assert (! (forall ((?v0 Nat$)) (= (poly$b zero$d ?v0) zero$a)) :named a28)) -(assert (! (forall ((?v0 Complex$)) (= (poly$ zero$c ?v0) zero$)) :named a29)) -(assert (! (= (degree$b one$a) zero$a) :named a30)) -(assert (! (forall ((?v0 Complex_poly$) (?v1 Complex_poly$) (?v2 Complex$)) (= (poly$ (plus$c ?v0 ?v1) ?v2) (plus$ (poly$ ?v0 ?v2) (poly$ ?v1 ?v2)))) :named a31)) -(assert (! (forall ((?v0 Nat_poly$) (?v1 Nat_poly$) (?v2 Nat$)) (= (poly$b (plus$b ?v0 ?v1) ?v2) (plus$a (poly$b ?v0 ?v2) (poly$b ?v1 ?v2)))) :named a32)) -(assert (! (forall ((?v0 Complex$)) (= (poly$ one$a ?v0) one$b)) :named a33)) -(assert (! (forall ((?v0 Nat$)) (= (poly$b one$c ?v0) one$)) :named a34)) -(assert (! (forall ((?v0 Complex_poly$)) (= (= (coeff$b ?v0 (degree$b ?v0)) zero$) (= ?v0 zero$c))) :named a35)) -(assert (! (forall ((?v0 Complex_poly_poly$)) (= (= (coeff$ ?v0 (degree$ ?v0)) zero$c) (= ?v0 zero$b))) :named a36)) -(assert (! (forall ((?v0 Nat_poly$)) (= (= (coeff$a ?v0 (degree$a ?v0)) zero$a) (= ?v0 zero$d))) :named a37)) -(assert (! (= (coeff$b one$a (degree$b one$a)) one$b) :named a38)) -(assert (! (= (coeff$a one$c (degree$a one$c)) one$) :named a39)) -(assert (! (forall ((?v0 Complex_poly$)) (= (= (poly$ (reflect_poly$ ?v0) zero$) zero$) (= ?v0 zero$c))) :named a40)) -(assert (! (forall ((?v0 Complex_poly_poly$)) (= (= (poly$a (reflect_poly$a ?v0) zero$c) zero$c) (= ?v0 zero$b))) :named a41)) -(assert (! (forall ((?v0 Nat_poly$)) (= (= (poly$b (reflect_poly$b ?v0) zero$a) zero$a) (= ?v0 zero$d))) :named a42)) -(assert (! (forall ((?v0 Complex_poly$)) (=> (not (= (coeff$b ?v0 zero$a) zero$)) (= (reflect_poly$ (reflect_poly$ ?v0)) ?v0))) :named a43)) -(assert (! (forall ((?v0 Complex_poly_poly$)) (=> (not (= (coeff$ ?v0 zero$a) zero$c)) (= (reflect_poly$a (reflect_poly$a ?v0)) ?v0))) :named a44)) -(assert (! (forall ((?v0 Nat_poly$)) (=> (not (= (coeff$a ?v0 zero$a) zero$a)) (= (reflect_poly$b (reflect_poly$b ?v0)) ?v0))) :named a45)) -(assert (! (forall ((?v0 Complex_poly$)) (= (= (coeff$b (reflect_poly$ ?v0) zero$a) zero$) (= ?v0 zero$c))) :named a46)) -(assert (! (forall ((?v0 Complex_poly_poly$)) (= (= (coeff$ (reflect_poly$a ?v0) zero$a) zero$c) (= ?v0 zero$b))) :named a47)) -(assert (! (forall ((?v0 Nat_poly$)) (= (= (coeff$a (reflect_poly$b ?v0) zero$a) zero$a) (= ?v0 zero$d))) :named a48)) -(assert (! (forall ((?v0 Complex_poly$)) (= (coeff$b (reflect_poly$ ?v0) zero$a) (coeff$b ?v0 (degree$b ?v0)))) :named a49)) -(assert (! (forall ((?v0 Complex_poly$)) (=> (not (= (coeff$b ?v0 zero$a) zero$)) (= (degree$b (reflect_poly$ ?v0)) (degree$b ?v0)))) :named a50)) -(assert (! (forall ((?v0 Complex_poly_poly$)) (=> (not (= (coeff$ ?v0 zero$a) zero$c)) (= (degree$ (reflect_poly$a ?v0)) (degree$ ?v0)))) :named a51)) -(assert (! (forall ((?v0 Nat_poly$)) (=> (not (= (coeff$a ?v0 zero$a) zero$a)) (= (degree$a (reflect_poly$b ?v0)) (degree$a ?v0)))) :named a52)) -(assert (! (forall ((?v0 Complex_poly$)) (= (poly$ (reflect_poly$ ?v0) zero$) (coeff$b ?v0 (degree$b ?v0)))) :named a53)) -(assert (! (forall ((?v0 Complex_poly_poly$)) (= (poly$a (reflect_poly$a ?v0) zero$c) (coeff$ ?v0 (degree$ ?v0)))) :named a54)) -(assert (! (forall ((?v0 Nat_poly$)) (= (poly$b (reflect_poly$b ?v0) zero$a) (coeff$a ?v0 (degree$a ?v0)))) :named a55)) -(assert (! (forall ((?v0 Complex_poly$)) (= (poly$ ?v0 zero$) (coeff$b ?v0 zero$a))) :named a56)) -(assert (! (forall ((?v0 Complex_poly_poly$)) (= (poly$a ?v0 zero$c) (coeff$ ?v0 zero$a))) :named a57)) -(assert (! (forall ((?v0 Nat_poly$)) (= (poly$b ?v0 zero$a) (coeff$a ?v0 zero$a))) :named a58)) -(assert (! (forall ((?v0 Nat_poly$) (?v1 Nat_poly$) (?v2 Nat$)) (= (coeff$a (plus$b ?v0 ?v1) ?v2) (plus$a (coeff$a ?v0 ?v2) (coeff$a ?v1 ?v2)))) :named a59)) -(assert (! (forall ((?v0 Complex_poly$)) (= (forall ((?v1 Complex$)) (= (poly$ ?v0 ?v1) zero$)) (= ?v0 zero$c))) :named a60)) -(assert (! (forall ((?v0 Complex_poly_poly$)) (= (forall ((?v1 Complex_poly$)) (= (poly$a ?v0 ?v1) zero$c)) (= ?v0 zero$b))) :named a61)) -(assert (! (forall ((?v0 Nat$)) (= (coeff$ zero$b ?v0) zero$c)) :named a62)) -(assert (! (forall ((?v0 Nat$)) (= (coeff$a zero$d ?v0) zero$a)) :named a63)) -(assert (! (forall ((?v0 Nat$)) (= (coeff$b zero$c ?v0) zero$)) :named a64)) -(assert (! (forall ((?v0 Complex_poly_poly$)) (=> (not (= ?v0 zero$b)) (not (= (coeff$ ?v0 (degree$ ?v0)) zero$c)))) :named a65)) -(assert (! (forall ((?v0 Nat_poly$)) (=> (not (= ?v0 zero$d)) (not (= (coeff$a ?v0 (degree$a ?v0)) zero$a)))) :named a66)) -(assert (! (forall ((?v0 Complex_poly$)) (=> (not (= ?v0 zero$c)) (not (= (coeff$b ?v0 (degree$b ?v0)) zero$)))) :named a67)) -(assert (! (forall ((?v0 Complex_poly$)) (! (= (power$ ?v0 zero$a) one$a) :pattern ((power$ ?v0)))) :named a68)) -(assert (! (forall ((?v0 Nat$)) (! (= (power$c ?v0 zero$a) one$) :pattern ((power$c ?v0)))) :named a69)) -(assert (! (forall ((?v0 Nat$)) (= (power$d zero$ ?v0) (ite (= ?v0 zero$a) one$b zero$))) :named a70)) -(assert (! (forall ((?v0 Nat$)) (= (power$ zero$c ?v0) (ite (= ?v0 zero$a) one$a zero$c))) :named a71)) -(assert (! (forall ((?v0 Nat$)) (= (power$c zero$a ?v0) (ite (= ?v0 zero$a) one$ zero$a))) :named a72)) -(assert (! (forall ((?v0 Complex_poly$) (?v1 Complex$)) (= (degree$b (offset_poly$ ?v0 ?v1)) (degree$b ?v0))) :named a73)) -(assert (! (forall ((?v0 Complex_poly$)) (= (constant$ (poly$ ?v0)) (= (degree$b ?v0) zero$a))) :named a74)) -(assert (! (forall ((?v0 Complex$)) (= zero$ (poly$ zero$c ?v0))) :named a75)) -(assert (! (forall ((?v0 Complex_poly$)) (= zero$c (poly$a zero$b ?v0))) :named a76)) -(assert (! (forall ((?v0 Complex_poly$)) (= (exists ((?v1 Complex$)) (and (= (poly$ ?v0 ?v1) zero$) (not (= (poly$ zero$c ?v1) zero$)))) false)) :named a77)) -(assert (! (forall ((?v0 Complex_poly_poly$)) (= (exists ((?v1 Complex_poly$)) (and (= (poly$a ?v0 ?v1) zero$c) (not (= (poly$a zero$b ?v1) zero$c)))) false)) :named a78)) -(assert (! (forall ((?v0 Nat_poly$)) (= (exists ((?v1 Nat$)) (and (= (poly$b ?v0 ?v1) zero$a) (not (= (poly$b zero$d ?v1) zero$a)))) false)) :named a79)) -(assert (! (= (exists ((?v0 Complex_poly$)) (not (= (poly$a zero$b ?v0) zero$c))) false) :named a80)) -(assert (! (= (exists ((?v0 Nat$)) (not (= (poly$b zero$d ?v0) zero$a))) false) :named a81)) -(assert (! (= (exists ((?v0 Complex$)) (not (= (poly$ zero$c ?v0) zero$))) false) :named a82)) -(assert (! (= (exists ((?v0 Complex_poly$)) (= (poly$a zero$b ?v0) zero$c)) true) :named a83)) -(assert (! (= (exists ((?v0 Nat$)) (= (poly$b zero$d ?v0) zero$a)) true) :named a84)) -(assert (! (= (exists ((?v0 Complex$)) (= (poly$ zero$c ?v0) zero$)) true) :named a85)) -(assert (! (forall ((?v0 Complex$) (?v1 Nat$)) (=> (not (= ?v0 zero$)) (not (= (power$d ?v0 ?v1) zero$)))) :named a86)) -(assert (! (forall ((?v0 Complex_poly$) (?v1 Nat$)) (=> (not (= ?v0 zero$c)) (not (= (power$ ?v0 ?v1) zero$c)))) :named a87)) -(assert (! (forall ((?v0 Nat$) (?v1 Nat$)) (=> (not (= ?v0 zero$a)) (not (= (power$c ?v0 ?v1) zero$a)))) :named a88)) -(assert (! (forall ((?v0 Complex$)) (= (plus$ zero$ ?v0) ?v0)) :named a89)) -(assert (! (forall ((?v0 Complex_poly$)) (= (plus$c zero$c ?v0) ?v0)) :named a90)) -(assert (! (forall ((?v0 Nat$)) (= (plus$a zero$a ?v0) ?v0)) :named a91)) -(assert (! (forall ((?v0 Complex$)) (= (plus$ ?v0 zero$) ?v0)) :named a92)) -(assert (! (forall ((?v0 Complex_poly$)) (= (plus$c ?v0 zero$c) ?v0)) :named a93)) -(assert (! (forall ((?v0 Nat$)) (= (plus$a ?v0 zero$a) ?v0)) :named a94)) -(assert (! (forall ((?v0 Complex$) (?v1 Complex$)) (= (= (plus$ ?v0 ?v1) ?v1) (= ?v0 zero$))) :named a95)) -(assert (! (forall ((?v0 Complex_poly$) (?v1 Complex_poly$)) (= (= (plus$c ?v0 ?v1) ?v1) (= ?v0 zero$c))) :named a96)) -(assert (! (forall ((?v0 Nat$) (?v1 Nat$)) (= (= (plus$a ?v0 ?v1) ?v1) (= ?v0 zero$a))) :named a97)) -(assert (! (forall ((?v0 Complex$) (?v1 Complex$)) (= (= (plus$ ?v0 ?v1) ?v0) (= ?v1 zero$))) :named a98)) -(assert (! (forall ((?v0 Complex_poly$) (?v1 Complex_poly$)) (= (= (plus$c ?v0 ?v1) ?v0) (= ?v1 zero$c))) :named a99)) -(assert (! (forall ((?v0 Nat$) (?v1 Nat$)) (= (= (plus$a ?v0 ?v1) ?v0) (= ?v1 zero$a))) :named a100)) -(assert (! (forall ((?v0 Complex$) (?v1 Complex$)) (= (= ?v0 (plus$ ?v1 ?v0)) (= ?v1 zero$))) :named a101)) -(assert (! (forall ((?v0 Complex_poly$) (?v1 Complex_poly$)) (= (= ?v0 (plus$c ?v1 ?v0)) (= ?v1 zero$c))) :named a102)) -(assert (! (forall ((?v0 Nat$) (?v1 Nat$)) (= (= ?v0 (plus$a ?v1 ?v0)) (= ?v1 zero$a))) :named a103)) -(assert (! (forall ((?v0 Complex$) (?v1 Complex$)) (= (= ?v0 (plus$ ?v0 ?v1)) (= ?v1 zero$))) :named a104)) -(assert (! (forall ((?v0 Complex_poly$) (?v1 Complex_poly$)) (= (= ?v0 (plus$c ?v0 ?v1)) (= ?v1 zero$c))) :named a105)) -(assert (! (forall ((?v0 Nat$) (?v1 Nat$)) (= (= ?v0 (plus$a ?v0 ?v1)) (= ?v1 zero$a))) :named a106)) -(assert (! (forall ((?v0 Nat$) (?v1 Nat$)) (= (= (plus$a ?v0 ?v1) zero$a) (and (= ?v0 zero$a) (= ?v1 zero$a)))) :named a107)) -(assert (! (forall ((?v0 Nat$) (?v1 Nat$)) (= (= zero$a (plus$a ?v0 ?v1)) (and (= ?v0 zero$a) (= ?v1 zero$a)))) :named a108)) -(assert (! (forall ((?v0 Complex_poly$)) (! (= (power$ ?v0 zero$a) one$a) :pattern ((power$ ?v0)))) :named a109)) -(assert (! (forall ((?v0 Nat$)) (! (= (power$c ?v0 zero$a) one$) :pattern ((power$c ?v0)))) :named a110)) -(assert (! (forall ((?v0 Nat$) (?v1 Nat$) (?v2 Nat$)) (= (= (plus$a ?v0 ?v1) (plus$a ?v2 ?v1)) (= ?v0 ?v2))) :named a111)) -(assert (! (forall ((?v0 Nat$) (?v1 Nat$) (?v2 Nat$)) (= (= (plus$a ?v0 ?v1) (plus$a ?v0 ?v2)) (= ?v1 ?v2))) :named a112)) -(assert (! (forall ((?v0 Complex_poly$)) (= (pcompose$ zero$c ?v0) zero$c)) :named a113)) -(assert (! (= (reflect_poly$ zero$c) zero$c) :named a114)) -(assert (! (= (degree$b zero$c) zero$a) :named a115)) -(assert (! (forall ((?v0 Complex_poly$)) (= (= (psize$ ?v0) zero$a) (= ?v0 zero$c))) :named a116)) -(assert (! (forall ((?v0 Complex_poly$) (?v1 Complex$)) (= (= (offset_poly$ ?v0 ?v1) zero$c) (= ?v0 zero$c))) :named a117)) -(assert (! (forall ((?v0 Complex$)) (= (offset_poly$ zero$c ?v0) zero$c)) :named a118)) -(assert (! (forall ((?v0 Complex_poly$)) (= (exists ((?v1 Complex$)) (not (= (poly$ ?v0 ?v1) zero$))) (not (= ?v0 zero$c)))) :named a119)) -(assert (! (forall ((?v0 Complex$)) (= (= zero$ ?v0) (= ?v0 zero$))) :named a120)) -(assert (! (forall ((?v0 Complex_poly$)) (= (= zero$c ?v0) (= ?v0 zero$c))) :named a121)) -(assert (! (forall ((?v0 Nat$)) (= (= zero$a ?v0) (= ?v0 zero$a))) :named a122)) -(assert (! (forall ((?v0 Nat$) (?v1 Nat$) (?v2 Nat$)) (=> (= (plus$a ?v0 ?v1) (plus$a ?v2 ?v1)) (= ?v0 ?v2))) :named a123)) -(assert (! (forall ((?v0 Nat$) (?v1 Nat$) (?v2 Nat$)) (=> (= (plus$a ?v0 ?v1) (plus$a ?v0 ?v2)) (= ?v1 ?v2))) :named a124)) -(assert (! (forall ((?v0 Nat$) (?v1 Nat$) (?v2 Nat$)) (= (plus$a ?v0 (plus$a ?v1 ?v2)) (plus$a ?v1 (plus$a ?v0 ?v2)))) :named a125)) -(assert (! (forall ((?v0 Nat$) (?v1 Nat$)) (= (plus$a ?v0 ?v1) (plus$a ?v1 ?v0))) :named a126)) -(assert (! (forall ((?v0 Nat$) (?v1 Nat$) (?v2 Nat$)) (= (plus$a (plus$a ?v0 ?v1) ?v2) (plus$a ?v0 (plus$a ?v1 ?v2)))) :named a127)) -(assert (! (forall ((?v0 Nat$) (?v1 Nat$) (?v2 Nat$) (?v3 Nat$)) (= (plus$a (plus$a ?v0 ?v1) (plus$a ?v2 ?v3)) (plus$a (plus$a ?v0 ?v2) (plus$a ?v1 ?v3)))) :named a128)) -(assert (! (forall ((?v0 Nat$) (?v1 Nat$) (?v2 Nat$)) (= (plus$a (plus$a ?v0 ?v1) ?v2) (plus$a ?v0 (plus$a ?v1 ?v2)))) :named a129)) -(assert (! (forall ((?v0 Nat$) (?v1 Nat$) (?v2 Nat$)) (= (plus$a ?v0 (plus$a ?v1 ?v2)) (plus$a ?v1 (plus$a ?v0 ?v2)))) :named a130)) -(assert (! (forall ((?v0 Nat$) (?v1 Nat$) (?v2 Nat$)) (= (plus$a (plus$a ?v0 ?v1) ?v2) (plus$a (plus$a ?v0 ?v2) ?v1))) :named a131)) -(assert (! (forall ((?v0 Nat$) (?v1 Nat$)) (= (plus$a ?v0 ?v1) (plus$a ?v1 ?v0))) :named a132)) -(assert (! (forall ((?v0 Nat$) (?v1 Nat$) (?v2 Nat$)) (= (plus$a ?v0 (plus$a ?v1 ?v2)) (plus$a (plus$a ?v0 ?v1) ?v2))) :named a133)) -(assert (! (forall ((?v0 Nat$) (?v1 Nat$) (?v2 Nat$) (?v3 Nat$)) (=> (and (= ?v0 ?v1) (= ?v2 ?v3)) (= (plus$a ?v0 ?v2) (plus$a ?v1 ?v3)))) :named a134)) -(assert (! (forall ((?v0 Nat$) (?v1 Nat$) (?v2 Nat$)) (= (plus$a (plus$a ?v0 ?v1) ?v2) (plus$a ?v0 (plus$a ?v1 ?v2)))) :named a135)) -(assert (! (forall ((?v0 Nat$)) (= (= one$ ?v0) (= ?v0 one$))) :named a136)) -(assert (! (forall ((?v0 Complex$) (?v1 Complex$)) (= (= ?v0 (plus$ ?v0 ?v1)) (= ?v1 zero$))) :named a137)) -(assert (! (forall ((?v0 Complex_poly$) (?v1 Complex_poly$)) (= (= ?v0 (plus$c ?v0 ?v1)) (= ?v1 zero$c))) :named a138)) -(assert (! (forall ((?v0 Nat$) (?v1 Nat$)) (= (= ?v0 (plus$a ?v0 ?v1)) (= ?v1 zero$a))) :named a139)) -(assert (! (forall ((?v0 Complex$)) (= (plus$ zero$ ?v0) ?v0)) :named a140)) -(assert (! (forall ((?v0 Complex_poly$)) (= (plus$c zero$c ?v0) ?v0)) :named a141)) -(assert (! (forall ((?v0 Complex$)) (= (plus$ ?v0 zero$) ?v0)) :named a142)) -(assert (! (forall ((?v0 Complex_poly$)) (= (plus$c ?v0 zero$c) ?v0)) :named a143)) -(assert (! (forall ((?v0 Nat$)) (= (plus$a ?v0 zero$a) ?v0)) :named a144)) -(assert (! (forall ((?v0 Complex$)) (= (plus$ zero$ ?v0) ?v0)) :named a145)) -(assert (! (forall ((?v0 Complex_poly$)) (= (plus$c zero$c ?v0) ?v0)) :named a146)) -(assert (! (forall ((?v0 Nat$)) (= (plus$a zero$a ?v0) ?v0)) :named a147)) -(assert (! (forall ((?v0 Complex$)) (= (plus$ zero$ ?v0) ?v0)) :named a148)) -(assert (! (forall ((?v0 Complex_poly$)) (= (plus$c zero$c ?v0) ?v0)) :named a149)) -(assert (! (forall ((?v0 Nat$)) (= (plus$a zero$a ?v0) ?v0)) :named a150)) -(assert (! (forall ((?v0 Complex$)) (= (plus$ ?v0 zero$) ?v0)) :named a151)) -(assert (! (forall ((?v0 Complex_poly$)) (= (plus$c ?v0 zero$c) ?v0)) :named a152)) -(assert (! (forall ((?v0 Nat$)) (= (plus$a ?v0 zero$a) ?v0)) :named a153)) -(assert (! (forall ((?v0 Complex_poly$)) (= (power$ ?v0 one$) ?v0)) :named a154)) -(assert (! (forall ((?v0 Nat$)) (= (power$c ?v0 one$) ?v0)) :named a155)) -(assert (! (forall ((?v0 Nat$)) (= (poly_cutoff$ ?v0 one$a) (ite (= ?v0 zero$a) zero$c one$a))) :named a156)) -(assert (! (forall ((?v0 Nat$)) (= (plus$a ?v0 zero$a) ?v0)) :named a157)) -(assert (! (forall ((?v0 Nat$) (?v1 Nat$)) (= (= (plus$a ?v0 ?v1) zero$a) (and (= ?v0 zero$a) (= ?v1 zero$a)))) :named a158)) -(assert (! (forall ((?v0 Nat$)) (= (poly_shift$ ?v0 one$a) (ite (= ?v0 zero$a) one$a zero$c))) :named a159)) -(assert (! (not (= zero$ one$b)) :named a160)) -(assert (! (not (= zero$c one$a)) :named a161)) -(assert (! (not (= zero$a one$)) :named a162)) -(assert (! (forall ((?v0 Complex_poly$) (?v1 Complex$)) (= (= (synthetic_div$ ?v0 ?v1) zero$c) (= (degree$b ?v0) zero$a))) :named a163)) -(assert (! (= (of_bool$ false) zero$) :named a164)) -(assert (! (= (of_bool$a false) zero$c) :named a165)) -(assert (! (= (of_bool$b false) zero$a) :named a166)) -(assert (! (= (of_bool$b true) one$) :named a167)) -(assert (! (forall ((?v0 Complex$)) (= (synthetic_div$ zero$c ?v0) zero$c)) :named a168)) -(assert (! (forall ((?v0 Nat$)) (= (poly_shift$ ?v0 zero$c) zero$c)) :named a169)) -(assert (! (forall ((?v0 Nat$)) (= (poly_cutoff$ ?v0 zero$c) zero$c)) :named a170)) -(assert (! (forall ((?v0 Nat$) (?v1 Nat$) (?v2 Nat$)) (= (= (plus$a ?v0 ?v1) (plus$a ?v0 ?v2)) (= ?v1 ?v2))) :named a171)) -(assert (! (forall ((?v0 Nat$) (?v1 Nat$) (?v2 Nat$)) (= (= (plus$a ?v0 ?v1) (plus$a ?v2 ?v1)) (= ?v0 ?v2))) :named a172)) -(assert (! (forall ((?v0 Bool)) (! (= (of_bool$ ?v0) (ite ?v0 one$b zero$)) :pattern ((of_bool$ ?v0)))) :named a173)) -(assert (! (forall ((?v0 Bool)) (! (= (of_bool$a ?v0) (ite ?v0 one$a zero$c)) :pattern ((of_bool$a ?v0)))) :named a174)) -(assert (! (forall ((?v0 Bool)) (! (= (of_bool$b ?v0) (ite ?v0 one$ zero$a)) :pattern ((of_bool$b ?v0)))) :named a175)) -(assert (! (forall ((?v0 (-> Complex$ Bool)) (?v1 Bool)) (= (?v0 (of_bool$ ?v1)) (and (=> ?v1 (?v0 one$b)) (=> (not ?v1) (?v0 zero$))))) :named a176)) -(assert (! (forall ((?v0 (-> Complex_poly$ Bool)) (?v1 Bool)) (= (?v0 (of_bool$a ?v1)) (and (=> ?v1 (?v0 one$a)) (=> (not ?v1) (?v0 zero$c))))) :named a177)) -(assert (! (forall ((?v0 (-> Nat$ Bool)) (?v1 Bool)) (= (?v0 (of_bool$b ?v1)) (and (=> ?v1 (?v0 one$)) (=> (not ?v1) (?v0 zero$a))))) :named a178)) -(assert (! (forall ((?v0 (-> Complex$ Bool)) (?v1 Bool)) (= (?v0 (of_bool$ ?v1)) (not (or (and ?v1 (not (?v0 one$b))) (and (not ?v1) (not (?v0 zero$))))))) :named a179)) -(assert (! (forall ((?v0 (-> Complex_poly$ Bool)) (?v1 Bool)) (= (?v0 (of_bool$a ?v1)) (not (or (and ?v1 (not (?v0 one$a))) (and (not ?v1) (not (?v0 zero$c))))))) :named a180)) -(assert (! (forall ((?v0 (-> Nat$ Bool)) (?v1 Bool)) (= (?v0 (of_bool$b ?v1)) (not (or (and ?v1 (not (?v0 one$))) (and (not ?v1) (not (?v0 zero$a))))))) :named a181)) -(assert (! (forall ((?v0 Nat$)) (= (plus$a zero$a ?v0) ?v0)) :named a182)) -(assert (! (forall ((?v0 Nat$) (?v1 Nat$)) (=> (= (plus$a ?v0 ?v1) ?v0) (= ?v1 zero$a))) :named a183)) -(assert (! (forall ((?v0 Nat$)) (=> (and (=> (= ?v0 zero$a) false) (=> (not (= ?v0 zero$a)) false)) false)) :named a184)) -(assert (! (forall ((?v0 (-> Nat$ (-> Nat$ Bool))) (?v1 Nat$) (?v2 Nat$)) (=> (and (forall ((?v3 Nat$) (?v4 Nat$)) (= (?v0 ?v3 ?v4) (?v0 ?v4 ?v3))) (and (forall ((?v3 Nat$)) (?v0 ?v3 zero$a)) (forall ((?v3 Nat$) (?v4 Nat$)) (=> (?v0 ?v3 ?v4) (?v0 ?v3 (plus$a ?v3 ?v4)))))) (?v0 ?v1 ?v2))) :named a185)) -(assert (! (forall ((?v0 Complex_poly$) (?v1 Complex_poly$)) (= (forall ((?v2 Complex$)) (=> (= (poly$ ?v0 ?v2) zero$) (= (poly$ ?v1 ?v2) zero$))) (or (dvd$ ?v0 (power$ ?v1 (degree$b ?v0))) (and (= ?v0 zero$c) (= ?v1 zero$c))))) :named a186)) -(assert (! (forall ((?v0 Complex_poly$) (?v1 Complex_poly$) (?v2 Nat$)) (=> (and (forall ((?v3 Complex$)) (=> (= (poly$ ?v0 ?v3) zero$) (= (poly$ ?v1 ?v3) zero$))) (and (= (degree$b ?v0) ?v2) (not (= ?v2 zero$a)))) (dvd$ ?v0 (power$ ?v1 ?v2)))) :named a187)) -(assert (! (forall ((?v0 Complex_poly$)) (! (= (is_zero$ ?v0) (= ?v0 zero$c)) :pattern ((is_zero$ ?v0)))) :named a188)) -(assert (! (forall ((?v0 Complex_poly$) (?v1 Complex$)) (= (= (poly$ ?v0 ?v1) zero$) (or (= ?v0 zero$c) (not (= (order$ ?v1 ?v0) zero$a))))) :named a189)) -(assert (! (forall ((?v0 Complex_poly_poly$) (?v1 Complex_poly$)) (= (= (poly$a ?v0 ?v1) zero$c) (or (= ?v0 zero$b) (not (= (order$a ?v1 ?v0) zero$a))))) :named a190)) -(assert (! (forall ((?v0 Complex$)) (dvd$a ?v0 zero$)) :named a191)) -(assert (! (forall ((?v0 Complex_poly$)) (dvd$ ?v0 zero$c)) :named a192)) -(assert (! (forall ((?v0 Nat$)) (dvd$b ?v0 zero$a)) :named a193)) -(assert (! (forall ((?v0 Complex$)) (= (dvd$a zero$ ?v0) (= ?v0 zero$))) :named a194)) -(assert (! (forall ((?v0 Complex_poly$)) (= (dvd$ zero$c ?v0) (= ?v0 zero$c))) :named a195)) -(assert (! (forall ((?v0 Nat$)) (= (dvd$b zero$a ?v0) (= ?v0 zero$a))) :named a196)) -(assert (! (forall ((?v0 Complex_poly$) (?v1 Complex_poly$)) (= (dvd$ ?v0 (plus$c ?v0 ?v1)) (dvd$ ?v0 ?v1))) :named a197)) -(assert (! (forall ((?v0 Nat$) (?v1 Nat$)) (= (dvd$b ?v0 (plus$a ?v0 ?v1)) (dvd$b ?v0 ?v1))) :named a198)) -(assert (! (forall ((?v0 Complex_poly$) (?v1 Complex_poly$)) (= (dvd$ ?v0 (plus$c ?v1 ?v0)) (dvd$ ?v0 ?v1))) :named a199)) -(assert (! (forall ((?v0 Nat$) (?v1 Nat$)) (= (dvd$b ?v0 (plus$a ?v1 ?v0)) (dvd$b ?v0 ?v1))) :named a200)) -(assert (! (forall ((?v0 Nat$) (?v1 Nat$) (?v2 Nat$)) (=> (not (= ?v0 zero$a)) (= (dvd$b (power$c ?v1 ?v0) (power$c ?v2 ?v0)) (dvd$b ?v1 ?v2)))) :named a201)) -(assert (! (forall ((?v0 Complex$)) (=> (dvd$a zero$ ?v0) (= ?v0 zero$))) :named a202)) -(assert (! (forall ((?v0 Complex_poly$)) (=> (dvd$ zero$c ?v0) (= ?v0 zero$c))) :named a203)) -(assert (! (forall ((?v0 Nat$)) (=> (dvd$b zero$a ?v0) (= ?v0 zero$a))) :named a204)) -(assert (! (forall ((?v0 Complex_poly$) (?v1 Complex_poly$) (?v2 Complex_poly$)) (=> (dvd$ ?v0 ?v1) (= (dvd$ ?v0 (plus$c ?v1 ?v2)) (dvd$ ?v0 ?v2)))) :named a205)) -(assert (! (forall ((?v0 Nat$) (?v1 Nat$) (?v2 Nat$)) (=> (dvd$b ?v0 ?v1) (= (dvd$b ?v0 (plus$a ?v1 ?v2)) (dvd$b ?v0 ?v2)))) :named a206)) -(assert (! (forall ((?v0 Complex_poly$) (?v1 Complex_poly$) (?v2 Complex_poly$)) (=> (dvd$ ?v0 ?v1) (= (dvd$ ?v0 (plus$c ?v2 ?v1)) (dvd$ ?v0 ?v2)))) :named a207)) -(assert (! (forall ((?v0 Nat$) (?v1 Nat$) (?v2 Nat$)) (=> (dvd$b ?v0 ?v1) (= (dvd$b ?v0 (plus$a ?v2 ?v1)) (dvd$b ?v0 ?v2)))) :named a208)) -(assert (! (forall ((?v0 Complex_poly$) (?v1 Complex_poly$) (?v2 Complex_poly$)) (=> (and (dvd$ ?v0 ?v1) (dvd$ ?v0 ?v2)) (dvd$ ?v0 (plus$c ?v1 ?v2)))) :named a209)) -(assert (! (forall ((?v0 Nat$) (?v1 Nat$) (?v2 Nat$)) (=> (and (dvd$b ?v0 ?v1) (dvd$b ?v0 ?v2)) (dvd$b ?v0 (plus$a ?v1 ?v2)))) :named a210)) -(assert (! (forall ((?v0 Complex_poly$) (?v1 Complex_poly$)) (=> (and (dvd$ ?v0 ?v1) (dvd$ ?v1 one$a)) (dvd$ ?v0 one$a))) :named a211)) -(assert (! (forall ((?v0 Nat$) (?v1 Nat$)) (=> (and (dvd$b ?v0 ?v1) (dvd$b ?v1 one$)) (dvd$b ?v0 one$))) :named a212)) -(assert (! (forall ((?v0 Complex_poly$) (?v1 Complex_poly$)) (=> (dvd$ ?v0 one$a) (dvd$ ?v0 ?v1))) :named a213)) -(assert (! (forall ((?v0 Nat$) (?v1 Nat$)) (=> (dvd$b ?v0 one$) (dvd$b ?v0 ?v1))) :named a214)) -(assert (! (forall ((?v0 Complex_poly$)) (dvd$ one$a ?v0)) :named a215)) -(assert (! (forall ((?v0 Nat$)) (dvd$b one$ ?v0)) :named a216)) -(assert (! (forall ((?v0 Complex_poly$)) (dvd$ ?v0 ?v0)) :named a217)) -(assert (! (forall ((?v0 Nat$)) (dvd$b ?v0 ?v0)) :named a218)) -(assert (! (forall ((?v0 Complex_poly$) (?v1 Complex_poly$) (?v2 Complex_poly$)) (=> (and (dvd$ ?v0 ?v1) (dvd$ ?v1 ?v2)) (dvd$ ?v0 ?v2))) :named a219)) -(assert (! (forall ((?v0 Nat$) (?v1 Nat$) (?v2 Nat$)) (=> (and (dvd$b ?v0 ?v1) (dvd$b ?v1 ?v2)) (dvd$b ?v0 ?v2))) :named a220)) -(assert (! (forall ((?v0 Complex_poly$) (?v1 Complex_poly$) (?v2 Nat$)) (=> (dvd$ ?v0 ?v1) (dvd$ (power$ ?v0 ?v2) (power$ ?v1 ?v2)))) :named a221)) -(assert (! (forall ((?v0 Nat$) (?v1 Nat$) (?v2 Nat$)) (=> (dvd$b ?v0 ?v1) (dvd$b (power$c ?v0 ?v2) (power$c ?v1 ?v2)))) :named a222)) -(assert (! (forall ((?v0 Nat$) (?v1 Nat$) (?v2 Nat$)) (=> (and (dvd$b (power$c ?v0 ?v1) (power$c ?v2 ?v1)) (not (= ?v1 zero$a))) (dvd$b ?v0 ?v2))) :named a223)) -(assert (! (not (dvd$ zero$c one$a)) :named a224)) -(assert (! (not (dvd$b zero$a one$)) :named a225)) -(assert (! (forall ((?v0 Complex_poly$) (?v1 Nat$)) (= (dvd$ (power$ ?v0 ?v1) one$a) (or (dvd$ ?v0 one$a) (= ?v1 zero$a)))) :named a226)) -(assert (! (forall ((?v0 Nat$) (?v1 Nat$)) (= (dvd$b (power$c ?v0 ?v1) one$) (or (dvd$b ?v0 one$) (= ?v1 zero$a)))) :named a227)) -(assert (! (forall ((?v0 Complex_poly$) (?v1 Complex$)) (! (=> (not (= (poly$ ?v0 ?v1) zero$)) (= (order$ ?v1 ?v0) zero$a)) :pattern ((order$ ?v1 ?v0)))) :named a228)) -(assert (! (forall ((?v0 Complex_poly_poly$) (?v1 Complex_poly$)) (! (=> (not (= (poly$a ?v0 ?v1) zero$c)) (= (order$a ?v1 ?v0) zero$a)) :pattern ((order$a ?v1 ?v0)))) :named a229)) -(assert (! (forall ((?v0 Complex_poly$)) (=> (not (= ?v0 zero$c)) (= (dvd$ ?v0 one$a) (= (degree$b ?v0) zero$a)))) :named a230)) -(assert (! (forall ((?v0 Complex_poly$)) (= (rsquarefree$ ?v0) (and (not (= ?v0 zero$c)) (forall ((?v1 Complex$)) (or (= (order$ ?v1 ?v0) zero$a) (= (order$ ?v1 ?v0) one$)))))) :named a231)) -(assert (! (forall ((?v0 Complex_poly$) (?v1 Complex$) (?v2 Complex_poly$)) (=> (not (= ?v0 zero$c)) (= (exists ((?v3 Complex$)) (and (= (poly$ (pCons$ ?v1 ?v0) ?v3) zero$) (not (= (poly$ ?v2 ?v3) zero$)))) (not (dvd$ (pCons$ ?v1 ?v0) (power$ ?v2 (psize$ ?v0))))))) :named a232)) -(assert (! (forall ((?v0 Complex$) (?v1 Complex$)) (! (= (dvd$a ?v0 ?v1) (=> (= ?v0 zero$) (= ?v1 zero$))) :pattern ((dvd$a ?v0 ?v1)))) :named a233)) -(assert (! (forall ((?v0 Complex_poly$)) (=> (dvd$ ?v0 one$a) (= (monom$ (coeff$b ?v0 (degree$b ?v0)) zero$a) ?v0))) :named a234)) -(assert (! (forall ((?v0 Nat$)) (= (dvd$b ?v0 one$) (= ?v0 one$))) :named a235)) -(assert (! (forall ((?v0 Complex$) (?v1 Complex_poly$) (?v2 Complex$) (?v3 Complex_poly$)) (= (= (pCons$ ?v0 ?v1) (pCons$ ?v2 ?v3)) (and (= ?v0 ?v2) (= ?v1 ?v3)))) :named a236)) -(assert (! (= (pCons$ zero$ zero$c) zero$c) :named a237)) -(assert (! (= (pCons$a zero$c zero$b) zero$b) :named a238)) -(assert (! (= (pCons$b zero$a zero$d) zero$d) :named a239)) -(assert (! (forall ((?v0 Complex_poly$) (?v1 Complex_poly_poly$)) (= (= (pCons$a ?v0 ?v1) zero$b) (and (= ?v0 zero$c) (= ?v1 zero$b)))) :named a240)) -(assert (! (forall ((?v0 Nat$) (?v1 Nat_poly$)) (= (= (pCons$b ?v0 ?v1) zero$d) (and (= ?v0 zero$a) (= ?v1 zero$d)))) :named a241)) -(assert (! (forall ((?v0 Complex$) (?v1 Complex_poly$)) (= (= (pCons$ ?v0 ?v1) zero$c) (and (= ?v0 zero$) (= ?v1 zero$c)))) :named a242)) -(assert (! (forall ((?v0 Complex$) (?v1 Complex_poly$)) (= (coeff$b (pCons$ ?v0 ?v1) zero$a) ?v0)) :named a243)) -(assert (! (forall ((?v0 Nat$)) (= (monom$ zero$ ?v0) zero$c)) :named a244)) -(assert (! (forall ((?v0 Nat$)) (= (monom$a zero$c ?v0) zero$b)) :named a245)) -(assert (! (forall ((?v0 Nat$)) (= (monom$b zero$a ?v0) zero$d)) :named a246)) -(assert (! (forall ((?v0 Complex_poly$) (?v1 Nat$)) (= (= (monom$a ?v0 ?v1) zero$b) (= ?v0 zero$c))) :named a247)) -(assert (! (forall ((?v0 Nat$) (?v1 Nat$)) (= (= (monom$b ?v0 ?v1) zero$d) (= ?v0 zero$a))) :named a248)) -(assert (! (forall ((?v0 Complex$) (?v1 Nat$)) (= (= (monom$ ?v0 ?v1) zero$c) (= ?v0 zero$))) :named a249)) -(assert (! (forall ((?v0 Complex$) (?v1 Nat$) (?v2 Nat$)) (= (coeff$b (monom$ ?v0 ?v1) ?v2) (ite (= ?v1 ?v2) ?v0 zero$))) :named a250)) -(assert (! (forall ((?v0 Complex_poly$) (?v1 Nat$) (?v2 Nat$)) (= (coeff$ (monom$a ?v0 ?v1) ?v2) (ite (= ?v1 ?v2) ?v0 zero$c))) :named a251)) -(assert (! (forall ((?v0 Nat$) (?v1 Nat$) (?v2 Nat$)) (= (coeff$a (monom$b ?v0 ?v1) ?v2) (ite (= ?v1 ?v2) ?v0 zero$a))) :named a252)) -(assert (! (forall ((?v0 Complex$) (?v1 Complex_poly$) (?v2 Complex$) (?v3 Complex_poly$)) (= (plus$c (pCons$ ?v0 ?v1) (pCons$ ?v2 ?v3)) (pCons$ (plus$ ?v0 ?v2) (plus$c ?v1 ?v3)))) :named a253)) -(assert (! (forall ((?v0 Nat$) (?v1 Nat_poly$) (?v2 Nat$) (?v3 Nat_poly$)) (= (plus$b (pCons$b ?v0 ?v1) (pCons$b ?v2 ?v3)) (pCons$b (plus$a ?v0 ?v2) (plus$b ?v1 ?v3)))) :named a254)) -(assert (! (forall ((?v0 Complex$) (?v1 Nat$)) (= (coeff$b (monom$ ?v0 ?v1) (degree$b (monom$ ?v0 ?v1))) ?v0)) :named a255)) -(assert (! (forall ((?v0 Complex$) (?v1 Nat$)) (=> (not (= ?v0 zero$)) (= (order$ zero$ (monom$ ?v0 ?v1)) ?v1))) :named a256)) -(assert (! (forall ((?v0 Complex_poly$) (?v1 Nat$)) (=> (not (= ?v0 zero$c)) (= (order$a zero$c (monom$a ?v0 ?v1)) ?v1))) :named a257)) -(assert (! (forall ((?v0 Complex$) (?v1 Complex_poly$)) (= (pcompose$ (pCons$ ?v0 zero$c) ?v1) (pCons$ ?v0 zero$c))) :named a258)) -(assert (! (forall ((?v0 Complex$)) (= (reflect_poly$ (pCons$ ?v0 zero$c)) (pCons$ ?v0 zero$c))) :named a259)) -(assert (! (forall ((?v0 Complex$) (?v1 Complex_poly$) (?v2 Complex$)) (= (synthetic_div$ (pCons$ ?v0 ?v1) ?v2) (pCons$ (poly$ ?v1 ?v2) (synthetic_div$ ?v1 ?v2)))) :named a260)) -(assert (! (forall ((?v0 Complex_poly$) (?v1 Complex$)) (=> (= ?v0 zero$c) (= (coeff$b (pCons$ ?v1 ?v0) (degree$b (pCons$ ?v1 ?v0))) ?v1))) :named a261)) -(assert (! (forall ((?v0 Complex_poly$) (?v1 Complex$)) (=> (not (= ?v0 zero$c)) (= (coeff$b (pCons$ ?v1 ?v0) (degree$b (pCons$ ?v1 ?v0))) (coeff$b ?v0 (degree$b ?v0))))) :named a262)) -(assert (! (forall ((?v0 Complex_poly$) (?v1 Complex_poly$)) (= (dvd$c (pCons$a ?v0 zero$b) (pCons$a ?v1 zero$b)) (dvd$ ?v0 ?v1))) :named a263)) -(assert (! (forall ((?v0 Nat$) (?v1 Nat$)) (= (dvd$d (pCons$b ?v0 zero$d) (pCons$b ?v1 zero$d)) (dvd$b ?v0 ?v1))) :named a264)) -(assert (! (forall ((?v0 Complex$) (?v1 Complex$)) (= (dvd$ (pCons$ ?v0 zero$c) (pCons$ ?v1 zero$c)) (dvd$a ?v0 ?v1))) :named a265)) -(assert (! (= (= (pCons$b one$ zero$d) one$c) true) :named a266)) -(assert (! (= (= (pCons$ one$b zero$c) one$a) true) :named a267)) -(assert (! (= (= one$c (pCons$b one$ zero$d)) true) :named a268)) -(assert (! (= (= one$a (pCons$ one$b zero$c)) true) :named a269)) -(assert (! (= (monom$b one$ zero$a) one$c) :named a270)) -(assert (! (forall ((?v0 Complex_poly$)) (= (pcompose$ ?v0 (pCons$ zero$ (pCons$ one$b zero$c))) ?v0)) :named a271)) -(assert (! (forall ((?v0 Complex_poly_poly$)) (= (pcompose$a ?v0 (pCons$a zero$c (pCons$a one$a zero$b))) ?v0)) :named a272)) -(assert (! (forall ((?v0 Nat_poly$)) (= (pcompose$b ?v0 (pCons$b zero$a (pCons$b one$ zero$d))) ?v0)) :named a273)) -(assert (! (forall ((?v0 Nat$)) (=> (dvd$b zero$a ?v0) (= ?v0 zero$a))) :named a274)) -(assert (! (forall ((?v0 Nat$)) (= (not (= ?v0 zero$a)) (and (dvd$b ?v0 zero$a) (not (= ?v0 zero$a))))) :named a275)) -(assert (! (forall ((?v0 Nat$)) (! (= (dvd$b zero$a ?v0) (= ?v0 zero$a)) :pattern ((dvd$b zero$a ?v0)))) :named a276)) -(assert (! (forall ((?v0 Nat$)) (not (and (dvd$b zero$a ?v0) (not (= zero$a ?v0))))) :named a277)) -(assert (! (forall ((?v0 Nat$)) (dvd$b ?v0 zero$a)) :named a278)) -(assert (! (forall ((?v0 Complex_poly$) (?v1 Nat$) (?v2 Complex_poly$)) (= (= (monom$a ?v0 ?v1) (pCons$a ?v2 zero$b)) (and (= ?v0 ?v2) (or (= ?v0 zero$c) (= ?v1 zero$a))))) :named a279)) -(assert (! (forall ((?v0 Nat$) (?v1 Nat$) (?v2 Nat$)) (= (= (monom$b ?v0 ?v1) (pCons$b ?v2 zero$d)) (and (= ?v0 ?v2) (or (= ?v0 zero$a) (= ?v1 zero$a))))) :named a280)) -(assert (! (forall ((?v0 Complex$) (?v1 Nat$) (?v2 Complex$)) (= (= (monom$ ?v0 ?v1) (pCons$ ?v2 zero$c)) (and (= ?v0 ?v2) (or (= ?v0 zero$) (= ?v1 zero$a))))) :named a281)) -(assert (! (forall ((?v0 Complex_poly$)) (=> (forall ((?v1 Complex$) (?v2 Complex_poly$)) (=> (= ?v0 (pCons$ ?v1 ?v2)) false)) false)) :named a282)) -(assert (! (forall ((?v0 Complex_poly$)) (=> (forall ((?v1 Complex$) (?v2 Complex_poly$)) (=> (= ?v0 (pCons$ ?v1 ?v2)) false)) false)) :named a283)) -(assert (! (forall ((?v0 (-> Complex_poly$ (-> Complex_poly$ Bool))) (?v1 Complex_poly$) (?v2 Complex_poly$)) (=> (and (?v0 zero$c zero$c) (forall ((?v3 Complex$) (?v4 Complex_poly$) (?v5 Complex$) (?v6 Complex_poly$)) (=> (?v0 ?v4 ?v6) (?v0 (pCons$ ?v3 ?v4) (pCons$ ?v5 ?v6))))) (?v0 ?v1 ?v2))) :named a284)) -(assert (! (forall ((?v0 Complex$) (?v1 Nat$) (?v2 Complex$) (?v3 Nat$)) (= (= (monom$ ?v0 ?v1) (monom$ ?v2 ?v3)) (and (= ?v0 ?v2) (or (= ?v0 zero$) (= ?v1 ?v3))))) :named a285)) -(assert (! (forall ((?v0 Complex_poly$) (?v1 Nat$) (?v2 Complex_poly$) (?v3 Nat$)) (= (= (monom$a ?v0 ?v1) (monom$a ?v2 ?v3)) (and (= ?v0 ?v2) (or (= ?v0 zero$c) (= ?v1 ?v3))))) :named a286)) -(assert (! (forall ((?v0 Nat$) (?v1 Nat$) (?v2 Nat$) (?v3 Nat$)) (= (= (monom$b ?v0 ?v1) (monom$b ?v2 ?v3)) (and (= ?v0 ?v2) (or (= ?v0 zero$a) (= ?v1 ?v3))))) :named a287)) -(assert (! (forall ((?v0 Complex$)) (! (= (monom$ ?v0 zero$a) (pCons$ ?v0 zero$c)) :pattern ((monom$ ?v0)))) :named a288)) -(assert (! (forall ((?v0 (-> Complex_poly_poly$ Bool)) (?v1 Complex_poly_poly$)) (=> (and (?v0 zero$b) (forall ((?v2 Complex_poly$) (?v3 Complex_poly_poly$)) (=> (and (or (not (= ?v2 zero$c)) (not (= ?v3 zero$b))) (?v0 ?v3)) (?v0 (pCons$a ?v2 ?v3))))) (?v0 ?v1))) :named a289)) -(assert (! (forall ((?v0 (-> Nat_poly$ Bool)) (?v1 Nat_poly$)) (=> (and (?v0 zero$d) (forall ((?v2 Nat$) (?v3 Nat_poly$)) (=> (and (or (not (= ?v2 zero$a)) (not (= ?v3 zero$d))) (?v0 ?v3)) (?v0 (pCons$b ?v2 ?v3))))) (?v0 ?v1))) :named a290)) -(assert (! (forall ((?v0 (-> Complex_poly$ Bool)) (?v1 Complex_poly$)) (=> (and (?v0 zero$c) (forall ((?v2 Complex$) (?v3 Complex_poly$)) (=> (and (or (not (= ?v2 zero$)) (not (= ?v3 zero$c))) (?v0 ?v3)) (?v0 (pCons$ ?v2 ?v3))))) (?v0 ?v1))) :named a291)) -(assert (! (forall ((?v0 Complex_poly$) (?v1 Complex$)) (=> (= (poly$ ?v0 ?v1) zero$) (= (poly$ (pCons$ zero$ ?v0) ?v1) zero$))) :named a292)) -(assert (! (forall ((?v0 Complex_poly_poly$) (?v1 Complex_poly$)) (=> (= (poly$a ?v0 ?v1) zero$c) (= (poly$a (pCons$a zero$c ?v0) ?v1) zero$c))) :named a293)) -(assert (! (forall ((?v0 Nat_poly$) (?v1 Nat$)) (=> (= (poly$b ?v0 ?v1) zero$a) (= (poly$b (pCons$b zero$a ?v0) ?v1) zero$a))) :named a294)) -(assert (! (forall ((?v0 Complex$) (?v1 Nat$)) (=> (not (= ?v0 zero$)) (= (degree$b (monom$ ?v0 ?v1)) ?v1))) :named a295)) -(assert (! (forall ((?v0 Complex_poly$) (?v1 Nat$)) (=> (not (= ?v0 zero$c)) (= (degree$ (monom$a ?v0 ?v1)) ?v1))) :named a296)) -(assert (! (forall ((?v0 Nat$) (?v1 Nat$)) (=> (not (= ?v0 zero$a)) (= (degree$a (monom$b ?v0 ?v1)) ?v1))) :named a297)) -(assert (! (forall ((?v0 Complex$) (?v1 Nat$) (?v2 Nat$)) (= (coeff$b (monom$ ?v0 ?v1) ?v2) (ite (= ?v1 ?v2) ?v0 zero$))) :named a298)) -(assert (! (forall ((?v0 Complex_poly$) (?v1 Nat$) (?v2 Nat$)) (= (coeff$ (monom$a ?v0 ?v1) ?v2) (ite (= ?v1 ?v2) ?v0 zero$c))) :named a299)) -(assert (! (forall ((?v0 Nat$) (?v1 Nat$) (?v2 Nat$)) (= (coeff$a (monom$b ?v0 ?v1) ?v2) (ite (= ?v1 ?v2) ?v0 zero$a))) :named a300)) -(assert (! (forall ((?v0 Complex_poly$) (?v1 Complex_poly$)) (=> (dvd$ ?v0 ?v1) (dvd$ ?v0 (pCons$ zero$ ?v1)))) :named a301)) -(assert (! (forall ((?v0 Complex_poly_poly$) (?v1 Complex_poly_poly$)) (=> (dvd$c ?v0 ?v1) (dvd$c ?v0 (pCons$a zero$c ?v1)))) :named a302)) -(assert (! (forall ((?v0 Complex$) (?v1 Complex$)) (= (poly$ (pCons$ (poly$ zero$c ?v0) zero$c) ?v1) (poly$ zero$c ?v1))) :named a303)) -(assert (! (forall ((?v0 Complex$) (?v1 Complex$)) (= ?v0 (poly$ (pCons$ ?v0 zero$c) ?v1))) :named a304)) -(assert (! (forall ((?v0 Nat$) (?v1 Nat$) (?v2 Nat$)) (= (plus$b (monom$b ?v0 ?v1) (monom$b ?v2 ?v1)) (monom$b (plus$a ?v0 ?v2) ?v1))) :named a305)) -(assert (! (forall ((?v0 Complex$) (?v1 Complex$)) (= (offset_poly$ (pCons$ ?v0 zero$c) ?v1) (pCons$ ?v0 zero$c))) :named a306)) -(assert (! (forall ((?v0 Complex_poly$)) (= (exists ((?v1 Complex_poly$)) (= (poly$a (pCons$a ?v0 zero$b) ?v1) zero$c)) (= ?v0 zero$c))) :named a307)) -(assert (! (forall ((?v0 Nat$)) (= (exists ((?v1 Nat$)) (= (poly$b (pCons$b ?v0 zero$d) ?v1) zero$a)) (= ?v0 zero$a))) :named a308)) -(assert (! (forall ((?v0 Complex$)) (= (exists ((?v1 Complex$)) (= (poly$ (pCons$ ?v0 zero$c) ?v1) zero$)) (= ?v0 zero$))) :named a309)) -(assert (! (forall ((?v0 Complex_poly$)) (= (exists ((?v1 Complex_poly$)) (not (= (poly$a (pCons$a ?v0 zero$b) ?v1) zero$c))) (not (= ?v0 zero$c)))) :named a310)) -(assert (! (forall ((?v0 Nat$)) (= (exists ((?v1 Nat$)) (not (= (poly$b (pCons$b ?v0 zero$d) ?v1) zero$a))) (not (= ?v0 zero$a)))) :named a311)) -(assert (! (forall ((?v0 Complex$)) (= (exists ((?v1 Complex$)) (not (= (poly$ (pCons$ ?v0 zero$c) ?v1) zero$))) (not (= ?v0 zero$)))) :named a312)) -(assert (! (forall ((?v0 Complex$)) (= (poly$ (pCons$ zero$ zero$c) ?v0) (poly$ zero$c ?v0))) :named a313)) -(assert (! (forall ((?v0 Complex_poly$)) (= (poly$a (pCons$a zero$c zero$b) ?v0) (poly$a zero$b ?v0))) :named a314)) -(assert (! (forall ((?v0 Complex$)) (= (degree$b (pCons$ ?v0 zero$c)) zero$a)) :named a315)) -(assert (! (forall ((?v0 Complex_poly$)) (=> (and (= (degree$b ?v0) zero$a) (forall ((?v1 Complex$)) (=> (= ?v0 (pCons$ ?v1 zero$c)) false))) false)) :named a316)) -(assert (! (= (pCons$b one$ zero$d) one$c) :named a317)) -(assert (! (= (pCons$ one$b zero$c) one$a) :named a318)) -(assert (! (forall ((?v0 Nat$) (?v1 Nat$)) (= (= (monom$b ?v0 ?v1) one$c) (and (= ?v0 one$) (= ?v1 zero$a)))) :named a319)) -(assert (! (forall ((?v0 Complex$)) (= ?v0 (poly$ (pCons$ zero$ (pCons$ one$b zero$c)) ?v0))) :named a320)) -(assert (! (forall ((?v0 Complex_poly$)) (= ?v0 (poly$a (pCons$a zero$c (pCons$a one$a zero$b)) ?v0))) :named a321)) -(assert (! (forall ((?v0 Complex_poly$)) (=> (not (exists ((?v1 Complex$) (?v2 Complex_poly$)) (and (not (= ?v1 zero$)) (and (= ?v2 zero$c) (= ?v0 (pCons$ ?v1 ?v2)))))) (exists ((?v1 Complex$)) (= (poly$ ?v0 ?v1) zero$)))) :named a322)) -(assert (! (forall ((?v0 Complex_poly$) (?v1 Complex$) (?v2 Complex$)) (=> (not (= ?v0 zero$c)) (exists ((?v3 Complex$)) (= (poly$ (pCons$ ?v1 (pCons$ ?v2 ?v0)) ?v3) zero$)))) :named a323)) -(assert (! (forall ((?v0 Complex_poly$) (?v1 Complex_poly_poly$)) (= (dvd$c (pCons$a ?v0 zero$b) ?v1) (forall ((?v2 Nat$)) (dvd$ ?v0 (coeff$ ?v1 ?v2))))) :named a324)) -(assert (! (forall ((?v0 Nat$) (?v1 Nat_poly$)) (= (dvd$d (pCons$b ?v0 zero$d) ?v1) (forall ((?v2 Nat$)) (dvd$b ?v0 (coeff$a ?v1 ?v2))))) :named a325)) -(assert (! (forall ((?v0 Complex$) (?v1 Complex_poly$)) (= (dvd$ (pCons$ ?v0 zero$c) ?v1) (forall ((?v2 Nat$)) (dvd$a ?v0 (coeff$b ?v1 ?v2))))) :named a326)) -(assert (! (forall ((?v0 Nat$) (?v1 Nat$)) (= (degree$a (power$b (pCons$b ?v0 (pCons$b one$ zero$d)) ?v1)) ?v1)) :named a327)) -(assert (! (forall ((?v0 Complex$) (?v1 Nat$)) (= (degree$b (power$ (pCons$ ?v0 (pCons$ one$b zero$c)) ?v1)) ?v1)) :named a328)) -(assert (! (forall ((?v0 Complex_poly$)) (= (pcompose$ ?v0 zero$c) (pCons$ (coeff$b ?v0 zero$a) zero$c))) :named a329)) -(assert (! (forall ((?v0 Nat$) (?v1 Nat$)) (= (coeff$a (power$b (pCons$b ?v0 (pCons$b one$ zero$d)) ?v1) ?v1) one$)) :named a330)) -(assert (! (forall ((?v0 Complex$) (?v1 Nat$)) (= (coeff$b (power$ (pCons$ ?v0 (pCons$ one$b zero$c)) ?v1) ?v1) one$b)) :named a331)) -(assert (! (forall ((?v0 Complex$) (?v1 Complex_poly$)) (= (dvd$ (pCons$ ?v0 ?v1) one$a) (and (= ?v1 zero$c) (not (= ?v0 zero$))))) :named a332)) -(assert (! (forall ((?v0 Complex$)) (=> (not (= ?v0 zero$)) (dvd$ (pCons$ ?v0 zero$c) one$a))) :named a333)) -(assert (! (forall ((?v0 Complex_poly$)) (=> (and (dvd$ ?v0 one$a) (forall ((?v1 Complex$)) (=> (and (= ?v0 (monom$ ?v1 zero$a)) (not (= ?v1 zero$))) false))) false)) :named a334)) -(assert (! (forall ((?v0 Complex$)) (=> (not (= ?v0 zero$)) (dvd$ (monom$ ?v0 zero$a) one$a))) :named a335)) -(assert (! (forall ((?v0 Nat$) (?v1 Nat$) (?v2 Nat$)) (= (= (times$ ?v0 ?v1) (times$ ?v2 ?v1)) (or (= ?v0 ?v2) (= ?v1 zero$a)))) :named a336)) -(assert (! (forall ((?v0 Nat$) (?v1 Nat$) (?v2 Nat$)) (= (= (times$ ?v0 ?v1) (times$ ?v0 ?v2)) (or (= ?v1 ?v2) (= ?v0 zero$a)))) :named a337)) -(assert (! (forall ((?v0 Nat$)) (! (= (times$ ?v0 zero$a) zero$a) :pattern ((times$ ?v0)))) :named a338)) -(assert (! (forall ((?v0 Nat$) (?v1 Nat$)) (= (= (times$ ?v0 ?v1) zero$a) (or (= ?v0 zero$a) (= ?v1 zero$a)))) :named a339)) -(assert (! (forall ((?v0 Nat$) (?v1 Nat$)) (= (= (suc$ ?v0) (suc$ ?v1)) (= ?v0 ?v1))) :named a340)) -(assert (! (forall ((?v0 Nat$) (?v1 Nat$)) (= (= (suc$ ?v0) (suc$ ?v1)) (= ?v0 ?v1))) :named a341)) -(assert (! (forall ((?v0 Nat$) (?v1 Nat$)) (= (= (times$ ?v0 ?v1) one$) (and (= ?v0 one$) (= ?v1 one$)))) :named a342)) -(assert (! (forall ((?v0 Nat$) (?v1 Nat$)) (= (= one$ (times$ ?v0 ?v1)) (and (= ?v0 one$) (= ?v1 one$)))) :named a343)) -(assert (! (forall ((?v0 Nat$) (?v1 Nat$)) (= (= (times$ ?v0 ?v1) (suc$ zero$a)) (and (= ?v0 (suc$ zero$a)) (= ?v1 (suc$ zero$a))))) :named a344)) -(assert (! (forall ((?v0 Nat$) (?v1 Nat$)) (= (= (suc$ zero$a) (times$ ?v0 ?v1)) (and (= ?v0 (suc$ zero$a)) (= ?v1 (suc$ zero$a))))) :named a345)) -(assert (! (forall ((?v0 Nat$)) (! (= (power$c (suc$ zero$a) ?v0) (suc$ zero$a)) :pattern ((power$c (suc$ zero$a) ?v0)))) :named a346)) -(assert (! (forall ((?v0 Nat$) (?v1 Nat$)) (= (= (power$c ?v0 ?v1) (suc$ zero$a)) (or (= ?v1 zero$a) (= ?v0 (suc$ zero$a))))) :named a347)) -(assert (! (forall ((?v0 Nat$)) (less_eq$ zero$a ?v0)) :named a348)) -(assert (! (forall ((?v0 Nat$) (?v1 Nat$)) (= (less_eq$ (suc$ ?v0) (suc$ ?v1)) (less_eq$ ?v0 ?v1))) :named a349)) -(assert (! (forall ((?v0 Nat$) (?v1 Nat$)) (= (plus$a ?v0 (suc$ ?v1)) (suc$ (plus$a ?v0 ?v1)))) :named a350)) -(assert (! (forall ((?v0 Nat$) (?v1 Nat$)) (! (= (times$ ?v0 (suc$ ?v1)) (plus$a ?v0 (times$ ?v0 ?v1))) :pattern ((times$ ?v0 (suc$ ?v1))))) :named a351)) -(assert (! (forall ((?v0 Nat$) (?v1 Nat$) (?v2 Nat$)) (= (less_eq$ (plus$a ?v0 ?v1) (plus$a ?v0 ?v2)) (less_eq$ ?v1 ?v2))) :named a352)) -(check-sat) diff --git a/test/regress/regress1/ho/ho-exponential-model.smt2 b/test/regress/regress1/ho/ho-exponential-model.smt2 deleted file mode 100644 index 3f0011828..000000000 --- a/test/regress/regress1/ho/ho-exponential-model.smt2 +++ /dev/null @@ -1,40 +0,0 @@ -; COMMAND-LINE: --uf-ho -; EXPECT: sat -(set-logic UFLIA) -(set-info :status sat) -(declare-fun f1 (Int Int Int Int) Int) -(declare-fun f2 (Int Int Int) Int) -(declare-fun f3 (Int Int) Int) -(declare-fun f4 (Int) Int) -(declare-fun f5 (Int Int Int) Int) -(declare-fun f6 (Int Int) Int) -(declare-fun f7 (Int) Int) - - -(assert (= (f1 0) (f1 1))) -(assert (= (f1 1) f2)) - -(assert (= (f2 0) (f2 1))) -(assert (= (f2 1) f3)) - -(assert (= (f3 0) (f3 1))) -(assert (= (f3 1) f4)) - -(assert (= (f4 0) (f4 1))) -(assert (= (f4 1) 2)) - - -(assert (= (f1 3) (f1 4))) -(assert (= (f1 4) f5)) - -(assert (= (f5 3) (f5 4))) -(assert (= (f5 4) f6)) - -(assert (= (f6 3) (f6 4))) -(assert (= (f6 4) f7)) - -(assert (= (f7 3) (f7 4))) -(assert (= (f7 4) 5)) - -; this benchmark has a concise model representation for f1 if we use curried (tree-like) models for UF -(check-sat) diff --git a/test/regress/regress1/ho/ho-matching-enum-2.smt2 b/test/regress/regress1/ho/ho-matching-enum-2.smt2 deleted file mode 100644 index 9581e4c4f..000000000 --- a/test/regress/regress1/ho/ho-matching-enum-2.smt2 +++ /dev/null @@ -1,18 +0,0 @@ -; COMMAND-LINE: --uf-ho -; EXPECT: unsat -(set-logic ALL) -(set-info :status unsat) - -(declare-sort U 0) - -(declare-fun p (Int) Bool) -(declare-fun q (Int) Bool) -(declare-fun k (Int Int) Int) - -(assert (q (k 0 1))) -(assert (not (p (k 0 0)))) - -(assert (forall ((f (-> Int Int Int)) (y Int) (z Int)) (or (p (f y z)) (not (q (f z y)))))) - -(check-sat) -(exit) diff --git a/test/regress/regress1/ho/ho-std-fmf.smt2 b/test/regress/regress1/ho/ho-std-fmf.smt2 deleted file mode 100644 index 61d82d00c..000000000 --- a/test/regress/regress1/ho/ho-std-fmf.smt2 +++ /dev/null @@ -1,18 +0,0 @@ -; COMMAND-LINE: --uf-ho --finite-model-find -; EXPECT: sat -(set-logic UF) -(set-info :status sat) -(declare-sort U 0) -(declare-fun P (U U) Bool) -(declare-fun Q (U U) Bool) -(declare-fun R (U U) Bool) -(declare-fun a () U) -(declare-fun b () U) - -; can solve this using standard MBQI model for P = \ xy true -(assert (forall ((x U) (y U)) (or (P x y) (Q x y)))) -(assert (forall ((x U) (y U)) (or (P x y) (R x y)))) - -(assert (not (= a b))) -(assert (= (Q a) (R b))) -(check-sat) diff --git a/test/regress/regress1/ho/hoa0008.smt2 b/test/regress/regress1/ho/hoa0008.smt2 deleted file mode 100644 index f4833aadf..000000000 --- a/test/regress/regress1/ho/hoa0008.smt2 +++ /dev/null @@ -1,68 +0,0 @@ -; COMMAND-LINE: --uf-ho -; EXPECT: unsat -(set-logic ALL) -(declare-sort A$ 0) -(declare-sort Com$ 0) -(declare-sort Loc$ 0) -(declare-sort Nat$ 0) -(declare-sort Pname$ 0) -(declare-sort State$ 0) -(declare-sort Vname$ 0) -(declare-sort Literal$ 0) -(declare-sort Natural$ 0) -(declare-sort Typerep$ 0) -(declare-sort A_triple$ 0) -(declare-sort Com_option$ 0) -(declare-fun p$ () (-> A$ (-> State$ Bool))) -(declare-fun q$ () (-> A$ (-> State$ Bool))) -(declare-fun pn$ () Pname$) -(declare-fun wt$ (Com$) Bool) -(declare-fun ass$ (Vname$ (-> State$ Nat$)) Com$) -(declare-fun suc$ (Nat$) Nat$) -(declare-fun the$ (Com_option$) Com$) -(declare-fun body$ (Pname$) Com$) -(declare-fun call$ (Vname$ Pname$ (-> State$ Nat$)) Com$) -(declare-fun cond$ ((-> State$ Bool) Com$ Com$) Com$) -(declare-fun none$ () Com_option$) -(declare-fun plus$ (Nat$ Nat$) Nat$) -(declare-fun semi$ (Com$ Com$) Com$) -(declare-fun size$ (A_triple$) Nat$) -(declare-fun skip$ () Com$) -(declare-fun some$ (Com$) Com_option$) -(declare-fun suc$a (Natural$) Natural$) -(declare-fun zero$ () Nat$) -(declare-fun body$a (Pname$) Com_option$) -(declare-fun evalc$ (Com$ State$ State$) Bool) -(declare-fun evaln$ (Com$ State$ Nat$ State$) Bool) -(declare-fun local$ (Loc$ (-> State$ Nat$) Com$) Com$) -(declare-fun plus$a (Natural$ Natural$) Natural$) -(declare-fun size$a (Com$) Nat$) -(declare-fun size$b (Natural$) Nat$) -(declare-fun size$c (Bool) Nat$) -(declare-fun size$d (Com_option$) Nat$) -(declare-fun size$e (Typerep$) Nat$) -(declare-fun size$f (Literal$) Nat$) -(declare-fun while$ ((-> State$ Bool) Com$) Com$) -(declare-fun zero$a () Natural$) -(declare-fun triple$ ((-> A$ (-> State$ Bool)) Com$ (-> A$ (-> State$ Bool))) A_triple$) -(declare-fun rec_bool$ (Nat$ Nat$) (-> Bool Nat$)) -(declare-fun size_com$ (Com$) Nat$) -(declare-fun size_bool$ (Bool) Nat$) -(declare-fun wT_bodies$ () Bool) -(declare-fun size_option$ ((-> Com$ Nat$)) (-> Com_option$ Nat$)) -(declare-fun size_triple$ ((-> A$ Nat$) A_triple$) Nat$) -(declare-fun size_natural$ (Natural$) Nat$) -(declare-fun triple_valid$ (Nat$ A_triple$) Bool) -(assert (! (not (triple_valid$ zero$ (triple$ p$ (body$ pn$) q$))) :named a0)) - -(assert (! (forall ((?v0 Nat$) (?v1 (-> A$ (-> State$ Bool))) (?v2 Com$) (?v3 (-> A$ (-> State$ Bool)))) (= (triple_valid$ ?v0 (triple$ ?v1 ?v2 ?v3)) (forall ((?v4 A$) (?v5 State$)) (=> (?v1 ?v4 ?v5) (forall ((?v6 State$)) (=> (evaln$ ?v2 ?v5 ?v0 ?v6) (?v3 ?v4 ?v6))))))) :named a6)) - -(assert (! (= (size_bool$ true) zero$) :named a13)) -(assert (! (= size_bool$ (rec_bool$ zero$ zero$)) :named a14)) - -(assert (! (forall ((?v0 Nat$)) (not (= zero$ (suc$ ?v0)))) :named a37)) - -(assert (! (forall ((?v0 Pname$) (?v1 State$) (?v2 Nat$) (?v3 State$)) (=> (and (evaln$ (body$ ?v0) ?v1 ?v2 ?v3) (forall ((?v4 Nat$)) (=> (and (= ?v2 (suc$ ?v4)) (evaln$ (the$ (body$a ?v0)) ?v1 ?v4 ?v3)) false))) false)) :named a204)) - -(check-sat) -;(get-proof) diff --git a/test/regress/regress1/ho/match-middle.smt2 b/test/regress/regress1/ho/match-middle.smt2 deleted file mode 100644 index 0485f9a6f..000000000 --- a/test/regress/regress1/ho/match-middle.smt2 +++ /dev/null @@ -1,20 +0,0 @@ -; COMMAND-LINE: --uf-ho -; EXPECT: unsat -(set-logic UFLIA) -(set-info :status unsat) -(declare-fun f (Int Int Int) Int) -(declare-fun h (Int Int Int) Int) -(declare-fun g (Int Int) Int) -(declare-fun a () Int) -(declare-fun b () Int) -(declare-fun c () Int) -(declare-fun d () Int) - -(assert (or (= (f a) g) (= (h a) g))) - -(assert (= (f a b d) c)) -(assert (= (h a b d) c)) - -(assert (forall ((x Int) (y Int)) (not (= (g x y) c)))) - -(check-sat) diff --git a/test/regress/regress1/ho/nested_lambdas-AGT034^2.smt2 b/test/regress/regress1/ho/nested_lambdas-AGT034^2.smt2 new file mode 100644 index 000000000..1670e0711 --- /dev/null +++ b/test/regress/regress1/ho/nested_lambdas-AGT034^2.smt2 @@ -0,0 +1,101 @@ +; COMMAND-LINE: --uf-ho --no-check-unsat-cores --no-check-proofs +; EXPECT: unsat + +(set-logic ALL) +(declare-sort $$unsorted 0) +(declare-sort mu 0) +(declare-fun meq_ind (mu mu $$unsorted) Bool) +(assert (= meq_ind (lambda ((X mu) (Y mu) (W $$unsorted)) (= X Y)))) +(declare-fun meq_prop ((-> $$unsorted Bool) (-> $$unsorted Bool) $$unsorted) Bool) +(assert (= meq_prop (lambda ((X (-> $$unsorted Bool)) (Y (-> $$unsorted Bool)) (W $$unsorted)) (= (X W) (Y W))))) +(declare-fun mnot ((-> $$unsorted Bool) $$unsorted) Bool) +(assert (= mnot (lambda ((Phi (-> $$unsorted Bool)) (W $$unsorted)) (not (Phi W))))) +(declare-fun mor ((-> $$unsorted Bool) (-> $$unsorted Bool) $$unsorted) Bool) +(assert (= mor (lambda ((Phi (-> $$unsorted Bool)) (Psi (-> $$unsorted Bool)) (W $$unsorted)) (or (Phi W) (Psi W))))) +(declare-fun mand ((-> $$unsorted Bool) (-> $$unsorted Bool) $$unsorted) Bool) +(assert (= mand (lambda ((Phi (-> $$unsorted Bool)) (Psi (-> $$unsorted Bool)) (__flatten_var_0 $$unsorted)) (mnot (mor (mnot Phi) (mnot Psi)) __flatten_var_0)))) +(declare-fun mimplies ((-> $$unsorted Bool) (-> $$unsorted Bool) $$unsorted) Bool) +(assert (= mimplies (lambda ((Phi (-> $$unsorted Bool)) (Psi (-> $$unsorted Bool)) (__flatten_var_0 $$unsorted)) (mor (mnot Phi) Psi __flatten_var_0)))) +(declare-fun mimplied ((-> $$unsorted Bool) (-> $$unsorted Bool) $$unsorted) Bool) +(assert (= mimplied (lambda ((Phi (-> $$unsorted Bool)) (Psi (-> $$unsorted Bool)) (__flatten_var_0 $$unsorted)) (mor (mnot Psi) Phi __flatten_var_0)))) +(declare-fun mequiv ((-> $$unsorted Bool) (-> $$unsorted Bool) $$unsorted) Bool) +(assert (= mequiv (lambda ((Phi (-> $$unsorted Bool)) (Psi (-> $$unsorted Bool)) (__flatten_var_0 $$unsorted)) (mand (mimplies Phi Psi) (mimplies Psi Phi) __flatten_var_0)))) +(declare-fun mxor ((-> $$unsorted Bool) (-> $$unsorted Bool) $$unsorted) Bool) +(assert (= mxor (lambda ((Phi (-> $$unsorted Bool)) (Psi (-> $$unsorted Bool)) (__flatten_var_0 $$unsorted)) (mnot (mequiv Phi Psi) __flatten_var_0)))) +(declare-fun mforall_ind ((-> mu $$unsorted Bool) $$unsorted) Bool) +(assert (= mforall_ind (lambda ((Phi (-> mu $$unsorted Bool)) (W $$unsorted)) (forall ((X mu)) (Phi X W) )))) +(declare-fun mforall_prop ((-> (-> $$unsorted Bool) $$unsorted Bool) $$unsorted) Bool) +(assert (= mforall_prop (lambda ((Phi (-> (-> $$unsorted Bool) $$unsorted Bool)) (W $$unsorted)) (forall ((P (-> $$unsorted Bool))) (Phi P W) )))) +(declare-fun mexists_ind ((-> mu $$unsorted Bool) $$unsorted) Bool) +(assert (= mexists_ind (lambda ((Phi (-> mu $$unsorted Bool)) (__flatten_var_0 $$unsorted)) (mnot (mforall_ind (lambda ((X mu) (__flatten_var_0 $$unsorted)) (mnot (Phi X) __flatten_var_0))) __flatten_var_0)))) +(declare-fun mexists_prop ((-> (-> $$unsorted Bool) $$unsorted Bool) $$unsorted) Bool) +(assert (= mexists_prop (lambda ((Phi (-> (-> $$unsorted Bool) $$unsorted Bool)) (__flatten_var_0 $$unsorted)) (mnot (mforall_prop (lambda ((P (-> $$unsorted Bool)) (__flatten_var_0 $$unsorted)) (mnot (Phi P) __flatten_var_0))) __flatten_var_0)))) +(declare-fun mtrue ($$unsorted) Bool) +(assert (= mtrue (lambda ((W $$unsorted)) true))) +(declare-fun mfalse ($$unsorted) Bool) +(assert (= mfalse (mnot mtrue))) +(declare-fun mbox ((-> $$unsorted $$unsorted Bool) (-> $$unsorted Bool) $$unsorted) Bool) +(assert (= mbox (lambda ((R (-> $$unsorted $$unsorted Bool)) (Phi (-> $$unsorted Bool)) (W $$unsorted)) (forall ((V $$unsorted)) (or (not (R W V)) (Phi V)) )))) +(declare-fun mdia ((-> $$unsorted $$unsorted Bool) (-> $$unsorted Bool) $$unsorted) Bool) +(assert (= mdia (lambda ((R (-> $$unsorted $$unsorted Bool)) (Phi (-> $$unsorted Bool)) (__flatten_var_0 $$unsorted)) (mnot (mbox R (mnot Phi)) __flatten_var_0)))) +(declare-fun mreflexive ((-> $$unsorted $$unsorted Bool)) Bool) +(assert (= mreflexive (lambda ((R (-> $$unsorted $$unsorted Bool))) (forall ((S $$unsorted)) (R S S) )))) +(declare-fun msymmetric ((-> $$unsorted $$unsorted Bool)) Bool) +(assert (= msymmetric (lambda ((R (-> $$unsorted $$unsorted Bool))) (forall ((S $$unsorted) (T $$unsorted)) (=> (R S T) (R T S)) )))) +(declare-fun mserial ((-> $$unsorted $$unsorted Bool)) Bool) +(assert (= mserial (lambda ((R (-> $$unsorted $$unsorted Bool))) (forall ((S $$unsorted)) (exists ((T $$unsorted)) (R S T) ) )))) +(declare-fun mtransitive ((-> $$unsorted $$unsorted Bool)) Bool) +(assert (= mtransitive (lambda ((R (-> $$unsorted $$unsorted Bool))) (forall ((S $$unsorted) (T $$unsorted) (U $$unsorted)) (=> (and (R S T) (R T U)) (R S U)) )))) +(declare-fun meuclidean ((-> $$unsorted $$unsorted Bool)) Bool) +(assert (= meuclidean (lambda ((R (-> $$unsorted $$unsorted Bool))) (forall ((S $$unsorted) (T $$unsorted) (U $$unsorted)) (=> (and (R S T) (R S U)) (R T U)) )))) +(declare-fun mpartially_functional ((-> $$unsorted $$unsorted Bool)) Bool) +(assert (= mpartially_functional (lambda ((R (-> $$unsorted $$unsorted Bool))) (forall ((S $$unsorted) (T $$unsorted) (U $$unsorted)) (=> (and (R S T) (R S U)) (= T U)) )))) +(declare-fun mfunctional ((-> $$unsorted $$unsorted Bool)) Bool) +(assert (= mfunctional (lambda ((R (-> $$unsorted $$unsorted Bool))) (forall ((S $$unsorted)) (exists ((T $$unsorted)) (and (R S T) (forall ((U $$unsorted)) (=> (R S U) (= T U)) )) ) )))) +(declare-fun mweakly_dense ((-> $$unsorted $$unsorted Bool)) Bool) +(assert (= mweakly_dense (lambda ((R (-> $$unsorted $$unsorted Bool))) (forall ((S $$unsorted) (T $$unsorted) (U $$unsorted)) (=> (R S T) (exists ((U $$unsorted)) (and (R S U) (R U T)) )) )))) +(declare-fun mweakly_connected ((-> $$unsorted $$unsorted Bool)) Bool) +(assert (= mweakly_connected (lambda ((R (-> $$unsorted $$unsorted Bool))) (forall ((S $$unsorted) (T $$unsorted) (U $$unsorted)) (=> (and (R S T) (R S U)) (or (R T U) (= T U) (R U T))) )))) +(declare-fun mweakly_directed ((-> $$unsorted $$unsorted Bool)) Bool) +(assert (= mweakly_directed (lambda ((R (-> $$unsorted $$unsorted Bool))) (forall ((S $$unsorted) (T $$unsorted) (U $$unsorted)) (=> (and (R S T) (R S U)) (exists ((V $$unsorted)) (and (R T V) (R U V)) )) )))) +(declare-fun mvalid ((-> $$unsorted Bool)) Bool) +(assert (= mvalid (lambda ((Phi (-> $$unsorted Bool))) (forall ((W $$unsorted)) (Phi W) )))) +(declare-fun minvalid ((-> $$unsorted Bool)) Bool) +(assert (= minvalid (lambda ((Phi (-> $$unsorted Bool))) (forall ((W $$unsorted)) (not (Phi W)) )))) +(declare-fun msatisfiable ((-> $$unsorted Bool)) Bool) +(assert (= msatisfiable (lambda ((Phi (-> $$unsorted Bool))) (exists ((W $$unsorted)) (Phi W) )))) +(declare-fun mcountersatisfiable ((-> $$unsorted Bool)) Bool) +(assert (= mcountersatisfiable (lambda ((Phi (-> $$unsorted Bool))) (exists ((W $$unsorted)) (not (Phi W)) )))) +(declare-fun a1 ($$unsorted $$unsorted) Bool) +(declare-fun a2 ($$unsorted $$unsorted) Bool) +(declare-fun a3 ($$unsorted $$unsorted) Bool) +(declare-fun jan () mu) +(declare-fun piotr () mu) +(declare-fun cola () mu) +(declare-fun pepsi () mu) +(declare-fun beer () mu) +(declare-fun likes (mu mu $$unsorted) Bool) +(declare-fun very_much_likes (mu mu $$unsorted) Bool) +(declare-fun possibly_likes (mu mu $$unsorted) Bool) +(assert (mvalid (mbox a1 (likes jan cola)))) +(assert (mvalid (mbox a1 (likes piotr pepsi)))) +(assert (mvalid (mforall_ind (lambda ((X mu) (__flatten_var_0 $$unsorted)) (mbox a1 (mimplies (mdia a1 (likes X pepsi)) (likes X cola)) __flatten_var_0))))) +(assert (mvalid (mforall_ind (lambda ((X mu) (__flatten_var_0 $$unsorted)) (mbox a1 (mimplies (mdia a1 (likes X cola)) (likes X pepsi)) __flatten_var_0))))) +(assert (mvalid (mbox a2 (likes jan pepsi)))) +(assert (mvalid (mbox a1 (likes piotr cola)))) +(assert (mvalid (mbox a1 (likes piotr beer)))) +(assert (mvalid (mforall_ind (lambda ((X mu) (__flatten_var_0 $$unsorted)) (mbox a2 (mimplies (likes X pepsi) (likes X cola)) __flatten_var_0))))) +(assert (mvalid (mforall_ind (lambda ((X mu) (__flatten_var_0 $$unsorted)) (mbox a2 (mimplies (likes X cola) (likes X pepsi)) __flatten_var_0))))) +(assert (mvalid (mbox a3 (likes jan cola)))) +(assert (mvalid (mdia a3 (likes piotr pepsi)))) +(assert (mvalid (mdia a1 (likes piotr beer)))) +(assert (mvalid (mforall_ind (lambda ((X mu) (__flatten_var_0 $$unsorted)) (mforall_ind (lambda ((Y mu) (__flatten_var_0 $$unsorted)) (mbox a3 (mimplies (mand (likes X Y) (mand (mbox a1 (likes X Y)) (mbox a2 (likes X Y)))) (very_much_likes X Y)) __flatten_var_0)) __flatten_var_0))))) +(assert (mvalid (mforall_ind (lambda ((X mu) (__flatten_var_0 $$unsorted)) (mforall_ind (lambda ((Y mu) (__flatten_var_0 $$unsorted)) (mimplies (mbox a3 (very_much_likes X Y)) (very_much_likes X Y) __flatten_var_0)) __flatten_var_0))))) +(assert (mvalid (mforall_ind (lambda ((X mu) (__flatten_var_0 $$unsorted)) (mforall_ind (lambda ((Y mu) (__flatten_var_0 $$unsorted)) (mimplies (mdia a3 (very_much_likes X Y)) (likes X Y) __flatten_var_0)) __flatten_var_0))))) +(assert (mvalid (mforall_ind (lambda ((X mu) (__flatten_var_0 $$unsorted)) (mforall_ind (lambda ((Y mu) (__flatten_var_0 $$unsorted)) (mimplies (mdia a1 (likes X Y)) (possibly_likes X Y) __flatten_var_0)) __flatten_var_0))))) +(assert (mvalid (mforall_ind (lambda ((X mu) (__flatten_var_0 $$unsorted)) (mforall_ind (lambda ((Y mu) (__flatten_var_0 $$unsorted)) (mimplies (mdia a2 (likes X Y)) (possibly_likes X Y) __flatten_var_0)) __flatten_var_0))))) +(assert (mvalid (mforall_ind (lambda ((X mu) (__flatten_var_0 $$unsorted)) (mforall_ind (lambda ((Y mu) (__flatten_var_0 $$unsorted)) (mimplies (mdia a3 (likes X Y)) (possibly_likes X Y) __flatten_var_0)) __flatten_var_0))))) +(assert (not (mvalid (very_much_likes jan cola)))) +(meta-info :filename "AGT034^2") + +(check-sat) \ No newline at end of file diff --git a/test/regress/regress1/ho/nested_lambdas-sat-SYO056^1-delta.smt2 b/test/regress/regress1/ho/nested_lambdas-sat-SYO056^1-delta.smt2 new file mode 100644 index 000000000..9211adfb5 --- /dev/null +++ b/test/regress/regress1/ho/nested_lambdas-sat-SYO056^1-delta.smt2 @@ -0,0 +1,50 @@ +; COMMAND-LINE: --uf-ho --finite-model-find --no-check-models +; EXPECT: sat + + +(set-logic ALL) +(declare-sort $$unsorted 0) + +(declare-fun mvalid ((-> $$unsorted Bool)) Bool) +(assert (= mvalid (lambda ((Phi (-> $$unsorted Bool))) (forall ((W $$unsorted)) (Phi W) )))) + +(declare-fun mforall_prop ((-> (-> $$unsorted Bool) $$unsorted Bool) $$unsorted) Bool) +(assert (= mforall_prop + (lambda ((Phi (-> (-> $$unsorted Bool) $$unsorted Bool)) (W $$unsorted)) + (forall ((P (-> $$unsorted Bool))) (Phi P W) )))) + +(declare-fun mnot ((-> $$unsorted Bool) $$unsorted) Bool) +(assert (= mnot (lambda ((Phi (-> $$unsorted Bool)) (W $$unsorted)) (not (Phi W))))) + +(declare-fun mor ((-> $$unsorted Bool) (-> $$unsorted Bool) $$unsorted) Bool) +(assert (= mor + (lambda ((Phi (-> $$unsorted Bool)) (Psi (-> $$unsorted Bool)) (W $$unsorted)) + (or (Phi W) (Psi W))))) + +(declare-fun mimplies ((-> $$unsorted Bool) (-> $$unsorted Bool) $$unsorted) Bool) +(assert (= mimplies + (lambda ( + (Phi (-> $$unsorted Bool)) + (Psi (-> $$unsorted Bool)) (__flatten_var_0 $$unsorted)) + (mor (mnot Phi) Psi __flatten_var_0)))) + +(declare-fun mbox ((-> $$unsorted $$unsorted Bool) (-> $$unsorted Bool) $$unsorted) Bool) +(assert (= mbox + (lambda ((R (-> $$unsorted $$unsorted Bool)) (Phi (-> $$unsorted Bool)) (W $$unsorted)) + (forall ((V $$unsorted)) (or (not (R W V)) (Phi V)) )))) + +(assert (not (forall ((R (-> $$unsorted $$unsorted Bool))) + (mvalid + (mforall_prop + (lambda ((A (-> $$unsorted Bool)) (__flatten_var_0 $$unsorted)) + (mforall_prop + (lambda ((B (-> $$unsorted Bool)) (__flatten_var_0 $$unsorted)) + (mimplies + (mbox R (mor A B)) + (mor + (mbox R A) + (mbox R B)) + __flatten_var_0)) + __flatten_var_0)))) ))) + +(check-sat) diff --git a/test/regress/regress1/ho/soundness_fmf_SYO362^5-delta.p b/test/regress/regress1/ho/soundness_fmf_SYO362^5-delta.p new file mode 100644 index 000000000..baabd675a --- /dev/null +++ b/test/regress/regress1/ho/soundness_fmf_SYO362^5-delta.p @@ -0,0 +1,63 @@ +% COMMAND-LINE: --uf-ho --finite-model-find +% EXPECT: % SZS status GaveUp for soundness_fmf_SYO362^5-delta + +%------------------------------------------------------------------------------ +% File : SYO362^5 : TPTP v7.2.0. Released v4.0.0. +% Domain : Syntactic +% Problem : TPS problem THM631A +% Version : Especial. +% English : If a set function preserves unions, then it is monotone. + +% Refs : [Bro09] Brown (2009), Email to Geoff Sutcliffe +% Source : [Bro09] +% Names : tps_0419 [Bro09] +% : THM631 [TPS] +% : THM631A [TPS] + +% Status : Theorem +% Rating : 0.22 v7.2.0, 0.12 v7.1.0, 0.25 v7.0.0, 0.14 v6.4.0, 0.17 v6.3.0, 0.20 v6.2.0, 0.29 v6.1.0, 0.14 v6.0.0, 0.29 v5.5.0, 0.50 v5.4.0, 0.60 v5.3.0, 0.80 v4.1.0, 1.00 v4.0.0 +% Syntax : Number of formulae : 2 ( 0 unit; 1 type; 0 defn) +% Number of atoms : 22 ( 1 equality; 16 variable) +% Maximal formula depth : 9 ( 6 average) +% Number of connectives : 19 ( 0 ~; 2 |; 0 &; 13 @) +% ( 0 <=>; 4 =>; 0 <=; 0 <~>) +% ( 0 ~|; 0 ~&) +% Number of type conns : 7 ( 7 >; 0 *; 0 +; 0 <<) +% Number of symbols : 3 ( 1 :; 0 =) +% Number of variables : 8 ( 0 sgn; 6 !; 0 ?; 2 ^) +% ( 8 :; 0 !>; 0 ?*) +% ( 0 @-; 0 @+) +% SPC : TH0_THM_EQU_NAR + +% Comments : This problem is from the TPS library. Copyright (c) 2009 The TPS +% project in the Department of Mathematical Sciences at Carnegie +% Mellon University. Distributed under the Creative Commons copyleft +% license: http://creativecommons.org/licenses/by-sa/3.0/ +% : Polymorphic definitions expanded. +% : +%------------------------------------------------------------------------------ +thf(cK,type,( + cK: ( $i > $o ) > $i > $o )). + +thf(cTHM631A_pme,conjecture, + ( ! [X: $i > $o,Y: $i > $o] : + ( ( cK + @ ^ [Xz: $i] : + ( ( X @ Xz ) + | ( Y @ Xz ) ) ) + = ( ^ [Xw: $i] : + ( ( cK @ X @ Xw ) + | ( cK @ Y @ Xw ) ) ) ) + => ! [X: $i > $o,Y: $i > $o] : + ( ! [Xx: $i] : + ( ( X @ Xx ) + => ( Y @ Xx ) ) + => ! [Xx: $i] : + ( ( cK @ X @ Xx ) + => ( cK @ Y @ Xx ) ) ) )). + +%------------------------------------------------------------------------------ + +%% soundness issue (since resolved) was due to wrong lambda +%% lifting. Free variables in lambda body not being carried out to +%% quantified formula standing for lambda lifting diff --git a/test/regress/regress1/ho/store-ax-min.p b/test/regress/regress1/ho/store-ax-min.p new file mode 100644 index 000000000..d67eb8dad --- /dev/null +++ b/test/regress/regress1/ho/store-ax-min.p @@ -0,0 +1,28 @@ +% COMMAND-LINE: --uf-ho --full-saturate-quant --ho-elim-store-ax +% COMMAND-LINE: --uf-ho --full-saturate-quant --ho-elim +% EXPECT: % SZS status Theorem for store-ax-min + +thf(a, type, (a: $i)). +thf(b, type, (b: $i)). + +%% thf(blah1, axiom, ( ! [X: $i, Y: $i] : (X = Y))). + +thf(blah2, axiom, ( ~ (a = b))). + +%% thf(storeax, axiom, ( +%% ! [F : $i > $i, D : $i, R : $i] : +%% ( +%% ? [G : $i > $i] : +%% ( +%% ! [X : $i] : +%% ( +%% (G @ X) = $ite( X = D, R, F @ X) +%% ) +%% ) +%% ) + + +%% (~ (X = Y))) +%% ). + +thf(blah, conjecture, ( ? [F : $i > $i, G : $i > $i] : (~ (F = G)))). diff --git a/test/regress/regress2/ho/SYO362^5.p b/test/regress/regress2/ho/SYO362^5.p new file mode 100644 index 000000000..c01d3f235 --- /dev/null +++ b/test/regress/regress2/ho/SYO362^5.p @@ -0,0 +1,22 @@ +% COMMAND-LINE: --uf-ho --full-saturate-quant --ho-elim +% EXPECT: % SZS status Theorem for SYO362^5 + +thf(cK,type,( + cK: ( $i > $o ) > $i > $o )). + +thf(cTHM631A_pme,conjecture, + ( ! [X: $i > $o,Y: $i > $o] : + ( ( cK + @ ^ [Xz: $i] : + ( ( X @ Xz ) + | ( Y @ Xz ) ) ) + = ( ^ [Xw: $i] : + ( ( cK @ X @ Xw ) + | ( cK @ Y @ Xw ) ) ) ) + => ! [X: $i > $o,Y: $i > $o] : + ( ! [Xx: $i] : + ( ( X @ Xx ) + => ( Y @ Xx ) ) + => ! [Xx: $i] : + ( ( cK @ X @ Xx ) + => ( cK @ Y @ Xx ) ) ) )). diff --git a/test/regress/regress2/ho/auth0068.smt2 b/test/regress/regress2/ho/auth0068.smt2 new file mode 100644 index 000000000..eb0bb5d36 --- /dev/null +++ b/test/regress/regress2/ho/auth0068.smt2 @@ -0,0 +1,491 @@ +; COMMAND-LINE: --uf-ho +; EXPECT: unsat +(set-logic ALL) +(set-info :status unsat) +(declare-sort Msg$ 0) +(declare-sort Nat$ 0) +(declare-sort Agent$ 0) +(declare-sort Event$ 0) +(declare-sort Msg_set$ 0) +(declare-sort Msg_list$ 0) +(declare-sort Agent_set$ 0) +(declare-sort Event_set$ 0) +(declare-sort Agent_list$ 0) +(declare-sort Event_list$ 0) +(declare-sort Event_option$ 0) +(declare-sort Msg_list_set$ 0) +(declare-sort Agent_list_set$ 0) +(declare-sort Event_list_set$ 0) +(declare-sort Event_list_list$ 0) +(declare-fun p$ () (-> Event$ Bool)) +(declare-fun uu$ ((-> Msg$ Bool) (-> Msg$ Bool) Msg$) Bool) +(declare-fun bad$ () Agent_set$) +(declare-fun nil$ () Event_list$) +(declare-fun set$ (Event_list$) Event_set$) +(declare-fun spy$ () Agent$) +(declare-fun uua$ (Event_set$ (-> Event$ Bool) Event$) Bool) +(declare-fun uub$ (Agent_set$ (-> Agent$ Bool) Agent$) Bool) +(declare-fun uuc$ (Msg_set$ (-> Msg$ Bool) Msg$) Bool) +(declare-fun uud$ (Event_set$ Event$) Bool) +(declare-fun uue$ (Agent_set$ Agent$) Bool) +(declare-fun uuf$ (Msg_set$ Msg$) Bool) +(declare-fun uug$ (Event$ Event_list$) Bool) +(declare-fun uuh$ (Event$ Event_list$) Bool) +(declare-fun uui$ ((-> Event$ Bool) Event$ Event$) Bool) +(declare-fun uuj$ (Event_list_set$ Event_list$ Event$) Bool) +(declare-fun uuk$ (Msg$ (-> Msg$ Bool) Msg$) Bool) +(declare-fun uul$ (Msg$ Msg_set$ Msg$) Bool) +(declare-fun uum$ (Event$ Event_set$ Event$) Bool) +(declare-fun uun$ (Agent$ Agent_set$ Agent$) Bool) +(declare-fun uuo$ (Event_list$ Agent$ Agent$ Msg$) Msg_set$) +(declare-fun uup$ (Event_list$ Agent$ Msg$) Msg_set$) +(declare-fun uuq$ (Event_list$ Agent$ Msg$) Msg_set$) +(declare-fun uur$ (Agent$ Event_list$ Agent$ Agent$ Msg$) Msg_set$) +(declare-fun uus$ (Agent$ Event_list$ Agent$ Msg$) Msg_set$) +(declare-fun bind$ (Event_list$ (-> Event$ Event_list$)) Event_list$) +(declare-fun cons$ (Event$ Event_list$) Event_list$) +(declare-fun gets$ (Agent$ Msg$) Event$) +(declare-fun maps$ ((-> Event$ Event_list$)) (-> Event_list$ Event_list$)) +(declare-fun nil$a () Event_list_list$) +(declare-fun nil$b () Msg_list$) +(declare-fun nil$c () Agent_list$) +(declare-fun null$ (Event_list$) Bool) +(declare-fun says$ (Agent$ Agent$ Msg$) Event$) +(declare-fun set$a (Msg_list$) Msg_set$) +(declare-fun set$b (Agent_list$) Agent_set$) +(declare-fun succ$ (Event_list_set$ Event_list$) Event_set$) +(declare-fun cons$a (Event_list$ Event_list_list$) Event_list_list$) +(declare-fun cons$b (Msg$ Msg_list$) Msg_list$) +(declare-fun cons$c (Agent$ Agent_list$) Agent_list$) +(declare-fun knows$ (Agent$ Event_list$) Msg_set$) +(declare-fun notes$ (Agent$ Msg$) Event$) +(declare-fun succ$a (Msg_list_set$ Msg_list$) Msg_set$) +(declare-fun succ$b (Agent_list_set$ Agent_list$) Agent_set$) +(declare-fun append$ (Event_list$ Event_list$) Event_list$) +(declare-fun insert$ (Msg$ Msg_set$) Msg_set$) +(declare-fun member$ (Agent$ Agent_set$) Bool) +(declare-fun splice$ (Event_list$) (-> Event_list$ Event_list$)) +(declare-fun append$a (Msg_list$ Msg_list$) Msg_list$) +(declare-fun append$b (Agent_list$ Agent_list$) Agent_list$) +(declare-fun collect$ ((-> Msg$ Bool)) Msg_set$) +(declare-fun insert$a (Event$) (-> Event_list$ Event_list$)) +(declare-fun insert$b (Event$ Event_set$) Event_set$) +(declare-fun insert$c (Agent$ Agent_set$) Agent_set$) +(declare-fun insert$d (Msg$ Msg_list$) Msg_list$) +(declare-fun insert$e (Agent$ Agent_list$) Agent_list$) +(declare-fun less_eq$ (Msg_set$ Msg_set$) Bool) +(declare-fun list_ex$ ((-> Event$ Bool)) (-> Event_list$ Bool)) +(declare-fun member$a (Msg$ Msg_set$) Bool) +(declare-fun member$b (Event$ Event_set$) Bool) +(declare-fun member$c (Event_list$ Event_list_set$) Bool) +(declare-fun member$d (Event_list$ Event$) Bool) +(declare-fun member$e (Msg_list$ Msg_list_set$) Bool) +(declare-fun member$f (Agent_list$ Agent_list_set$) Bool) +(declare-fun member$g (Msg_list$ Msg$) Bool) +(declare-fun member$h (Agent_list$ Agent$) Bool) +(declare-fun rotate1$ (Event_list$) Event_list$) +(declare-fun subseqs$ (Event_list$) Event_list_list$) +(declare-fun antimono$ ((-> Msg_set$ Msg_set$)) Bool) +(declare-fun collect$a ((-> Event$ Bool)) Event_set$) +(declare-fun collect$b ((-> Agent$ Bool)) Agent_set$) +(declare-fun greatest$ ((-> Msg_set$ Bool)) Msg_set$) +(declare-fun less_eq$a (Event_set$ Event_set$) Bool) +(declare-fun less_eq$b (Agent_set$ Agent_set$) Bool) +(declare-fun less_eq$c ((-> Event$ Bool) (-> Event$ Bool)) Bool) +(declare-fun less_eq$d ((-> Agent$ Bool) (-> Agent$ Bool)) Bool) +(declare-fun less_eq$e ((-> Msg$ Bool) (-> Msg$ Bool)) Bool) +(declare-fun less_eq$f ((-> Bool Msg_set$) (-> Bool Msg_set$)) Bool) +(declare-fun list_all$ ((-> Event$ Bool) Event_list$) Bool) +(declare-fun list_ex$a ((-> Msg$ Bool) Msg_list$) Bool) +(declare-fun list_ex$b ((-> Agent$ Bool) Agent_list$) Bool) +(declare-fun list_ex1$ ((-> Event$ Bool)) (-> Event_list$ Bool)) +(declare-fun case_list$ (Bool (-> Event$ (-> Event_list$ Bool)) Event_list$) Bool) +(declare-fun initState$ (Agent$) Msg_set$) +(declare-fun list_all$a ((-> Msg$ Bool) Msg_list$) Bool) +(declare-fun list_all$b ((-> Agent$ Bool) Agent_list$) Bool) +(declare-fun list_ex1$a ((-> Msg$ Bool) Msg_list$) Bool) +(declare-fun list_ex1$b ((-> Agent$ Bool) Agent_list$) Bool) +(declare-fun takeWhile$ ((-> Event$ Bool) Event_list$) Event_list$) +(declare-fun case_event$ ((-> Agent$ (-> Agent$ (-> Msg$ Msg_set$))) (-> Agent$ (-> Msg$ Msg_set$)) (-> Agent$ (-> Msg$ Msg_set$)) Event$) Msg_set$) +(declare-fun gen_length$ (Nat$) (-> Event_list$ Nat$)) +(declare-fun map_filter$ ((-> Event$ Event_option$)) (-> Event_list$ Event_list$)) +(declare-fun takeWhile$a ((-> Msg$ Bool) Msg_list$) Msg_list$) +(declare-fun takeWhile$b ((-> Agent$ Bool) Agent_list$) Agent_list$) +(declare-fun product_lists$ (Event_list_list$) Event_list_list$) +(assert (! (forall ((?v0 Agent_set$) (?v1 Agent$)) (! (= (uue$ ?v0 ?v1) (member$ ?v1 ?v0)) :pattern ((uue$ ?v0 ?v1)))) :named a0)) +(assert (! (forall ((?v0 Msg_set$) (?v1 Msg$)) (! (= (uuf$ ?v0 ?v1) (member$a ?v1 ?v0)) :pattern ((uuf$ ?v0 ?v1)))) :named a1)) +(assert (! (forall ((?v0 Event_set$) (?v1 Event$)) (! (= (uud$ ?v0 ?v1) (member$b ?v1 ?v0)) :pattern ((uud$ ?v0 ?v1)))) :named a2)) +(assert (! (forall ((?v0 Event_list$) (?v1 Agent$) (?v2 Msg$)) (! (= (uuq$ ?v0 ?v1 ?v2) (ite (member$ ?v1 bad$) (insert$ ?v2 (knows$ spy$ ?v0)) (knows$ spy$ ?v0))) :pattern ((uuq$ ?v0 ?v1 ?v2)))) :named a3)) +(assert (! (forall ((?v0 Event_list_set$) (?v1 Event_list$) (?v2 Event$)) (! (= (uuj$ ?v0 ?v1 ?v2) (member$c (append$ ?v1 (cons$ ?v2 nil$)) ?v0)) :pattern ((uuj$ ?v0 ?v1 ?v2)))) :named a4)) +(assert (! (forall ((?v0 Agent$) (?v1 Agent_set$) (?v2 Agent$)) (! (= (uun$ ?v0 ?v1 ?v2) (or (= ?v2 ?v0) (member$ ?v2 ?v1))) :pattern ((uun$ ?v0 ?v1 ?v2)))) :named a5)) +(assert (! (forall ((?v0 Msg$) (?v1 Msg_set$) (?v2 Msg$)) (! (= (uul$ ?v0 ?v1 ?v2) (or (= ?v2 ?v0) (member$a ?v2 ?v1))) :pattern ((uul$ ?v0 ?v1 ?v2)))) :named a6)) +(assert (! (forall ((?v0 Event$) (?v1 Event_set$) (?v2 Event$)) (! (= (uum$ ?v0 ?v1 ?v2) (or (= ?v2 ?v0) (member$b ?v2 ?v1))) :pattern ((uum$ ?v0 ?v1 ?v2)))) :named a7)) +(assert (! (forall ((?v0 Agent_set$) (?v1 (-> Agent$ Bool)) (?v2 Agent$)) (! (= (uub$ ?v0 ?v1 ?v2) (and (member$ ?v2 ?v0) (?v1 ?v2))) :pattern ((uub$ ?v0 ?v1 ?v2)))) :named a8)) +(assert (! (forall ((?v0 Msg_set$) (?v1 (-> Msg$ Bool)) (?v2 Msg$)) (! (= (uuc$ ?v0 ?v1 ?v2) (and (member$a ?v2 ?v0) (?v1 ?v2))) :pattern ((uuc$ ?v0 ?v1 ?v2)))) :named a9)) +(assert (! (forall ((?v0 Event_set$) (?v1 (-> Event$ Bool)) (?v2 Event$)) (! (= (uua$ ?v0 ?v1 ?v2) (and (member$b ?v2 ?v0) (?v1 ?v2))) :pattern ((uua$ ?v0 ?v1 ?v2)))) :named a10)) +(assert (! (forall ((?v0 (-> Msg$ Bool)) (?v1 (-> Msg$ Bool)) (?v2 Msg$)) (! (= (uu$ ?v0 ?v1 ?v2) (and (?v0 ?v2) (?v1 ?v2))) :pattern ((uu$ ?v0 ?v1 ?v2)))) :named a11)) +(assert (! (forall ((?v0 Msg$) (?v1 (-> Msg$ Bool)) (?v2 Msg$)) (! (= (uuk$ ?v0 ?v1 ?v2) (=> (not (= ?v2 ?v0)) (?v1 ?v2))) :pattern ((uuk$ ?v0 ?v1 ?v2)))) :named a12)) +(assert (! (forall ((?v0 (-> Event$ Bool)) (?v1 Event$) (?v2 Event$)) (! (= (uui$ ?v0 ?v1 ?v2) (or (not (?v0 ?v2)) (= ?v1 ?v2))) :pattern ((uui$ ?v0 ?v1 ?v2)))) :named a13)) +(assert (! (forall ((?v0 Event_list$) (?v1 Agent$) (?v2 Msg$)) (! (= (uup$ ?v0 ?v1 ?v2) (knows$ spy$ ?v0)) :pattern ((uup$ ?v0 ?v1 ?v2)))) :named a14)) +(assert (! (forall ((?v0 Agent$) (?v1 Event_list$) (?v2 Agent$) (?v3 Msg$)) (! (= (uus$ ?v0 ?v1 ?v2 ?v3) (ite (= ?v2 ?v0) (insert$ ?v3 (knows$ ?v0 ?v1)) (knows$ ?v0 ?v1))) :pattern ((uus$ ?v0 ?v1 ?v2 ?v3)))) :named a15)) +(assert (! (forall ((?v0 Event_list$) (?v1 Agent$) (?v2 Agent$) (?v3 Msg$)) (! (= (uuo$ ?v0 ?v1 ?v2 ?v3) (insert$ ?v3 (knows$ spy$ ?v0))) :pattern ((uuo$ ?v0 ?v1 ?v2 ?v3)))) :named a16)) +(assert (! (forall ((?v0 Agent$) (?v1 Event_list$) (?v2 Agent$) (?v3 Agent$) (?v4 Msg$)) (! (= (uur$ ?v0 ?v1 ?v2 ?v3 ?v4) (ite (= ?v2 ?v0) (insert$ ?v4 (knows$ ?v0 ?v1)) (knows$ ?v0 ?v1))) :pattern ((uur$ ?v0 ?v1 ?v2 ?v3 ?v4)))) :named a17)) +(assert (! (forall ((?v0 Event$) (?v1 Event_list$)) (! (= (uug$ ?v0 ?v1) false) :pattern ((uug$ ?v0 ?v1)))) :named a18)) +(assert (! (forall ((?v0 Event$) (?v1 Event_list$)) (! (= (uuh$ ?v0 ?v1) true) :pattern ((uuh$ ?v0 ?v1)))) :named a19)) +(assert (! (not (less_eq$ (knows$ spy$ (takeWhile$ p$ nil$)) (knows$ spy$ nil$))) :named a20)) +(assert (! (forall ((?v0 (-> Event$ Bool)) (?v1 Event_list$)) (= (takeWhile$ ?v0 (takeWhile$ ?v0 ?v1)) (takeWhile$ ?v0 ?v1))) :named a21)) +(assert (! (forall ((?v0 Event_set$) (?v1 Event_set$)) (=> (forall ((?v2 Event$)) (=> (member$b ?v2 ?v0) (member$b ?v2 ?v1))) (less_eq$a ?v0 ?v1))) :named a22)) +(assert (! (forall ((?v0 Agent_set$) (?v1 Agent_set$)) (=> (forall ((?v2 Agent$)) (=> (member$ ?v2 ?v0) (member$ ?v2 ?v1))) (less_eq$b ?v0 ?v1))) :named a23)) +(assert (! (forall ((?v0 Msg_set$) (?v1 Msg_set$)) (=> (forall ((?v2 Msg$)) (=> (member$a ?v2 ?v0) (member$a ?v2 ?v1))) (less_eq$ ?v0 ?v1))) :named a24)) +(assert (! (forall ((?v0 Msg_set$) (?v1 Msg_set$)) (=> (and (less_eq$ ?v0 ?v1) (less_eq$ ?v1 ?v0)) (= ?v0 ?v1))) :named a25)) +(assert (! (forall ((?v0 Msg_set$)) (less_eq$ ?v0 ?v0)) :named a26)) +(assert (! (forall ((?v0 (-> Event$ Bool))) (! (= (takeWhile$ ?v0 nil$) nil$) :pattern ((takeWhile$ ?v0)))) :named a27)) +(assert (! (forall ((?v0 Msg_set$) (?v1 (-> Msg$ Bool)) (?v2 (-> Msg$ Bool))) (= (less_eq$ ?v0 (collect$ (uu$ ?v1 ?v2))) (and (less_eq$ ?v0 (collect$ ?v1)) (less_eq$ ?v0 (collect$ ?v2))))) :named a28)) +(assert (! (forall ((?v0 Event$) (?v1 Event_set$) (?v2 Event_set$) (?v3 (-> Event$ Bool))) (=> (and (member$b ?v0 ?v1) (less_eq$a ?v1 (collect$a (uua$ ?v2 ?v3)))) (?v3 ?v0))) :named a29)) +(assert (! (forall ((?v0 Agent$) (?v1 Agent_set$) (?v2 Agent_set$) (?v3 (-> Agent$ Bool))) (=> (and (member$ ?v0 ?v1) (less_eq$b ?v1 (collect$b (uub$ ?v2 ?v3)))) (?v3 ?v0))) :named a30)) +(assert (! (forall ((?v0 Msg$) (?v1 Msg_set$) (?v2 Msg_set$) (?v3 (-> Msg$ Bool))) (=> (and (member$a ?v0 ?v1) (less_eq$ ?v1 (collect$ (uuc$ ?v2 ?v3)))) (?v3 ?v0))) :named a31)) +(assert (! (forall ((?v0 Event_set$) (?v1 (-> Event$ Bool))) (less_eq$a (collect$a (uua$ ?v0 ?v1)) ?v0)) :named a32)) +(assert (! (forall ((?v0 Agent_set$) (?v1 (-> Agent$ Bool))) (less_eq$b (collect$b (uub$ ?v0 ?v1)) ?v0)) :named a33)) +(assert (! (forall ((?v0 Msg_set$) (?v1 (-> Msg$ Bool))) (less_eq$ (collect$ (uuc$ ?v0 ?v1)) ?v0)) :named a34)) +(assert (! (forall ((?v0 Event_set$) (?v1 Event_set$) (?v2 (-> Event$ Bool)) (?v3 (-> Event$ Bool))) (=> (and (less_eq$a ?v0 ?v1) (forall ((?v4 Event$)) (=> (and (member$b ?v4 ?v0) (?v2 ?v4)) (?v3 ?v4)))) (less_eq$a (collect$a (uua$ ?v0 ?v2)) (collect$a (uua$ ?v1 ?v3))))) :named a35)) +(assert (! (forall ((?v0 Agent_set$) (?v1 Agent_set$) (?v2 (-> Agent$ Bool)) (?v3 (-> Agent$ Bool))) (=> (and (less_eq$b ?v0 ?v1) (forall ((?v4 Agent$)) (=> (and (member$ ?v4 ?v0) (?v2 ?v4)) (?v3 ?v4)))) (less_eq$b (collect$b (uub$ ?v0 ?v2)) (collect$b (uub$ ?v1 ?v3))))) :named a36)) +(assert (! (forall ((?v0 Msg_set$) (?v1 Msg_set$) (?v2 (-> Msg$ Bool)) (?v3 (-> Msg$ Bool))) (=> (and (less_eq$ ?v0 ?v1) (forall ((?v4 Msg$)) (=> (and (member$a ?v4 ?v0) (?v2 ?v4)) (?v3 ?v4)))) (less_eq$ (collect$ (uuc$ ?v0 ?v2)) (collect$ (uuc$ ?v1 ?v3))))) :named a37)) +(assert (! (forall ((?v0 Event_set$) (?v1 Event_set$) (?v2 (-> Event$ Bool))) (=> (less_eq$a ?v0 ?v1) (= (less_eq$a ?v0 (collect$a (uua$ ?v1 ?v2))) (forall ((?v3 Event$)) (=> (member$b ?v3 ?v0) (?v2 ?v3)))))) :named a38)) +(assert (! (forall ((?v0 Agent_set$) (?v1 Agent_set$) (?v2 (-> Agent$ Bool))) (=> (less_eq$b ?v0 ?v1) (= (less_eq$b ?v0 (collect$b (uub$ ?v1 ?v2))) (forall ((?v3 Agent$)) (=> (member$ ?v3 ?v0) (?v2 ?v3)))))) :named a39)) +(assert (! (forall ((?v0 Msg_set$) (?v1 Msg_set$) (?v2 (-> Msg$ Bool))) (=> (less_eq$ ?v0 ?v1) (= (less_eq$ ?v0 (collect$ (uuc$ ?v1 ?v2))) (forall ((?v3 Msg$)) (=> (member$a ?v3 ?v0) (?v2 ?v3)))))) :named a40)) +(assert (! (forall ((?v0 Event_list$)) (=> (and (=> (= ?v0 nil$) false) (=> (not (= ?v0 nil$)) false)) false)) :named a41)) +(assert (! (forall ((?v0 Event_set$) (?v1 Event_set$) (?v2 Event$)) (=> (and (less_eq$a ?v0 ?v1) (member$b ?v2 ?v0)) (member$b ?v2 ?v1))) :named a42)) +(assert (! (forall ((?v0 Agent_set$) (?v1 Agent_set$) (?v2 Agent$)) (=> (and (less_eq$b ?v0 ?v1) (member$ ?v2 ?v0)) (member$ ?v2 ?v1))) :named a43)) +(assert (! (forall ((?v0 Msg_set$) (?v1 Msg_set$) (?v2 Msg$)) (=> (and (less_eq$ ?v0 ?v1) (member$a ?v2 ?v0)) (member$a ?v2 ?v1))) :named a44)) +(assert (! (forall ((?v0 Event_set$) (?v1 Event_set$)) (= (less_eq$a ?v0 ?v1) (less_eq$c (uud$ ?v0) (uud$ ?v1)))) :named a45)) +(assert (! (forall ((?v0 Agent_set$) (?v1 Agent_set$)) (= (less_eq$b ?v0 ?v1) (less_eq$d (uue$ ?v0) (uue$ ?v1)))) :named a46)) +(assert (! (forall ((?v0 Msg_set$) (?v1 Msg_set$)) (= (less_eq$ ?v0 ?v1) (less_eq$e (uuf$ ?v0) (uuf$ ?v1)))) :named a47)) +(assert (! (forall ((?v0 Msg_set$) (?v1 Msg_set$)) (=> (and (less_eq$ ?v0 ?v1) (less_eq$ ?v1 ?v0)) (= ?v1 ?v0))) :named a48)) +(assert (! (forall ((?v0 Msg_set$) (?v1 Msg_set$) (?v2 Msg_set$)) (=> (and (less_eq$ ?v0 ?v1) (less_eq$ ?v2 ?v0)) (less_eq$ ?v2 ?v1))) :named a49)) +(assert (! (forall ((?v0 Msg_set$)) (less_eq$ ?v0 ?v0)) :named a50)) +(assert (! (forall ((?v0 Msg_set$) (?v1 Msg_set$) (?v2 Msg_set$)) (=> (and (less_eq$ ?v0 ?v1) (less_eq$ ?v1 ?v2)) (less_eq$ ?v0 ?v2))) :named a51)) +(assert (! (forall ((?v0 Msg_set$) (?v1 Msg_set$)) (=> (and (less_eq$ ?v0 ?v1) (less_eq$ ?v1 ?v0)) (= ?v0 ?v1))) :named a52)) +(assert (! (forall ((?v0 Msg_set$) (?v1 Msg_set$) (?v2 Msg_set$)) (=> (and (less_eq$ ?v0 ?v1) (= ?v1 ?v2)) (less_eq$ ?v0 ?v2))) :named a53)) +(assert (! (forall ((?v0 Msg_set$) (?v1 Msg_set$) (?v2 Msg_set$)) (=> (and (= ?v0 ?v1) (less_eq$ ?v1 ?v2)) (less_eq$ ?v0 ?v2))) :named a54)) +(assert (! (forall ((?v0 Msg_set$) (?v1 Msg_set$)) (! (=> (less_eq$ ?v0 ?v1) (= (less_eq$ ?v1 ?v0) (= ?v1 ?v0))) :pattern ((less_eq$ ?v1 ?v0)))) :named a55)) +(assert (! (forall ((?v0 Msg_set$) (?v1 Msg_set$) (?v2 Msg_set$)) (=> (and (less_eq$ ?v0 ?v1) (less_eq$ ?v1 ?v2)) (less_eq$ ?v0 ?v2))) :named a56)) +(assert (! (forall ((?v0 Msg_set$) (?v1 Msg_set$)) (=> (= ?v0 ?v1) (less_eq$ ?v0 ?v1))) :named a57)) +(assert (! (forall ((?v0 Msg_set$) (?v1 Msg_set$)) (=> (and (less_eq$ ?v0 ?v1) (less_eq$ ?v1 ?v0)) (= ?v0 ?v1))) :named a58)) +(assert (! (forall ((?v0 Msg_set$) (?v1 Msg_set$)) (= (= ?v0 ?v1) (and (less_eq$ ?v0 ?v1) (less_eq$ ?v1 ?v0)))) :named a59)) +(assert (! (forall ((?v0 Msg_set$) (?v1 Msg_set$) (?v2 (-> Msg_set$ Msg_set$)) (?v3 Msg_set$)) (=> (and (less_eq$ ?v0 ?v1) (and (= (?v2 ?v1) ?v3) (forall ((?v4 Msg_set$) (?v5 Msg_set$)) (=> (less_eq$ ?v4 ?v5) (less_eq$ (?v2 ?v4) (?v2 ?v5)))))) (less_eq$ (?v2 ?v0) ?v3))) :named a60)) +(assert (! (forall ((?v0 Msg_set$) (?v1 (-> Msg_set$ Msg_set$)) (?v2 Msg_set$) (?v3 Msg_set$)) (=> (and (= ?v0 (?v1 ?v2)) (and (less_eq$ ?v2 ?v3) (forall ((?v4 Msg_set$) (?v5 Msg_set$)) (=> (less_eq$ ?v4 ?v5) (less_eq$ (?v1 ?v4) (?v1 ?v5)))))) (less_eq$ ?v0 (?v1 ?v3)))) :named a61)) +(assert (! (forall ((?v0 Msg_set$) (?v1 Msg_set$) (?v2 (-> Msg_set$ Msg_set$)) (?v3 Msg_set$)) (=> (and (less_eq$ ?v0 ?v1) (and (less_eq$ (?v2 ?v1) ?v3) (forall ((?v4 Msg_set$) (?v5 Msg_set$)) (=> (less_eq$ ?v4 ?v5) (less_eq$ (?v2 ?v4) (?v2 ?v5)))))) (less_eq$ (?v2 ?v0) ?v3))) :named a62)) +(assert (! (forall ((?v0 Msg_set$) (?v1 (-> Msg_set$ Msg_set$)) (?v2 Msg_set$) (?v3 Msg_set$)) (=> (and (less_eq$ ?v0 (?v1 ?v2)) (and (less_eq$ ?v2 ?v3) (forall ((?v4 Msg_set$) (?v5 Msg_set$)) (=> (less_eq$ ?v4 ?v5) (less_eq$ (?v1 ?v4) (?v1 ?v5)))))) (less_eq$ ?v0 (?v1 ?v3)))) :named a63)) +(assert (! (forall ((?v0 (-> Msg$ Bool)) (?v1 (-> Msg$ Bool))) (= (less_eq$ (collect$ ?v0) (collect$ ?v1)) (forall ((?v2 Msg$)) (=> (?v0 ?v2) (?v1 ?v2))))) :named a64)) +(assert (! (forall ((?v0 Event_set$) (?v1 Event_set$) (?v2 Event$)) (=> (and (less_eq$a ?v0 ?v1) (not (member$b ?v2 ?v1))) (not (member$b ?v2 ?v0)))) :named a65)) +(assert (! (forall ((?v0 Agent_set$) (?v1 Agent_set$) (?v2 Agent$)) (=> (and (less_eq$b ?v0 ?v1) (not (member$ ?v2 ?v1))) (not (member$ ?v2 ?v0)))) :named a66)) +(assert (! (forall ((?v0 Msg_set$) (?v1 Msg_set$) (?v2 Msg$)) (=> (and (less_eq$ ?v0 ?v1) (not (member$a ?v2 ?v1))) (not (member$a ?v2 ?v0)))) :named a67)) +(assert (! (forall ((?v0 Msg_set$) (?v1 Msg_set$)) (= (= ?v0 ?v1) (and (less_eq$ ?v0 ?v1) (less_eq$ ?v1 ?v0)))) :named a68)) +(assert (! (forall ((?v0 Msg_set$) (?v1 Msg_set$) (?v2 Msg_set$)) (=> (and (less_eq$ ?v0 ?v1) (less_eq$ ?v1 ?v2)) (less_eq$ ?v0 ?v2))) :named a69)) +(assert (! (forall ((?v0 (-> Msg$ Bool)) (?v1 (-> Msg$ Bool))) (=> (forall ((?v2 Msg$)) (=> (?v0 ?v2) (?v1 ?v2))) (less_eq$ (collect$ ?v0) (collect$ ?v1)))) :named a70)) +(assert (! (forall ((?v0 Msg_set$)) (less_eq$ ?v0 ?v0)) :named a71)) +(assert (! (forall ((?v0 Event$) (?v1 Event_set$) (?v2 Event_set$)) (=> (and (member$b ?v0 ?v1) (less_eq$a ?v1 ?v2)) (member$b ?v0 ?v2))) :named a72)) +(assert (! (forall ((?v0 Agent$) (?v1 Agent_set$) (?v2 Agent_set$)) (=> (and (member$ ?v0 ?v1) (less_eq$b ?v1 ?v2)) (member$ ?v0 ?v2))) :named a73)) +(assert (! (forall ((?v0 Msg$) (?v1 Msg_set$) (?v2 Msg_set$)) (=> (and (member$a ?v0 ?v1) (less_eq$ ?v1 ?v2)) (member$a ?v0 ?v2))) :named a74)) +(assert (! (forall ((?v0 Event_set$) (?v1 Event_set$)) (= (less_eq$a ?v0 ?v1) (forall ((?v2 Event$)) (=> (member$b ?v2 ?v0) (member$b ?v2 ?v1))))) :named a75)) +(assert (! (forall ((?v0 Agent_set$) (?v1 Agent_set$)) (= (less_eq$b ?v0 ?v1) (forall ((?v2 Agent$)) (=> (member$ ?v2 ?v0) (member$ ?v2 ?v1))))) :named a76)) +(assert (! (forall ((?v0 Msg_set$) (?v1 Msg_set$)) (= (less_eq$ ?v0 ?v1) (forall ((?v2 Msg$)) (=> (member$a ?v2 ?v0) (member$a ?v2 ?v1))))) :named a77)) +(assert (! (forall ((?v0 Msg$) (?v1 (-> Msg$ Bool))) (= (member$a ?v0 (collect$ ?v1)) (?v1 ?v0))) :named a78)) +(assert (! (forall ((?v0 Event$) (?v1 (-> Event$ Bool))) (= (member$b ?v0 (collect$a ?v1)) (?v1 ?v0))) :named a79)) +(assert (! (forall ((?v0 Agent$) (?v1 (-> Agent$ Bool))) (= (member$ ?v0 (collect$b ?v1)) (?v1 ?v0))) :named a80)) +(assert (! (forall ((?v0 Msg_set$)) (= (collect$ (uuf$ ?v0)) ?v0)) :named a81)) +(assert (! (forall ((?v0 Event_set$)) (= (collect$a (uud$ ?v0)) ?v0)) :named a82)) +(assert (! (forall ((?v0 Agent_set$)) (= (collect$b (uue$ ?v0)) ?v0)) :named a83)) +(assert (! (forall ((?v0 Event$) (?v1 Event_set$) (?v2 Event_set$)) (=> (and (member$b ?v0 ?v1) (less_eq$a ?v1 ?v2)) (member$b ?v0 ?v2))) :named a84)) +(assert (! (forall ((?v0 Agent$) (?v1 Agent_set$) (?v2 Agent_set$)) (=> (and (member$ ?v0 ?v1) (less_eq$b ?v1 ?v2)) (member$ ?v0 ?v2))) :named a85)) +(assert (! (forall ((?v0 Msg$) (?v1 Msg_set$) (?v2 Msg_set$)) (=> (and (member$a ?v0 ?v1) (less_eq$ ?v1 ?v2)) (member$a ?v0 ?v2))) :named a86)) +(assert (! (forall ((?v0 Msg_set$) (?v1 Msg_set$)) (=> (= ?v0 ?v1) (less_eq$ ?v1 ?v0))) :named a87)) +(assert (! (forall ((?v0 Msg_set$) (?v1 Msg_set$)) (=> (= ?v0 ?v1) (less_eq$ ?v0 ?v1))) :named a88)) +(assert (! (forall ((?v0 Event_set$) (?v1 Event_set$)) (= (less_eq$a ?v0 ?v1) (forall ((?v2 Event$)) (=> (member$b ?v2 ?v0) (member$b ?v2 ?v1))))) :named a89)) +(assert (! (forall ((?v0 Agent_set$) (?v1 Agent_set$)) (= (less_eq$b ?v0 ?v1) (forall ((?v2 Agent$)) (=> (member$ ?v2 ?v0) (member$ ?v2 ?v1))))) :named a90)) +(assert (! (forall ((?v0 Msg_set$) (?v1 Msg_set$)) (= (less_eq$ ?v0 ?v1) (forall ((?v2 Msg$)) (=> (member$a ?v2 ?v0) (member$a ?v2 ?v1))))) :named a91)) +(assert (! (forall ((?v0 Msg_set$) (?v1 Msg_set$)) (=> (and (= ?v0 ?v1) (=> (and (less_eq$ ?v0 ?v1) (less_eq$ ?v1 ?v0)) false)) false)) :named a92)) +(assert (! (forall ((?v0 Event_set$) (?v1 Event_set$) (?v2 Event$)) (=> (and (less_eq$a ?v0 ?v1) (and (=> (not (member$b ?v2 ?v0)) false) (=> (member$b ?v2 ?v1) false))) false)) :named a93)) +(assert (! (forall ((?v0 Agent_set$) (?v1 Agent_set$) (?v2 Agent$)) (=> (and (less_eq$b ?v0 ?v1) (and (=> (not (member$ ?v2 ?v0)) false) (=> (member$ ?v2 ?v1) false))) false)) :named a94)) +(assert (! (forall ((?v0 Msg_set$) (?v1 Msg_set$) (?v2 Msg$)) (=> (and (less_eq$ ?v0 ?v1) (and (=> (not (member$a ?v2 ?v0)) false) (=> (member$a ?v2 ?v1) false))) false)) :named a95)) +(assert (! (forall ((?v0 Event_set$) (?v1 Event_set$) (?v2 Event$)) (=> (and (less_eq$a ?v0 ?v1) (member$b ?v2 ?v0)) (member$b ?v2 ?v1))) :named a96)) +(assert (! (forall ((?v0 Agent_set$) (?v1 Agent_set$) (?v2 Agent$)) (=> (and (less_eq$b ?v0 ?v1) (member$ ?v2 ?v0)) (member$ ?v2 ?v1))) :named a97)) +(assert (! (forall ((?v0 Msg_set$) (?v1 Msg_set$) (?v2 Msg$)) (=> (and (less_eq$ ?v0 ?v1) (member$a ?v2 ?v0)) (member$a ?v2 ?v1))) :named a98)) +(assert (! (forall ((?v0 Event_set$) (?v1 Event_set$) (?v2 Event$)) (=> (and (less_eq$a ?v0 ?v1) (member$b ?v2 ?v0)) (member$b ?v2 ?v1))) :named a99)) +(assert (! (forall ((?v0 Agent_set$) (?v1 Agent_set$) (?v2 Agent$)) (=> (and (less_eq$b ?v0 ?v1) (member$ ?v2 ?v0)) (member$ ?v2 ?v1))) :named a100)) +(assert (! (forall ((?v0 Msg_set$) (?v1 Msg_set$) (?v2 Msg$)) (=> (and (less_eq$ ?v0 ?v1) (member$a ?v2 ?v0)) (member$a ?v2 ?v1))) :named a101)) +(assert (! (forall ((?v0 Event_set$) (?v1 Event_set$)) (= (less_eq$c (uud$ ?v0) (uud$ ?v1)) (less_eq$a ?v0 ?v1))) :named a102)) +(assert (! (forall ((?v0 Agent_set$) (?v1 Agent_set$)) (= (less_eq$d (uue$ ?v0) (uue$ ?v1)) (less_eq$b ?v0 ?v1))) :named a103)) +(assert (! (forall ((?v0 Msg_set$) (?v1 Msg_set$)) (= (less_eq$e (uuf$ ?v0) (uuf$ ?v1)) (less_eq$ ?v0 ?v1))) :named a104)) +(assert (! (forall ((?v0 (-> Event$ Bool))) (! (= (list_ex1$ ?v0 nil$) false) :pattern ((list_ex1$ ?v0)))) :named a105)) +(assert (! (forall ((?v0 (-> Event$ Event_list$))) (! (= (bind$ nil$ ?v0) nil$) :pattern ((bind$ nil$ ?v0)))) :named a106)) +(assert (! (forall ((?v0 (-> Msg_set$ Bool)) (?v1 Msg_set$)) (=> (and (?v0 ?v1) (forall ((?v2 Msg_set$)) (=> (?v0 ?v2) (less_eq$ ?v2 ?v1)))) (= (greatest$ ?v0) ?v1))) :named a107)) +(assert (! (forall ((?v0 (-> Msg_set$ Bool)) (?v1 Msg_set$) (?v2 (-> Msg_set$ Bool))) (=> (and (?v0 ?v1) (and (forall ((?v3 Msg_set$)) (=> (?v0 ?v3) (less_eq$ ?v3 ?v1))) (forall ((?v3 Msg_set$)) (=> (and (?v0 ?v3) (forall ((?v4 Msg_set$)) (=> (?v0 ?v4) (less_eq$ ?v4 ?v3)))) (?v2 ?v3))))) (?v2 (greatest$ ?v0)))) :named a108)) +(assert (! (forall ((?v0 Event$)) (! (= (member$d nil$ ?v0) false) :pattern ((member$d nil$ ?v0)))) :named a109)) +(assert (! (forall ((?v0 (-> Bool Msg_set$)) (?v1 (-> Bool Msg_set$))) (! (= (less_eq$f ?v0 ?v1) (and (less_eq$ (?v0 false) (?v1 false)) (less_eq$ (?v0 true) (?v1 true)))) :pattern ((less_eq$f ?v0 ?v1)))) :named a110)) +(assert (! (forall ((?v0 Nat$)) (! (= (gen_length$ ?v0 nil$) ?v0) :pattern ((gen_length$ ?v0)))) :named a111)) +(assert (! (forall ((?v0 (-> Event$ Event_list$))) (! (= (maps$ ?v0 nil$) nil$) :pattern ((maps$ ?v0)))) :named a112)) +(assert (! (forall ((?v0 Event_list$)) (= (= ?v0 nil$) (null$ ?v0))) :named a113)) +(assert (! (= (null$ nil$) true) :named a114)) +(assert (! (forall ((?v0 Event_list$)) (! (= (splice$ ?v0 nil$) ?v0) :pattern ((splice$ ?v0)))) :named a115)) +(assert (! (forall ((?v0 Event_list$)) (= (= (rotate1$ ?v0) nil$) (= ?v0 nil$))) :named a116)) +(assert (! (forall ((?v0 (-> Event$ Event_option$))) (! (= (map_filter$ ?v0 nil$) nil$) :pattern ((map_filter$ ?v0)))) :named a117)) +(assert (! (forall ((?v0 (-> Msg_set$ Msg_set$)) (?v1 Msg_set$) (?v2 Msg_set$)) (=> (and (antimono$ ?v0) (less_eq$ ?v1 ?v2)) (less_eq$ (?v0 ?v2) (?v0 ?v1)))) :named a118)) +(assert (! (= (rotate1$ nil$) nil$) :named a119)) +(assert (! (forall ((?v0 Event_list$)) (! (= (splice$ nil$ ?v0) ?v0) :pattern ((splice$ nil$ ?v0)))) :named a120)) +(assert (! (forall ((?v0 (-> Msg_set$ Msg_set$))) (= (antimono$ ?v0) (forall ((?v1 Msg_set$) (?v2 Msg_set$)) (=> (less_eq$ ?v1 ?v2) (less_eq$ (?v0 ?v2) (?v0 ?v1)))))) :named a121)) +(assert (! (forall ((?v0 (-> Msg_set$ Msg_set$))) (=> (forall ((?v1 Msg_set$) (?v2 Msg_set$)) (=> (less_eq$ ?v1 ?v2) (less_eq$ (?v0 ?v2) (?v0 ?v1)))) (antimono$ ?v0))) :named a122)) +(assert (! (forall ((?v0 (-> Msg_set$ Msg_set$)) (?v1 Msg_set$) (?v2 Msg_set$)) (=> (and (antimono$ ?v0) (and (less_eq$ ?v1 ?v2) (=> (less_eq$ (?v0 ?v2) (?v0 ?v1)) false))) false)) :named a123)) +(assert (! (forall ((?v0 Event_list$) (?v1 Event_list$) (?v2 Event_list$)) (=> (and (= (splice$ ?v0 ?v1) ?v2) (and (forall ((?v3 Event_list$)) (=> (and (= ?v0 nil$) (and (= ?v1 ?v3) (= ?v2 ?v3))) false)) (and (forall ((?v3 Event$) (?v4 Event_list$)) (=> (and (= ?v0 (cons$ ?v3 ?v4)) (and (= ?v1 nil$) (= ?v2 (cons$ ?v3 ?v4)))) false)) (forall ((?v3 Event$) (?v4 Event_list$) (?v5 Event$) (?v6 Event_list$)) (=> (and (= ?v0 (cons$ ?v3 ?v4)) (and (= ?v1 (cons$ ?v5 ?v6)) (= ?v2 (cons$ ?v3 (cons$ ?v5 (splice$ ?v4 ?v6)))))) false))))) false)) :named a124)) +(assert (! (forall ((?v0 Event$) (?v1 Event_list$)) (! (= (splice$ (cons$ ?v0 ?v1) nil$) (cons$ ?v0 ?v1)) :pattern ((cons$ ?v0 ?v1)))) :named a125)) +(assert (! (forall ((?v0 (-> Event$ Bool))) (! (= (list_ex$ ?v0 nil$) false) :pattern ((list_ex$ ?v0)))) :named a126)) +(assert (! (forall ((?v0 Event_list$)) (= (= ?v0 nil$) (case_list$ true uug$ ?v0))) :named a127)) +(assert (! (forall ((?v0 Event_list$)) (= (not (= ?v0 nil$)) (case_list$ false uuh$ ?v0))) :named a128)) +(assert (! (forall ((?v0 Agent$)) (! (= (knows$ ?v0 nil$) (initState$ ?v0)) :pattern ((knows$ ?v0)))) :named a129)) +(assert (! (forall ((?v0 Event$) (?v1 Event_list$) (?v2 Event$) (?v3 Event_list$)) (= (= (cons$ ?v0 ?v1) (cons$ ?v2 ?v3)) (and (= ?v0 ?v2) (= ?v1 ?v3)))) :named a130)) +(assert (! (forall ((?v0 (-> Event$ Bool)) (?v1 Event$) (?v2 Event_list$)) (! (= (list_ex$ ?v0 (cons$ ?v1 ?v2)) (or (?v0 ?v1) (list_ex$ ?v0 ?v2))) :pattern ((list_ex$ ?v0 (cons$ ?v1 ?v2))))) :named a131)) +(assert (! (forall ((?v0 Event$) (?v1 Event_list$)) (not (= (cons$ ?v0 ?v1) ?v1))) :named a132)) +(assert (! (forall ((?v0 Event_list_list$)) (=> (and (=> (= ?v0 nil$a) false) (and (forall ((?v1 Event_list_list$)) (=> (= ?v0 (cons$a nil$ ?v1)) false)) (forall ((?v1 Event$) (?v2 Event_list$) (?v3 Event_list_list$)) (=> (= ?v0 (cons$a (cons$ ?v1 ?v2) ?v3)) false)))) false)) :named a133)) +(assert (! (forall ((?v0 Event$) (?v1 Event_list$)) (not (= nil$ (cons$ ?v0 ?v1)))) :named a134)) +(assert (! (forall ((?v0 Event_list$) (?v1 Event$) (?v2 Event_list$)) (=> (= ?v0 (cons$ ?v1 ?v2)) (not (= ?v0 nil$)))) :named a135)) +(assert (! (forall ((?v0 Event_list$)) (=> (and (=> (= ?v0 nil$) false) (forall ((?v1 Event$) (?v2 Event_list$)) (=> (= ?v0 (cons$ ?v1 ?v2)) false))) false)) :named a136)) +(assert (! (forall ((?v0 Event_list$)) (= (not (= ?v0 nil$)) (exists ((?v1 Event$) (?v2 Event_list$)) (= ?v0 (cons$ ?v1 ?v2))))) :named a137)) +(assert (! (forall ((?v0 (-> Event_list$ (-> Event_list$ Bool))) (?v1 Event_list$) (?v2 Event_list$)) (=> (and (?v0 nil$ nil$) (and (forall ((?v3 Event$) (?v4 Event_list$)) (?v0 (cons$ ?v3 ?v4) nil$)) (and (forall ((?v3 Event$) (?v4 Event_list$)) (?v0 nil$ (cons$ ?v3 ?v4))) (forall ((?v3 Event$) (?v4 Event_list$) (?v5 Event$) (?v6 Event_list$)) (=> (?v0 ?v4 ?v6) (?v0 (cons$ ?v3 ?v4) (cons$ ?v5 ?v6))))))) (?v0 ?v1 ?v2))) :named a138)) +(assert (! (forall ((?v0 Event_list$)) (=> (and (=> (= ?v0 nil$) false) (and (forall ((?v1 Event$)) (=> (= ?v0 (cons$ ?v1 nil$)) false)) (forall ((?v1 Event$) (?v2 Event$) (?v3 Event_list$)) (=> (= ?v0 (cons$ ?v1 (cons$ ?v2 ?v3))) false)))) false)) :named a139)) +(assert (! (forall ((?v0 (-> Event_list$ Bool)) (?v1 Event_list$)) (=> (and (?v0 nil$) (and (forall ((?v2 Event$)) (?v0 (cons$ ?v2 nil$))) (forall ((?v2 Event$) (?v3 Event$) (?v4 Event_list$)) (=> (?v0 (cons$ ?v3 ?v4)) (?v0 (cons$ ?v2 (cons$ ?v3 ?v4))))))) (?v0 ?v1))) :named a140)) +(assert (! (forall ((?v0 Event_list$) (?v1 (-> Event_list$ Bool))) (=> (and (not (= ?v0 nil$)) (and (forall ((?v2 Event$)) (?v1 (cons$ ?v2 nil$))) (forall ((?v2 Event$) (?v3 Event_list$)) (=> (and (not (= ?v3 nil$)) (?v1 ?v3)) (?v1 (cons$ ?v2 ?v3)))))) (?v1 ?v0))) :named a141)) +(assert (! (forall ((?v0 Event$) (?v1 Event_list$) (?v2 Event$) (?v3 Event_list$)) (! (= (splice$ (cons$ ?v0 ?v1) (cons$ ?v2 ?v3)) (cons$ ?v0 (cons$ ?v2 (splice$ ?v1 ?v3)))) :pattern ((splice$ (cons$ ?v0 ?v1) (cons$ ?v2 ?v3))))) :named a142)) +(assert (! (forall ((?v0 Agent$) (?v1 Event_list$) (?v2 Event$)) (less_eq$ (knows$ ?v0 ?v1) (knows$ ?v0 (cons$ ?v2 ?v1)))) :named a143)) +(assert (! (forall ((?v0 Event$) (?v1 Event_list$)) (! (= (null$ (cons$ ?v0 ?v1)) false) :pattern ((cons$ ?v0 ?v1)))) :named a144)) +(assert (! (forall ((?v0 Event$) (?v1 Event_list$) (?v2 Event$)) (! (= (member$d (cons$ ?v0 ?v1) ?v2) (or (= ?v0 ?v2) (member$d ?v1 ?v2))) :pattern ((member$d (cons$ ?v0 ?v1) ?v2)))) :named a145)) +(assert (! (forall ((?v0 Agent$) (?v1 Event_list$)) (less_eq$ (initState$ ?v0) (knows$ ?v0 ?v1))) :named a146)) +(assert (! (forall ((?v0 (-> Event$ Bool)) (?v1 Event$) (?v2 Event_list$)) (! (= (takeWhile$ ?v0 (cons$ ?v1 ?v2)) (ite (?v0 ?v1) (cons$ ?v1 (takeWhile$ ?v0 ?v2)) nil$)) :pattern ((takeWhile$ ?v0 (cons$ ?v1 ?v2))))) :named a147)) +(assert (! (forall ((?v0 Event_list$) (?v1 Agent$) (?v2 Msg$)) (less_eq$ (knows$ spy$ ?v0) (knows$ spy$ (cons$ (gets$ ?v1 ?v2) ?v0)))) :named a148)) +(assert (! (forall ((?v0 Event$)) (! (= (insert$a ?v0 nil$) (cons$ ?v0 nil$)) :pattern ((insert$a ?v0)))) :named a149)) +(assert (! (forall ((?v0 Agent$) (?v1 Msg$) (?v2 Event_list$)) (! (= (knows$ spy$ (cons$ (gets$ ?v0 ?v1) ?v2)) (knows$ spy$ ?v2)) :pattern ((cons$ (gets$ ?v0 ?v1) ?v2)))) :named a150)) +(assert (! (forall ((?v0 Event_list$) (?v1 Agent$) (?v2 Msg$)) (less_eq$ (knows$ spy$ ?v0) (knows$ spy$ (cons$ (notes$ ?v1 ?v2) ?v0)))) :named a151)) +(assert (! (forall ((?v0 (-> Event$ Bool)) (?v1 Event$) (?v2 Event_list$)) (= (list_ex1$ ?v0 (cons$ ?v1 ?v2)) (ite (?v0 ?v1) (list_all$ (uui$ ?v0 ?v1) ?v2) (list_ex1$ ?v0 ?v2)))) :named a152)) +(assert (! (forall ((?v0 Agent$) (?v1 Msg$) (?v2 Agent$) (?v3 Msg$)) (= (= (notes$ ?v0 ?v1) (notes$ ?v2 ?v3)) (and (= ?v0 ?v2) (= ?v1 ?v3)))) :named a153)) +(assert (! (forall ((?v0 Agent$) (?v1 Msg$) (?v2 Agent$) (?v3 Msg$)) (= (= (gets$ ?v0 ?v1) (gets$ ?v2 ?v3)) (and (= ?v0 ?v2) (= ?v1 ?v3)))) :named a154)) +(assert (! (forall ((?v0 (-> Event$ Bool)) (?v1 Event$) (?v2 Event_list$)) (! (= (list_all$ ?v0 (cons$ ?v1 ?v2)) (and (?v0 ?v1) (list_all$ ?v0 ?v2))) :pattern ((list_all$ ?v0 (cons$ ?v1 ?v2))))) :named a155)) +(assert (! (forall ((?v0 (-> Event$ Bool)) (?v1 Event$) (?v2 Event_list$)) (! (= (list_all$ ?v0 (cons$ ?v1 ?v2)) (and (?v0 ?v1) (list_all$ ?v0 ?v2))) :pattern ((list_all$ ?v0 (cons$ ?v1 ?v2))))) :named a156)) +(assert (! (forall ((?v0 (-> Event$ Bool))) (! (= (list_all$ ?v0 nil$) true) :pattern ((list_all$ ?v0)))) :named a157)) +(assert (! (forall ((?v0 Agent$) (?v1 Msg$) (?v2 Agent$) (?v3 Msg$)) (not (= (gets$ ?v0 ?v1) (notes$ ?v2 ?v3)))) :named a158)) +(assert (! (forall ((?v0 (-> Event$ Bool))) (list_all$ ?v0 nil$)) :named a159)) +(assert (! (forall ((?v0 Agent$) (?v1 Event_list$) (?v2 Agent$) (?v3 Msg$)) (less_eq$ (knows$ ?v0 ?v1) (knows$ ?v0 (cons$ (notes$ ?v2 ?v3) ?v1)))) :named a160)) +(assert (! (forall ((?v0 Agent$) (?v1 Event_list$) (?v2 Agent$) (?v3 Msg$)) (less_eq$ (knows$ ?v0 ?v1) (knows$ ?v0 (cons$ (gets$ ?v2 ?v3) ?v1)))) :named a161)) +(assert (! (= (product_lists$ nil$a) (cons$a nil$ nil$a)) :named a162)) +(assert (! (forall ((?v0 Event_list$) (?v1 Agent$) (?v2 Msg$)) (= (knows$ spy$ (append$ ?v0 (cons$ (gets$ ?v1 ?v2) nil$))) (knows$ spy$ ?v0))) :named a163)) +(assert (! (= (subseqs$ nil$) (cons$a nil$ nil$a)) :named a164)) +(assert (! (forall ((?v0 Event_list$) (?v1 Agent$) (?v2 Agent$) (?v3 Msg$)) (less_eq$ (knows$ spy$ ?v0) (knows$ spy$ (cons$ (says$ ?v1 ?v2 ?v3) ?v0)))) :named a165)) +(assert (! (forall ((?v0 Event_list$) (?v1 Event_list$) (?v2 Event_list$)) (= (append$ (append$ ?v0 ?v1) ?v2) (append$ ?v0 (append$ ?v1 ?v2)))) :named a166)) +(assert (! (forall ((?v0 Event_list$) (?v1 Event_list$) (?v2 Event_list$)) (= (append$ (append$ ?v0 ?v1) ?v2) (append$ ?v0 (append$ ?v1 ?v2)))) :named a167)) +(assert (! (forall ((?v0 Event_list$) (?v1 Event_list$) (?v2 Event_list$)) (= (= (append$ ?v0 ?v1) (append$ ?v2 ?v1)) (= ?v0 ?v2))) :named a168)) +(assert (! (forall ((?v0 Event_list$) (?v1 Event_list$) (?v2 Event_list$)) (= (= (append$ ?v0 ?v1) (append$ ?v0 ?v2)) (= ?v1 ?v2))) :named a169)) +(assert (! (forall ((?v0 Agent$) (?v1 Agent$) (?v2 Msg$) (?v3 Agent$) (?v4 Agent$) (?v5 Msg$)) (= (= (says$ ?v0 ?v1 ?v2) (says$ ?v3 ?v4 ?v5)) (and (= ?v0 ?v3) (and (= ?v1 ?v4) (= ?v2 ?v5))))) :named a170)) +(assert (! (forall ((?v0 Event_list$)) (! (= (append$ ?v0 nil$) ?v0) :pattern ((append$ ?v0)))) :named a171)) +(assert (! (forall ((?v0 Event_list$) (?v1 Event_list$)) (= (= (append$ ?v0 ?v1) ?v0) (= ?v1 nil$))) :named a172)) +(assert (! (forall ((?v0 Event_list$) (?v1 Event_list$)) (= (= ?v0 (append$ ?v0 ?v1)) (= ?v1 nil$))) :named a173)) +(assert (! (forall ((?v0 Event_list$) (?v1 Event_list$)) (= (= (append$ ?v0 ?v1) ?v1) (= ?v0 nil$))) :named a174)) +(assert (! (forall ((?v0 Event_list$) (?v1 Event_list$)) (= (= ?v0 (append$ ?v1 ?v0)) (= ?v1 nil$))) :named a175)) +(assert (! (forall ((?v0 Event_list$) (?v1 Event_list$)) (= (= nil$ (append$ ?v0 ?v1)) (and (= ?v0 nil$) (= ?v1 nil$)))) :named a176)) +(assert (! (forall ((?v0 Event_list$) (?v1 Event_list$)) (= (= (append$ ?v0 ?v1) nil$) (and (= ?v0 nil$) (= ?v1 nil$)))) :named a177)) +(assert (! (forall ((?v0 Event_list$)) (! (= (append$ ?v0 nil$) ?v0) :pattern ((append$ ?v0)))) :named a178)) +(assert (! (forall ((?v0 (-> Event$ Bool)) (?v1 Event_list$) (?v2 Event_list$)) (= (list_all$ ?v0 (append$ ?v1 ?v2)) (and (list_all$ ?v0 ?v1) (list_all$ ?v0 ?v2)))) :named a179)) +(assert (! (forall ((?v0 (-> Event$ Bool)) (?v1 Event_list$) (?v2 Event_list$)) (= (list_ex$ ?v0 (append$ ?v1 ?v2)) (or (list_ex$ ?v0 ?v1) (list_ex$ ?v0 ?v2)))) :named a180)) +(assert (! (forall ((?v0 Event_list$) (?v1 Event$) (?v2 Event_list$) (?v3 Event$)) (= (= (append$ ?v0 (cons$ ?v1 nil$)) (append$ ?v2 (cons$ ?v3 nil$))) (and (= ?v0 ?v2) (= ?v1 ?v3)))) :named a181)) +(assert (! (forall ((?v0 Event$) (?v1 Event_list$) (?v2 (-> Event$ Event_list$))) (! (= (bind$ (cons$ ?v0 ?v1) ?v2) (append$ (?v2 ?v0) (bind$ ?v1 ?v2))) :pattern ((bind$ (cons$ ?v0 ?v1) ?v2)))) :named a182)) +(assert (! (forall ((?v0 Event$) (?v1 Event_list$) (?v2 Event_list$)) (! (= (append$ (cons$ ?v0 ?v1) ?v2) (cons$ ?v0 (append$ ?v1 ?v2))) :pattern ((append$ (cons$ ?v0 ?v1) ?v2)))) :named a183)) +(assert (! (forall ((?v0 Event$) (?v1 Event_list$) (?v2 Event_list$) (?v3 Event_list$) (?v4 Event_list$)) (=> (and (= (cons$ ?v0 ?v1) ?v2) (= ?v3 (append$ ?v1 ?v4))) (= (cons$ ?v0 ?v3) (append$ ?v2 ?v4)))) :named a184)) +(assert (! (forall ((?v0 Event_list$)) (! (= (append$ nil$ ?v0) ?v0) :pattern ((append$ nil$ ?v0)))) :named a185)) +(assert (! (forall ((?v0 Event_list$)) (! (= (append$ nil$ ?v0) ?v0) :pattern ((append$ nil$ ?v0)))) :named a186)) +(assert (! (forall ((?v0 Event_list$) (?v1 Event_list$)) (=> (= ?v0 ?v1) (= ?v0 (append$ nil$ ?v1)))) :named a187)) +(assert (! (forall ((?v0 Event_list$) (?v1 Event_list$) (?v2 Event_list$) (?v3 Event_list$) (?v4 Event_list$)) (=> (and (= (append$ ?v0 ?v1) ?v2) (= ?v3 (append$ ?v1 ?v4))) (= (append$ ?v0 ?v3) (append$ ?v2 ?v4)))) :named a188)) +(assert (! (forall ((?v0 Event_list$) (?v1 Event_list$) (?v2 Event_list$) (?v3 Event_list$)) (= (= (append$ ?v0 ?v1) (append$ ?v2 ?v3)) (exists ((?v4 Event_list$)) (or (and (= ?v0 (append$ ?v2 ?v4)) (= (append$ ?v4 ?v1) ?v3)) (and (= (append$ ?v0 ?v4) ?v2) (= ?v1 (append$ ?v4 ?v3))))))) :named a189)) +(assert (! (forall ((?v0 Agent$) (?v1 Agent$) (?v2 Msg$) (?v3 Agent$) (?v4 Msg$)) (not (= (says$ ?v0 ?v1 ?v2) (notes$ ?v3 ?v4)))) :named a190)) +(assert (! (forall ((?v0 Agent$) (?v1 Agent$) (?v2 Msg$) (?v3 Agent$) (?v4 Msg$)) (not (= (says$ ?v0 ?v1 ?v2) (gets$ ?v3 ?v4)))) :named a191)) +(assert (! (forall ((?v0 (-> Event_list$ Bool)) (?v1 Event_list$)) (=> (and (?v0 nil$) (forall ((?v2 Event$) (?v3 Event_list$)) (=> (?v0 ?v3) (?v0 (append$ ?v3 (cons$ ?v2 nil$)))))) (?v0 ?v1))) :named a192)) +(assert (! (forall ((?v0 Event_list$)) (=> (and (=> (= ?v0 nil$) false) (forall ((?v1 Event_list$) (?v2 Event$)) (=> (= ?v0 (append$ ?v1 (cons$ ?v2 nil$))) false))) false)) :named a193)) +(assert (! (forall ((?v0 Event$) (?v1 Event_list$) (?v2 Event_list$) (?v3 Event_list$)) (= (= (cons$ ?v0 ?v1) (append$ ?v2 ?v3)) (or (and (= ?v2 nil$) (= (cons$ ?v0 ?v1) ?v3)) (exists ((?v4 Event_list$)) (and (= (cons$ ?v0 ?v4) ?v2) (= ?v1 (append$ ?v4 ?v3))))))) :named a194)) +(assert (! (forall ((?v0 Event_list$) (?v1 Event_list$) (?v2 Event$) (?v3 Event_list$)) (= (= (append$ ?v0 ?v1) (cons$ ?v2 ?v3)) (or (and (= ?v0 nil$) (= ?v1 (cons$ ?v2 ?v3))) (exists ((?v4 Event_list$)) (and (= ?v0 (cons$ ?v2 ?v4)) (= (append$ ?v4 ?v1) ?v3)))))) :named a195)) +(assert (! (forall ((?v0 Event_list$) (?v1 (-> Event_list$ Bool))) (=> (and (not (= ?v0 nil$)) (and (forall ((?v2 Event$)) (?v1 (cons$ ?v2 nil$))) (forall ((?v2 Event$) (?v3 Event_list$)) (=> (and (not (= ?v3 nil$)) (?v1 ?v3)) (?v1 (append$ ?v3 (cons$ ?v2 nil$))))))) (?v1 ?v0))) :named a196)) +(assert (! (forall ((?v0 (-> Event$ Bool)) (?v1 Event$) (?v2 Event_list$) (?v3 Event_list$)) (=> (not (?v0 ?v1)) (= (takeWhile$ ?v0 (append$ ?v2 (cons$ ?v1 ?v3))) (takeWhile$ ?v0 ?v2)))) :named a197)) +(assert (! (forall ((?v0 Event$)) (=> (and (forall ((?v1 Agent$) (?v2 Agent$) (?v3 Msg$)) (=> (= ?v0 (says$ ?v1 ?v2 ?v3)) false)) (and (forall ((?v1 Agent$) (?v2 Msg$)) (=> (= ?v0 (gets$ ?v1 ?v2)) false)) (forall ((?v1 Agent$) (?v2 Msg$)) (=> (= ?v0 (notes$ ?v1 ?v2)) false)))) false)) :named a198)) +(assert (! (forall ((?v0 (-> Event$ Event_list$)) (?v1 Event$) (?v2 Event_list$)) (! (= (maps$ ?v0 (cons$ ?v1 ?v2)) (append$ (?v0 ?v1) (maps$ ?v0 ?v2))) :pattern ((maps$ ?v0 (cons$ ?v1 ?v2))))) :named a199)) +(assert (! (forall ((?v0 Event$) (?v1 Event_list$)) (= (rotate1$ (cons$ ?v0 ?v1)) (append$ ?v1 (cons$ ?v0 nil$)))) :named a200)) +(assert (! (forall ((?v0 Agent$) (?v1 Event_list$) (?v2 Agent$) (?v3 Agent$) (?v4 Msg$)) (less_eq$ (knows$ ?v0 ?v1) (knows$ ?v0 (cons$ (says$ ?v2 ?v3 ?v4) ?v1)))) :named a201)) +(assert (! (forall ((?v0 Event_list_set$) (?v1 Event_list$)) (= (succ$ ?v0 ?v1) (collect$a (uuj$ ?v0 ?v1)))) :named a202)) +(assert (! (forall ((?v0 Event_list$) (?v1 Agent$) (?v2 Agent$) (?v3 Msg$)) (= (knows$ spy$ (append$ ?v0 (cons$ (says$ ?v1 ?v2 ?v3) nil$))) (insert$ ?v3 (knows$ spy$ ?v0)))) :named a203)) +(assert (! (forall ((?v0 Msg$) (?v1 Agent$) (?v2 Event_list$)) (=> (and (member$a ?v0 (knows$ ?v1 ?v2)) (not (= ?v1 spy$))) (exists ((?v3 Agent$)) (or (member$b (says$ ?v1 ?v3 ?v0) (set$ ?v2)) (or (member$b (gets$ ?v1 ?v0) (set$ ?v2)) (or (member$b (notes$ ?v1 ?v0) (set$ ?v2)) (member$a ?v0 (initState$ ?v1)))))))) :named a204)) +(assert (! (forall ((?v0 Msg$) (?v1 Msg_list_set$) (?v2 Msg_list$)) (=> (member$a ?v0 (succ$a ?v1 ?v2)) (member$e (append$a ?v2 (cons$b ?v0 nil$b)) ?v1))) :named a205)) +(assert (! (forall ((?v0 Agent$) (?v1 Agent_list_set$) (?v2 Agent_list$)) (=> (member$ ?v0 (succ$b ?v1 ?v2)) (member$f (append$b ?v2 (cons$c ?v0 nil$c)) ?v1))) :named a206)) +(assert (! (forall ((?v0 Event$) (?v1 Event_list_set$) (?v2 Event_list$)) (=> (member$b ?v0 (succ$ ?v1 ?v2)) (member$c (append$ ?v2 (cons$ ?v0 nil$)) ?v1))) :named a207)) +(assert (! (forall ((?v0 Msg$) (?v1 Msg_set$)) (= (insert$ ?v0 (insert$ ?v0 ?v1)) (insert$ ?v0 ?v1))) :named a208)) +(assert (! (forall ((?v0 Msg$) (?v1 Msg$) (?v2 Msg_set$)) (= (member$a ?v0 (insert$ ?v1 ?v2)) (or (= ?v0 ?v1) (member$a ?v0 ?v2)))) :named a209)) +(assert (! (forall ((?v0 Event$) (?v1 Event$) (?v2 Event_set$)) (= (member$b ?v0 (insert$b ?v1 ?v2)) (or (= ?v0 ?v1) (member$b ?v0 ?v2)))) :named a210)) +(assert (! (forall ((?v0 Agent$) (?v1 Agent$) (?v2 Agent_set$)) (= (member$ ?v0 (insert$c ?v1 ?v2)) (or (= ?v0 ?v1) (member$ ?v0 ?v2)))) :named a211)) +(assert (! (forall ((?v0 Msg$) (?v1 Msg_set$) (?v2 Msg$)) (=> (=> (not (member$a ?v0 ?v1)) (= ?v0 ?v2)) (member$a ?v0 (insert$ ?v2 ?v1)))) :named a212)) +(assert (! (forall ((?v0 Event$) (?v1 Event_set$) (?v2 Event$)) (=> (=> (not (member$b ?v0 ?v1)) (= ?v0 ?v2)) (member$b ?v0 (insert$b ?v2 ?v1)))) :named a213)) +(assert (! (forall ((?v0 Agent$) (?v1 Agent_set$) (?v2 Agent$)) (=> (=> (not (member$ ?v0 ?v1)) (= ?v0 ?v2)) (member$ ?v0 (insert$c ?v2 ?v1)))) :named a214)) +(assert (! (forall ((?v0 Event$) (?v1 Event_set$) (?v2 Event_set$)) (= (less_eq$a (insert$b ?v0 ?v1) ?v2) (and (member$b ?v0 ?v2) (less_eq$a ?v1 ?v2)))) :named a215)) +(assert (! (forall ((?v0 Agent$) (?v1 Agent_set$) (?v2 Agent_set$)) (= (less_eq$b (insert$c ?v0 ?v1) ?v2) (and (member$ ?v0 ?v2) (less_eq$b ?v1 ?v2)))) :named a216)) +(assert (! (forall ((?v0 Msg$) (?v1 Msg_set$) (?v2 Msg_set$)) (= (less_eq$ (insert$ ?v0 ?v1) ?v2) (and (member$a ?v0 ?v2) (less_eq$ ?v1 ?v2)))) :named a217)) +(assert (! (forall ((?v0 (-> Msg$ Bool)) (?v1 Msg_list$)) (= (= (takeWhile$a ?v0 ?v1) ?v1) (forall ((?v2 Msg$)) (=> (member$a ?v2 (set$a ?v1)) (?v0 ?v2))))) :named a218)) +(assert (! (forall ((?v0 (-> Agent$ Bool)) (?v1 Agent_list$)) (= (= (takeWhile$b ?v0 ?v1) ?v1) (forall ((?v2 Agent$)) (=> (member$ ?v2 (set$b ?v1)) (?v0 ?v2))))) :named a219)) +(assert (! (forall ((?v0 (-> Event$ Bool)) (?v1 Event_list$)) (= (= (takeWhile$ ?v0 ?v1) ?v1) (forall ((?v2 Event$)) (=> (member$b ?v2 (set$ ?v1)) (?v0 ?v2))))) :named a220)) +(assert (! (forall ((?v0 Event_list$)) (= (set$ (rotate1$ ?v0)) (set$ ?v0))) :named a221)) +(assert (! (forall ((?v0 Msg$) (?v1 Msg_list$)) (! (=> (member$a ?v0 (set$a ?v1)) (= (insert$d ?v0 ?v1) ?v1)) :pattern ((insert$d ?v0 ?v1)))) :named a222)) +(assert (! (forall ((?v0 Agent$) (?v1 Agent_list$)) (! (=> (member$ ?v0 (set$b ?v1)) (= (insert$e ?v0 ?v1) ?v1)) :pattern ((insert$e ?v0 ?v1)))) :named a223)) +(assert (! (forall ((?v0 Event$) (?v1 Event_list$)) (! (=> (member$b ?v0 (set$ ?v1)) (= (insert$a ?v0 ?v1) ?v1)) :pattern ((insert$a ?v0 ?v1)))) :named a224)) +(assert (! (forall ((?v0 Msg$) (?v1 Msg_list$)) (! (= (set$a (cons$b ?v0 ?v1)) (insert$ ?v0 (set$a ?v1))) :pattern ((cons$b ?v0 ?v1)))) :named a225)) +(assert (! (forall ((?v0 Event$) (?v1 Event_list$)) (! (= (set$ (cons$ ?v0 ?v1)) (insert$b ?v0 (set$ ?v1))) :pattern ((cons$ ?v0 ?v1)))) :named a226)) +(assert (! (forall ((?v0 Msg_list$) (?v1 (-> Msg$ Bool)) (?v2 Msg_list$)) (=> (forall ((?v3 Msg$)) (=> (member$a ?v3 (set$a ?v0)) (?v1 ?v3))) (= (takeWhile$a ?v1 (append$a ?v0 ?v2)) (append$a ?v0 (takeWhile$a ?v1 ?v2))))) :named a227)) +(assert (! (forall ((?v0 Agent_list$) (?v1 (-> Agent$ Bool)) (?v2 Agent_list$)) (=> (forall ((?v3 Agent$)) (=> (member$ ?v3 (set$b ?v0)) (?v1 ?v3))) (= (takeWhile$b ?v1 (append$b ?v0 ?v2)) (append$b ?v0 (takeWhile$b ?v1 ?v2))))) :named a228)) +(assert (! (forall ((?v0 Event_list$) (?v1 (-> Event$ Bool)) (?v2 Event_list$)) (=> (forall ((?v3 Event$)) (=> (member$b ?v3 (set$ ?v0)) (?v1 ?v3))) (= (takeWhile$ ?v1 (append$ ?v0 ?v2)) (append$ ?v0 (takeWhile$ ?v1 ?v2))))) :named a229)) +(assert (! (forall ((?v0 Msg$) (?v1 Msg_list$) (?v2 (-> Msg$ Bool)) (?v3 Msg_list$)) (=> (and (member$a ?v0 (set$a ?v1)) (not (?v2 ?v0))) (= (takeWhile$a ?v2 (append$a ?v1 ?v3)) (takeWhile$a ?v2 ?v1)))) :named a230)) +(assert (! (forall ((?v0 Agent$) (?v1 Agent_list$) (?v2 (-> Agent$ Bool)) (?v3 Agent_list$)) (=> (and (member$ ?v0 (set$b ?v1)) (not (?v2 ?v0))) (= (takeWhile$b ?v2 (append$b ?v1 ?v3)) (takeWhile$b ?v2 ?v1)))) :named a231)) +(assert (! (forall ((?v0 Event$) (?v1 Event_list$) (?v2 (-> Event$ Bool)) (?v3 Event_list$)) (=> (and (member$b ?v0 (set$ ?v1)) (not (?v2 ?v0))) (= (takeWhile$ ?v2 (append$ ?v1 ?v3)) (takeWhile$ ?v2 ?v1)))) :named a232)) +(assert (! (forall ((?v0 Msg$) (?v1 Msg_list$)) (= (set$a (insert$d ?v0 ?v1)) (insert$ ?v0 (set$a ?v1)))) :named a233)) +(assert (! (forall ((?v0 Event$) (?v1 Event_list$)) (= (set$ (insert$a ?v0 ?v1)) (insert$b ?v0 (set$ ?v1)))) :named a234)) +(assert (! (forall ((?v0 Msg$) (?v1 Msg_list$)) (! (=> (not (member$a ?v0 (set$a ?v1))) (= (insert$d ?v0 ?v1) (cons$b ?v0 ?v1))) :pattern ((insert$d ?v0 ?v1)))) :named a235)) +(assert (! (forall ((?v0 Agent$) (?v1 Agent_list$)) (! (=> (not (member$ ?v0 (set$b ?v1))) (= (insert$e ?v0 ?v1) (cons$c ?v0 ?v1))) :pattern ((insert$e ?v0 ?v1)))) :named a236)) +(assert (! (forall ((?v0 Event$) (?v1 Event_list$)) (! (=> (not (member$b ?v0 (set$ ?v1))) (= (insert$a ?v0 ?v1) (cons$ ?v0 ?v1))) :pattern ((insert$a ?v0 ?v1)))) :named a237)) +(assert (! (forall ((?v0 Agent$) (?v1 Agent$) (?v2 Msg$) (?v3 Event_list$)) (! (= (knows$ spy$ (cons$ (says$ ?v0 ?v1 ?v2) ?v3)) (insert$ ?v2 (knows$ spy$ ?v3))) :pattern ((cons$ (says$ ?v0 ?v1 ?v2) ?v3)))) :named a238)) +(assert (! (forall ((?v0 Agent_list$) (?v1 Agent_set$)) (= (less_eq$b (set$b ?v0) ?v1) (forall ((?v2 Agent$)) (=> (member$ ?v2 (set$b ?v0)) (member$ ?v2 ?v1))))) :named a239)) +(assert (! (forall ((?v0 Event_list$) (?v1 Event_set$)) (= (less_eq$a (set$ ?v0) ?v1) (forall ((?v2 Event$)) (=> (member$b ?v2 (set$ ?v0)) (member$b ?v2 ?v1))))) :named a240)) +(assert (! (forall ((?v0 Msg_list$) (?v1 Msg_set$)) (= (less_eq$ (set$a ?v0) ?v1) (forall ((?v2 Msg$)) (=> (member$a ?v2 (set$a ?v0)) (member$a ?v2 ?v1))))) :named a241)) +(assert (! (forall ((?v0 Event$) (?v1 Event_set$) (?v2 Event_set$)) (=> (and (member$b ?v0 ?v1) (less_eq$a ?v2 ?v1)) (less_eq$a (insert$b ?v0 ?v2) ?v1))) :named a242)) +(assert (! (forall ((?v0 Agent$) (?v1 Agent_set$) (?v2 Agent_set$)) (=> (and (member$ ?v0 ?v1) (less_eq$b ?v2 ?v1)) (less_eq$b (insert$c ?v0 ?v2) ?v1))) :named a243)) +(assert (! (forall ((?v0 Msg$) (?v1 Msg_set$) (?v2 Msg_set$)) (=> (and (member$a ?v0 ?v1) (less_eq$ ?v2 ?v1)) (less_eq$ (insert$ ?v0 ?v2) ?v1))) :named a244)) +(assert (! (forall ((?v0 Msg_set$) (?v1 Msg_set$) (?v2 Msg$)) (=> (less_eq$ ?v0 ?v1) (less_eq$ ?v0 (insert$ ?v2 ?v1)))) :named a245)) +(assert (! (forall ((?v0 Msg_set$) (?v1 Msg$)) (less_eq$ ?v0 (insert$ ?v1 ?v0))) :named a246)) +(assert (! (forall ((?v0 Event$) (?v1 Event_set$) (?v2 Event_set$)) (=> (not (member$b ?v0 ?v1)) (= (less_eq$a ?v1 (insert$b ?v0 ?v2)) (less_eq$a ?v1 ?v2)))) :named a247)) +(assert (! (forall ((?v0 Agent$) (?v1 Agent_set$) (?v2 Agent_set$)) (=> (not (member$ ?v0 ?v1)) (= (less_eq$b ?v1 (insert$c ?v0 ?v2)) (less_eq$b ?v1 ?v2)))) :named a248)) +(assert (! (forall ((?v0 Msg$) (?v1 Msg_set$) (?v2 Msg_set$)) (=> (not (member$a ?v0 ?v1)) (= (less_eq$ ?v1 (insert$ ?v0 ?v2)) (less_eq$ ?v1 ?v2)))) :named a249)) +(assert (! (forall ((?v0 Msg_set$) (?v1 Msg_set$) (?v2 Msg$)) (=> (less_eq$ ?v0 ?v1) (less_eq$ (insert$ ?v2 ?v0) (insert$ ?v2 ?v1)))) :named a250)) +(assert (! (forall ((?v0 Msg_list$) (?v1 Msg_list$) (?v2 (-> Msg$ Bool)) (?v3 (-> Msg$ Bool))) (=> (and (= ?v0 ?v1) (forall ((?v4 Msg$)) (=> (member$a ?v4 (set$a ?v1)) (= (?v2 ?v4) (?v3 ?v4))))) (= (list_ex$a ?v2 ?v0) (list_ex$a ?v3 ?v1)))) :named a251)) +(assert (! (forall ((?v0 Agent_list$) (?v1 Agent_list$) (?v2 (-> Agent$ Bool)) (?v3 (-> Agent$ Bool))) (=> (and (= ?v0 ?v1) (forall ((?v4 Agent$)) (=> (member$ ?v4 (set$b ?v1)) (= (?v2 ?v4) (?v3 ?v4))))) (= (list_ex$b ?v2 ?v0) (list_ex$b ?v3 ?v1)))) :named a252)) +(assert (! (forall ((?v0 Event_list$) (?v1 Event_list$) (?v2 (-> Event$ Bool)) (?v3 (-> Event$ Bool))) (=> (and (= ?v0 ?v1) (forall ((?v4 Event$)) (=> (member$b ?v4 (set$ ?v1)) (= (?v2 ?v4) (?v3 ?v4))))) (= (list_ex$ ?v2 ?v0) (list_ex$ ?v3 ?v1)))) :named a253)) +(assert (! (forall ((?v0 Msg$) (?v1 (-> Msg$ Bool))) (= (insert$ ?v0 (collect$ ?v1)) (collect$ (uuk$ ?v0 ?v1)))) :named a254)) +(assert (! (forall ((?v0 Msg$) (?v1 Msg_set$)) (= (insert$ ?v0 ?v1) (collect$ (uul$ ?v0 ?v1)))) :named a255)) +(assert (! (forall ((?v0 Event$) (?v1 Event_set$)) (= (insert$b ?v0 ?v1) (collect$a (uum$ ?v0 ?v1)))) :named a256)) +(assert (! (forall ((?v0 Agent$) (?v1 Agent_set$)) (= (insert$c ?v0 ?v1) (collect$b (uun$ ?v0 ?v1)))) :named a257)) +(assert (! (forall ((?v0 Msg$) (?v1 Msg_set$)) (=> (member$a ?v0 ?v1) (exists ((?v2 Msg_set$)) (and (= ?v1 (insert$ ?v0 ?v2)) (not (member$a ?v0 ?v2)))))) :named a258)) +(assert (! (forall ((?v0 Event$) (?v1 Event_set$)) (=> (member$b ?v0 ?v1) (exists ((?v2 Event_set$)) (and (= ?v1 (insert$b ?v0 ?v2)) (not (member$b ?v0 ?v2)))))) :named a259)) +(assert (! (forall ((?v0 Agent$) (?v1 Agent_set$)) (=> (member$ ?v0 ?v1) (exists ((?v2 Agent_set$)) (and (= ?v1 (insert$c ?v0 ?v2)) (not (member$ ?v0 ?v2)))))) :named a260)) +(assert (! (forall ((?v0 Msg$) (?v1 Msg$) (?v2 Msg_set$)) (= (insert$ ?v0 (insert$ ?v1 ?v2)) (insert$ ?v1 (insert$ ?v0 ?v2)))) :named a261)) +(assert (! (forall ((?v0 Msg$) (?v1 Msg_set$) (?v2 Msg$) (?v3 Msg_set$)) (=> (and (not (member$a ?v0 ?v1)) (not (member$a ?v2 ?v3))) (= (= (insert$ ?v0 ?v1) (insert$ ?v2 ?v3)) (ite (= ?v0 ?v2) (= ?v1 ?v3) (exists ((?v4 Msg_set$)) (and (= ?v1 (insert$ ?v2 ?v4)) (and (not (member$a ?v2 ?v4)) (and (= ?v3 (insert$ ?v0 ?v4)) (not (member$a ?v0 ?v4)))))))))) :named a262)) +(assert (! (forall ((?v0 Event$) (?v1 Event_set$) (?v2 Event$) (?v3 Event_set$)) (=> (and (not (member$b ?v0 ?v1)) (not (member$b ?v2 ?v3))) (= (= (insert$b ?v0 ?v1) (insert$b ?v2 ?v3)) (ite (= ?v0 ?v2) (= ?v1 ?v3) (exists ((?v4 Event_set$)) (and (= ?v1 (insert$b ?v2 ?v4)) (and (not (member$b ?v2 ?v4)) (and (= ?v3 (insert$b ?v0 ?v4)) (not (member$b ?v0 ?v4)))))))))) :named a263)) +(assert (! (forall ((?v0 Agent$) (?v1 Agent_set$) (?v2 Agent$) (?v3 Agent_set$)) (=> (and (not (member$ ?v0 ?v1)) (not (member$ ?v2 ?v3))) (= (= (insert$c ?v0 ?v1) (insert$c ?v2 ?v3)) (ite (= ?v0 ?v2) (= ?v1 ?v3) (exists ((?v4 Agent_set$)) (and (= ?v1 (insert$c ?v2 ?v4)) (and (not (member$ ?v2 ?v4)) (and (= ?v3 (insert$c ?v0 ?v4)) (not (member$ ?v0 ?v4)))))))))) :named a264)) +(assert (! (forall ((?v0 Msg$) (?v1 Msg_set$)) (! (=> (member$a ?v0 ?v1) (= (insert$ ?v0 ?v1) ?v1)) :pattern ((insert$ ?v0 ?v1)))) :named a265)) +(assert (! (forall ((?v0 Event$) (?v1 Event_set$)) (! (=> (member$b ?v0 ?v1) (= (insert$b ?v0 ?v1) ?v1)) :pattern ((insert$b ?v0 ?v1)))) :named a266)) +(assert (! (forall ((?v0 Agent$) (?v1 Agent_set$)) (! (=> (member$ ?v0 ?v1) (= (insert$c ?v0 ?v1) ?v1)) :pattern ((insert$c ?v0 ?v1)))) :named a267)) +(assert (! (forall ((?v0 Msg$) (?v1 Msg_set$) (?v2 Msg_set$)) (=> (and (not (member$a ?v0 ?v1)) (not (member$a ?v0 ?v2))) (= (= (insert$ ?v0 ?v1) (insert$ ?v0 ?v2)) (= ?v1 ?v2)))) :named a268)) +(assert (! (forall ((?v0 Event$) (?v1 Event_set$) (?v2 Event_set$)) (=> (and (not (member$b ?v0 ?v1)) (not (member$b ?v0 ?v2))) (= (= (insert$b ?v0 ?v1) (insert$b ?v0 ?v2)) (= ?v1 ?v2)))) :named a269)) +(assert (! (forall ((?v0 Agent$) (?v1 Agent_set$) (?v2 Agent_set$)) (=> (and (not (member$ ?v0 ?v1)) (not (member$ ?v0 ?v2))) (= (= (insert$c ?v0 ?v1) (insert$c ?v0 ?v2)) (= ?v1 ?v2)))) :named a270)) +(assert (! (forall ((?v0 Msg$) (?v1 Msg_set$)) (=> (and (member$a ?v0 ?v1) (forall ((?v2 Msg_set$)) (=> (and (= ?v1 (insert$ ?v0 ?v2)) (not (member$a ?v0 ?v2))) false))) false)) :named a271)) +(assert (! (forall ((?v0 Event$) (?v1 Event_set$)) (=> (and (member$b ?v0 ?v1) (forall ((?v2 Event_set$)) (=> (and (= ?v1 (insert$b ?v0 ?v2)) (not (member$b ?v0 ?v2))) false))) false)) :named a272)) +(assert (! (forall ((?v0 Agent$) (?v1 Agent_set$)) (=> (and (member$ ?v0 ?v1) (forall ((?v2 Agent_set$)) (=> (and (= ?v1 (insert$c ?v0 ?v2)) (not (member$ ?v0 ?v2))) false))) false)) :named a273)) +(assert (! (forall ((?v0 Msg$) (?v1 Msg_set$) (?v2 Msg$)) (=> (member$a ?v0 ?v1) (member$a ?v0 (insert$ ?v2 ?v1)))) :named a274)) +(assert (! (forall ((?v0 Event$) (?v1 Event_set$) (?v2 Event$)) (=> (member$b ?v0 ?v1) (member$b ?v0 (insert$b ?v2 ?v1)))) :named a275)) +(assert (! (forall ((?v0 Agent$) (?v1 Agent_set$) (?v2 Agent$)) (=> (member$ ?v0 ?v1) (member$ ?v0 (insert$c ?v2 ?v1)))) :named a276)) +(assert (! (forall ((?v0 Msg$) (?v1 Msg_set$)) (member$a ?v0 (insert$ ?v0 ?v1))) :named a277)) +(assert (! (forall ((?v0 Event$) (?v1 Event_set$)) (member$b ?v0 (insert$b ?v0 ?v1))) :named a278)) +(assert (! (forall ((?v0 Agent$) (?v1 Agent_set$)) (member$ ?v0 (insert$c ?v0 ?v1))) :named a279)) +(assert (! (forall ((?v0 Msg$) (?v1 Msg$) (?v2 Msg_set$)) (=> (and (member$a ?v0 (insert$ ?v1 ?v2)) (and (=> (= ?v0 ?v1) false) (=> (member$a ?v0 ?v2) false))) false)) :named a280)) +(assert (! (forall ((?v0 Event$) (?v1 Event$) (?v2 Event_set$)) (=> (and (member$b ?v0 (insert$b ?v1 ?v2)) (and (=> (= ?v0 ?v1) false) (=> (member$b ?v0 ?v2) false))) false)) :named a281)) +(assert (! (forall ((?v0 Agent$) (?v1 Agent$) (?v2 Agent_set$)) (=> (and (member$ ?v0 (insert$c ?v1 ?v2)) (and (=> (= ?v0 ?v1) false) (=> (member$ ?v0 ?v2) false))) false)) :named a282)) +(assert (! (forall ((?v0 Msg$) (?v1 (-> Msg$ Bool)) (?v2 Msg_list$)) (=> (member$a ?v0 (set$a (takeWhile$a ?v1 ?v2))) (and (member$a ?v0 (set$a ?v2)) (?v1 ?v0)))) :named a283)) +(assert (! (forall ((?v0 Agent$) (?v1 (-> Agent$ Bool)) (?v2 Agent_list$)) (=> (member$ ?v0 (set$b (takeWhile$b ?v1 ?v2))) (and (member$ ?v0 (set$b ?v2)) (?v1 ?v0)))) :named a284)) +(assert (! (forall ((?v0 Event$) (?v1 (-> Event$ Bool)) (?v2 Event_list$)) (=> (member$b ?v0 (set$ (takeWhile$ ?v1 ?v2))) (and (member$b ?v0 (set$ ?v2)) (?v1 ?v0)))) :named a285)) +(assert (! (forall ((?v0 Msg_list$) (?v1 Msg_list$) (?v2 (-> Msg$ Bool)) (?v3 (-> Msg$ Bool))) (=> (and (= ?v0 ?v1) (forall ((?v4 Msg$)) (=> (member$a ?v4 (set$a ?v0)) (= (?v2 ?v4) (?v3 ?v4))))) (= (takeWhile$a ?v2 ?v0) (takeWhile$a ?v3 ?v1)))) :named a286)) +(assert (! (forall ((?v0 Agent_list$) (?v1 Agent_list$) (?v2 (-> Agent$ Bool)) (?v3 (-> Agent$ Bool))) (=> (and (= ?v0 ?v1) (forall ((?v4 Agent$)) (=> (member$ ?v4 (set$b ?v0)) (= (?v2 ?v4) (?v3 ?v4))))) (= (takeWhile$b ?v2 ?v0) (takeWhile$b ?v3 ?v1)))) :named a287)) +(assert (! (forall ((?v0 Event_list$) (?v1 Event_list$) (?v2 (-> Event$ Bool)) (?v3 (-> Event$ Bool))) (=> (and (= ?v0 ?v1) (forall ((?v4 Event$)) (=> (member$b ?v4 (set$ ?v0)) (= (?v2 ?v4) (?v3 ?v4))))) (= (takeWhile$ ?v2 ?v0) (takeWhile$ ?v3 ?v1)))) :named a288)) +(assert (! (forall ((?v0 Msg$) (?v1 Msg_list$) (?v2 Msg$)) (=> (member$a ?v0 (set$a ?v1)) (member$a ?v0 (set$a (cons$b ?v2 ?v1))))) :named a289)) +(assert (! (forall ((?v0 Agent$) (?v1 Agent_list$) (?v2 Agent$)) (=> (member$ ?v0 (set$b ?v1)) (member$ ?v0 (set$b (cons$c ?v2 ?v1))))) :named a290)) +(assert (! (forall ((?v0 Event$) (?v1 Event_list$) (?v2 Event$)) (=> (member$b ?v0 (set$ ?v1)) (member$b ?v0 (set$ (cons$ ?v2 ?v1))))) :named a291)) +(assert (! (forall ((?v0 Msg$) (?v1 Msg_list$)) (member$a ?v0 (set$a (cons$b ?v0 ?v1)))) :named a292)) +(assert (! (forall ((?v0 Agent$) (?v1 Agent_list$)) (member$ ?v0 (set$b (cons$c ?v0 ?v1)))) :named a293)) +(assert (! (forall ((?v0 Event$) (?v1 Event_list$)) (member$b ?v0 (set$ (cons$ ?v0 ?v1)))) :named a294)) +(assert (! (forall ((?v0 Msg$) (?v1 Msg$) (?v2 Msg_list$)) (=> (member$a ?v0 (set$a (cons$b ?v1 ?v2))) (or (= ?v0 ?v1) (member$a ?v0 (set$a ?v2))))) :named a295)) +(assert (! (forall ((?v0 Agent$) (?v1 Agent$) (?v2 Agent_list$)) (=> (member$ ?v0 (set$b (cons$c ?v1 ?v2))) (or (= ?v0 ?v1) (member$ ?v0 (set$b ?v2))))) :named a296)) +(assert (! (forall ((?v0 Event$) (?v1 Event$) (?v2 Event_list$)) (=> (member$b ?v0 (set$ (cons$ ?v1 ?v2))) (or (= ?v0 ?v1) (member$b ?v0 (set$ ?v2))))) :named a297)) +(assert (! (forall ((?v0 Msg$) (?v1 Msg_list$)) (=> (and (member$a ?v0 (set$a ?v1)) (and (forall ((?v2 Msg_list$)) (=> (= ?v1 (cons$b ?v0 ?v2)) false)) (forall ((?v2 Msg$) (?v3 Msg_list$)) (=> (and (= ?v1 (cons$b ?v2 ?v3)) (member$a ?v0 (set$a ?v3))) false)))) false)) :named a298)) +(assert (! (forall ((?v0 Agent$) (?v1 Agent_list$)) (=> (and (member$ ?v0 (set$b ?v1)) (and (forall ((?v2 Agent_list$)) (=> (= ?v1 (cons$c ?v0 ?v2)) false)) (forall ((?v2 Agent$) (?v3 Agent_list$)) (=> (and (= ?v1 (cons$c ?v2 ?v3)) (member$ ?v0 (set$b ?v3))) false)))) false)) :named a299)) +(assert (! (forall ((?v0 Event$) (?v1 Event_list$)) (=> (and (member$b ?v0 (set$ ?v1)) (and (forall ((?v2 Event_list$)) (=> (= ?v1 (cons$ ?v0 ?v2)) false)) (forall ((?v2 Event$) (?v3 Event_list$)) (=> (and (= ?v1 (cons$ ?v2 ?v3)) (member$b ?v0 (set$ ?v3))) false)))) false)) :named a300)) +(assert (! (forall ((?v0 Msg_list$) (?v1 Msg_list$) (?v2 (-> Msg$ Bool)) (?v3 (-> Msg$ Bool))) (=> (and (= ?v0 ?v1) (forall ((?v4 Msg$)) (=> (member$a ?v4 (set$a ?v1)) (= (?v2 ?v4) (?v3 ?v4))))) (= (list_all$a ?v2 ?v0) (list_all$a ?v3 ?v1)))) :named a301)) +(assert (! (forall ((?v0 Agent_list$) (?v1 Agent_list$) (?v2 (-> Agent$ Bool)) (?v3 (-> Agent$ Bool))) (=> (and (= ?v0 ?v1) (forall ((?v4 Agent$)) (=> (member$ ?v4 (set$b ?v1)) (= (?v2 ?v4) (?v3 ?v4))))) (= (list_all$b ?v2 ?v0) (list_all$b ?v3 ?v1)))) :named a302)) +(assert (! (forall ((?v0 Event_list$) (?v1 Event_list$) (?v2 (-> Event$ Bool)) (?v3 (-> Event$ Bool))) (=> (and (= ?v0 ?v1) (forall ((?v4 Event$)) (=> (member$b ?v4 (set$ ?v1)) (= (?v2 ?v4) (?v3 ?v4))))) (= (list_all$ ?v2 ?v0) (list_all$ ?v3 ?v1)))) :named a303)) +(assert (! (forall ((?v0 (-> Msg$ Bool)) (?v1 Msg_list$) (?v2 (-> Msg$ Bool))) (=> (and (list_all$a ?v0 ?v1) (forall ((?v3 Msg$)) (=> (and (member$a ?v3 (set$a ?v1)) (?v0 ?v3)) (?v2 ?v3)))) (list_all$a ?v2 ?v1))) :named a304)) +(assert (! (forall ((?v0 (-> Agent$ Bool)) (?v1 Agent_list$) (?v2 (-> Agent$ Bool))) (=> (and (list_all$b ?v0 ?v1) (forall ((?v3 Agent$)) (=> (and (member$ ?v3 (set$b ?v1)) (?v0 ?v3)) (?v2 ?v3)))) (list_all$b ?v2 ?v1))) :named a305)) +(assert (! (forall ((?v0 (-> Event$ Bool)) (?v1 Event_list$) (?v2 (-> Event$ Bool))) (=> (and (list_all$ ?v0 ?v1) (forall ((?v3 Event$)) (=> (and (member$b ?v3 (set$ ?v1)) (?v0 ?v3)) (?v2 ?v3)))) (list_all$ ?v2 ?v1))) :named a306)) +(assert (! (forall ((?v0 (-> Msg$ Bool)) (?v1 Msg_list$)) (= (list_ex1$a ?v0 ?v1) (exists ((?v2 Msg$)) (and (and (member$a ?v2 (set$a ?v1)) (?v0 ?v2)) (forall ((?v3 Msg$)) (=> (and (member$a ?v3 (set$a ?v1)) (?v0 ?v3)) (= ?v3 ?v2))))))) :named a307)) +(assert (! (forall ((?v0 (-> Agent$ Bool)) (?v1 Agent_list$)) (= (list_ex1$b ?v0 ?v1) (exists ((?v2 Agent$)) (and (and (member$ ?v2 (set$b ?v1)) (?v0 ?v2)) (forall ((?v3 Agent$)) (=> (and (member$ ?v3 (set$b ?v1)) (?v0 ?v3)) (= ?v3 ?v2))))))) :named a308)) +(assert (! (forall ((?v0 (-> Event$ Bool)) (?v1 Event_list$)) (= (list_ex1$ ?v0 ?v1) (exists ((?v2 Event$)) (and (and (member$b ?v2 (set$ ?v1)) (?v0 ?v2)) (forall ((?v3 Event$)) (=> (and (member$b ?v3 (set$ ?v1)) (?v0 ?v3)) (= ?v3 ?v2))))))) :named a309)) +(assert (! (forall ((?v0 Msg$) (?v1 Msg_list$)) (= (member$a ?v0 (set$a ?v1)) (member$g ?v1 ?v0))) :named a310)) +(assert (! (forall ((?v0 Agent$) (?v1 Agent_list$)) (= (member$ ?v0 (set$b ?v1)) (member$h ?v1 ?v0))) :named a311)) +(assert (! (forall ((?v0 Event$) (?v1 Event_list$)) (= (member$b ?v0 (set$ ?v1)) (member$d ?v1 ?v0))) :named a312)) +(assert (! (forall ((?v0 Event_list$) (?v1 Event$)) (less_eq$a (set$ ?v0) (set$ (cons$ ?v1 ?v0)))) :named a313)) +(assert (! (forall ((?v0 Msg_list$) (?v1 Msg$)) (less_eq$ (set$a ?v0) (set$a (cons$b ?v1 ?v0)))) :named a314)) +(assert (! (forall ((?v0 Msg_list$) (?v1 (-> Msg$ Bool))) (= (exists ((?v2 Msg$)) (and (member$a ?v2 (set$a ?v0)) (?v1 ?v2))) (exists ((?v2 Msg_list$) (?v3 Msg$) (?v4 Msg_list$)) (and (= ?v0 (append$a ?v2 (cons$b ?v3 ?v4))) (and (?v1 ?v3) (forall ((?v5 Msg$)) (=> (member$a ?v5 (set$a ?v2)) (not (?v1 ?v5))))))))) :named a315)) +(assert (! (forall ((?v0 Agent_list$) (?v1 (-> Agent$ Bool))) (= (exists ((?v2 Agent$)) (and (member$ ?v2 (set$b ?v0)) (?v1 ?v2))) (exists ((?v2 Agent_list$) (?v3 Agent$) (?v4 Agent_list$)) (and (= ?v0 (append$b ?v2 (cons$c ?v3 ?v4))) (and (?v1 ?v3) (forall ((?v5 Agent$)) (=> (member$ ?v5 (set$b ?v2)) (not (?v1 ?v5))))))))) :named a316)) +(assert (! (forall ((?v0 Event_list$) (?v1 (-> Event$ Bool))) (= (exists ((?v2 Event$)) (and (member$b ?v2 (set$ ?v0)) (?v1 ?v2))) (exists ((?v2 Event_list$) (?v3 Event$) (?v4 Event_list$)) (and (= ?v0 (append$ ?v2 (cons$ ?v3 ?v4))) (and (?v1 ?v3) (forall ((?v5 Event$)) (=> (member$b ?v5 (set$ ?v2)) (not (?v1 ?v5))))))))) :named a317)) +(assert (! (forall ((?v0 Msg_list$) (?v1 (-> Msg$ Bool))) (= (exists ((?v2 Msg$)) (and (member$a ?v2 (set$a ?v0)) (?v1 ?v2))) (exists ((?v2 Msg_list$) (?v3 Msg$) (?v4 Msg_list$)) (and (= ?v0 (append$a ?v2 (cons$b ?v3 ?v4))) (and (?v1 ?v3) (forall ((?v5 Msg$)) (=> (member$a ?v5 (set$a ?v4)) (not (?v1 ?v5))))))))) :named a318)) +(assert (! (forall ((?v0 Agent_list$) (?v1 (-> Agent$ Bool))) (= (exists ((?v2 Agent$)) (and (member$ ?v2 (set$b ?v0)) (?v1 ?v2))) (exists ((?v2 Agent_list$) (?v3 Agent$) (?v4 Agent_list$)) (and (= ?v0 (append$b ?v2 (cons$c ?v3 ?v4))) (and (?v1 ?v3) (forall ((?v5 Agent$)) (=> (member$ ?v5 (set$b ?v4)) (not (?v1 ?v5))))))))) :named a319)) +(assert (! (forall ((?v0 Event_list$) (?v1 (-> Event$ Bool))) (= (exists ((?v2 Event$)) (and (member$b ?v2 (set$ ?v0)) (?v1 ?v2))) (exists ((?v2 Event_list$) (?v3 Event$) (?v4 Event_list$)) (and (= ?v0 (append$ ?v2 (cons$ ?v3 ?v4))) (and (?v1 ?v3) (forall ((?v5 Event$)) (=> (member$b ?v5 (set$ ?v4)) (not (?v1 ?v5))))))))) :named a320)) +(assert (! (forall ((?v0 Msg$) (?v1 Msg_list$)) (= (member$a ?v0 (set$a ?v1)) (exists ((?v2 Msg_list$) (?v3 Msg_list$)) (and (= ?v1 (append$a ?v2 (cons$b ?v0 ?v3))) (not (member$a ?v0 (set$a ?v2))))))) :named a321)) +(assert (! (forall ((?v0 Agent$) (?v1 Agent_list$)) (= (member$ ?v0 (set$b ?v1)) (exists ((?v2 Agent_list$) (?v3 Agent_list$)) (and (= ?v1 (append$b ?v2 (cons$c ?v0 ?v3))) (not (member$ ?v0 (set$b ?v2))))))) :named a322)) +(assert (! (forall ((?v0 Event$) (?v1 Event_list$)) (= (member$b ?v0 (set$ ?v1)) (exists ((?v2 Event_list$) (?v3 Event_list$)) (and (= ?v1 (append$ ?v2 (cons$ ?v0 ?v3))) (not (member$b ?v0 (set$ ?v2))))))) :named a323)) +(assert (! (forall ((?v0 Msg$) (?v1 Msg_list$)) (= (member$a ?v0 (set$a ?v1)) (exists ((?v2 Msg_list$) (?v3 Msg_list$)) (and (= ?v1 (append$a ?v2 (cons$b ?v0 ?v3))) (not (member$a ?v0 (set$a ?v3))))))) :named a324)) +(assert (! (forall ((?v0 Agent$) (?v1 Agent_list$)) (= (member$ ?v0 (set$b ?v1)) (exists ((?v2 Agent_list$) (?v3 Agent_list$)) (and (= ?v1 (append$b ?v2 (cons$c ?v0 ?v3))) (not (member$ ?v0 (set$b ?v3))))))) :named a325)) +(assert (! (forall ((?v0 Event$) (?v1 Event_list$)) (= (member$b ?v0 (set$ ?v1)) (exists ((?v2 Event_list$) (?v3 Event_list$)) (and (= ?v1 (append$ ?v2 (cons$ ?v0 ?v3))) (not (member$b ?v0 (set$ ?v3))))))) :named a326)) +(assert (! (forall ((?v0 Msg_list$) (?v1 (-> Msg$ Bool))) (=> (and (exists ((?v2 Msg$)) (and (member$a ?v2 (set$a ?v0)) (?v1 ?v2))) (forall ((?v2 Msg_list$) (?v3 Msg$) (?v4 Msg_list$)) (=> (and (= ?v0 (append$a ?v2 (cons$b ?v3 ?v4))) (and (?v1 ?v3) (forall ((?v5 Msg$)) (=> (member$a ?v5 (set$a ?v2)) (not (?v1 ?v5)))))) false))) false)) :named a327)) +(assert (! (forall ((?v0 Agent_list$) (?v1 (-> Agent$ Bool))) (=> (and (exists ((?v2 Agent$)) (and (member$ ?v2 (set$b ?v0)) (?v1 ?v2))) (forall ((?v2 Agent_list$) (?v3 Agent$) (?v4 Agent_list$)) (=> (and (= ?v0 (append$b ?v2 (cons$c ?v3 ?v4))) (and (?v1 ?v3) (forall ((?v5 Agent$)) (=> (member$ ?v5 (set$b ?v2)) (not (?v1 ?v5)))))) false))) false)) :named a328)) +(assert (! (forall ((?v0 Event_list$) (?v1 (-> Event$ Bool))) (=> (and (exists ((?v2 Event$)) (and (member$b ?v2 (set$ ?v0)) (?v1 ?v2))) (forall ((?v2 Event_list$) (?v3 Event$) (?v4 Event_list$)) (=> (and (= ?v0 (append$ ?v2 (cons$ ?v3 ?v4))) (and (?v1 ?v3) (forall ((?v5 Event$)) (=> (member$b ?v5 (set$ ?v2)) (not (?v1 ?v5)))))) false))) false)) :named a329)) +(assert (! (forall ((?v0 Msg_list$) (?v1 (-> Msg$ Bool))) (=> (and (exists ((?v2 Msg$)) (and (member$a ?v2 (set$a ?v0)) (?v1 ?v2))) (forall ((?v2 Msg_list$) (?v3 Msg$) (?v4 Msg_list$)) (=> (and (= ?v0 (append$a ?v2 (cons$b ?v3 ?v4))) (and (?v1 ?v3) (forall ((?v5 Msg$)) (=> (member$a ?v5 (set$a ?v4)) (not (?v1 ?v5)))))) false))) false)) :named a330)) +(assert (! (forall ((?v0 Agent_list$) (?v1 (-> Agent$ Bool))) (=> (and (exists ((?v2 Agent$)) (and (member$ ?v2 (set$b ?v0)) (?v1 ?v2))) (forall ((?v2 Agent_list$) (?v3 Agent$) (?v4 Agent_list$)) (=> (and (= ?v0 (append$b ?v2 (cons$c ?v3 ?v4))) (and (?v1 ?v3) (forall ((?v5 Agent$)) (=> (member$ ?v5 (set$b ?v4)) (not (?v1 ?v5)))))) false))) false)) :named a331)) +(assert (! (forall ((?v0 Event_list$) (?v1 (-> Event$ Bool))) (=> (and (exists ((?v2 Event$)) (and (member$b ?v2 (set$ ?v0)) (?v1 ?v2))) (forall ((?v2 Event_list$) (?v3 Event$) (?v4 Event_list$)) (=> (and (= ?v0 (append$ ?v2 (cons$ ?v3 ?v4))) (and (?v1 ?v3) (forall ((?v5 Event$)) (=> (member$b ?v5 (set$ ?v4)) (not (?v1 ?v5)))))) false))) false)) :named a332)) +(assert (! (forall ((?v0 Msg_list$) (?v1 (-> Msg$ Bool))) (=> (exists ((?v2 Msg$)) (and (member$a ?v2 (set$a ?v0)) (?v1 ?v2))) (exists ((?v2 Msg_list$) (?v3 Msg$) (?v4 Msg_list$)) (and (= ?v0 (append$a ?v2 (cons$b ?v3 ?v4))) (and (?v1 ?v3) (forall ((?v5 Msg$)) (=> (member$a ?v5 (set$a ?v2)) (not (?v1 ?v5))))))))) :named a333)) +(assert (! (forall ((?v0 Agent_list$) (?v1 (-> Agent$ Bool))) (=> (exists ((?v2 Agent$)) (and (member$ ?v2 (set$b ?v0)) (?v1 ?v2))) (exists ((?v2 Agent_list$) (?v3 Agent$) (?v4 Agent_list$)) (and (= ?v0 (append$b ?v2 (cons$c ?v3 ?v4))) (and (?v1 ?v3) (forall ((?v5 Agent$)) (=> (member$ ?v5 (set$b ?v2)) (not (?v1 ?v5))))))))) :named a334)) +(assert (! (forall ((?v0 Event_list$) (?v1 (-> Event$ Bool))) (=> (exists ((?v2 Event$)) (and (member$b ?v2 (set$ ?v0)) (?v1 ?v2))) (exists ((?v2 Event_list$) (?v3 Event$) (?v4 Event_list$)) (and (= ?v0 (append$ ?v2 (cons$ ?v3 ?v4))) (and (?v1 ?v3) (forall ((?v5 Event$)) (=> (member$b ?v5 (set$ ?v2)) (not (?v1 ?v5))))))))) :named a335)) +(assert (! (forall ((?v0 Msg_list$) (?v1 (-> Msg$ Bool))) (=> (exists ((?v2 Msg$)) (and (member$a ?v2 (set$a ?v0)) (?v1 ?v2))) (exists ((?v2 Msg_list$) (?v3 Msg$) (?v4 Msg_list$)) (and (= ?v0 (append$a ?v2 (cons$b ?v3 ?v4))) (and (?v1 ?v3) (forall ((?v5 Msg$)) (=> (member$a ?v5 (set$a ?v4)) (not (?v1 ?v5))))))))) :named a336)) +(assert (! (forall ((?v0 Agent_list$) (?v1 (-> Agent$ Bool))) (=> (exists ((?v2 Agent$)) (and (member$ ?v2 (set$b ?v0)) (?v1 ?v2))) (exists ((?v2 Agent_list$) (?v3 Agent$) (?v4 Agent_list$)) (and (= ?v0 (append$b ?v2 (cons$c ?v3 ?v4))) (and (?v1 ?v3) (forall ((?v5 Agent$)) (=> (member$ ?v5 (set$b ?v4)) (not (?v1 ?v5))))))))) :named a337)) +(assert (! (forall ((?v0 Event_list$) (?v1 (-> Event$ Bool))) (=> (exists ((?v2 Event$)) (and (member$b ?v2 (set$ ?v0)) (?v1 ?v2))) (exists ((?v2 Event_list$) (?v3 Event$) (?v4 Event_list$)) (and (= ?v0 (append$ ?v2 (cons$ ?v3 ?v4))) (and (?v1 ?v3) (forall ((?v5 Event$)) (=> (member$b ?v5 (set$ ?v4)) (not (?v1 ?v5))))))))) :named a338)) +(assert (! (forall ((?v0 Msg$) (?v1 Msg_list$)) (= (member$a ?v0 (set$a ?v1)) (exists ((?v2 Msg_list$) (?v3 Msg_list$)) (= ?v1 (append$a ?v2 (cons$b ?v0 ?v3)))))) :named a339)) +(assert (! (forall ((?v0 Agent$) (?v1 Agent_list$)) (= (member$ ?v0 (set$b ?v1)) (exists ((?v2 Agent_list$) (?v3 Agent_list$)) (= ?v1 (append$b ?v2 (cons$c ?v0 ?v3)))))) :named a340)) +(assert (! (forall ((?v0 Event$) (?v1 Event_list$)) (= (member$b ?v0 (set$ ?v1)) (exists ((?v2 Event_list$) (?v3 Event_list$)) (= ?v1 (append$ ?v2 (cons$ ?v0 ?v3)))))) :named a341)) +(assert (! (forall ((?v0 Msg$) (?v1 Msg_list$) (?v2 Msg_list$) (?v3 Msg_list$) (?v4 Msg_list$)) (=> (and (not (member$a ?v0 (set$a ?v1))) (not (member$a ?v0 (set$a ?v2)))) (= (= (append$a ?v1 (cons$b ?v0 ?v2)) (append$a ?v3 (cons$b ?v0 ?v4))) (and (= ?v1 ?v3) (= ?v2 ?v4))))) :named a342)) +(assert (! (forall ((?v0 Agent$) (?v1 Agent_list$) (?v2 Agent_list$) (?v3 Agent_list$) (?v4 Agent_list$)) (=> (and (not (member$ ?v0 (set$b ?v1))) (not (member$ ?v0 (set$b ?v2)))) (= (= (append$b ?v1 (cons$c ?v0 ?v2)) (append$b ?v3 (cons$c ?v0 ?v4))) (and (= ?v1 ?v3) (= ?v2 ?v4))))) :named a343)) +(assert (! (forall ((?v0 Event$) (?v1 Event_list$) (?v2 Event_list$) (?v3 Event_list$) (?v4 Event_list$)) (=> (and (not (member$b ?v0 (set$ ?v1))) (not (member$b ?v0 (set$ ?v2)))) (= (= (append$ ?v1 (cons$ ?v0 ?v2)) (append$ ?v3 (cons$ ?v0 ?v4))) (and (= ?v1 ?v3) (= ?v2 ?v4))))) :named a344)) +(assert (! (forall ((?v0 Msg_list$) (?v1 (-> Msg$ Bool))) (=> (and (exists ((?v2 Msg$)) (and (member$a ?v2 (set$a ?v0)) (?v1 ?v2))) (forall ((?v2 Msg_list$) (?v3 Msg$) (?v4 Msg_list$)) (=> (and (= ?v0 (append$a ?v2 (cons$b ?v3 ?v4))) (?v1 ?v3)) false))) false)) :named a345)) +(assert (! (forall ((?v0 Agent_list$) (?v1 (-> Agent$ Bool))) (=> (and (exists ((?v2 Agent$)) (and (member$ ?v2 (set$b ?v0)) (?v1 ?v2))) (forall ((?v2 Agent_list$) (?v3 Agent$) (?v4 Agent_list$)) (=> (and (= ?v0 (append$b ?v2 (cons$c ?v3 ?v4))) (?v1 ?v3)) false))) false)) :named a346)) +(assert (! (forall ((?v0 Event_list$) (?v1 (-> Event$ Bool))) (=> (and (exists ((?v2 Event$)) (and (member$b ?v2 (set$ ?v0)) (?v1 ?v2))) (forall ((?v2 Event_list$) (?v3 Event$) (?v4 Event_list$)) (=> (and (= ?v0 (append$ ?v2 (cons$ ?v3 ?v4))) (?v1 ?v3)) false))) false)) :named a347)) +(assert (! (forall ((?v0 Msg$) (?v1 Msg_list$)) (=> (member$a ?v0 (set$a ?v1)) (exists ((?v2 Msg_list$) (?v3 Msg_list$)) (and (= ?v1 (append$a ?v2 (cons$b ?v0 ?v3))) (not (member$a ?v0 (set$a ?v2))))))) :named a348)) +(assert (! (forall ((?v0 Agent$) (?v1 Agent_list$)) (=> (member$ ?v0 (set$b ?v1)) (exists ((?v2 Agent_list$) (?v3 Agent_list$)) (and (= ?v1 (append$b ?v2 (cons$c ?v0 ?v3))) (not (member$ ?v0 (set$b ?v2))))))) :named a349)) +(assert (! (forall ((?v0 Event$) (?v1 Event_list$)) (=> (member$b ?v0 (set$ ?v1)) (exists ((?v2 Event_list$) (?v3 Event_list$)) (and (= ?v1 (append$ ?v2 (cons$ ?v0 ?v3))) (not (member$b ?v0 (set$ ?v2))))))) :named a350)) +(assert (! (forall ((?v0 Msg_list$) (?v1 (-> Msg$ Bool))) (=> (exists ((?v2 Msg$)) (and (member$a ?v2 (set$a ?v0)) (?v1 ?v2))) (exists ((?v2 Msg_list$) (?v3 Msg$) (?v4 Msg_list$)) (and (= ?v0 (append$a ?v2 (cons$b ?v3 ?v4))) (?v1 ?v3))))) :named a351)) +(assert (! (forall ((?v0 Agent_list$) (?v1 (-> Agent$ Bool))) (=> (exists ((?v2 Agent$)) (and (member$ ?v2 (set$b ?v0)) (?v1 ?v2))) (exists ((?v2 Agent_list$) (?v3 Agent$) (?v4 Agent_list$)) (and (= ?v0 (append$b ?v2 (cons$c ?v3 ?v4))) (?v1 ?v3))))) :named a352)) +(assert (! (forall ((?v0 Event_list$) (?v1 (-> Event$ Bool))) (=> (exists ((?v2 Event$)) (and (member$b ?v2 (set$ ?v0)) (?v1 ?v2))) (exists ((?v2 Event_list$) (?v3 Event$) (?v4 Event_list$)) (and (= ?v0 (append$ ?v2 (cons$ ?v3 ?v4))) (?v1 ?v3))))) :named a353)) +(assert (! (forall ((?v0 Msg$) (?v1 Msg_list$)) (=> (member$a ?v0 (set$a ?v1)) (exists ((?v2 Msg_list$) (?v3 Msg_list$)) (and (= ?v1 (append$a ?v2 (cons$b ?v0 ?v3))) (not (member$a ?v0 (set$a ?v3))))))) :named a354)) +(assert (! (forall ((?v0 Agent$) (?v1 Agent_list$)) (=> (member$ ?v0 (set$b ?v1)) (exists ((?v2 Agent_list$) (?v3 Agent_list$)) (and (= ?v1 (append$b ?v2 (cons$c ?v0 ?v3))) (not (member$ ?v0 (set$b ?v3))))))) :named a355)) +(assert (! (forall ((?v0 Event$) (?v1 Event_list$)) (=> (member$b ?v0 (set$ ?v1)) (exists ((?v2 Event_list$) (?v3 Event_list$)) (and (= ?v1 (append$ ?v2 (cons$ ?v0 ?v3))) (not (member$b ?v0 (set$ ?v3))))))) :named a356)) +(assert (! (forall ((?v0 Msg$) (?v1 Msg_list$)) (=> (member$a ?v0 (set$a ?v1)) (exists ((?v2 Msg_list$) (?v3 Msg_list$)) (= ?v1 (append$a ?v2 (cons$b ?v0 ?v3)))))) :named a357)) +(assert (! (forall ((?v0 Agent$) (?v1 Agent_list$)) (=> (member$ ?v0 (set$b ?v1)) (exists ((?v2 Agent_list$) (?v3 Agent_list$)) (= ?v1 (append$b ?v2 (cons$c ?v0 ?v3)))))) :named a358)) +(assert (! (forall ((?v0 Event$) (?v1 Event_list$)) (=> (member$b ?v0 (set$ ?v1)) (exists ((?v2 Event_list$) (?v3 Event_list$)) (= ?v1 (append$ ?v2 (cons$ ?v0 ?v3)))))) :named a359)) +(assert (! (forall ((?v0 Agent$) (?v1 Agent$) (?v2 Msg$) (?v3 Event_list$)) (=> (member$b (says$ ?v0 ?v1 ?v2) (set$ ?v3)) (member$a ?v2 (knows$ ?v0 ?v3)))) :named a360)) +(assert (! (forall ((?v0 Agent$) (?v1 Msg$) (?v2 Event_list$)) (=> (member$b (notes$ ?v0 ?v1) (set$ ?v2)) (member$a ?v1 (knows$ ?v0 ?v2)))) :named a361)) +(assert (! (forall ((?v0 Msg$) (?v1 Msg_list$)) (! (= (insert$d ?v0 ?v1) (ite (member$a ?v0 (set$a ?v1)) ?v1 (cons$b ?v0 ?v1))) :pattern ((insert$d ?v0 ?v1)))) :named a362)) +(assert (! (forall ((?v0 Agent$) (?v1 Agent_list$)) (! (= (insert$e ?v0 ?v1) (ite (member$ ?v0 (set$b ?v1)) ?v1 (cons$c ?v0 ?v1))) :pattern ((insert$e ?v0 ?v1)))) :named a363)) +(assert (! (forall ((?v0 Event$) (?v1 Event_list$)) (! (= (insert$a ?v0 ?v1) (ite (member$b ?v0 (set$ ?v1)) ?v1 (cons$ ?v0 ?v1))) :pattern ((insert$a ?v0 ?v1)))) :named a364)) +(assert (! (forall ((?v0 Agent$) (?v1 Agent$) (?v2 Msg$) (?v3 Event_list$)) (=> (member$b (says$ ?v0 ?v1 ?v2) (set$ ?v3)) (member$a ?v2 (knows$ spy$ ?v3)))) :named a365)) +(assert (! (forall ((?v0 Agent$) (?v1 Msg$) (?v2 Event_list$)) (=> (and (not (= ?v0 spy$)) (member$b (gets$ ?v0 ?v1) (set$ ?v2))) (member$a ?v1 (knows$ ?v0 ?v2)))) :named a366)) +(assert (! (forall ((?v0 Msg$) (?v1 Event_list$)) (=> (member$a ?v0 (knows$ spy$ ?v1)) (exists ((?v2 Agent$) (?v3 Agent$)) (or (member$b (says$ ?v2 ?v3 ?v0) (set$ ?v1)) (or (member$b (notes$ ?v2 ?v0) (set$ ?v1)) (member$a ?v0 (initState$ spy$))))))) :named a367)) +(assert (! (forall ((?v0 Msg_list$) (?v1 Msg$) (?v2 Msg_list_set$)) (=> (member$e (append$a ?v0 (cons$b ?v1 nil$b)) ?v2) (member$a ?v1 (succ$a ?v2 ?v0)))) :named a368)) +(assert (! (forall ((?v0 Agent_list$) (?v1 Agent$) (?v2 Agent_list_set$)) (=> (member$f (append$b ?v0 (cons$c ?v1 nil$c)) ?v2) (member$ ?v1 (succ$b ?v2 ?v0)))) :named a369)) +(assert (! (forall ((?v0 Event_list$) (?v1 Event$) (?v2 Event_list_set$)) (=> (member$c (append$ ?v0 (cons$ ?v1 nil$)) ?v2) (member$b ?v1 (succ$ ?v2 ?v0)))) :named a370)) +(assert (! (forall ((?v0 Event_list$) (?v1 Agent$) (?v2 Msg$)) (= (knows$ spy$ (append$ ?v0 (cons$ (notes$ ?v1 ?v2) nil$))) (ite (member$ ?v1 bad$) (insert$ ?v2 (knows$ spy$ ?v0)) (knows$ spy$ ?v0)))) :named a371)) +(assert (! (member$ spy$ bad$) :named a372)) +(assert (! (forall ((?v0 Agent$) (?v1 Msg$) (?v2 Event_list$)) (! (= (knows$ spy$ (cons$ (notes$ ?v0 ?v1) ?v2)) (ite (member$ ?v0 bad$) (insert$ ?v1 (knows$ spy$ ?v2)) (knows$ spy$ ?v2))) :pattern ((cons$ (notes$ ?v0 ?v1) ?v2)))) :named a373)) +(assert (! (forall ((?v0 Agent$) (?v1 Msg$) (?v2 Event_list$)) (=> (and (member$b (notes$ ?v0 ?v1) (set$ ?v2)) (member$ ?v0 bad$)) (member$a ?v1 (knows$ spy$ ?v2)))) :named a374)) +(assert (! (forall ((?v0 Agent$) (?v1 Event$) (?v2 Event_list$)) (= (knows$ ?v0 (cons$ ?v1 ?v2)) (ite (= ?v0 spy$) (case_event$ (uuo$ ?v2) (uup$ ?v2) (uuq$ ?v2) ?v1) (case_event$ (uur$ ?v0 ?v2) (uus$ ?v0 ?v2) (uus$ ?v0 ?v2) ?v1)))) :named a375)) +(check-sat) diff --git a/test/regress/regress2/ho/bug_instfalse_SEU882^5.p b/test/regress/regress2/ho/bug_instfalse_SEU882^5.p new file mode 100644 index 000000000..a62a2080a --- /dev/null +++ b/test/regress/regress2/ho/bug_instfalse_SEU882^5.p @@ -0,0 +1,44 @@ +% COMMAND-LINE: --uf-ho --full-saturate-quant --ho-elim +% EXPECT: % SZS status Theorem for bug_instfalse_SEU882^5 + +%------------------------------------------------------------------------------ +% File : SEU882^5 : TPTP v7.2.0. Released v4.0.0. +% Domain : Set Theory +% Problem : TPS problem THM139 +% Version : Especial. +% English : Every object is in the range of some function. + +% Refs : [Bro09] Brown (2009), Email to Geoff Sutcliffe +% Source : [Bro09] +% Names : tps_0037 [Bro09] +% : THM139 [TPS] + +% Status : Theorem +% Rating : 0.11 v7.2.0, 0.00 v7.1.0, 0.12 v7.0.0, 0.14 v6.4.0, 0.17 v6.3.0, 0.20 v6.2.0, 0.14 v5.5.0, 0.17 v5.4.0, 0.20 v5.3.0, 0.40 v5.2.0, 0.20 v4.1.0, 0.00 v4.0.0 +% Syntax : Number of formulae : 1 ( 0 unit; 0 type; 0 defn) +% Number of atoms : 4 ( 1 equality; 3 variable) +% Maximal formula depth : 6 ( 6 average) +% Number of connectives : 1 ( 0 ~; 0 |; 0 &; 1 @) +% ( 0 <=>; 0 =>; 0 <=; 0 <~>) +% ( 0 ~|; 0 ~&) +% Number of type conns : 1 ( 1 >; 0 *; 0 +; 0 <<) +% Number of symbols : 1 ( 0 :; 0 =) +% Number of variables : 3 ( 0 sgn; 1 !; 2 ?; 0 ^) +% ( 3 :; 0 !>; 0 ?*) +% ( 0 @-; 0 @+) +% SPC : TH0_THM_EQU_NAR + +% Comments : This problem is from the TPS library. Copyright (c) 2009 The TPS +% project in the Department of Mathematical Sciences at Carnegie +% Mellon University. Distributed under the Creative Commons copyleft +% license: http://creativecommons.org/licenses/by-sa/3.0/ +% : Polymorphic definitions expanded. +% : +%------------------------------------------------------------------------------ +thf(cTHM139_pme,conjecture,( + ! [Xy: $i] : + ? [Xf: $i > $i,Xx: $i] : + ( ( Xf @ Xx ) + = Xy ) )). + +%------------------------------------------------------------------------------ diff --git a/test/regress/regress2/ho/fta0409.smt2 b/test/regress/regress2/ho/fta0409.smt2 new file mode 100644 index 000000000..51ac5f2da --- /dev/null +++ b/test/regress/regress2/ho/fta0409.smt2 @@ -0,0 +1,427 @@ +; COMMAND-LINE: --uf-ho +; EXPECT: unsat +(set-logic ALL) +(set-info :status unsat) +(declare-sort Nat$ 0) +(declare-sort Complex$ 0) +(declare-sort Nat_poly$ 0) +(declare-sort Complex_poly$ 0) +(declare-sort Complex_poly_poly$ 0) +(declare-fun n$ () Nat$) +(declare-fun q$ () Complex_poly$) +(declare-fun r$ () Complex_poly$) +(declare-fun dvd$ (Complex_poly$ Complex_poly$) Bool) +(declare-fun one$ () Nat$) +(declare-fun suc$ (Nat$) Nat$) +(declare-fun dvd$a (Complex$ Complex$) Bool) +(declare-fun dvd$b (Nat$ Nat$) Bool) +(declare-fun dvd$c (Complex_poly_poly$ Complex_poly_poly$) Bool) +(declare-fun dvd$d (Nat_poly$ Nat_poly$) Bool) +(declare-fun one$a () Complex_poly$) +(declare-fun one$b () Complex$) +(declare-fun one$c () Nat_poly$) +(declare-fun plus$ (Complex$ Complex$) Complex$) +(declare-fun poly$ (Complex_poly$) (-> Complex$ Complex$)) +(declare-fun zero$ () Complex$) +(declare-fun coeff$ (Complex_poly_poly$ Nat$) Complex_poly$) +(declare-fun monom$ (Complex$ Nat$) Complex_poly$) +(declare-fun order$ (Complex$ Complex_poly$) Nat$) +(declare-fun pCons$ (Complex$ Complex_poly$) Complex_poly$) +(declare-fun plus$a (Nat$ Nat$) Nat$) +(declare-fun plus$b (Nat_poly$ Nat_poly$) Nat_poly$) +(declare-fun plus$c (Complex_poly$ Complex_poly$) Complex_poly$) +(declare-fun poly$a (Complex_poly_poly$ Complex_poly$) Complex_poly$) +(declare-fun poly$b (Nat_poly$ Nat$) Nat$) +(declare-fun power$ (Complex_poly$ Nat$) Complex_poly$) +(declare-fun psize$ (Complex_poly$) Nat$) +(declare-fun times$ (Nat$ Nat$) Nat$) +(declare-fun zero$a () Nat$) +(declare-fun zero$b () Complex_poly_poly$) +(declare-fun zero$c () Complex_poly$) +(declare-fun zero$d () Nat_poly$) +(declare-fun coeff$a (Nat_poly$ Nat$) Nat$) +(declare-fun coeff$b (Complex_poly$ Nat$) Complex$) +(declare-fun degree$ (Complex_poly_poly$) Nat$) +(declare-fun monom$a (Complex_poly$ Nat$) Complex_poly_poly$) +(declare-fun monom$b (Nat$ Nat$) Nat_poly$) +(declare-fun order$a (Complex_poly$ Complex_poly_poly$) Nat$) +(declare-fun pCons$a (Complex_poly$ Complex_poly_poly$) Complex_poly_poly$) +(declare-fun pCons$b (Nat$ Nat_poly$) Nat_poly$) +(declare-fun power$a (Complex_poly_poly$ Nat$) Complex_poly_poly$) +(declare-fun power$b (Nat_poly$ Nat$) Nat_poly$) +(declare-fun power$c (Nat$ Nat$) Nat$) +(declare-fun power$d (Complex$ Nat$) Complex$) +(declare-fun degree$a (Nat_poly$) Nat$) +(declare-fun degree$b (Complex_poly$) Nat$) +(declare-fun is_zero$ (Complex_poly$) Bool) +(declare-fun less_eq$ (Nat$ Nat$) Bool) +(declare-fun of_bool$ (Bool) Complex$) +(declare-fun constant$ ((-> Complex$ Complex$)) Bool) +(declare-fun of_bool$a (Bool) Complex_poly$) +(declare-fun of_bool$b (Bool) Nat$) +(declare-fun pcompose$ (Complex_poly$ Complex_poly$) Complex_poly$) +(declare-fun pcompose$a (Complex_poly_poly$ Complex_poly_poly$) Complex_poly_poly$) +(declare-fun pcompose$b (Nat_poly$ Nat_poly$) Nat_poly$) +(declare-fun poly_shift$ (Nat$ Complex_poly$) Complex_poly$) +(declare-fun offset_poly$ (Complex_poly$ Complex$) Complex_poly$) +(declare-fun poly_cutoff$ (Nat$ Complex_poly$) Complex_poly$) +(declare-fun rsquarefree$ (Complex_poly$) Bool) +(declare-fun offset_poly$a (Nat_poly$ Nat$) Nat_poly$) +(declare-fun reflect_poly$ (Complex_poly$) Complex_poly$) +(declare-fun reflect_poly$a (Complex_poly_poly$) Complex_poly_poly$) +(declare-fun reflect_poly$b (Nat_poly$) Nat_poly$) +(declare-fun synthetic_div$ (Complex_poly$ Complex$) Complex_poly$) +(assert (! (not (= (poly$ (power$ q$ n$)) (poly$ r$))) :named a0)) +(assert (! (forall ((?v0 Complex$)) (= (poly$ (power$ q$ n$) ?v0) (poly$ r$ ?v0))) :named a1)) +(assert (! (forall ((?v0 Complex_poly_poly$) (?v1 Nat$) (?v2 Complex_poly$)) (= (poly$a (power$a ?v0 ?v1) ?v2) (power$ (poly$a ?v0 ?v2) ?v1))) :named a2)) +(assert (! (forall ((?v0 Nat_poly$) (?v1 Nat$) (?v2 Nat$)) (= (poly$b (power$b ?v0 ?v1) ?v2) (power$c (poly$b ?v0 ?v2) ?v1))) :named a3)) +(assert (! (forall ((?v0 Complex_poly$) (?v1 Nat$) (?v2 Complex$)) (= (poly$ (power$ ?v0 ?v1) ?v2) (power$d (poly$ ?v0 ?v2) ?v1))) :named a4)) +(assert (! (forall ((?v0 Complex_poly$) (?v1 Complex_poly$)) (= (= (poly$ ?v0) (poly$ ?v1)) (= ?v0 ?v1))) :named a5)) +(assert (! (forall ((?v0 Complex_poly$)) (=> (not (constant$ (poly$ ?v0))) (exists ((?v1 Complex$)) (= (poly$ ?v0 ?v1) zero$)))) :named a6)) +(assert (! (forall ((?v0 Complex_poly$) (?v1 Nat$)) (= (reflect_poly$ (power$ ?v0 ?v1)) (power$ (reflect_poly$ ?v0) ?v1))) :named a7)) +(assert (! (forall ((?v0 Complex_poly_poly$) (?v1 Nat$)) (= (coeff$ (power$a ?v0 ?v1) zero$a) (power$ (coeff$ ?v0 zero$a) ?v1))) :named a8)) +(assert (! (forall ((?v0 Nat_poly$) (?v1 Nat$)) (= (coeff$a (power$b ?v0 ?v1) zero$a) (power$c (coeff$a ?v0 zero$a) ?v1))) :named a9)) +(assert (! (forall ((?v0 Complex_poly$) (?v1 Nat$)) (= (coeff$b (power$ ?v0 ?v1) zero$a) (power$d (coeff$b ?v0 zero$a) ?v1))) :named a10)) +(assert (! (forall ((?v0 (-> Complex$ Complex$))) (= (constant$ ?v0) (forall ((?v1 Complex$) (?v2 Complex$)) (= (?v0 ?v1) (?v0 ?v2))))) :named a11)) +(assert (! (forall ((?v0 Complex_poly$) (?v1 Complex$)) (exists ((?v2 Complex_poly$)) (and (= (psize$ ?v2) (psize$ ?v0)) (forall ((?v3 Complex$)) (= (poly$ ?v2 ?v3) (poly$ ?v0 (plus$ ?v1 ?v3))))))) :named a12)) +(assert (! (forall ((?v0 Complex_poly$) (?v1 Complex$) (?v2 Complex$)) (= (poly$ (offset_poly$ ?v0 ?v1) ?v2) (poly$ ?v0 (plus$ ?v1 ?v2)))) :named a13)) +(assert (! (forall ((?v0 Nat_poly$) (?v1 Nat$) (?v2 Nat$)) (= (poly$b (offset_poly$a ?v0 ?v1) ?v2) (poly$b ?v0 (plus$a ?v1 ?v2)))) :named a14)) +(assert (! (forall ((?v0 Complex_poly$) (?v1 Complex_poly$) (?v2 Complex$)) (= (poly$ (pcompose$ ?v0 ?v1) ?v2) (poly$ ?v0 (poly$ ?v1 ?v2)))) :named a15)) +(assert (! (forall ((?v0 Complex_poly$)) (= (power$ ?v0 one$) ?v0)) :named a16)) +(assert (! (forall ((?v0 Nat$)) (= (power$c ?v0 one$) ?v0)) :named a17)) +(assert (! (forall ((?v0 Nat$)) (= (power$ one$a ?v0) one$a)) :named a18)) +(assert (! (forall ((?v0 Nat$)) (= (power$c one$ ?v0) one$)) :named a19)) +(assert (! (forall ((?v0 Complex_poly_poly$) (?v1 Nat$)) (= (coeff$ (power$a ?v0 ?v1) (degree$ (power$a ?v0 ?v1))) (power$ (coeff$ ?v0 (degree$ ?v0)) ?v1))) :named a20)) +(assert (! (forall ((?v0 Nat_poly$) (?v1 Nat$)) (= (coeff$a (power$b ?v0 ?v1) (degree$a (power$b ?v0 ?v1))) (power$c (coeff$a ?v0 (degree$a ?v0)) ?v1))) :named a21)) +(assert (! (forall ((?v0 Complex_poly$) (?v1 Nat$)) (= (coeff$b (power$ ?v0 ?v1) (degree$b (power$ ?v0 ?v1))) (power$d (coeff$b ?v0 (degree$b ?v0)) ?v1))) :named a22)) +(assert (! (forall ((?v0 Nat$)) (= (coeff$ zero$b ?v0) zero$c)) :named a23)) +(assert (! (forall ((?v0 Nat$)) (= (coeff$a zero$d ?v0) zero$a)) :named a24)) +(assert (! (forall ((?v0 Nat$)) (= (coeff$b zero$c ?v0) zero$)) :named a25)) +(assert (! (forall ((?v0 Nat_poly$) (?v1 Nat_poly$) (?v2 Nat$)) (= (coeff$a (plus$b ?v0 ?v1) ?v2) (plus$a (coeff$a ?v0 ?v2) (coeff$a ?v1 ?v2)))) :named a26)) +(assert (! (forall ((?v0 Complex_poly$)) (= (poly$a zero$b ?v0) zero$c)) :named a27)) +(assert (! (forall ((?v0 Nat$)) (= (poly$b zero$d ?v0) zero$a)) :named a28)) +(assert (! (forall ((?v0 Complex$)) (= (poly$ zero$c ?v0) zero$)) :named a29)) +(assert (! (= (degree$b one$a) zero$a) :named a30)) +(assert (! (forall ((?v0 Complex_poly$) (?v1 Complex_poly$) (?v2 Complex$)) (= (poly$ (plus$c ?v0 ?v1) ?v2) (plus$ (poly$ ?v0 ?v2) (poly$ ?v1 ?v2)))) :named a31)) +(assert (! (forall ((?v0 Nat_poly$) (?v1 Nat_poly$) (?v2 Nat$)) (= (poly$b (plus$b ?v0 ?v1) ?v2) (plus$a (poly$b ?v0 ?v2) (poly$b ?v1 ?v2)))) :named a32)) +(assert (! (forall ((?v0 Complex$)) (= (poly$ one$a ?v0) one$b)) :named a33)) +(assert (! (forall ((?v0 Nat$)) (= (poly$b one$c ?v0) one$)) :named a34)) +(assert (! (forall ((?v0 Complex_poly$)) (= (= (coeff$b ?v0 (degree$b ?v0)) zero$) (= ?v0 zero$c))) :named a35)) +(assert (! (forall ((?v0 Complex_poly_poly$)) (= (= (coeff$ ?v0 (degree$ ?v0)) zero$c) (= ?v0 zero$b))) :named a36)) +(assert (! (forall ((?v0 Nat_poly$)) (= (= (coeff$a ?v0 (degree$a ?v0)) zero$a) (= ?v0 zero$d))) :named a37)) +(assert (! (= (coeff$b one$a (degree$b one$a)) one$b) :named a38)) +(assert (! (= (coeff$a one$c (degree$a one$c)) one$) :named a39)) +(assert (! (forall ((?v0 Complex_poly$)) (= (= (poly$ (reflect_poly$ ?v0) zero$) zero$) (= ?v0 zero$c))) :named a40)) +(assert (! (forall ((?v0 Complex_poly_poly$)) (= (= (poly$a (reflect_poly$a ?v0) zero$c) zero$c) (= ?v0 zero$b))) :named a41)) +(assert (! (forall ((?v0 Nat_poly$)) (= (= (poly$b (reflect_poly$b ?v0) zero$a) zero$a) (= ?v0 zero$d))) :named a42)) +(assert (! (forall ((?v0 Complex_poly$)) (=> (not (= (coeff$b ?v0 zero$a) zero$)) (= (reflect_poly$ (reflect_poly$ ?v0)) ?v0))) :named a43)) +(assert (! (forall ((?v0 Complex_poly_poly$)) (=> (not (= (coeff$ ?v0 zero$a) zero$c)) (= (reflect_poly$a (reflect_poly$a ?v0)) ?v0))) :named a44)) +(assert (! (forall ((?v0 Nat_poly$)) (=> (not (= (coeff$a ?v0 zero$a) zero$a)) (= (reflect_poly$b (reflect_poly$b ?v0)) ?v0))) :named a45)) +(assert (! (forall ((?v0 Complex_poly$)) (= (= (coeff$b (reflect_poly$ ?v0) zero$a) zero$) (= ?v0 zero$c))) :named a46)) +(assert (! (forall ((?v0 Complex_poly_poly$)) (= (= (coeff$ (reflect_poly$a ?v0) zero$a) zero$c) (= ?v0 zero$b))) :named a47)) +(assert (! (forall ((?v0 Nat_poly$)) (= (= (coeff$a (reflect_poly$b ?v0) zero$a) zero$a) (= ?v0 zero$d))) :named a48)) +(assert (! (forall ((?v0 Complex_poly$)) (= (coeff$b (reflect_poly$ ?v0) zero$a) (coeff$b ?v0 (degree$b ?v0)))) :named a49)) +(assert (! (forall ((?v0 Complex_poly$)) (=> (not (= (coeff$b ?v0 zero$a) zero$)) (= (degree$b (reflect_poly$ ?v0)) (degree$b ?v0)))) :named a50)) +(assert (! (forall ((?v0 Complex_poly_poly$)) (=> (not (= (coeff$ ?v0 zero$a) zero$c)) (= (degree$ (reflect_poly$a ?v0)) (degree$ ?v0)))) :named a51)) +(assert (! (forall ((?v0 Nat_poly$)) (=> (not (= (coeff$a ?v0 zero$a) zero$a)) (= (degree$a (reflect_poly$b ?v0)) (degree$a ?v0)))) :named a52)) +(assert (! (forall ((?v0 Complex_poly$)) (= (poly$ (reflect_poly$ ?v0) zero$) (coeff$b ?v0 (degree$b ?v0)))) :named a53)) +(assert (! (forall ((?v0 Complex_poly_poly$)) (= (poly$a (reflect_poly$a ?v0) zero$c) (coeff$ ?v0 (degree$ ?v0)))) :named a54)) +(assert (! (forall ((?v0 Nat_poly$)) (= (poly$b (reflect_poly$b ?v0) zero$a) (coeff$a ?v0 (degree$a ?v0)))) :named a55)) +(assert (! (forall ((?v0 Complex_poly$)) (= (poly$ ?v0 zero$) (coeff$b ?v0 zero$a))) :named a56)) +(assert (! (forall ((?v0 Complex_poly_poly$)) (= (poly$a ?v0 zero$c) (coeff$ ?v0 zero$a))) :named a57)) +(assert (! (forall ((?v0 Nat_poly$)) (= (poly$b ?v0 zero$a) (coeff$a ?v0 zero$a))) :named a58)) +(assert (! (forall ((?v0 Nat_poly$) (?v1 Nat_poly$) (?v2 Nat$)) (= (coeff$a (plus$b ?v0 ?v1) ?v2) (plus$a (coeff$a ?v0 ?v2) (coeff$a ?v1 ?v2)))) :named a59)) +(assert (! (forall ((?v0 Complex_poly$)) (= (forall ((?v1 Complex$)) (= (poly$ ?v0 ?v1) zero$)) (= ?v0 zero$c))) :named a60)) +(assert (! (forall ((?v0 Complex_poly_poly$)) (= (forall ((?v1 Complex_poly$)) (= (poly$a ?v0 ?v1) zero$c)) (= ?v0 zero$b))) :named a61)) +(assert (! (forall ((?v0 Nat$)) (= (coeff$ zero$b ?v0) zero$c)) :named a62)) +(assert (! (forall ((?v0 Nat$)) (= (coeff$a zero$d ?v0) zero$a)) :named a63)) +(assert (! (forall ((?v0 Nat$)) (= (coeff$b zero$c ?v0) zero$)) :named a64)) +(assert (! (forall ((?v0 Complex_poly_poly$)) (=> (not (= ?v0 zero$b)) (not (= (coeff$ ?v0 (degree$ ?v0)) zero$c)))) :named a65)) +(assert (! (forall ((?v0 Nat_poly$)) (=> (not (= ?v0 zero$d)) (not (= (coeff$a ?v0 (degree$a ?v0)) zero$a)))) :named a66)) +(assert (! (forall ((?v0 Complex_poly$)) (=> (not (= ?v0 zero$c)) (not (= (coeff$b ?v0 (degree$b ?v0)) zero$)))) :named a67)) +(assert (! (forall ((?v0 Complex_poly$)) (! (= (power$ ?v0 zero$a) one$a) :pattern ((power$ ?v0)))) :named a68)) +(assert (! (forall ((?v0 Nat$)) (! (= (power$c ?v0 zero$a) one$) :pattern ((power$c ?v0)))) :named a69)) +(assert (! (forall ((?v0 Nat$)) (= (power$d zero$ ?v0) (ite (= ?v0 zero$a) one$b zero$))) :named a70)) +(assert (! (forall ((?v0 Nat$)) (= (power$ zero$c ?v0) (ite (= ?v0 zero$a) one$a zero$c))) :named a71)) +(assert (! (forall ((?v0 Nat$)) (= (power$c zero$a ?v0) (ite (= ?v0 zero$a) one$ zero$a))) :named a72)) +(assert (! (forall ((?v0 Complex_poly$) (?v1 Complex$)) (= (degree$b (offset_poly$ ?v0 ?v1)) (degree$b ?v0))) :named a73)) +(assert (! (forall ((?v0 Complex_poly$)) (= (constant$ (poly$ ?v0)) (= (degree$b ?v0) zero$a))) :named a74)) +(assert (! (forall ((?v0 Complex$)) (= zero$ (poly$ zero$c ?v0))) :named a75)) +(assert (! (forall ((?v0 Complex_poly$)) (= zero$c (poly$a zero$b ?v0))) :named a76)) +(assert (! (forall ((?v0 Complex_poly$)) (= (exists ((?v1 Complex$)) (and (= (poly$ ?v0 ?v1) zero$) (not (= (poly$ zero$c ?v1) zero$)))) false)) :named a77)) +(assert (! (forall ((?v0 Complex_poly_poly$)) (= (exists ((?v1 Complex_poly$)) (and (= (poly$a ?v0 ?v1) zero$c) (not (= (poly$a zero$b ?v1) zero$c)))) false)) :named a78)) +(assert (! (forall ((?v0 Nat_poly$)) (= (exists ((?v1 Nat$)) (and (= (poly$b ?v0 ?v1) zero$a) (not (= (poly$b zero$d ?v1) zero$a)))) false)) :named a79)) +(assert (! (= (exists ((?v0 Complex_poly$)) (not (= (poly$a zero$b ?v0) zero$c))) false) :named a80)) +(assert (! (= (exists ((?v0 Nat$)) (not (= (poly$b zero$d ?v0) zero$a))) false) :named a81)) +(assert (! (= (exists ((?v0 Complex$)) (not (= (poly$ zero$c ?v0) zero$))) false) :named a82)) +(assert (! (= (exists ((?v0 Complex_poly$)) (= (poly$a zero$b ?v0) zero$c)) true) :named a83)) +(assert (! (= (exists ((?v0 Nat$)) (= (poly$b zero$d ?v0) zero$a)) true) :named a84)) +(assert (! (= (exists ((?v0 Complex$)) (= (poly$ zero$c ?v0) zero$)) true) :named a85)) +(assert (! (forall ((?v0 Complex$) (?v1 Nat$)) (=> (not (= ?v0 zero$)) (not (= (power$d ?v0 ?v1) zero$)))) :named a86)) +(assert (! (forall ((?v0 Complex_poly$) (?v1 Nat$)) (=> (not (= ?v0 zero$c)) (not (= (power$ ?v0 ?v1) zero$c)))) :named a87)) +(assert (! (forall ((?v0 Nat$) (?v1 Nat$)) (=> (not (= ?v0 zero$a)) (not (= (power$c ?v0 ?v1) zero$a)))) :named a88)) +(assert (! (forall ((?v0 Complex$)) (= (plus$ zero$ ?v0) ?v0)) :named a89)) +(assert (! (forall ((?v0 Complex_poly$)) (= (plus$c zero$c ?v0) ?v0)) :named a90)) +(assert (! (forall ((?v0 Nat$)) (= (plus$a zero$a ?v0) ?v0)) :named a91)) +(assert (! (forall ((?v0 Complex$)) (= (plus$ ?v0 zero$) ?v0)) :named a92)) +(assert (! (forall ((?v0 Complex_poly$)) (= (plus$c ?v0 zero$c) ?v0)) :named a93)) +(assert (! (forall ((?v0 Nat$)) (= (plus$a ?v0 zero$a) ?v0)) :named a94)) +(assert (! (forall ((?v0 Complex$) (?v1 Complex$)) (= (= (plus$ ?v0 ?v1) ?v1) (= ?v0 zero$))) :named a95)) +(assert (! (forall ((?v0 Complex_poly$) (?v1 Complex_poly$)) (= (= (plus$c ?v0 ?v1) ?v1) (= ?v0 zero$c))) :named a96)) +(assert (! (forall ((?v0 Nat$) (?v1 Nat$)) (= (= (plus$a ?v0 ?v1) ?v1) (= ?v0 zero$a))) :named a97)) +(assert (! (forall ((?v0 Complex$) (?v1 Complex$)) (= (= (plus$ ?v0 ?v1) ?v0) (= ?v1 zero$))) :named a98)) +(assert (! (forall ((?v0 Complex_poly$) (?v1 Complex_poly$)) (= (= (plus$c ?v0 ?v1) ?v0) (= ?v1 zero$c))) :named a99)) +(assert (! (forall ((?v0 Nat$) (?v1 Nat$)) (= (= (plus$a ?v0 ?v1) ?v0) (= ?v1 zero$a))) :named a100)) +(assert (! (forall ((?v0 Complex$) (?v1 Complex$)) (= (= ?v0 (plus$ ?v1 ?v0)) (= ?v1 zero$))) :named a101)) +(assert (! (forall ((?v0 Complex_poly$) (?v1 Complex_poly$)) (= (= ?v0 (plus$c ?v1 ?v0)) (= ?v1 zero$c))) :named a102)) +(assert (! (forall ((?v0 Nat$) (?v1 Nat$)) (= (= ?v0 (plus$a ?v1 ?v0)) (= ?v1 zero$a))) :named a103)) +(assert (! (forall ((?v0 Complex$) (?v1 Complex$)) (= (= ?v0 (plus$ ?v0 ?v1)) (= ?v1 zero$))) :named a104)) +(assert (! (forall ((?v0 Complex_poly$) (?v1 Complex_poly$)) (= (= ?v0 (plus$c ?v0 ?v1)) (= ?v1 zero$c))) :named a105)) +(assert (! (forall ((?v0 Nat$) (?v1 Nat$)) (= (= ?v0 (plus$a ?v0 ?v1)) (= ?v1 zero$a))) :named a106)) +(assert (! (forall ((?v0 Nat$) (?v1 Nat$)) (= (= (plus$a ?v0 ?v1) zero$a) (and (= ?v0 zero$a) (= ?v1 zero$a)))) :named a107)) +(assert (! (forall ((?v0 Nat$) (?v1 Nat$)) (= (= zero$a (plus$a ?v0 ?v1)) (and (= ?v0 zero$a) (= ?v1 zero$a)))) :named a108)) +(assert (! (forall ((?v0 Complex_poly$)) (! (= (power$ ?v0 zero$a) one$a) :pattern ((power$ ?v0)))) :named a109)) +(assert (! (forall ((?v0 Nat$)) (! (= (power$c ?v0 zero$a) one$) :pattern ((power$c ?v0)))) :named a110)) +(assert (! (forall ((?v0 Nat$) (?v1 Nat$) (?v2 Nat$)) (= (= (plus$a ?v0 ?v1) (plus$a ?v2 ?v1)) (= ?v0 ?v2))) :named a111)) +(assert (! (forall ((?v0 Nat$) (?v1 Nat$) (?v2 Nat$)) (= (= (plus$a ?v0 ?v1) (plus$a ?v0 ?v2)) (= ?v1 ?v2))) :named a112)) +(assert (! (forall ((?v0 Complex_poly$)) (= (pcompose$ zero$c ?v0) zero$c)) :named a113)) +(assert (! (= (reflect_poly$ zero$c) zero$c) :named a114)) +(assert (! (= (degree$b zero$c) zero$a) :named a115)) +(assert (! (forall ((?v0 Complex_poly$)) (= (= (psize$ ?v0) zero$a) (= ?v0 zero$c))) :named a116)) +(assert (! (forall ((?v0 Complex_poly$) (?v1 Complex$)) (= (= (offset_poly$ ?v0 ?v1) zero$c) (= ?v0 zero$c))) :named a117)) +(assert (! (forall ((?v0 Complex$)) (= (offset_poly$ zero$c ?v0) zero$c)) :named a118)) +(assert (! (forall ((?v0 Complex_poly$)) (= (exists ((?v1 Complex$)) (not (= (poly$ ?v0 ?v1) zero$))) (not (= ?v0 zero$c)))) :named a119)) +(assert (! (forall ((?v0 Complex$)) (= (= zero$ ?v0) (= ?v0 zero$))) :named a120)) +(assert (! (forall ((?v0 Complex_poly$)) (= (= zero$c ?v0) (= ?v0 zero$c))) :named a121)) +(assert (! (forall ((?v0 Nat$)) (= (= zero$a ?v0) (= ?v0 zero$a))) :named a122)) +(assert (! (forall ((?v0 Nat$) (?v1 Nat$) (?v2 Nat$)) (=> (= (plus$a ?v0 ?v1) (plus$a ?v2 ?v1)) (= ?v0 ?v2))) :named a123)) +(assert (! (forall ((?v0 Nat$) (?v1 Nat$) (?v2 Nat$)) (=> (= (plus$a ?v0 ?v1) (plus$a ?v0 ?v2)) (= ?v1 ?v2))) :named a124)) +(assert (! (forall ((?v0 Nat$) (?v1 Nat$) (?v2 Nat$)) (= (plus$a ?v0 (plus$a ?v1 ?v2)) (plus$a ?v1 (plus$a ?v0 ?v2)))) :named a125)) +(assert (! (forall ((?v0 Nat$) (?v1 Nat$)) (= (plus$a ?v0 ?v1) (plus$a ?v1 ?v0))) :named a126)) +(assert (! (forall ((?v0 Nat$) (?v1 Nat$) (?v2 Nat$)) (= (plus$a (plus$a ?v0 ?v1) ?v2) (plus$a ?v0 (plus$a ?v1 ?v2)))) :named a127)) +(assert (! (forall ((?v0 Nat$) (?v1 Nat$) (?v2 Nat$) (?v3 Nat$)) (= (plus$a (plus$a ?v0 ?v1) (plus$a ?v2 ?v3)) (plus$a (plus$a ?v0 ?v2) (plus$a ?v1 ?v3)))) :named a128)) +(assert (! (forall ((?v0 Nat$) (?v1 Nat$) (?v2 Nat$)) (= (plus$a (plus$a ?v0 ?v1) ?v2) (plus$a ?v0 (plus$a ?v1 ?v2)))) :named a129)) +(assert (! (forall ((?v0 Nat$) (?v1 Nat$) (?v2 Nat$)) (= (plus$a ?v0 (plus$a ?v1 ?v2)) (plus$a ?v1 (plus$a ?v0 ?v2)))) :named a130)) +(assert (! (forall ((?v0 Nat$) (?v1 Nat$) (?v2 Nat$)) (= (plus$a (plus$a ?v0 ?v1) ?v2) (plus$a (plus$a ?v0 ?v2) ?v1))) :named a131)) +(assert (! (forall ((?v0 Nat$) (?v1 Nat$)) (= (plus$a ?v0 ?v1) (plus$a ?v1 ?v0))) :named a132)) +(assert (! (forall ((?v0 Nat$) (?v1 Nat$) (?v2 Nat$)) (= (plus$a ?v0 (plus$a ?v1 ?v2)) (plus$a (plus$a ?v0 ?v1) ?v2))) :named a133)) +(assert (! (forall ((?v0 Nat$) (?v1 Nat$) (?v2 Nat$) (?v3 Nat$)) (=> (and (= ?v0 ?v1) (= ?v2 ?v3)) (= (plus$a ?v0 ?v2) (plus$a ?v1 ?v3)))) :named a134)) +(assert (! (forall ((?v0 Nat$) (?v1 Nat$) (?v2 Nat$)) (= (plus$a (plus$a ?v0 ?v1) ?v2) (plus$a ?v0 (plus$a ?v1 ?v2)))) :named a135)) +(assert (! (forall ((?v0 Nat$)) (= (= one$ ?v0) (= ?v0 one$))) :named a136)) +(assert (! (forall ((?v0 Complex$) (?v1 Complex$)) (= (= ?v0 (plus$ ?v0 ?v1)) (= ?v1 zero$))) :named a137)) +(assert (! (forall ((?v0 Complex_poly$) (?v1 Complex_poly$)) (= (= ?v0 (plus$c ?v0 ?v1)) (= ?v1 zero$c))) :named a138)) +(assert (! (forall ((?v0 Nat$) (?v1 Nat$)) (= (= ?v0 (plus$a ?v0 ?v1)) (= ?v1 zero$a))) :named a139)) +(assert (! (forall ((?v0 Complex$)) (= (plus$ zero$ ?v0) ?v0)) :named a140)) +(assert (! (forall ((?v0 Complex_poly$)) (= (plus$c zero$c ?v0) ?v0)) :named a141)) +(assert (! (forall ((?v0 Complex$)) (= (plus$ ?v0 zero$) ?v0)) :named a142)) +(assert (! (forall ((?v0 Complex_poly$)) (= (plus$c ?v0 zero$c) ?v0)) :named a143)) +(assert (! (forall ((?v0 Nat$)) (= (plus$a ?v0 zero$a) ?v0)) :named a144)) +(assert (! (forall ((?v0 Complex$)) (= (plus$ zero$ ?v0) ?v0)) :named a145)) +(assert (! (forall ((?v0 Complex_poly$)) (= (plus$c zero$c ?v0) ?v0)) :named a146)) +(assert (! (forall ((?v0 Nat$)) (= (plus$a zero$a ?v0) ?v0)) :named a147)) +(assert (! (forall ((?v0 Complex$)) (= (plus$ zero$ ?v0) ?v0)) :named a148)) +(assert (! (forall ((?v0 Complex_poly$)) (= (plus$c zero$c ?v0) ?v0)) :named a149)) +(assert (! (forall ((?v0 Nat$)) (= (plus$a zero$a ?v0) ?v0)) :named a150)) +(assert (! (forall ((?v0 Complex$)) (= (plus$ ?v0 zero$) ?v0)) :named a151)) +(assert (! (forall ((?v0 Complex_poly$)) (= (plus$c ?v0 zero$c) ?v0)) :named a152)) +(assert (! (forall ((?v0 Nat$)) (= (plus$a ?v0 zero$a) ?v0)) :named a153)) +(assert (! (forall ((?v0 Complex_poly$)) (= (power$ ?v0 one$) ?v0)) :named a154)) +(assert (! (forall ((?v0 Nat$)) (= (power$c ?v0 one$) ?v0)) :named a155)) +(assert (! (forall ((?v0 Nat$)) (= (poly_cutoff$ ?v0 one$a) (ite (= ?v0 zero$a) zero$c one$a))) :named a156)) +(assert (! (forall ((?v0 Nat$)) (= (plus$a ?v0 zero$a) ?v0)) :named a157)) +(assert (! (forall ((?v0 Nat$) (?v1 Nat$)) (= (= (plus$a ?v0 ?v1) zero$a) (and (= ?v0 zero$a) (= ?v1 zero$a)))) :named a158)) +(assert (! (forall ((?v0 Nat$)) (= (poly_shift$ ?v0 one$a) (ite (= ?v0 zero$a) one$a zero$c))) :named a159)) +(assert (! (not (= zero$ one$b)) :named a160)) +(assert (! (not (= zero$c one$a)) :named a161)) +(assert (! (not (= zero$a one$)) :named a162)) +(assert (! (forall ((?v0 Complex_poly$) (?v1 Complex$)) (= (= (synthetic_div$ ?v0 ?v1) zero$c) (= (degree$b ?v0) zero$a))) :named a163)) +(assert (! (= (of_bool$ false) zero$) :named a164)) +(assert (! (= (of_bool$a false) zero$c) :named a165)) +(assert (! (= (of_bool$b false) zero$a) :named a166)) +(assert (! (= (of_bool$b true) one$) :named a167)) +(assert (! (forall ((?v0 Complex$)) (= (synthetic_div$ zero$c ?v0) zero$c)) :named a168)) +(assert (! (forall ((?v0 Nat$)) (= (poly_shift$ ?v0 zero$c) zero$c)) :named a169)) +(assert (! (forall ((?v0 Nat$)) (= (poly_cutoff$ ?v0 zero$c) zero$c)) :named a170)) +(assert (! (forall ((?v0 Nat$) (?v1 Nat$) (?v2 Nat$)) (= (= (plus$a ?v0 ?v1) (plus$a ?v0 ?v2)) (= ?v1 ?v2))) :named a171)) +(assert (! (forall ((?v0 Nat$) (?v1 Nat$) (?v2 Nat$)) (= (= (plus$a ?v0 ?v1) (plus$a ?v2 ?v1)) (= ?v0 ?v2))) :named a172)) +(assert (! (forall ((?v0 Bool)) (! (= (of_bool$ ?v0) (ite ?v0 one$b zero$)) :pattern ((of_bool$ ?v0)))) :named a173)) +(assert (! (forall ((?v0 Bool)) (! (= (of_bool$a ?v0) (ite ?v0 one$a zero$c)) :pattern ((of_bool$a ?v0)))) :named a174)) +(assert (! (forall ((?v0 Bool)) (! (= (of_bool$b ?v0) (ite ?v0 one$ zero$a)) :pattern ((of_bool$b ?v0)))) :named a175)) +(assert (! (forall ((?v0 (-> Complex$ Bool)) (?v1 Bool)) (= (?v0 (of_bool$ ?v1)) (and (=> ?v1 (?v0 one$b)) (=> (not ?v1) (?v0 zero$))))) :named a176)) +(assert (! (forall ((?v0 (-> Complex_poly$ Bool)) (?v1 Bool)) (= (?v0 (of_bool$a ?v1)) (and (=> ?v1 (?v0 one$a)) (=> (not ?v1) (?v0 zero$c))))) :named a177)) +(assert (! (forall ((?v0 (-> Nat$ Bool)) (?v1 Bool)) (= (?v0 (of_bool$b ?v1)) (and (=> ?v1 (?v0 one$)) (=> (not ?v1) (?v0 zero$a))))) :named a178)) +(assert (! (forall ((?v0 (-> Complex$ Bool)) (?v1 Bool)) (= (?v0 (of_bool$ ?v1)) (not (or (and ?v1 (not (?v0 one$b))) (and (not ?v1) (not (?v0 zero$))))))) :named a179)) +(assert (! (forall ((?v0 (-> Complex_poly$ Bool)) (?v1 Bool)) (= (?v0 (of_bool$a ?v1)) (not (or (and ?v1 (not (?v0 one$a))) (and (not ?v1) (not (?v0 zero$c))))))) :named a180)) +(assert (! (forall ((?v0 (-> Nat$ Bool)) (?v1 Bool)) (= (?v0 (of_bool$b ?v1)) (not (or (and ?v1 (not (?v0 one$))) (and (not ?v1) (not (?v0 zero$a))))))) :named a181)) +(assert (! (forall ((?v0 Nat$)) (= (plus$a zero$a ?v0) ?v0)) :named a182)) +(assert (! (forall ((?v0 Nat$) (?v1 Nat$)) (=> (= (plus$a ?v0 ?v1) ?v0) (= ?v1 zero$a))) :named a183)) +(assert (! (forall ((?v0 Nat$)) (=> (and (=> (= ?v0 zero$a) false) (=> (not (= ?v0 zero$a)) false)) false)) :named a184)) +(assert (! (forall ((?v0 (-> Nat$ (-> Nat$ Bool))) (?v1 Nat$) (?v2 Nat$)) (=> (and (forall ((?v3 Nat$) (?v4 Nat$)) (= (?v0 ?v3 ?v4) (?v0 ?v4 ?v3))) (and (forall ((?v3 Nat$)) (?v0 ?v3 zero$a)) (forall ((?v3 Nat$) (?v4 Nat$)) (=> (?v0 ?v3 ?v4) (?v0 ?v3 (plus$a ?v3 ?v4)))))) (?v0 ?v1 ?v2))) :named a185)) +(assert (! (forall ((?v0 Complex_poly$) (?v1 Complex_poly$)) (= (forall ((?v2 Complex$)) (=> (= (poly$ ?v0 ?v2) zero$) (= (poly$ ?v1 ?v2) zero$))) (or (dvd$ ?v0 (power$ ?v1 (degree$b ?v0))) (and (= ?v0 zero$c) (= ?v1 zero$c))))) :named a186)) +(assert (! (forall ((?v0 Complex_poly$) (?v1 Complex_poly$) (?v2 Nat$)) (=> (and (forall ((?v3 Complex$)) (=> (= (poly$ ?v0 ?v3) zero$) (= (poly$ ?v1 ?v3) zero$))) (and (= (degree$b ?v0) ?v2) (not (= ?v2 zero$a)))) (dvd$ ?v0 (power$ ?v1 ?v2)))) :named a187)) +(assert (! (forall ((?v0 Complex_poly$)) (! (= (is_zero$ ?v0) (= ?v0 zero$c)) :pattern ((is_zero$ ?v0)))) :named a188)) +(assert (! (forall ((?v0 Complex_poly$) (?v1 Complex$)) (= (= (poly$ ?v0 ?v1) zero$) (or (= ?v0 zero$c) (not (= (order$ ?v1 ?v0) zero$a))))) :named a189)) +(assert (! (forall ((?v0 Complex_poly_poly$) (?v1 Complex_poly$)) (= (= (poly$a ?v0 ?v1) zero$c) (or (= ?v0 zero$b) (not (= (order$a ?v1 ?v0) zero$a))))) :named a190)) +(assert (! (forall ((?v0 Complex$)) (dvd$a ?v0 zero$)) :named a191)) +(assert (! (forall ((?v0 Complex_poly$)) (dvd$ ?v0 zero$c)) :named a192)) +(assert (! (forall ((?v0 Nat$)) (dvd$b ?v0 zero$a)) :named a193)) +(assert (! (forall ((?v0 Complex$)) (= (dvd$a zero$ ?v0) (= ?v0 zero$))) :named a194)) +(assert (! (forall ((?v0 Complex_poly$)) (= (dvd$ zero$c ?v0) (= ?v0 zero$c))) :named a195)) +(assert (! (forall ((?v0 Nat$)) (= (dvd$b zero$a ?v0) (= ?v0 zero$a))) :named a196)) +(assert (! (forall ((?v0 Complex_poly$) (?v1 Complex_poly$)) (= (dvd$ ?v0 (plus$c ?v0 ?v1)) (dvd$ ?v0 ?v1))) :named a197)) +(assert (! (forall ((?v0 Nat$) (?v1 Nat$)) (= (dvd$b ?v0 (plus$a ?v0 ?v1)) (dvd$b ?v0 ?v1))) :named a198)) +(assert (! (forall ((?v0 Complex_poly$) (?v1 Complex_poly$)) (= (dvd$ ?v0 (plus$c ?v1 ?v0)) (dvd$ ?v0 ?v1))) :named a199)) +(assert (! (forall ((?v0 Nat$) (?v1 Nat$)) (= (dvd$b ?v0 (plus$a ?v1 ?v0)) (dvd$b ?v0 ?v1))) :named a200)) +(assert (! (forall ((?v0 Nat$) (?v1 Nat$) (?v2 Nat$)) (=> (not (= ?v0 zero$a)) (= (dvd$b (power$c ?v1 ?v0) (power$c ?v2 ?v0)) (dvd$b ?v1 ?v2)))) :named a201)) +(assert (! (forall ((?v0 Complex$)) (=> (dvd$a zero$ ?v0) (= ?v0 zero$))) :named a202)) +(assert (! (forall ((?v0 Complex_poly$)) (=> (dvd$ zero$c ?v0) (= ?v0 zero$c))) :named a203)) +(assert (! (forall ((?v0 Nat$)) (=> (dvd$b zero$a ?v0) (= ?v0 zero$a))) :named a204)) +(assert (! (forall ((?v0 Complex_poly$) (?v1 Complex_poly$) (?v2 Complex_poly$)) (=> (dvd$ ?v0 ?v1) (= (dvd$ ?v0 (plus$c ?v1 ?v2)) (dvd$ ?v0 ?v2)))) :named a205)) +(assert (! (forall ((?v0 Nat$) (?v1 Nat$) (?v2 Nat$)) (=> (dvd$b ?v0 ?v1) (= (dvd$b ?v0 (plus$a ?v1 ?v2)) (dvd$b ?v0 ?v2)))) :named a206)) +(assert (! (forall ((?v0 Complex_poly$) (?v1 Complex_poly$) (?v2 Complex_poly$)) (=> (dvd$ ?v0 ?v1) (= (dvd$ ?v0 (plus$c ?v2 ?v1)) (dvd$ ?v0 ?v2)))) :named a207)) +(assert (! (forall ((?v0 Nat$) (?v1 Nat$) (?v2 Nat$)) (=> (dvd$b ?v0 ?v1) (= (dvd$b ?v0 (plus$a ?v2 ?v1)) (dvd$b ?v0 ?v2)))) :named a208)) +(assert (! (forall ((?v0 Complex_poly$) (?v1 Complex_poly$) (?v2 Complex_poly$)) (=> (and (dvd$ ?v0 ?v1) (dvd$ ?v0 ?v2)) (dvd$ ?v0 (plus$c ?v1 ?v2)))) :named a209)) +(assert (! (forall ((?v0 Nat$) (?v1 Nat$) (?v2 Nat$)) (=> (and (dvd$b ?v0 ?v1) (dvd$b ?v0 ?v2)) (dvd$b ?v0 (plus$a ?v1 ?v2)))) :named a210)) +(assert (! (forall ((?v0 Complex_poly$) (?v1 Complex_poly$)) (=> (and (dvd$ ?v0 ?v1) (dvd$ ?v1 one$a)) (dvd$ ?v0 one$a))) :named a211)) +(assert (! (forall ((?v0 Nat$) (?v1 Nat$)) (=> (and (dvd$b ?v0 ?v1) (dvd$b ?v1 one$)) (dvd$b ?v0 one$))) :named a212)) +(assert (! (forall ((?v0 Complex_poly$) (?v1 Complex_poly$)) (=> (dvd$ ?v0 one$a) (dvd$ ?v0 ?v1))) :named a213)) +(assert (! (forall ((?v0 Nat$) (?v1 Nat$)) (=> (dvd$b ?v0 one$) (dvd$b ?v0 ?v1))) :named a214)) +(assert (! (forall ((?v0 Complex_poly$)) (dvd$ one$a ?v0)) :named a215)) +(assert (! (forall ((?v0 Nat$)) (dvd$b one$ ?v0)) :named a216)) +(assert (! (forall ((?v0 Complex_poly$)) (dvd$ ?v0 ?v0)) :named a217)) +(assert (! (forall ((?v0 Nat$)) (dvd$b ?v0 ?v0)) :named a218)) +(assert (! (forall ((?v0 Complex_poly$) (?v1 Complex_poly$) (?v2 Complex_poly$)) (=> (and (dvd$ ?v0 ?v1) (dvd$ ?v1 ?v2)) (dvd$ ?v0 ?v2))) :named a219)) +(assert (! (forall ((?v0 Nat$) (?v1 Nat$) (?v2 Nat$)) (=> (and (dvd$b ?v0 ?v1) (dvd$b ?v1 ?v2)) (dvd$b ?v0 ?v2))) :named a220)) +(assert (! (forall ((?v0 Complex_poly$) (?v1 Complex_poly$) (?v2 Nat$)) (=> (dvd$ ?v0 ?v1) (dvd$ (power$ ?v0 ?v2) (power$ ?v1 ?v2)))) :named a221)) +(assert (! (forall ((?v0 Nat$) (?v1 Nat$) (?v2 Nat$)) (=> (dvd$b ?v0 ?v1) (dvd$b (power$c ?v0 ?v2) (power$c ?v1 ?v2)))) :named a222)) +(assert (! (forall ((?v0 Nat$) (?v1 Nat$) (?v2 Nat$)) (=> (and (dvd$b (power$c ?v0 ?v1) (power$c ?v2 ?v1)) (not (= ?v1 zero$a))) (dvd$b ?v0 ?v2))) :named a223)) +(assert (! (not (dvd$ zero$c one$a)) :named a224)) +(assert (! (not (dvd$b zero$a one$)) :named a225)) +(assert (! (forall ((?v0 Complex_poly$) (?v1 Nat$)) (= (dvd$ (power$ ?v0 ?v1) one$a) (or (dvd$ ?v0 one$a) (= ?v1 zero$a)))) :named a226)) +(assert (! (forall ((?v0 Nat$) (?v1 Nat$)) (= (dvd$b (power$c ?v0 ?v1) one$) (or (dvd$b ?v0 one$) (= ?v1 zero$a)))) :named a227)) +(assert (! (forall ((?v0 Complex_poly$) (?v1 Complex$)) (! (=> (not (= (poly$ ?v0 ?v1) zero$)) (= (order$ ?v1 ?v0) zero$a)) :pattern ((order$ ?v1 ?v0)))) :named a228)) +(assert (! (forall ((?v0 Complex_poly_poly$) (?v1 Complex_poly$)) (! (=> (not (= (poly$a ?v0 ?v1) zero$c)) (= (order$a ?v1 ?v0) zero$a)) :pattern ((order$a ?v1 ?v0)))) :named a229)) +(assert (! (forall ((?v0 Complex_poly$)) (=> (not (= ?v0 zero$c)) (= (dvd$ ?v0 one$a) (= (degree$b ?v0) zero$a)))) :named a230)) +(assert (! (forall ((?v0 Complex_poly$)) (= (rsquarefree$ ?v0) (and (not (= ?v0 zero$c)) (forall ((?v1 Complex$)) (or (= (order$ ?v1 ?v0) zero$a) (= (order$ ?v1 ?v0) one$)))))) :named a231)) +(assert (! (forall ((?v0 Complex_poly$) (?v1 Complex$) (?v2 Complex_poly$)) (=> (not (= ?v0 zero$c)) (= (exists ((?v3 Complex$)) (and (= (poly$ (pCons$ ?v1 ?v0) ?v3) zero$) (not (= (poly$ ?v2 ?v3) zero$)))) (not (dvd$ (pCons$ ?v1 ?v0) (power$ ?v2 (psize$ ?v0))))))) :named a232)) +(assert (! (forall ((?v0 Complex$) (?v1 Complex$)) (! (= (dvd$a ?v0 ?v1) (=> (= ?v0 zero$) (= ?v1 zero$))) :pattern ((dvd$a ?v0 ?v1)))) :named a233)) +(assert (! (forall ((?v0 Complex_poly$)) (=> (dvd$ ?v0 one$a) (= (monom$ (coeff$b ?v0 (degree$b ?v0)) zero$a) ?v0))) :named a234)) +(assert (! (forall ((?v0 Nat$)) (= (dvd$b ?v0 one$) (= ?v0 one$))) :named a235)) +(assert (! (forall ((?v0 Complex$) (?v1 Complex_poly$) (?v2 Complex$) (?v3 Complex_poly$)) (= (= (pCons$ ?v0 ?v1) (pCons$ ?v2 ?v3)) (and (= ?v0 ?v2) (= ?v1 ?v3)))) :named a236)) +(assert (! (= (pCons$ zero$ zero$c) zero$c) :named a237)) +(assert (! (= (pCons$a zero$c zero$b) zero$b) :named a238)) +(assert (! (= (pCons$b zero$a zero$d) zero$d) :named a239)) +(assert (! (forall ((?v0 Complex_poly$) (?v1 Complex_poly_poly$)) (= (= (pCons$a ?v0 ?v1) zero$b) (and (= ?v0 zero$c) (= ?v1 zero$b)))) :named a240)) +(assert (! (forall ((?v0 Nat$) (?v1 Nat_poly$)) (= (= (pCons$b ?v0 ?v1) zero$d) (and (= ?v0 zero$a) (= ?v1 zero$d)))) :named a241)) +(assert (! (forall ((?v0 Complex$) (?v1 Complex_poly$)) (= (= (pCons$ ?v0 ?v1) zero$c) (and (= ?v0 zero$) (= ?v1 zero$c)))) :named a242)) +(assert (! (forall ((?v0 Complex$) (?v1 Complex_poly$)) (= (coeff$b (pCons$ ?v0 ?v1) zero$a) ?v0)) :named a243)) +(assert (! (forall ((?v0 Nat$)) (= (monom$ zero$ ?v0) zero$c)) :named a244)) +(assert (! (forall ((?v0 Nat$)) (= (monom$a zero$c ?v0) zero$b)) :named a245)) +(assert (! (forall ((?v0 Nat$)) (= (monom$b zero$a ?v0) zero$d)) :named a246)) +(assert (! (forall ((?v0 Complex_poly$) (?v1 Nat$)) (= (= (monom$a ?v0 ?v1) zero$b) (= ?v0 zero$c))) :named a247)) +(assert (! (forall ((?v0 Nat$) (?v1 Nat$)) (= (= (monom$b ?v0 ?v1) zero$d) (= ?v0 zero$a))) :named a248)) +(assert (! (forall ((?v0 Complex$) (?v1 Nat$)) (= (= (monom$ ?v0 ?v1) zero$c) (= ?v0 zero$))) :named a249)) +(assert (! (forall ((?v0 Complex$) (?v1 Nat$) (?v2 Nat$)) (= (coeff$b (monom$ ?v0 ?v1) ?v2) (ite (= ?v1 ?v2) ?v0 zero$))) :named a250)) +(assert (! (forall ((?v0 Complex_poly$) (?v1 Nat$) (?v2 Nat$)) (= (coeff$ (monom$a ?v0 ?v1) ?v2) (ite (= ?v1 ?v2) ?v0 zero$c))) :named a251)) +(assert (! (forall ((?v0 Nat$) (?v1 Nat$) (?v2 Nat$)) (= (coeff$a (monom$b ?v0 ?v1) ?v2) (ite (= ?v1 ?v2) ?v0 zero$a))) :named a252)) +(assert (! (forall ((?v0 Complex$) (?v1 Complex_poly$) (?v2 Complex$) (?v3 Complex_poly$)) (= (plus$c (pCons$ ?v0 ?v1) (pCons$ ?v2 ?v3)) (pCons$ (plus$ ?v0 ?v2) (plus$c ?v1 ?v3)))) :named a253)) +(assert (! (forall ((?v0 Nat$) (?v1 Nat_poly$) (?v2 Nat$) (?v3 Nat_poly$)) (= (plus$b (pCons$b ?v0 ?v1) (pCons$b ?v2 ?v3)) (pCons$b (plus$a ?v0 ?v2) (plus$b ?v1 ?v3)))) :named a254)) +(assert (! (forall ((?v0 Complex$) (?v1 Nat$)) (= (coeff$b (monom$ ?v0 ?v1) (degree$b (monom$ ?v0 ?v1))) ?v0)) :named a255)) +(assert (! (forall ((?v0 Complex$) (?v1 Nat$)) (=> (not (= ?v0 zero$)) (= (order$ zero$ (monom$ ?v0 ?v1)) ?v1))) :named a256)) +(assert (! (forall ((?v0 Complex_poly$) (?v1 Nat$)) (=> (not (= ?v0 zero$c)) (= (order$a zero$c (monom$a ?v0 ?v1)) ?v1))) :named a257)) +(assert (! (forall ((?v0 Complex$) (?v1 Complex_poly$)) (= (pcompose$ (pCons$ ?v0 zero$c) ?v1) (pCons$ ?v0 zero$c))) :named a258)) +(assert (! (forall ((?v0 Complex$)) (= (reflect_poly$ (pCons$ ?v0 zero$c)) (pCons$ ?v0 zero$c))) :named a259)) +(assert (! (forall ((?v0 Complex$) (?v1 Complex_poly$) (?v2 Complex$)) (= (synthetic_div$ (pCons$ ?v0 ?v1) ?v2) (pCons$ (poly$ ?v1 ?v2) (synthetic_div$ ?v1 ?v2)))) :named a260)) +(assert (! (forall ((?v0 Complex_poly$) (?v1 Complex$)) (=> (= ?v0 zero$c) (= (coeff$b (pCons$ ?v1 ?v0) (degree$b (pCons$ ?v1 ?v0))) ?v1))) :named a261)) +(assert (! (forall ((?v0 Complex_poly$) (?v1 Complex$)) (=> (not (= ?v0 zero$c)) (= (coeff$b (pCons$ ?v1 ?v0) (degree$b (pCons$ ?v1 ?v0))) (coeff$b ?v0 (degree$b ?v0))))) :named a262)) +(assert (! (forall ((?v0 Complex_poly$) (?v1 Complex_poly$)) (= (dvd$c (pCons$a ?v0 zero$b) (pCons$a ?v1 zero$b)) (dvd$ ?v0 ?v1))) :named a263)) +(assert (! (forall ((?v0 Nat$) (?v1 Nat$)) (= (dvd$d (pCons$b ?v0 zero$d) (pCons$b ?v1 zero$d)) (dvd$b ?v0 ?v1))) :named a264)) +(assert (! (forall ((?v0 Complex$) (?v1 Complex$)) (= (dvd$ (pCons$ ?v0 zero$c) (pCons$ ?v1 zero$c)) (dvd$a ?v0 ?v1))) :named a265)) +(assert (! (= (= (pCons$b one$ zero$d) one$c) true) :named a266)) +(assert (! (= (= (pCons$ one$b zero$c) one$a) true) :named a267)) +(assert (! (= (= one$c (pCons$b one$ zero$d)) true) :named a268)) +(assert (! (= (= one$a (pCons$ one$b zero$c)) true) :named a269)) +(assert (! (= (monom$b one$ zero$a) one$c) :named a270)) +(assert (! (forall ((?v0 Complex_poly$)) (= (pcompose$ ?v0 (pCons$ zero$ (pCons$ one$b zero$c))) ?v0)) :named a271)) +(assert (! (forall ((?v0 Complex_poly_poly$)) (= (pcompose$a ?v0 (pCons$a zero$c (pCons$a one$a zero$b))) ?v0)) :named a272)) +(assert (! (forall ((?v0 Nat_poly$)) (= (pcompose$b ?v0 (pCons$b zero$a (pCons$b one$ zero$d))) ?v0)) :named a273)) +(assert (! (forall ((?v0 Nat$)) (=> (dvd$b zero$a ?v0) (= ?v0 zero$a))) :named a274)) +(assert (! (forall ((?v0 Nat$)) (= (not (= ?v0 zero$a)) (and (dvd$b ?v0 zero$a) (not (= ?v0 zero$a))))) :named a275)) +(assert (! (forall ((?v0 Nat$)) (! (= (dvd$b zero$a ?v0) (= ?v0 zero$a)) :pattern ((dvd$b zero$a ?v0)))) :named a276)) +(assert (! (forall ((?v0 Nat$)) (not (and (dvd$b zero$a ?v0) (not (= zero$a ?v0))))) :named a277)) +(assert (! (forall ((?v0 Nat$)) (dvd$b ?v0 zero$a)) :named a278)) +(assert (! (forall ((?v0 Complex_poly$) (?v1 Nat$) (?v2 Complex_poly$)) (= (= (monom$a ?v0 ?v1) (pCons$a ?v2 zero$b)) (and (= ?v0 ?v2) (or (= ?v0 zero$c) (= ?v1 zero$a))))) :named a279)) +(assert (! (forall ((?v0 Nat$) (?v1 Nat$) (?v2 Nat$)) (= (= (monom$b ?v0 ?v1) (pCons$b ?v2 zero$d)) (and (= ?v0 ?v2) (or (= ?v0 zero$a) (= ?v1 zero$a))))) :named a280)) +(assert (! (forall ((?v0 Complex$) (?v1 Nat$) (?v2 Complex$)) (= (= (monom$ ?v0 ?v1) (pCons$ ?v2 zero$c)) (and (= ?v0 ?v2) (or (= ?v0 zero$) (= ?v1 zero$a))))) :named a281)) +(assert (! (forall ((?v0 Complex_poly$)) (=> (forall ((?v1 Complex$) (?v2 Complex_poly$)) (=> (= ?v0 (pCons$ ?v1 ?v2)) false)) false)) :named a282)) +(assert (! (forall ((?v0 Complex_poly$)) (=> (forall ((?v1 Complex$) (?v2 Complex_poly$)) (=> (= ?v0 (pCons$ ?v1 ?v2)) false)) false)) :named a283)) +(assert (! (forall ((?v0 (-> Complex_poly$ (-> Complex_poly$ Bool))) (?v1 Complex_poly$) (?v2 Complex_poly$)) (=> (and (?v0 zero$c zero$c) (forall ((?v3 Complex$) (?v4 Complex_poly$) (?v5 Complex$) (?v6 Complex_poly$)) (=> (?v0 ?v4 ?v6) (?v0 (pCons$ ?v3 ?v4) (pCons$ ?v5 ?v6))))) (?v0 ?v1 ?v2))) :named a284)) +(assert (! (forall ((?v0 Complex$) (?v1 Nat$) (?v2 Complex$) (?v3 Nat$)) (= (= (monom$ ?v0 ?v1) (monom$ ?v2 ?v3)) (and (= ?v0 ?v2) (or (= ?v0 zero$) (= ?v1 ?v3))))) :named a285)) +(assert (! (forall ((?v0 Complex_poly$) (?v1 Nat$) (?v2 Complex_poly$) (?v3 Nat$)) (= (= (monom$a ?v0 ?v1) (monom$a ?v2 ?v3)) (and (= ?v0 ?v2) (or (= ?v0 zero$c) (= ?v1 ?v3))))) :named a286)) +(assert (! (forall ((?v0 Nat$) (?v1 Nat$) (?v2 Nat$) (?v3 Nat$)) (= (= (monom$b ?v0 ?v1) (monom$b ?v2 ?v3)) (and (= ?v0 ?v2) (or (= ?v0 zero$a) (= ?v1 ?v3))))) :named a287)) +(assert (! (forall ((?v0 Complex$)) (! (= (monom$ ?v0 zero$a) (pCons$ ?v0 zero$c)) :pattern ((monom$ ?v0)))) :named a288)) +(assert (! (forall ((?v0 (-> Complex_poly_poly$ Bool)) (?v1 Complex_poly_poly$)) (=> (and (?v0 zero$b) (forall ((?v2 Complex_poly$) (?v3 Complex_poly_poly$)) (=> (and (or (not (= ?v2 zero$c)) (not (= ?v3 zero$b))) (?v0 ?v3)) (?v0 (pCons$a ?v2 ?v3))))) (?v0 ?v1))) :named a289)) +(assert (! (forall ((?v0 (-> Nat_poly$ Bool)) (?v1 Nat_poly$)) (=> (and (?v0 zero$d) (forall ((?v2 Nat$) (?v3 Nat_poly$)) (=> (and (or (not (= ?v2 zero$a)) (not (= ?v3 zero$d))) (?v0 ?v3)) (?v0 (pCons$b ?v2 ?v3))))) (?v0 ?v1))) :named a290)) +(assert (! (forall ((?v0 (-> Complex_poly$ Bool)) (?v1 Complex_poly$)) (=> (and (?v0 zero$c) (forall ((?v2 Complex$) (?v3 Complex_poly$)) (=> (and (or (not (= ?v2 zero$)) (not (= ?v3 zero$c))) (?v0 ?v3)) (?v0 (pCons$ ?v2 ?v3))))) (?v0 ?v1))) :named a291)) +(assert (! (forall ((?v0 Complex_poly$) (?v1 Complex$)) (=> (= (poly$ ?v0 ?v1) zero$) (= (poly$ (pCons$ zero$ ?v0) ?v1) zero$))) :named a292)) +(assert (! (forall ((?v0 Complex_poly_poly$) (?v1 Complex_poly$)) (=> (= (poly$a ?v0 ?v1) zero$c) (= (poly$a (pCons$a zero$c ?v0) ?v1) zero$c))) :named a293)) +(assert (! (forall ((?v0 Nat_poly$) (?v1 Nat$)) (=> (= (poly$b ?v0 ?v1) zero$a) (= (poly$b (pCons$b zero$a ?v0) ?v1) zero$a))) :named a294)) +(assert (! (forall ((?v0 Complex$) (?v1 Nat$)) (=> (not (= ?v0 zero$)) (= (degree$b (monom$ ?v0 ?v1)) ?v1))) :named a295)) +(assert (! (forall ((?v0 Complex_poly$) (?v1 Nat$)) (=> (not (= ?v0 zero$c)) (= (degree$ (monom$a ?v0 ?v1)) ?v1))) :named a296)) +(assert (! (forall ((?v0 Nat$) (?v1 Nat$)) (=> (not (= ?v0 zero$a)) (= (degree$a (monom$b ?v0 ?v1)) ?v1))) :named a297)) +(assert (! (forall ((?v0 Complex$) (?v1 Nat$) (?v2 Nat$)) (= (coeff$b (monom$ ?v0 ?v1) ?v2) (ite (= ?v1 ?v2) ?v0 zero$))) :named a298)) +(assert (! (forall ((?v0 Complex_poly$) (?v1 Nat$) (?v2 Nat$)) (= (coeff$ (monom$a ?v0 ?v1) ?v2) (ite (= ?v1 ?v2) ?v0 zero$c))) :named a299)) +(assert (! (forall ((?v0 Nat$) (?v1 Nat$) (?v2 Nat$)) (= (coeff$a (monom$b ?v0 ?v1) ?v2) (ite (= ?v1 ?v2) ?v0 zero$a))) :named a300)) +(assert (! (forall ((?v0 Complex_poly$) (?v1 Complex_poly$)) (=> (dvd$ ?v0 ?v1) (dvd$ ?v0 (pCons$ zero$ ?v1)))) :named a301)) +(assert (! (forall ((?v0 Complex_poly_poly$) (?v1 Complex_poly_poly$)) (=> (dvd$c ?v0 ?v1) (dvd$c ?v0 (pCons$a zero$c ?v1)))) :named a302)) +(assert (! (forall ((?v0 Complex$) (?v1 Complex$)) (= (poly$ (pCons$ (poly$ zero$c ?v0) zero$c) ?v1) (poly$ zero$c ?v1))) :named a303)) +(assert (! (forall ((?v0 Complex$) (?v1 Complex$)) (= ?v0 (poly$ (pCons$ ?v0 zero$c) ?v1))) :named a304)) +(assert (! (forall ((?v0 Nat$) (?v1 Nat$) (?v2 Nat$)) (= (plus$b (monom$b ?v0 ?v1) (monom$b ?v2 ?v1)) (monom$b (plus$a ?v0 ?v2) ?v1))) :named a305)) +(assert (! (forall ((?v0 Complex$) (?v1 Complex$)) (= (offset_poly$ (pCons$ ?v0 zero$c) ?v1) (pCons$ ?v0 zero$c))) :named a306)) +(assert (! (forall ((?v0 Complex_poly$)) (= (exists ((?v1 Complex_poly$)) (= (poly$a (pCons$a ?v0 zero$b) ?v1) zero$c)) (= ?v0 zero$c))) :named a307)) +(assert (! (forall ((?v0 Nat$)) (= (exists ((?v1 Nat$)) (= (poly$b (pCons$b ?v0 zero$d) ?v1) zero$a)) (= ?v0 zero$a))) :named a308)) +(assert (! (forall ((?v0 Complex$)) (= (exists ((?v1 Complex$)) (= (poly$ (pCons$ ?v0 zero$c) ?v1) zero$)) (= ?v0 zero$))) :named a309)) +(assert (! (forall ((?v0 Complex_poly$)) (= (exists ((?v1 Complex_poly$)) (not (= (poly$a (pCons$a ?v0 zero$b) ?v1) zero$c))) (not (= ?v0 zero$c)))) :named a310)) +(assert (! (forall ((?v0 Nat$)) (= (exists ((?v1 Nat$)) (not (= (poly$b (pCons$b ?v0 zero$d) ?v1) zero$a))) (not (= ?v0 zero$a)))) :named a311)) +(assert (! (forall ((?v0 Complex$)) (= (exists ((?v1 Complex$)) (not (= (poly$ (pCons$ ?v0 zero$c) ?v1) zero$))) (not (= ?v0 zero$)))) :named a312)) +(assert (! (forall ((?v0 Complex$)) (= (poly$ (pCons$ zero$ zero$c) ?v0) (poly$ zero$c ?v0))) :named a313)) +(assert (! (forall ((?v0 Complex_poly$)) (= (poly$a (pCons$a zero$c zero$b) ?v0) (poly$a zero$b ?v0))) :named a314)) +(assert (! (forall ((?v0 Complex$)) (= (degree$b (pCons$ ?v0 zero$c)) zero$a)) :named a315)) +(assert (! (forall ((?v0 Complex_poly$)) (=> (and (= (degree$b ?v0) zero$a) (forall ((?v1 Complex$)) (=> (= ?v0 (pCons$ ?v1 zero$c)) false))) false)) :named a316)) +(assert (! (= (pCons$b one$ zero$d) one$c) :named a317)) +(assert (! (= (pCons$ one$b zero$c) one$a) :named a318)) +(assert (! (forall ((?v0 Nat$) (?v1 Nat$)) (= (= (monom$b ?v0 ?v1) one$c) (and (= ?v0 one$) (= ?v1 zero$a)))) :named a319)) +(assert (! (forall ((?v0 Complex$)) (= ?v0 (poly$ (pCons$ zero$ (pCons$ one$b zero$c)) ?v0))) :named a320)) +(assert (! (forall ((?v0 Complex_poly$)) (= ?v0 (poly$a (pCons$a zero$c (pCons$a one$a zero$b)) ?v0))) :named a321)) +(assert (! (forall ((?v0 Complex_poly$)) (=> (not (exists ((?v1 Complex$) (?v2 Complex_poly$)) (and (not (= ?v1 zero$)) (and (= ?v2 zero$c) (= ?v0 (pCons$ ?v1 ?v2)))))) (exists ((?v1 Complex$)) (= (poly$ ?v0 ?v1) zero$)))) :named a322)) +(assert (! (forall ((?v0 Complex_poly$) (?v1 Complex$) (?v2 Complex$)) (=> (not (= ?v0 zero$c)) (exists ((?v3 Complex$)) (= (poly$ (pCons$ ?v1 (pCons$ ?v2 ?v0)) ?v3) zero$)))) :named a323)) +(assert (! (forall ((?v0 Complex_poly$) (?v1 Complex_poly_poly$)) (= (dvd$c (pCons$a ?v0 zero$b) ?v1) (forall ((?v2 Nat$)) (dvd$ ?v0 (coeff$ ?v1 ?v2))))) :named a324)) +(assert (! (forall ((?v0 Nat$) (?v1 Nat_poly$)) (= (dvd$d (pCons$b ?v0 zero$d) ?v1) (forall ((?v2 Nat$)) (dvd$b ?v0 (coeff$a ?v1 ?v2))))) :named a325)) +(assert (! (forall ((?v0 Complex$) (?v1 Complex_poly$)) (= (dvd$ (pCons$ ?v0 zero$c) ?v1) (forall ((?v2 Nat$)) (dvd$a ?v0 (coeff$b ?v1 ?v2))))) :named a326)) +(assert (! (forall ((?v0 Nat$) (?v1 Nat$)) (= (degree$a (power$b (pCons$b ?v0 (pCons$b one$ zero$d)) ?v1)) ?v1)) :named a327)) +(assert (! (forall ((?v0 Complex$) (?v1 Nat$)) (= (degree$b (power$ (pCons$ ?v0 (pCons$ one$b zero$c)) ?v1)) ?v1)) :named a328)) +(assert (! (forall ((?v0 Complex_poly$)) (= (pcompose$ ?v0 zero$c) (pCons$ (coeff$b ?v0 zero$a) zero$c))) :named a329)) +(assert (! (forall ((?v0 Nat$) (?v1 Nat$)) (= (coeff$a (power$b (pCons$b ?v0 (pCons$b one$ zero$d)) ?v1) ?v1) one$)) :named a330)) +(assert (! (forall ((?v0 Complex$) (?v1 Nat$)) (= (coeff$b (power$ (pCons$ ?v0 (pCons$ one$b zero$c)) ?v1) ?v1) one$b)) :named a331)) +(assert (! (forall ((?v0 Complex$) (?v1 Complex_poly$)) (= (dvd$ (pCons$ ?v0 ?v1) one$a) (and (= ?v1 zero$c) (not (= ?v0 zero$))))) :named a332)) +(assert (! (forall ((?v0 Complex$)) (=> (not (= ?v0 zero$)) (dvd$ (pCons$ ?v0 zero$c) one$a))) :named a333)) +(assert (! (forall ((?v0 Complex_poly$)) (=> (and (dvd$ ?v0 one$a) (forall ((?v1 Complex$)) (=> (and (= ?v0 (monom$ ?v1 zero$a)) (not (= ?v1 zero$))) false))) false)) :named a334)) +(assert (! (forall ((?v0 Complex$)) (=> (not (= ?v0 zero$)) (dvd$ (monom$ ?v0 zero$a) one$a))) :named a335)) +(assert (! (forall ((?v0 Nat$) (?v1 Nat$) (?v2 Nat$)) (= (= (times$ ?v0 ?v1) (times$ ?v2 ?v1)) (or (= ?v0 ?v2) (= ?v1 zero$a)))) :named a336)) +(assert (! (forall ((?v0 Nat$) (?v1 Nat$) (?v2 Nat$)) (= (= (times$ ?v0 ?v1) (times$ ?v0 ?v2)) (or (= ?v1 ?v2) (= ?v0 zero$a)))) :named a337)) +(assert (! (forall ((?v0 Nat$)) (! (= (times$ ?v0 zero$a) zero$a) :pattern ((times$ ?v0)))) :named a338)) +(assert (! (forall ((?v0 Nat$) (?v1 Nat$)) (= (= (times$ ?v0 ?v1) zero$a) (or (= ?v0 zero$a) (= ?v1 zero$a)))) :named a339)) +(assert (! (forall ((?v0 Nat$) (?v1 Nat$)) (= (= (suc$ ?v0) (suc$ ?v1)) (= ?v0 ?v1))) :named a340)) +(assert (! (forall ((?v0 Nat$) (?v1 Nat$)) (= (= (suc$ ?v0) (suc$ ?v1)) (= ?v0 ?v1))) :named a341)) +(assert (! (forall ((?v0 Nat$) (?v1 Nat$)) (= (= (times$ ?v0 ?v1) one$) (and (= ?v0 one$) (= ?v1 one$)))) :named a342)) +(assert (! (forall ((?v0 Nat$) (?v1 Nat$)) (= (= one$ (times$ ?v0 ?v1)) (and (= ?v0 one$) (= ?v1 one$)))) :named a343)) +(assert (! (forall ((?v0 Nat$) (?v1 Nat$)) (= (= (times$ ?v0 ?v1) (suc$ zero$a)) (and (= ?v0 (suc$ zero$a)) (= ?v1 (suc$ zero$a))))) :named a344)) +(assert (! (forall ((?v0 Nat$) (?v1 Nat$)) (= (= (suc$ zero$a) (times$ ?v0 ?v1)) (and (= ?v0 (suc$ zero$a)) (= ?v1 (suc$ zero$a))))) :named a345)) +(assert (! (forall ((?v0 Nat$)) (! (= (power$c (suc$ zero$a) ?v0) (suc$ zero$a)) :pattern ((power$c (suc$ zero$a) ?v0)))) :named a346)) +(assert (! (forall ((?v0 Nat$) (?v1 Nat$)) (= (= (power$c ?v0 ?v1) (suc$ zero$a)) (or (= ?v1 zero$a) (= ?v0 (suc$ zero$a))))) :named a347)) +(assert (! (forall ((?v0 Nat$)) (less_eq$ zero$a ?v0)) :named a348)) +(assert (! (forall ((?v0 Nat$) (?v1 Nat$)) (= (less_eq$ (suc$ ?v0) (suc$ ?v1)) (less_eq$ ?v0 ?v1))) :named a349)) +(assert (! (forall ((?v0 Nat$) (?v1 Nat$)) (= (plus$a ?v0 (suc$ ?v1)) (suc$ (plus$a ?v0 ?v1)))) :named a350)) +(assert (! (forall ((?v0 Nat$) (?v1 Nat$)) (! (= (times$ ?v0 (suc$ ?v1)) (plus$a ?v0 (times$ ?v0 ?v1))) :pattern ((times$ ?v0 (suc$ ?v1))))) :named a351)) +(assert (! (forall ((?v0 Nat$) (?v1 Nat$) (?v2 Nat$)) (= (less_eq$ (plus$a ?v0 ?v1) (plus$a ?v0 ?v2)) (less_eq$ ?v1 ?v2))) :named a352)) +(check-sat) diff --git a/test/regress/regress2/ho/involved_parsing_ALG248^3.p b/test/regress/regress2/ho/involved_parsing_ALG248^3.p new file mode 100644 index 000000000..5ad693629 --- /dev/null +++ b/test/regress/regress2/ho/involved_parsing_ALG248^3.p @@ -0,0 +1,2126 @@ +% COMMAND-LINE: --uf-ho +% EXPECT: % SZS status Theorem for involved_parsing_ALG248^3 + +%------------------------------------------------------------------------------ +% File : ALG248^3 : TPTP v7.2.0. Bugfixed v5.2.0. +% Domain : Algebra +% Problem : Push property lemma 1 +% Version : [Bro09] axioms : Reduced > Especial. +% English : + +% Refs : [DHK95] Dowek et al. (1995), Higher-order Unification via Expl +% : [Zha08] Zhang (2008), Using LEO-II to Prove Properties of an E +% : [Ben09] Benzmueller (2009), Email to Geoff Sutcliffe +% : [Bro09] Brown (2009), M-Set Models +% Source : [Ben09] +% Names : pushprop_lem1v2_lthm [Ben09] + +% Status : Theorem +% Rating : 0.11 v7.2.0, 0.00 v7.1.0, 0.25 v7.0.0, 0.14 v6.4.0, 0.17 v6.3.0, 0.20 v6.2.0, 0.00 v6.1.0, 0.14 v5.5.0, 0.17 v5.4.0, 0.20 v5.2.0 +% Syntax : Number of formulae : 238 ( 1 unit; 124 type; 113 defn) +% Number of atoms : 2372 ( 161 equality; 723 variable) +% Maximal formula depth : 39 ( 8 average) +% Number of connectives : 1942 ( 6 ~; 0 |; 4 &; 916 @) +% ( 2 <=>;1014 =>; 0 <=; 0 <~>) +% ( 0 ~|; 0 ~&) +% Number of type conns : 128 ( 128 >; 0 *; 0 +; 0 <<) +% Number of symbols : 126 ( 124 :; 0 =) +% Number of variables : 327 ( 3 sgn; 283 !; 5 ?; 39 ^) +% ( 327 :; 0 !>; 0 ?*) +% ( 0 @-; 0 @+) +% SPC : TH0_THM_EQU_NAR + +% Comments : +% Bugfixes : v5.2.0 - Bugfixes in ALG003^0.ax +%------------------------------------------------------------------------------ +%----Include Untyped Lambda Sigma defs +%% include('Axioms/ALG003^0.ax'). +%------------------------------------------------------------------------------ +thf(term_type,type,( + term: $tType )). + +thf(subst_type,type,( + subst: $tType )). + +thf(one_type,type,( + one: term )). + +thf(ap_type,type,( + ap: term > term > term )). + +thf(lam_type,type,( + lam: term > term )). + +thf(sub_type,type,( + sub: term > subst > term )). + +thf(id_type,type,( + id: subst )). + +thf(sh_type,type,( + sh: subst )). + +thf(push_type,type,( + push: term > subst > subst )). + +thf(comp_type,type,( + comp: subst > subst > subst )). + +thf(var_type,type,( + var: term > $o )). + +thf(pushprop_lem1v2_type,type,( + pushprop_lem1v2: $o )). + +thf(pushprop_lem1_gthm_type,type,( + pushprop_lem1_gthm: $o )). + +thf(axmap_type,type,( + axmap: $o )). + +thf(pushprop_lem0_gthm_type,type,( + pushprop_lem0_gthm: $o )). + +thf(shinj_type,type,( + shinj: $o )). + +thf(hoasinduction_lem1v2_type,type,( + hoasinduction_lem1v2: $o )). + +thf(hoasinduction_lem1v2_gthm_type,type,( + hoasinduction_lem1v2_gthm: $o )). + +thf(hoasap_type,type,( + hoasap: subst > term > subst > term > term )). + +thf(induction2lem_type,type,( + induction2lem: $o )). + +thf(hoasinduction_lem3v2_f_type,type,( + hoasinduction_lem3v2_f: $o )). + +thf(axvarshift_type,type,( + axvarshift: $o )). + +thf(hoasapinj2_type,type,( + hoasapinj2: $o )). + +thf(hoasapnotvar_gthm_type,type,( + hoasapnotvar_gthm: $o )). + +thf(hoasapinj1_type,type,( + hoasapinj1: $o )). + +thf(ulamvar1_type,type,( + ulamvar1: $o )). + +thf(induction2lem_lthm_type,type,( + induction2lem_lthm: $o )). + +thf(hoasinduction_lem3v2_gthm_type,type,( + hoasinduction_lem3v2_gthm: $o )). + +thf(apnotvar_type,type,( + apnotvar: $o )). + +thf(pushprop_lthm_orig_type,type,( + pushprop_lthm_orig: $o )). + +thf(hoasinduction_lem3v2_f_lthm_type,type,( + hoasinduction_lem3v2_f_lthm: $o )). + +thf(hoasinduction_lthm_type,type,( + hoasinduction_lthm: $o )). + +thf(hoasinduction_no_psi_cond_lthm_type,type,( + hoasinduction_no_psi_cond_lthm: $o )). + +thf(hoaslaminj_type,type,( + hoaslaminj: $o )). + +thf(hoasinduction_lem3aaa_type,type,( + hoasinduction_lem3aaa: $o )). + +thf(induction2lem_gthm_type,type,( + induction2lem_gthm: $o )). + +thf(hoasinduction_lem3aa_lthm_type,type,( + hoasinduction_lem3aa_lthm: $o )). + +thf(hoasinduction_lem3_type,type,( + hoasinduction_lem3: $o )). + +thf(hoasinduction_lem2_type,type,( + hoasinduction_lem2: $o )). + +thf(termmset_lthm_type,type,( + termmset_lthm: $o )). + +thf(hoasinduction_lem1_type,type,( + hoasinduction_lem1: $o )). + +thf(hoaslamnotap_lthm_type,type,( + hoaslamnotap_lthm: $o )). + +thf(pushprop_lem1v2_lthm_type,type,( + pushprop_lem1v2_lthm: $o )). + +thf(hoasapnotvar_type,type,( + hoasapnotvar: $o )). + +thf(hoasinduction_lem0_type,type,( + hoasinduction_lem0: $o )). + +thf(hoasinduction_type,type,( + hoasinduction: $o )). + +thf(hoasinduction_gthm_type,type,( + hoasinduction_gthm: $o )). + +thf(axapp_type,type,( + axapp: $o )). + +thf(hoaslamnotvar_lthm_type,type,( + hoaslamnotvar_lthm: $o )). + +thf(pushprop_lem3v2_lthm_type,type,( + pushprop_lem3v2_lthm: $o )). + +thf(hoasinduction_lem3b_lthm_type,type,( + hoasinduction_lem3b_lthm: $o )). + +thf(ulamvarind_type,type,( + ulamvarind: $o )). + +thf(induction_type,type,( + induction: $o )). + +thf(hoasinduction_lem3a_lthm_type,type,( + hoasinduction_lem3a_lthm: $o )). + +thf(termmset_gthm_type,type,( + termmset_gthm: $o )). + +thf(hoasinduction_lem3aa_type,type,( + hoasinduction_lem3aa: $o )). + +thf(pushprop_lem1v2_gthm_type,type,( + pushprop_lem1v2_gthm: $o )). + +thf(hoaslamnotap_gthm_type,type,( + hoaslamnotap_gthm: $o )). + +thf(hoaslamnotvar_gthm_type,type,( + hoaslamnotvar_gthm: $o )). + +thf(hoasinduction_lem3b_gthm_type,type,( + hoasinduction_lem3b_gthm: $o )). + +thf(pushprop_lem2v2_type,type,( + pushprop_lem2v2: $o )). + +thf(hoasinduction_lem3a_gthm_type,type,( + hoasinduction_lem3a_gthm: $o )). + +thf(axclos_type,type,( + axclos: $o )). + +thf(axassoc_type,type,( + axassoc: $o )). + +thf(hoasinduction_lem2v2_type,type,( + hoasinduction_lem2v2: $o )). + +thf(pushprop_lthm_type,type,( + pushprop_lthm: $o )). + +thf(apinj2_type,type,( + apinj2: $o )). + +thf(apinj1_type,type,( + apinj1: $o )). + +thf(hoasapinj2_lthm_type,type,( + hoasapinj2_lthm: $o )). + +thf(hoasinduction_lem3v2a_type,type,( + hoasinduction_lem3v2a: $o )). + +thf(hoasapinj1_lthm_type,type,( + hoasapinj1_lthm: $o )). + +thf(hoaslaminj_lthm_type,type,( + hoaslaminj_lthm: $o )). + +thf(axvarcons_type,type,( + axvarcons: $o )). + +thf(hoaslam_type,type,( + hoaslam: subst > ( subst > term > term ) > term )). + +thf(axscons_type,type,( + axscons: $o )). + +thf(hoasinduction_lem2v2_gthm_type,type,( + hoasinduction_lem2v2_gthm: $o )). + +thf(axidr_type,type,( + axidr: $o )). + +thf(pushprop_lem1_type,type,( + pushprop_lem1: $o )). + +thf(laminj_type,type,( + laminj: $o )). + +thf(hoasinduction_lem3_lthm_type,type,( + hoasinduction_lem3_lthm: $o )). + +thf(pushprop_lem0_type,type,( + pushprop_lem0: $o )). + +thf(pushprop_gthm_type,type,( + pushprop_gthm: $o )). + +thf(axabs_type,type,( + axabs: $o )). + +thf(hoasinduction_lem3v2a_lthm_type,type,( + hoasinduction_lem3v2a_lthm: $o )). + +thf(hoasinduction_lem2_lthm_type,type,( + hoasinduction_lem2_lthm: $o )). + +thf(hoasapinj2_gthm_type,type,( + hoasapinj2_gthm: $o )). + +thf(hoasinduction_p_and_p_prime_type,type,( + hoasinduction_p_and_p_prime: ( subst > term > subst > $o ) > ( term > $o ) > $o )). + +thf(hoasinduction_lem1_lthm_type,type,( + hoasinduction_lem1_lthm: $o )). + +thf(lamnotap_type,type,( + lamnotap: $o )). + +thf(hoasapinj1_gthm_type,type,( + hoasapinj1_gthm: $o )). + +thf(hoaslamnotvar_type,type,( + hoaslamnotvar: $o )). + +thf(axidl_type,type,( + axidl: $o )). + +thf(hoaslaminj_gthm_type,type,( + hoaslaminj_gthm: $o )). + +thf(induction2_lthm_type,type,( + induction2_lthm: $o )). + +thf(hoasinduction_lem0_lthm_type,type,( + hoasinduction_lem0_lthm: $o )). + +thf(substmonoid_lthm_type,type,( + substmonoid_lthm: $o )). + +thf(pushprop_type,type,( + pushprop: $o )). + +thf(hoasinduction_lem3_gthm_type,type,( + hoasinduction_lem3_gthm: $o )). + +thf(hoasinduction_lem2_gthm_type,type,( + hoasinduction_lem2_gthm: $o )). + +thf(hoasinduction_lem3b_type,type,( + hoasinduction_lem3b: $o )). + +thf(substmonoid_type,type,( + substmonoid: $o )). + +thf(lamnotvar_type,type,( + lamnotvar: $o )). + +thf(hoasinduction_lem3a_type,type,( + hoasinduction_lem3a: $o )). + +thf(hoasinduction_lem1_gthm_type,type,( + hoasinduction_lem1_gthm: $o )). + +thf(hoasinduction_no_psi_cond_type,type,( + hoasinduction_no_psi_cond: $o )). + +thf(induction2_gthm_type,type,( + induction2_gthm: $o )). + +thf(pushprop_lem2v2_lthm_type,type,( + pushprop_lem2v2_lthm: $o )). + +thf(hoasvar_type,type,( + hoasvar: subst > term > subst > $o )). + +thf(hoaslamnotap_type,type,( + hoaslamnotap: $o )). + +thf(substmonoid_gthm_type,type,( + substmonoid_gthm: $o )). + +thf(ulamvarsh_type,type,( + ulamvarsh: $o )). + +thf(induction2_type,type,( + induction2: $o )). + +thf(pushprop_lem3v2_type,type,( + pushprop_lem3v2: $o )). + +thf(pushprop_lem2v2_gthm_type,type,( + pushprop_lem2v2_gthm: $o )). + +thf(pushprop_lem1_lthm_type,type,( + pushprop_lem1_lthm: $o )). + +thf(hoasinduction_lem3v2_type,type,( + hoasinduction_lem3v2: $o )). + +thf(axshiftcons_type,type,( + axshiftcons: $o )). + +thf(termmset_type,type,( + termmset: $o )). + +thf(pushprop_lem0_lthm_type,type,( + pushprop_lem0_lthm: $o )). + +thf(hoasapnotvar_lthm_type,type,( + hoasapnotvar_lthm: $o )). + +thf(hoasinduction_lem3v2_lthm_type,type,( + hoasinduction_lem3v2_lthm: $o )). + +thf(pushprop_p_and_p_prime_type,type,( + pushprop_p_and_p_prime: term > subst > ( term > $o ) > ( term > $o ) > $o )). + +thf(axvarid_type,type,( + axvarid: $o )). + +thf(hoasinduction_lthm_3_type,type,( + hoasinduction_lthm_3: $o )). + +thf(axapp,definition, + ( axapp + = ( ! [A: term,B: term,M: subst] : + ( ( sub @ ( ap @ A @ B ) @ M ) + = ( ap @ ( sub @ A @ M ) @ ( sub @ B @ M ) ) ) ) )). + +thf(axvarcons,definition, + ( axvarcons + = ( ! [A: term,M: subst] : + ( ( sub @ one @ ( push @ A @ M ) ) + = A ) ) )). + +thf(axvarid,definition, + ( axvarid + = ( ! [A: term] : + ( ( sub @ A @ id ) + = A ) ) )). + +thf(axabs,definition, + ( axabs + = ( ! [A: term,M: subst] : + ( ( sub @ ( lam @ A ) @ M ) + = ( lam @ ( sub @ A @ ( push @ one @ ( comp @ M @ sh ) ) ) ) ) ) )). + +thf(axclos,definition, + ( axclos + = ( ! [A: term,M: subst,N: subst] : + ( ( sub @ ( sub @ A @ M ) @ N ) + = ( sub @ A @ ( comp @ M @ N ) ) ) ) )). + +thf(axidl,definition, + ( axidl + = ( ! [M: subst] : + ( ( comp @ id @ M ) + = M ) ) )). + +thf(axshiftcons,definition, + ( axshiftcons + = ( ! [A: term,M: subst] : + ( ( comp @ sh @ ( push @ A @ M ) ) + = M ) ) )). + +thf(axassoc,definition, + ( axassoc + = ( ! [M: subst,N: subst,K: subst] : + ( ( comp @ ( comp @ M @ N ) @ K ) + = ( comp @ M @ ( comp @ N @ K ) ) ) ) )). + +thf(axmap,definition, + ( axmap + = ( ! [A: term,M: subst,N: subst] : + ( ( comp @ ( push @ A @ M ) @ N ) + = ( push @ ( sub @ A @ N ) @ ( comp @ M @ N ) ) ) ) )). + +thf(axidr,definition, + ( axidr + = ( ! [M: subst] : + ( ( comp @ M @ id ) + = M ) ) )). + +thf(axvarshift,definition, + ( axvarshift + = ( ( push @ one @ sh ) + = id ) )). + +thf(axscons,definition, + ( axscons + = ( ! [M: subst] : + ( ( push @ ( sub @ one @ M ) @ ( comp @ sh @ M ) ) + = M ) ) )). + +thf(ulamvar1,definition, + ( ulamvar1 + = ( var @ one ) )). + +thf(ulamvarsh,definition, + ( ulamvarsh + = ( ! [A: term] : + ( ( var @ A ) + => ( var @ ( sub @ A @ sh ) ) ) ) )). + +thf(ulamvarind,definition, + ( ulamvarind + = ( ! [P: term > $o] : + ( ( P @ one ) + => ( ! [A: term] : + ( ( var @ A ) + => ( ( P @ A ) + => ( P @ ( sub @ A @ sh ) ) ) ) + => ! [A: term] : + ( ( var @ A ) + => ( P @ A ) ) ) ) ) )). + +thf(apinj1,definition, + ( apinj1 + = ( ! [A: term,B: term,C: term,D: term] : + ( ( ( ap @ A @ C ) + = ( ap @ B @ D ) ) + => ( A = B ) ) ) )). + +thf(apinj2,definition, + ( apinj2 + = ( ! [A: term,B: term,C: term,D: term] : + ( ( ( ap @ A @ C ) + = ( ap @ B @ D ) ) + => ( C = D ) ) ) )). + +thf(laminj,definition, + ( laminj + = ( ! [A: term,B: term] : + ( ( ( lam @ A ) + = ( lam @ B ) ) + => ( A = B ) ) ) )). + +thf(shinj,definition, + ( shinj + = ( ! [A: term,B: term] : + ( ( ( sub @ A @ sh ) + = ( sub @ B @ sh ) ) + => ( A = B ) ) ) )). + +thf(lamnotap,definition, + ( lamnotap + = ( ! [A: term,B: term,C: term] : + ( ( lam @ A ) + != ( ap @ B @ C ) ) ) )). + +thf(apnotvar,definition, + ( apnotvar + = ( ! [A: term,B: term] : + ~ ( var @ ( ap @ A @ B ) ) ) )). + +thf(lamnotvar,definition, + ( lamnotvar + = ( ! [A: term] : + ~ ( var @ ( lam @ A ) ) ) )). + +thf(induction,definition, + ( induction + = ( ! [P: term > $o] : + ( ! [A: term] : + ( ( var @ A ) + => ( P @ A ) ) + => ( ! [A: term,B: term] : + ( ( P @ A ) + => ( ( P @ B ) + => ( P @ ( ap @ A @ B ) ) ) ) + => ( ! [A: term] : + ( ( P @ A ) + => ( P @ ( lam @ A ) ) ) + => ! [A: term] : + ( P @ A ) ) ) ) ) )). + +thf(pushprop_p_and_p_prime,definition, + ( pushprop_p_and_p_prime + = ( ^ [A: term,M: subst,P: term > $o,Q: term > $o] : + ! [X: term] : + ( ( Q @ X ) + <=> ( P @ ( sub @ X @ ( push @ A @ M ) ) ) ) ) )). + +thf(pushprop_lem0,definition, + ( pushprop_lem0 + = ( ! [P: term > $o,A: term,M: subst] : + ? [Q: term > $o] : + ( pushprop_p_and_p_prime @ A @ M @ P @ Q ) ) )). + +thf(pushprop_lem0_gthm,definition, + ( pushprop_lem0_gthm + = ( axapp + => ( axvarcons + => ( axvarid + => ( axabs + => ( axclos + => ( axidl + => ( axshiftcons + => ( axassoc + => ( axmap + => ( axidr + => ( axvarshift + => ( axscons + => ( ulamvar1 + => ( ulamvarsh + => ( ulamvarind + => ( apinj1 + => ( apinj2 + => ( laminj + => ( shinj + => ( lamnotap + => ( apnotvar + => ( lamnotvar + => ( induction + => pushprop_lem0 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )). + +thf(pushprop_lem0_lthm,definition,( + pushprop_lem0_lthm = pushprop_lem0 )). + +thf(pushprop_lem1,definition, + ( pushprop_lem1 + = ( ! [P: term > $o,K: term > $o,A: term,M: subst,B: term] : + ( ( P @ A ) + => ( K @ ( sub @ A @ ( push @ B @ M ) ) ) ) ) )). + +thf(pushprop_lem1_gthm,definition, + ( pushprop_lem1_gthm + = ( axapp + => ( axvarcons + => ( axvarid + => ( axabs + => ( axclos + => ( axidl + => ( axshiftcons + => ( axassoc + => ( axmap + => ( axidr + => ( axvarshift + => ( axscons + => ( ulamvar1 + => ( ulamvarsh + => ( ulamvarind + => ( apinj1 + => ( apinj2 + => ( laminj + => ( shinj + => ( lamnotap + => ( apnotvar + => ( lamnotvar + => ( induction + => pushprop_lem1 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )). + +thf(pushprop_lem1_lthm,definition, + ( pushprop_lem1_lthm + = ( axvarcons + => ( axclos + => ( axshiftcons + => ( ulamvarind + => pushprop_lem1 ) ) ) ) )). + +thf(pushprop_lem1v2,definition, + ( pushprop_lem1v2 + = ( ! [P: term > $o,Q: term > $o,A: term,M: subst] : + ( ( P @ A ) + => ( ( pushprop_p_and_p_prime @ A @ M @ P @ Q ) + => ( Q @ one ) ) ) ) )). + +thf(pushprop_lem1v2_gthm,definition, + ( pushprop_lem1v2_gthm + = ( axapp + => ( axvarcons + => ( axvarid + => ( axabs + => ( axclos + => ( axidl + => ( axshiftcons + => ( axassoc + => ( axmap + => ( axidr + => ( axvarshift + => ( axscons + => ( ulamvar1 + => ( ulamvarsh + => ( ulamvarind + => ( apinj1 + => ( apinj2 + => ( laminj + => ( shinj + => ( lamnotap + => ( apnotvar + => ( lamnotvar + => ( induction + => pushprop_lem1v2 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )). + +thf(pushprop_lem1v2_lthm,definition, + ( pushprop_lem1v2_lthm + = ( axvarcons + => pushprop_lem1v2 ) )). + +thf(pushprop_lem2v2,definition, + ( pushprop_lem2v2 + = ( ! [P: term > $o,Q: term > $o,A: term,M: subst] : + ( ( pushprop_p_and_p_prime @ A @ M @ P @ Q ) + => ( ! [B: term] : + ( ( var @ B ) + => ( P @ ( sub @ B @ M ) ) ) + => ! [C: term] : + ( ( var @ C ) + => ( ( Q @ C ) + => ( Q @ ( sub @ C @ sh ) ) ) ) ) ) ) )). + +thf(pushprop_lem2v2_gthm,definition, + ( pushprop_lem2v2_gthm + = ( axapp + => ( axvarcons + => ( axvarid + => ( axabs + => ( axclos + => ( axidl + => ( axshiftcons + => ( axassoc + => ( axmap + => ( axidr + => ( axvarshift + => ( axscons + => ( ulamvar1 + => ( ulamvarsh + => ( ulamvarind + => ( apinj1 + => ( apinj2 + => ( laminj + => ( shinj + => ( lamnotap + => ( apnotvar + => ( lamnotvar + => ( induction + => pushprop_lem2v2 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )). + +thf(pushprop_lem2v2_lthm,definition, + ( pushprop_lem2v2_lthm + = ( axclos + => ( axshiftcons + => pushprop_lem2v2 ) ) )). + +thf(pushprop_lem3v2,definition, + ( pushprop_lem3v2 + = ( ! [P: term > $o,Q: term > $o,A: term,M: subst] : + ( ( pushprop_p_and_p_prime @ A @ M @ P @ Q ) + => ( ! [B: term] : + ( ( var @ B ) + => ( Q @ B ) ) + => ! [B: term] : + ( ( var @ B ) + => ( P @ ( sub @ B @ ( push @ A @ M ) ) ) ) ) ) ) )). + +thf(pushprop_lem3v2_lthm,definition,( + pushprop_lem3v2_lthm = pushprop_lem3v2 )). + +thf(pushprop,definition, + ( pushprop + = ( ! [P: term > $o,A: term,M: subst] : + ( ! [B: term] : + ( ( var @ B ) + => ( P @ ( sub @ B @ M ) ) ) + => ( ( P @ A ) + => ! [B: term] : + ( ( var @ B ) + => ( P @ ( sub @ B @ ( push @ A @ M ) ) ) ) ) ) ) )). + +thf(pushprop_gthm,definition, + ( pushprop_gthm + = ( axapp + => ( axvarcons + => ( axvarid + => ( axabs + => ( axclos + => ( axidl + => ( axshiftcons + => ( axassoc + => ( axmap + => ( axidr + => ( axvarshift + => ( axscons + => ( ulamvar1 + => ( ulamvarsh + => ( ulamvarind + => ( apinj1 + => ( apinj2 + => ( laminj + => ( shinj + => ( lamnotap + => ( apnotvar + => ( lamnotvar + => ( induction + => pushprop ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )). + +thf(pushprop_lthm_orig,definition, + ( pushprop_lthm_orig + = ( ulamvar1 + => ( axvarcons + => ( axclos + => ( axshiftcons + => ( ulamvarind + => pushprop ) ) ) ) ) )). + +thf(pushprop_lthm,definition, + ( pushprop_lthm + = ( pushprop_lem0 + => ( ulamvar1 + => ( axvarcons + => ( axclos + => ( axshiftcons + => ( ulamvarind + => pushprop ) ) ) ) ) ) )). + +thf(induction2lem,definition, + ( induction2lem + = ( ! [P: term > $o] : + ( ! [A: term,B: term] : + ( ( P @ A ) + => ( ( P @ B ) + => ( P @ ( ap @ A @ B ) ) ) ) + => ( ! [A: term] : + ( ! [B: term] : + ( ( P @ B ) + => ( P @ ( sub @ A @ ( push @ B @ id ) ) ) ) + => ( P @ ( lam @ A ) ) ) + => ! [A: term,M: subst] : + ( ! [B: term] : + ( ( var @ B ) + => ( P @ ( sub @ B @ M ) ) ) + => ( P @ ( sub @ A @ M ) ) ) ) ) ) )). + +thf(induction2lem_gthm,definition, + ( induction2lem_gthm + = ( axapp + => ( axvarcons + => ( axvarid + => ( axabs + => ( axclos + => ( axidl + => ( axshiftcons + => ( axassoc + => ( axmap + => ( axidr + => ( axvarshift + => ( axscons + => ( ulamvar1 + => ( ulamvarsh + => ( ulamvarind + => ( apinj1 + => ( apinj2 + => ( laminj + => ( shinj + => ( lamnotap + => ( apnotvar + => ( lamnotvar + => ( induction + => ( pushprop + => induction2lem ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )). + +thf(induction2lem_lthm,definition, + ( induction2lem_lthm + = ( axapp + => ( axvarcons + => ( axabs + => ( axclos + => ( axshiftcons + => ( axassoc + => ( axmap + => ( axidr + => ( induction + => ( pushprop + => induction2lem ) ) ) ) ) ) ) ) ) ) )). + +thf(induction2,definition, + ( induction2 + = ( ! [P: term > $o] : + ( ! [A: term] : + ( ( var @ A ) + => ( P @ A ) ) + => ( ! [A: term,B: term] : + ( ( P @ A ) + => ( ( P @ B ) + => ( P @ ( ap @ A @ B ) ) ) ) + => ( ! [A: term] : + ( ! [B: term] : + ( ( P @ B ) + => ( P @ ( sub @ A @ ( push @ B @ id ) ) ) ) + => ( P @ ( lam @ A ) ) ) + => ! [A: term] : + ( P @ A ) ) ) ) ) )). + +thf(induction2_gthm,definition, + ( induction2_gthm + = ( axapp + => ( axvarcons + => ( axvarid + => ( axabs + => ( axclos + => ( axidl + => ( axshiftcons + => ( axassoc + => ( axmap + => ( axidr + => ( axvarshift + => ( axscons + => ( ulamvar1 + => ( ulamvarsh + => ( ulamvarind + => ( apinj1 + => ( apinj2 + => ( laminj + => ( shinj + => ( lamnotap + => ( apnotvar + => ( lamnotvar + => ( induction + => ( pushprop + => ( induction2lem + => induction2 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )). + +thf(induction2_lthm,definition, + ( induction2_lthm + = ( axvarid + => ( induction2lem + => induction2 ) ) )). + +thf(substmonoid,definition, + ( substmonoid + = ( ! [M: subst,N: subst,K: subst] : + ( ( comp @ ( comp @ M @ N ) @ K ) + = ( comp @ M @ ( comp @ N @ K ) ) ) + & ! [M: subst] : + ( ( comp @ id @ M ) + = M ) + & ! [M: subst] : + ( ( comp @ M @ id ) + = M ) ) )). + +thf(substmonoid_gthm,definition, + ( substmonoid_gthm + = ( axapp + => ( axvarcons + => ( axvarid + => ( axabs + => ( axclos + => ( axidl + => ( axshiftcons + => ( axassoc + => ( axmap + => ( axidr + => ( axvarshift + => ( axscons + => ( ulamvar1 + => ( ulamvarsh + => ( ulamvarind + => ( apinj1 + => ( apinj2 + => ( laminj + => ( shinj + => ( lamnotap + => ( apnotvar + => ( lamnotvar + => ( induction + => ( pushprop + => ( induction2lem + => ( induction2 + => substmonoid ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )). + +thf(substmonoid_lthm,definition, + ( substmonoid_lthm + = ( axidl + => ( axassoc + => ( axidr + => substmonoid ) ) ) )). + +thf(termmset,definition, + ( termmset + = ( ! [A: term,M: subst,N: subst] : + ( ( sub @ ( sub @ A @ M ) @ N ) + = ( sub @ A @ ( comp @ M @ N ) ) ) + & ! [A: term] : + ( ( sub @ A @ id ) + = A ) ) )). + +thf(termmset_gthm,definition, + ( termmset_gthm + = ( axapp + => ( axvarcons + => ( axvarid + => ( axabs + => ( axclos + => ( axidl + => ( axshiftcons + => ( axassoc + => ( axmap + => ( axidr + => ( axvarshift + => ( axscons + => ( ulamvar1 + => ( ulamvarsh + => ( ulamvarind + => ( apinj1 + => ( apinj2 + => ( laminj + => ( shinj + => ( lamnotap + => ( apnotvar + => ( lamnotvar + => ( induction + => ( pushprop + => ( induction2lem + => ( induction2 + => ( substmonoid + => termmset ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )). + +thf(termmset_lthm,definition, + ( termmset_lthm + = ( axvarid + => ( axclos + => termmset ) ) )). + +thf(hoasap,definition, + ( hoasap + = ( ^ [M: subst,A: term,N: subst,B: term] : + ( ap @ ( sub @ A @ N ) @ B ) ) )). + +thf(hoaslam,definition, + ( hoaslam + = ( ^ [M: subst,F: subst > term > term] : + ( lam @ ( F @ sh @ one ) ) ) )). + +thf(hoasvar,definition, + ( hoasvar + = ( ^ [M: subst,A: term,N: subst] : + ( var @ ( sub @ A @ N ) ) ) )). + +thf(hoasapinj1,definition, + ( hoasapinj1 + = ( ! [A: term,B: term,C: term,D: term] : + ( ( ( hoasap @ id @ A @ id @ C ) + = ( hoasap @ id @ B @ id @ D ) ) + => ( A = B ) ) ) )). + +thf(hoasapinj1_gthm,definition, + ( hoasapinj1_gthm + = ( axapp + => ( axvarcons + => ( axvarid + => ( axabs + => ( axclos + => ( axidl + => ( axshiftcons + => ( axassoc + => ( axmap + => ( axidr + => ( axvarshift + => ( axscons + => ( ulamvar1 + => ( ulamvarsh + => ( ulamvarind + => ( apinj1 + => ( apinj2 + => ( laminj + => ( shinj + => ( lamnotap + => ( apnotvar + => ( lamnotvar + => ( induction + => ( pushprop + => ( induction2lem + => ( induction2 + => ( substmonoid + => ( termmset + => hoasapinj1 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )). + +thf(hoasapinj1_lthm,definition, + ( hoasapinj1_lthm + = ( axvarid + => ( apinj1 + => hoasapinj1 ) ) )). + +thf(hoasapinj2,definition, + ( hoasapinj2 + = ( ! [A: term,B: term,C: term,D: term] : + ( ( ( hoasap @ id @ A @ id @ C ) + = ( hoasap @ id @ B @ id @ D ) ) + => ( C = D ) ) ) )). + +thf(hoasapinj2_gthm,definition, + ( hoasapinj2_gthm + = ( axapp + => ( axvarcons + => ( axvarid + => ( axabs + => ( axclos + => ( axidl + => ( axshiftcons + => ( axassoc + => ( axmap + => ( axidr + => ( axvarshift + => ( axscons + => ( ulamvar1 + => ( ulamvarsh + => ( ulamvarind + => ( apinj1 + => ( apinj2 + => ( laminj + => ( shinj + => ( lamnotap + => ( apnotvar + => ( lamnotvar + => ( induction + => ( pushprop + => ( induction2lem + => ( induction2 + => ( substmonoid + => ( termmset + => ( hoasapinj1 + => hoasapinj2 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )). + +thf(hoasapinj2_lthm,definition, + ( hoasapinj2_lthm + = ( apinj2 + => hoasapinj2 ) )). + +thf(hoaslaminj,definition, + ( hoaslaminj + = ( ! [F: subst > term > term] : + ( ! [M: subst,A: term,N: subst] : + ( ( sub @ ( F @ M @ A ) @ N ) + = ( F @ ( comp @ M @ N ) @ ( sub @ A @ N ) ) ) + => ! [G: subst > term > term] : + ( ! [M: subst,A: term,N: subst] : + ( ( sub @ ( G @ M @ A ) @ N ) + = ( G @ ( comp @ M @ N ) @ ( sub @ A @ N ) ) ) + => ( ( ( hoaslam @ id + @ ^ [M: subst,A: term] : + ( F @ M @ A ) ) + = ( hoaslam @ id + @ ^ [M: subst,A: term] : + ( G @ M @ A ) ) ) + => ! [M: subst,A: term] : + ( ( F @ M @ A ) + = ( G @ M @ A ) ) ) ) ) ) )). + +thf(hoaslaminj_gthm,definition, + ( hoaslaminj_gthm + = ( axapp + => ( axvarcons + => ( axvarid + => ( axabs + => ( axclos + => ( axidl + => ( axshiftcons + => ( axassoc + => ( axmap + => ( axidr + => ( axvarshift + => ( axscons + => ( ulamvar1 + => ( ulamvarsh + => ( ulamvarind + => ( apinj1 + => ( apinj2 + => ( laminj + => ( shinj + => ( lamnotap + => ( apnotvar + => ( lamnotvar + => ( induction + => ( pushprop + => ( induction2lem + => ( induction2 + => ( substmonoid + => ( termmset + => ( hoasapinj1 + => ( hoasapinj2 + => hoaslaminj ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )). + +thf(hoaslaminj_lthm,definition, + ( hoaslaminj_lthm + = ( axvarcons + => ( axshiftcons + => ( laminj + => hoaslaminj ) ) ) )). + +thf(hoaslamnotap,definition, + ( hoaslamnotap + = ( ! [F: subst > term > term] : + ( ! [M: subst,A: term,N: subst] : + ( ( sub @ ( F @ M @ A ) @ N ) + = ( F @ ( comp @ M @ N ) @ ( sub @ A @ N ) ) ) + => ! [A: term,B: term] : + ( ( hoaslam @ id + @ ^ [M: subst,C: term] : + ( F @ M @ C ) ) + != ( hoasap @ id @ A @ id @ B ) ) ) ) )). + +thf(hoaslamnotap_gthm,definition, + ( hoaslamnotap_gthm + = ( axapp + => ( axvarcons + => ( axvarid + => ( axabs + => ( axclos + => ( axidl + => ( axshiftcons + => ( axassoc + => ( axmap + => ( axidr + => ( axvarshift + => ( axscons + => ( ulamvar1 + => ( ulamvarsh + => ( ulamvarind + => ( apinj1 + => ( apinj2 + => ( laminj + => ( shinj + => ( lamnotap + => ( apnotvar + => ( lamnotvar + => ( induction + => ( pushprop + => ( induction2lem + => ( induction2 + => ( substmonoid + => ( termmset + => ( hoasapinj1 + => ( hoasapinj2 + => ( hoaslaminj + => hoaslamnotap ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )). + +thf(hoaslamnotap_lthm,definition, + ( hoaslamnotap_lthm + = ( lamnotap + => hoaslamnotap ) )). + +thf(hoaslamnotvar,definition, + ( hoaslamnotvar + = ( ! [F: subst > term > term] : + ( ! [M: subst,A: term,N: subst] : + ( ( sub @ ( F @ M @ A ) @ N ) + = ( F @ ( comp @ M @ N ) @ ( sub @ A @ N ) ) ) + => ~ ( hoasvar @ id + @ ( hoaslam @ id + @ ^ [M: subst,A: term] : + ( F @ M @ A ) ) + @ id ) ) ) )). + +thf(hoaslamnotvar_gthm,definition, + ( hoaslamnotvar_gthm + = ( axapp + => ( axvarcons + => ( axvarid + => ( axabs + => ( axclos + => ( axidl + => ( axshiftcons + => ( axassoc + => ( axmap + => ( axidr + => ( axvarshift + => ( axscons + => ( ulamvar1 + => ( ulamvarsh + => ( ulamvarind + => ( apinj1 + => ( apinj2 + => ( laminj + => ( shinj + => ( lamnotap + => ( apnotvar + => ( lamnotvar + => ( induction + => ( pushprop + => ( induction2lem + => ( induction2 + => ( substmonoid + => ( termmset + => ( hoasapinj1 + => ( hoasapinj2 + => ( hoaslaminj + => ( hoaslamnotap + => hoaslamnotvar ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )). + +thf(hoaslamnotvar_lthm,definition, + ( hoaslamnotvar_lthm + = ( axvarid + => ( lamnotvar + => hoaslamnotvar ) ) )). + +thf(hoasapnotvar,definition, + ( hoasapnotvar + = ( ! [A: term,B: term] : + ~ ( hoasvar @ id @ ( hoasap @ id @ A @ id @ B ) @ id ) ) )). + +thf(hoasapnotvar_gthm,definition, + ( hoasapnotvar_gthm + = ( axapp + => ( axvarcons + => ( axvarid + => ( axabs + => ( axclos + => ( axidl + => ( axshiftcons + => ( axassoc + => ( axmap + => ( axidr + => ( axvarshift + => ( axscons + => ( ulamvar1 + => ( ulamvarsh + => ( ulamvarind + => ( apinj1 + => ( apinj2 + => ( laminj + => ( shinj + => ( lamnotap + => ( apnotvar + => ( lamnotvar + => ( induction + => ( pushprop + => ( induction2lem + => ( induction2 + => ( substmonoid + => ( termmset + => ( hoasapinj1 + => ( hoasapinj2 + => ( hoaslaminj + => ( hoaslamnotap + => ( hoaslamnotvar + => hoasapnotvar ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )). + +thf(hoasapnotvar_lthm,definition, + ( hoasapnotvar_lthm + = ( axvarid + => ( apnotvar + => hoasapnotvar ) ) )). + +thf(hoasinduction_p_and_p_prime,definition, + ( hoasinduction_p_and_p_prime + = ( ^ [P: subst > term > subst > $o,Q: term > $o] : + ! [X: term] : + ( ( Q @ X ) + <=> ( P @ id @ X @ id ) ) ) )). + +thf(hoasinduction_lem0,definition, + ( hoasinduction_lem0 + = ( ! [P: subst > term > subst > $o] : + ? [Q: term > $o] : + ( hoasinduction_p_and_p_prime @ P @ Q ) ) )). + +thf(hoasinduction_lem0_lthm,definition,( + hoasinduction_lem0_lthm = hoasinduction_lem0 )). + +thf(hoasinduction_lem1v2,definition, + ( hoasinduction_lem1v2 + = ( ! [P: subst > term > subst > $o,Q: term > $o] : + ( ! [M: subst,A: term,N: subst,K: subst] : + ( ( P @ M @ A @ ( comp @ K @ N ) ) + => ( P @ ( comp @ M @ K ) @ ( sub @ A @ K ) @ N ) ) + => ( ! [M: subst,A: term,N: subst,K: subst] : + ( ( P @ ( comp @ M @ K ) @ ( sub @ A @ K ) @ N ) + => ( P @ M @ A @ ( comp @ K @ N ) ) ) + => ( ! [A: term] : + ( ( hoasvar @ id @ A @ id ) + => ( P @ id @ A @ id ) ) + => ( ( hoasinduction_p_and_p_prime @ P @ Q ) + => ! [A: term] : + ( ( var @ A ) + => ( Q @ A ) ) ) ) ) ) ) )). + +thf(hoasinduction_lem1v2_gthm,definition, + ( hoasinduction_lem1v2_gthm + = ( axapp + => ( axvarcons + => ( axvarid + => ( axabs + => ( axclos + => ( axidl + => ( axshiftcons + => ( axassoc + => ( axmap + => ( axidr + => ( axvarshift + => ( axscons + => ( ulamvar1 + => ( ulamvarsh + => ( ulamvarind + => ( apinj1 + => ( apinj2 + => ( laminj + => ( shinj + => ( lamnotap + => ( apnotvar + => ( lamnotvar + => ( induction + => ( pushprop + => ( induction2lem + => ( induction2 + => ( substmonoid + => ( termmset + => ( hoasapinj1 + => ( hoasapinj2 + => ( hoaslaminj + => ( hoaslamnotap + => ( hoaslamnotvar + => ( hoasapnotvar + => hoasinduction_lem1v2 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )). + +thf(hoasinduction_lem2v2,definition, + ( hoasinduction_lem2v2 + = ( ! [P: subst > term > subst > $o,Q: term > $o] : + ( ! [M: subst,A: term,N: subst,K: subst] : + ( ( P @ M @ A @ ( comp @ K @ N ) ) + => ( P @ ( comp @ M @ K ) @ ( sub @ A @ K ) @ N ) ) + => ( ! [M: subst,A: term,N: subst,K: subst] : + ( ( P @ ( comp @ M @ K ) @ ( sub @ A @ K ) @ N ) + => ( P @ M @ A @ ( comp @ K @ N ) ) ) + => ( ! [A: term,B: term] : + ( ( P @ id @ A @ id ) + => ( ( P @ id @ B @ id ) + => ( P @ id @ ( hoasap @ id @ A @ id @ B ) @ id ) ) ) + => ( ( hoasinduction_p_and_p_prime @ P @ Q ) + => ! [A: term,B: term] : + ( ( Q @ A ) + => ( ( Q @ B ) + => ( Q @ ( ap @ A @ B ) ) ) ) ) ) ) ) ) )). + +thf(hoasinduction_lem2v2_gthm,definition, + ( hoasinduction_lem2v2_gthm + = ( axapp + => ( axvarcons + => ( axvarid + => ( axabs + => ( axclos + => ( axidl + => ( axshiftcons + => ( axassoc + => ( axmap + => ( axidr + => ( axvarshift + => ( axscons + => ( ulamvar1 + => ( ulamvarsh + => ( ulamvarind + => ( apinj1 + => ( apinj2 + => ( laminj + => ( shinj + => ( lamnotap + => ( apnotvar + => ( lamnotvar + => ( induction + => ( pushprop + => ( induction2lem + => ( induction2 + => ( substmonoid + => ( termmset + => ( hoasapinj1 + => ( hoasapinj2 + => ( hoaslaminj + => ( hoaslamnotap + => ( hoaslamnotvar + => ( hoasapnotvar + => hoasinduction_lem2v2 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )). + +thf(hoasinduction_lem3v2_f,definition, + ( hoasinduction_lem3v2_f + = ( ! [B: term] : + ? [F: subst > term > term] : + ! [A: term,M: subst] : + ( ( F @ M @ A ) + = ( sub @ B @ ( push @ A @ M ) ) ) ) )). + +thf(hoasinduction_lem3v2_f_lthm,definition,( + hoasinduction_lem3v2_f_lthm = hoasinduction_lem3v2_f )). + +thf(hoasinduction_lem3v2,definition, + ( hoasinduction_lem3v2 + = ( ! [P: subst > term > subst > $o,Q: term > $o] : + ( ! [M: subst,A: term,N: subst,K: subst] : + ( ( P @ M @ A @ ( comp @ K @ N ) ) + => ( P @ ( comp @ M @ K ) @ ( sub @ A @ K ) @ N ) ) + => ( ! [M: subst,A: term,N: subst,K: subst] : + ( ( P @ ( comp @ M @ K ) @ ( sub @ A @ K ) @ N ) + => ( P @ M @ A @ ( comp @ K @ N ) ) ) + => ( ! [F: subst > term > term] : + ( ! [M: subst,A: term,N: subst] : + ( ( sub @ ( F @ M @ A ) @ N ) + = ( F @ ( comp @ M @ N ) @ ( sub @ A @ N ) ) ) + => ( ! [A: term] : + ( ( P @ id @ A @ id ) + => ( P @ id @ ( F @ id @ A ) @ id ) ) + => ( P @ id + @ ( hoaslam @ id + @ ^ [M: subst,A: term] : + ( F @ M @ A ) ) + @ id ) ) ) + => ( ( hoasinduction_p_and_p_prime @ P @ Q ) + => ! [A: term] : + ( ! [B: term] : + ( ( Q @ B ) + => ( Q @ ( sub @ A @ ( push @ B @ id ) ) ) ) + => ( Q @ ( lam @ A ) ) ) ) ) ) ) ) )). + +thf(hoasinduction_lem3v2_gthm,definition, + ( hoasinduction_lem3v2_gthm + = ( axapp + => ( axvarcons + => ( axvarid + => ( axabs + => ( axclos + => ( axidl + => ( axshiftcons + => ( axassoc + => ( axmap + => ( axidr + => ( axvarshift + => ( axscons + => ( ulamvar1 + => ( ulamvarsh + => ( ulamvarind + => ( apinj1 + => ( apinj2 + => ( laminj + => ( shinj + => ( lamnotap + => ( apnotvar + => ( lamnotvar + => ( induction + => ( pushprop + => ( induction2lem + => ( induction2 + => ( substmonoid + => ( termmset + => ( hoasapinj1 + => ( hoasapinj2 + => ( hoaslaminj + => ( hoaslamnotap + => ( hoaslamnotvar + => ( hoasapnotvar + => hoasinduction_lem3v2 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )). + +thf(hoasinduction_lem3v2_lthm,definition, + ( hoasinduction_lem3v2_lthm + = ( axvarid + => ( axvarshift + => ( axclos + => ( axmap + => hoasinduction_lem3v2 ) ) ) ) )). + +thf(hoasinduction_lem3v2a,definition, + ( hoasinduction_lem3v2a + = ( ! [P: subst > term > subst > $o,Q: term > $o] : + ( ! [F: subst > term > term] : + ( ! [M: subst,A: term,N: subst] : + ( ( sub @ ( F @ M @ A ) @ N ) + = ( F @ ( comp @ M @ N ) @ ( sub @ A @ N ) ) ) + => ( ! [A: term] : + ( ( P @ id @ A @ id ) + => ( P @ id @ ( F @ id @ A ) @ id ) ) + => ( P @ id + @ ( hoaslam @ id + @ ^ [M: subst,A: term] : + ( F @ M @ A ) ) + @ id ) ) ) + => ( ( hoasinduction_p_and_p_prime @ P @ Q ) + => ! [A: term] : + ( ! [B: term] : + ( ( Q @ B ) + => ( Q @ ( sub @ A @ ( push @ B @ id ) ) ) ) + => ( Q @ ( lam @ A ) ) ) ) ) ) )). + +thf(hoasinduction_lem3v2a_lthm,definition, + ( hoasinduction_lem3v2a_lthm + = ( hoasinduction_lem3v2_f + => ( axvarid + => ( axvarshift + => ( axclos + => ( axmap + => hoasinduction_lem3v2a ) ) ) ) ) )). + +thf(hoasinduction_lem1,definition, + ( hoasinduction_lem1 + = ( ! [P: subst > term > subst > $o] : + ( ! [M: subst,A: term,N: subst,K: subst] : + ( ( P @ M @ A @ ( comp @ K @ N ) ) + => ( P @ ( comp @ M @ K ) @ ( sub @ A @ K ) @ N ) ) + => ( ! [M: subst,A: term,N: subst,K: subst] : + ( ( P @ ( comp @ M @ K ) @ ( sub @ A @ K ) @ N ) + => ( P @ M @ A @ ( comp @ K @ N ) ) ) + => ( ! [A: term] : + ( ( hoasvar @ id @ A @ id ) + => ( P @ id @ A @ id ) ) + => ! [A: term] : + ( ( var @ A ) + => ( P @ id @ A @ id ) ) ) ) ) ) )). + +thf(hoasinduction_lem1_gthm,definition, + ( hoasinduction_lem1_gthm + = ( axapp + => ( axvarcons + => ( axvarid + => ( axabs + => ( axclos + => ( axidl + => ( axshiftcons + => ( axassoc + => ( axmap + => ( axidr + => ( axvarshift + => ( axscons + => ( ulamvar1 + => ( ulamvarsh + => ( ulamvarind + => ( apinj1 + => ( apinj2 + => ( laminj + => ( shinj + => ( lamnotap + => ( apnotvar + => ( lamnotvar + => ( induction + => ( pushprop + => ( induction2lem + => ( induction2 + => ( substmonoid + => ( termmset + => ( hoasapinj1 + => ( hoasapinj2 + => ( hoaslaminj + => ( hoaslamnotap + => ( hoaslamnotvar + => ( hoasapnotvar + => hoasinduction_lem1 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )). + +thf(hoasinduction_lem1_lthm,definition, + ( hoasinduction_lem1_lthm + = ( axapp + => ( axvarcons + => ( axvarid + => ( axabs + => ( axclos + => ( axidl + => ( axshiftcons + => ( axassoc + => ( axmap + => ( axidr + => ( axvarshift + => ( axscons + => ( ulamvar1 + => ( ulamvarsh + => ( ulamvarind + => ( apinj1 + => ( apinj2 + => ( laminj + => ( shinj + => ( lamnotap + => ( apnotvar + => ( lamnotvar + => ( induction + => ( pushprop + => ( induction2lem + => ( induction2 + => ( substmonoid + => ( termmset + => ( hoasapinj1 + => ( hoasapinj2 + => ( hoaslaminj + => ( hoaslamnotap + => ( hoaslamnotvar + => ( hoasapnotvar + => hoasinduction_lem1 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )). + +thf(hoasinduction_lem2,definition, + ( hoasinduction_lem2 + = ( ! [P: subst > term > subst > $o] : + ( ! [M: subst,A: term,N: subst,K: subst] : + ( ( P @ M @ A @ ( comp @ K @ N ) ) + => ( P @ ( comp @ M @ K ) @ ( sub @ A @ K ) @ N ) ) + => ( ! [M: subst,A: term,N: subst,K: subst] : + ( ( P @ ( comp @ M @ K ) @ ( sub @ A @ K ) @ N ) + => ( P @ M @ A @ ( comp @ K @ N ) ) ) + => ( ! [A: term,B: term] : + ( ( P @ id @ A @ id ) + => ( ( P @ id @ B @ id ) + => ( P @ id @ ( hoasap @ id @ A @ id @ B ) @ id ) ) ) + => ! [A: term,B: term] : + ( ( P @ id @ A @ id ) + => ( ( P @ id @ B @ id ) + => ( P @ id @ ( ap @ A @ B ) @ id ) ) ) ) ) ) ) )). + +thf(hoasinduction_lem2_gthm,definition, + ( hoasinduction_lem2_gthm + = ( axapp + => ( axvarcons + => ( axvarid + => ( axabs + => ( axclos + => ( axidl + => ( axshiftcons + => ( axassoc + => ( axmap + => ( axidr + => ( axvarshift + => ( axscons + => ( ulamvar1 + => ( ulamvarsh + => ( ulamvarind + => ( apinj1 + => ( apinj2 + => ( laminj + => ( shinj + => ( lamnotap + => ( apnotvar + => ( lamnotvar + => ( induction + => ( pushprop + => ( induction2lem + => ( induction2 + => ( substmonoid + => ( termmset + => ( hoasapinj1 + => ( hoasapinj2 + => ( hoaslaminj + => ( hoaslamnotap + => ( hoaslamnotvar + => ( hoasapnotvar + => hoasinduction_lem2 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )). + +thf(hoasinduction_lem2_lthm,definition, + ( hoasinduction_lem2_lthm + = ( axapp + => ( axvarcons + => ( axvarid + => ( axabs + => ( axclos + => ( axidl + => ( axshiftcons + => ( axassoc + => ( axmap + => ( axidr + => ( axvarshift + => ( axscons + => ( ulamvar1 + => ( ulamvarsh + => ( ulamvarind + => ( apinj1 + => ( apinj2 + => ( laminj + => ( shinj + => ( lamnotap + => ( apnotvar + => ( lamnotvar + => ( induction + => ( pushprop + => ( induction2lem + => ( induction2 + => ( substmonoid + => ( termmset + => ( hoasapinj1 + => ( hoasapinj2 + => ( hoaslaminj + => ( hoaslamnotap + => ( hoaslamnotvar + => ( hoasapnotvar + => hoasinduction_lem2 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )). + +thf(hoasinduction_lem3aa,definition, + ( hoasinduction_lem3aa + = ( ! [P: subst > term > subst > $o] : + ( ! [F: subst > term > term] : + ( ! [M: subst,A: term,N: subst] : + ( ( sub @ ( F @ M @ A ) @ N ) + = ( F @ ( comp @ M @ N ) @ ( sub @ A @ N ) ) ) + => ( ! [A: term] : + ( ( P @ id @ A @ id ) + => ( P @ id @ ( F @ id @ A ) @ id ) ) + => ( P @ id + @ ( hoaslam @ id + @ ^ [M: subst,A: term] : + ( F @ M @ A ) ) + @ id ) ) ) + => ! [A: term] : + ( ! [B: term] : + ( ( P @ id @ B @ id ) + => ( P @ id @ ( sub @ A @ ( push @ B @ id ) ) @ id ) ) + => ( P @ id @ ( lam @ ( sub @ A @ ( push @ one @ sh ) ) ) @ id ) ) ) ) )). + +thf(hoasinduction_lem3aa_lthm,definition, + ( hoasinduction_lem3aa_lthm + = ( axclos + => ( axmap + => hoasinduction_lem3aa ) ) )). + +thf(hoasinduction_lem3aaa,definition, + ( hoasinduction_lem3aaa + = ( ! [P: subst > term > subst > $o] : + ( ! [F: subst > term > term] : + ( ? [C: term] : + ! [M: subst,A: term,N: subst] : + ( ( ( sub @ ( F @ M @ A ) @ N ) + = ( sub @ ( sub @ C @ ( push @ A @ M ) ) @ N ) ) + & ( ( sub @ C @ ( push @ ( sub @ A @ N ) @ ( comp @ M @ N ) ) ) + = ( F @ ( comp @ M @ N ) @ ( sub @ A @ N ) ) ) ) + => ( ! [A: term] : + ( ( P @ id @ A @ id ) + => ( P @ id @ ( F @ id @ A ) @ id ) ) + => ( P @ id + @ ( hoaslam @ id + @ ^ [M: subst,A: term] : + ( F @ M @ A ) ) + @ id ) ) ) + => ! [A: term] : + ( ! [B: term] : + ( ( P @ id @ B @ id ) + => ( P @ id @ ( sub @ A @ ( push @ B @ id ) ) @ id ) ) + => ( P @ id @ ( lam @ ( sub @ A @ ( push @ one @ sh ) ) ) @ id ) ) ) ) )). + +thf(hoasinduction_lem3,definition, + ( hoasinduction_lem3 + = ( ! [P: subst > term > subst > $o] : + ( ! [M: subst,A: term,N: subst,K: subst] : + ( ( P @ M @ A @ ( comp @ K @ N ) ) + => ( P @ ( comp @ M @ K ) @ ( sub @ A @ K ) @ N ) ) + => ( ! [M: subst,A: term,N: subst,K: subst] : + ( ( P @ ( comp @ M @ K ) @ ( sub @ A @ K ) @ N ) + => ( P @ M @ A @ ( comp @ K @ N ) ) ) + => ( ! [F: subst > term > term] : + ( ! [M: subst,A: term,N: subst] : + ( ( sub @ ( F @ M @ A ) @ N ) + = ( F @ ( comp @ M @ N ) @ ( sub @ A @ N ) ) ) + => ( ! [A: term] : + ( ( P @ id @ A @ id ) + => ( P @ id @ ( F @ id @ A ) @ id ) ) + => ( P @ id + @ ( hoaslam @ id + @ ^ [M: subst,A: term] : + ( F @ M @ A ) ) + @ id ) ) ) + => ! [A: term] : + ( ! [B: term] : + ( ( P @ id @ B @ id ) + => ( P @ id @ ( sub @ A @ ( push @ B @ id ) ) @ id ) ) + => ( P @ id @ ( lam @ A ) @ id ) ) ) ) ) ) )). + +thf(hoasinduction_lem3_gthm,definition, + ( hoasinduction_lem3_gthm + = ( axapp + => ( axvarcons + => ( axvarid + => ( axabs + => ( axclos + => ( axidl + => ( axshiftcons + => ( axassoc + => ( axmap + => ( axidr + => ( axvarshift + => ( axscons + => ( ulamvar1 + => ( ulamvarsh + => ( ulamvarind + => ( apinj1 + => ( apinj2 + => ( laminj + => ( shinj + => ( lamnotap + => ( apnotvar + => ( lamnotvar + => ( induction + => ( pushprop + => ( induction2lem + => ( induction2 + => ( substmonoid + => ( termmset + => ( hoasapinj1 + => ( hoasapinj2 + => ( hoaslaminj + => ( hoaslamnotap + => ( hoaslamnotvar + => ( hoasapnotvar + => ( hoasinduction_lem1 + => ( hoasinduction_lem2 + => hoasinduction_lem3 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )). + +thf(hoasinduction_lem3_lthm,definition, + ( hoasinduction_lem3_lthm + = ( axvarid + => ( axvarshift + => ( hoasinduction_lem3aa + => hoasinduction_lem3 ) ) ) )). + +thf(hoasinduction_lem3a,definition, + ( hoasinduction_lem3a + = ( ! [P: subst > term > subst > $o] : + ( ! [F: subst > term > term] : + ( ! [M: subst,A: term,N: subst] : + ( ( sub @ ( F @ M @ A ) @ N ) + = ( F @ ( comp @ M @ N ) @ ( sub @ A @ N ) ) ) + => ( ! [A: term] : + ( ( P @ id @ A @ id ) + => ( P @ id @ ( F @ id @ A ) @ id ) ) + => ( P @ id + @ ( hoaslam @ id + @ ^ [M: subst,A: term] : + ( F @ M @ A ) ) + @ id ) ) ) + => ! [A: term] : + ( ! [B: term] : + ( ( P @ id @ B @ id ) + => ( P @ id @ ( sub @ A @ ( push @ B @ id ) ) @ id ) ) + => ( P @ id @ ( lam @ A ) @ id ) ) ) ) )). + +thf(hoasinduction_lem3a_gthm,definition, + ( hoasinduction_lem3a_gthm + = ( axapp + => ( axvarcons + => ( axvarid + => ( axabs + => ( axclos + => ( axidl + => ( axshiftcons + => ( axassoc + => ( axmap + => ( axidr + => ( axvarshift + => ( axscons + => ( ulamvar1 + => ( ulamvarsh + => ( ulamvarind + => ( apinj1 + => ( apinj2 + => ( laminj + => ( shinj + => ( lamnotap + => ( apnotvar + => ( lamnotvar + => ( induction + => ( pushprop + => ( induction2lem + => ( induction2 + => ( substmonoid + => ( termmset + => ( hoasapinj1 + => ( hoasapinj2 + => ( hoaslaminj + => ( hoaslamnotap + => ( hoaslamnotvar + => ( hoasapnotvar + => ( hoasinduction_lem1 + => ( hoasinduction_lem2 + => hoasinduction_lem3a ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )). + +thf(hoasinduction_lem3a_lthm,definition, + ( hoasinduction_lem3a_lthm + = ( axvarid + => ( axvarshift + => ( hoasinduction_lem3aa + => hoasinduction_lem3a ) ) ) )). + +thf(hoasinduction_lem3b,definition, + ( hoasinduction_lem3b + = ( ! [B: term] : + ? [F: subst > term > term] : + ( ( sub @ B @ ( push @ one @ sh ) ) + = ( F @ sh @ one ) ) ) )). + +thf(hoasinduction_lem3b_gthm,definition, + ( hoasinduction_lem3b_gthm + = ( axapp + => ( axvarcons + => ( axvarid + => ( axabs + => ( axclos + => ( axidl + => ( axshiftcons + => ( axassoc + => ( axmap + => ( axidr + => ( axvarshift + => ( axscons + => ( ulamvar1 + => ( ulamvarsh + => ( ulamvarind + => ( apinj1 + => ( apinj2 + => ( laminj + => ( shinj + => ( lamnotap + => ( apnotvar + => ( lamnotvar + => ( induction + => ( pushprop + => ( induction2lem + => ( induction2 + => ( substmonoid + => ( termmset + => ( hoasapinj1 + => ( hoasapinj2 + => ( hoaslaminj + => ( hoaslamnotap + => ( hoaslamnotvar + => ( hoasapnotvar + => ( hoasinduction_lem1 + => ( hoasinduction_lem2 + => hoasinduction_lem3b ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )). + +thf(hoasinduction_lem3b_lthm,definition,( + hoasinduction_lem3b_lthm = hoasinduction_lem3b )). + +thf(hoasinduction,definition, + ( hoasinduction + = ( ! [P: subst > term > subst > $o] : + ( ! [M: subst,A: term,N: subst,K: subst] : + ( ( P @ M @ A @ ( comp @ K @ N ) ) + => ( P @ ( comp @ M @ K ) @ ( sub @ A @ K ) @ N ) ) + => ( ! [M: subst,A: term,N: subst,K: subst] : + ( ( P @ ( comp @ M @ K ) @ ( sub @ A @ K ) @ N ) + => ( P @ M @ A @ ( comp @ K @ N ) ) ) + => ( ! [A: term] : + ( ( hoasvar @ id @ A @ id ) + => ( P @ id @ A @ id ) ) + => ( ! [A: term,B: term] : + ( ( P @ id @ A @ id ) + => ( ( P @ id @ B @ id ) + => ( P @ id @ ( hoasap @ id @ A @ id @ B ) @ id ) ) ) + => ( ! [F: subst > term > term] : + ( ! [M: subst,A: term,N: subst] : + ( ( sub @ ( F @ M @ A ) @ N ) + = ( F @ ( comp @ M @ N ) @ ( sub @ A @ N ) ) ) + => ( ! [A: term] : + ( ( P @ id @ A @ id ) + => ( P @ id @ ( F @ id @ A ) @ id ) ) + => ( P @ id + @ ( hoaslam @ id + @ ^ [M: subst,A: term] : + ( F @ M @ A ) ) + @ id ) ) ) + => ! [A: term] : + ( P @ id @ A @ id ) ) ) ) ) ) ) )). + +thf(hoasinduction_gthm,definition, + ( hoasinduction_gthm + = ( axapp + => ( axvarcons + => ( axvarid + => ( axabs + => ( axclos + => ( axidl + => ( axshiftcons + => ( axassoc + => ( axmap + => ( axidr + => ( axvarshift + => ( axscons + => ( ulamvar1 + => ( ulamvarsh + => ( ulamvarind + => ( apinj1 + => ( apinj2 + => ( laminj + => ( shinj + => ( lamnotap + => ( apnotvar + => ( lamnotvar + => ( induction + => ( pushprop + => ( induction2lem + => ( induction2 + => ( substmonoid + => ( termmset + => ( hoasapinj1 + => ( hoasapinj2 + => ( hoaslaminj + => ( hoaslamnotap + => ( hoaslamnotvar + => ( hoasapnotvar + => ( hoasinduction_lem1 + => ( hoasinduction_lem2 + => ( hoasinduction_lem3 + => hoasinduction ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )). + +thf(hoasinduction_lthm,definition, + ( hoasinduction_lthm + = ( induction2 + => ( hoasinduction_lem1 + => ( hoasinduction_lem2 + => ( hoasinduction_lem3 + => hoasinduction ) ) ) ) )). + +thf(hoasinduction_lthm_3,definition, + ( hoasinduction_lthm_3 + = ( hoasinduction_lem0 + => ( induction2 + => ( axvarid + => ( hoasinduction_lem3v2a + => hoasinduction ) ) ) ) )). + +thf(hoasinduction_no_psi_cond,definition, + ( hoasinduction_no_psi_cond + = ( ! [P: subst > term > subst > $o] : + ( ! [A: term,B: term] : + ( ( P @ id @ A @ id ) + => ( ( P @ id @ B @ id ) + => ( P @ id @ ( hoasap @ id @ A @ id @ B ) @ id ) ) ) + => ( ! [F: subst > term > term] : + ( ! [M: subst,A: term,N: subst] : + ( ( sub @ ( F @ M @ A ) @ N ) + = ( F @ ( comp @ M @ N ) @ ( sub @ A @ N ) ) ) + => ( ! [A: term] : + ( ( P @ id @ A @ id ) + => ( P @ id @ ( F @ id @ A ) @ id ) ) + => ( P @ id + @ ( hoaslam @ id + @ ^ [M: subst,A: term] : + ( F @ M @ A ) ) + @ id ) ) ) + => ! [A: term] : + ( P @ id @ A @ id ) ) ) ) )). + +thf(hoasinduction_no_psi_cond_lthm,definition, + ( hoasinduction_no_psi_cond_lthm + = ( hoasinduction_lem0 + => ( induction2 + => ( axvarid + => ( hoasinduction_lem3v2a + => hoasinduction_no_psi_cond ) ) ) ) )). + + +thf(thm,conjecture,( + pushprop_lem1v2_lthm )). + +%------------------------------------------------------------------------------ diff --git a/test/regress/regress2/ho/partial_app_interpreted_SWW474^2.p b/test/regress/regress2/ho/partial_app_interpreted_SWW474^2.p new file mode 100644 index 000000000..b4e9e9bb7 --- /dev/null +++ b/test/regress/regress2/ho/partial_app_interpreted_SWW474^2.p @@ -0,0 +1,5211 @@ +% COMMAND-LINE: --uf-ho --full-saturate-quant --ho-elim --no-check-unsat-cores --no-check-proofs +% EXPECT: % SZS status Theorem for partial_app_interpreted_SWW474^2 + +%------------------------------------------------------------------------------ +% File : SWW474^2 : TPTP v7.2.0. Released v5.3.0. +% Domain : Software Verification +% Problem : Hoare's Logic with Procedures line 440, 500 axioms selected +% Version : Especial. +% English : + +% Refs : [BN10] Boehme & Nipkow (2010), Sledgehammer: Judgement Day +% : [Bla11] Blanchette (2011), Email to Geoff Sutcliffe +% Source : [Bla11] +% Names : hoare_500_thf_l440 [Bla11] + +% Status : Theorem +% Rating : 0.56 v7.2.0, 0.50 v7.0.0, 0.43 v6.4.0, 0.50 v6.3.0, 0.60 v6.2.0, 0.43 v6.1.0, 0.71 v5.5.0, 0.67 v5.4.0, 0.80 v5.3.0 +% Syntax : Number of formulae : 833 ( 2 unit; 110 type; 0 defn) +% Number of atoms : 8029 ( 594 equality;4565 variable) +% Maximal formula depth : 19 ( 8 average) +% Number of connectives : 6344 ( 226 ~; 35 |; 108 &;5021 @) +% ( 116 <=>; 838 =>; 0 <=; 0 <~>) +% ( 0 ~|; 0 ~&) +% Number of type conns : 2404 (2404 >; 0 *; 0 +; 0 <<) +% Number of symbols : 118 ( 110 :; 0 =) +% Number of variables : 2030 ( 12 sgn;1851 !; 48 ?; 131 ^) +% (2030 :; 0 !>; 0 ?*) +% ( 0 @-; 0 @+) +% SPC : TH0_THM_EQU_NAR + +% Comments : This file was generated by Isabelle (most likely Sledgehammer) +% 2011-08-09 19:43:11 +%------------------------------------------------------------------------------ +%----Should-be-implicit typings (7) +thf(ty_ty_tc__Com__Ocom,type,( + com: $tType )). + +thf(ty_ty_tc__Com__Opname,type,( + pname: $tType )). + +thf(ty_ty_tc__Com__Ostate,type,( + state: $tType )). + +thf(ty_ty_tc__Hoare____Mirabelle____srushsumbx__Otriple_Itc__Com__Ostate_J,type,( + hoare_1167836817_state: $tType )). + +thf(ty_ty_tc__Option__Ooption_Itc__Com__Ocom_J,type,( + option_com: $tType )). + +thf(ty_ty_tc__Option__Ooption_Itc__Com__Opname_J,type,( + option_pname: $tType )). + +thf(ty_ty_tc__Option__Ooption_Itc__Hoare____Mirabelle____srushsumbx__Otriple_Itc__Co,type,( + option1574264306_state: $tType )). + +%----Explicit typings (103) +thf(sy_c_Com_OWT,type,( + wt: com > $o )). + +thf(sy_c_Com_OWT__bodies,type,( + wT_bodies: $o )). + +thf(sy_c_Com_Obody,type,( + body: pname > option_com )). + +thf(sy_c_Com_Ocom_OBODY,type,( + body_1: pname > com )). + +thf(sy_c_Com_Ocom_OSKIP,type,( + skip: com )). + +thf(sy_c_Com_Ocom_OSemi,type,( + semi: com > com > com )). + +thf(sy_c_Com_Ocom_OWhile,type,( + while: ( state > $o ) > com > com )). + +thf(sy_c_Finite__Set_Ofinite_000_062_I_062_Itc__Com__Opname_M_Eo_J_M_Eo_J,type,( + finite1066544169me_o_o: ( ( ( pname > $o ) > $o ) > $o ) > $o )). + +thf(sy_c_Finite__Set_Ofinite_000_062_I_062_Itc__Hoare____Mirabelle____srushsumbx__Ot,type,( + finite33115244te_o_o: ( ( ( hoare_1167836817_state > $o ) > $o ) > $o ) > $o )). + +thf(sy_c_Finite__Set_Ofinite_000_062_Itc__Com__Opname_M_Eo_J,type,( + finite297249702name_o: ( ( pname > $o ) > $o ) > $o )). + +thf(sy_c_Finite__Set_Ofinite_000_062_Itc__Hoare____Mirabelle____srushsumbx__Otriple_,type,( + finite1380128977tate_o: ( ( hoare_1167836817_state > $o ) > $o ) > $o )). + +thf(sy_c_Finite__Set_Ofinite_000tc__Com__Opname,type,( + finite_finite_pname: ( pname > $o ) > $o )). + +thf(sy_c_Finite__Set_Ofinite_000tc__Hoare____Mirabelle____srushsumbx__Otriple_Itc__C,type,( + finite1084549118_state: ( hoare_1167836817_state > $o ) > $o )). + +thf(sy_c_Finite__Set_Ofolding__one_000_062_Itc__Com__Opname_M_Eo_J,type,( + finite349908348name_o: ( ( pname > $o ) > ( pname > $o ) > pname > $o ) > ( ( ( pname > $o ) > $o ) > pname > $o ) > $o )). + +thf(sy_c_Finite__Set_Ofolding__one_000_062_Itc__Hoare____Mirabelle____srushsumbx__Ot,type,( + finite979047547tate_o: ( ( hoare_1167836817_state > $o ) > ( hoare_1167836817_state > $o ) > hoare_1167836817_state > $o ) > ( ( ( hoare_1167836817_state > $o ) > $o ) > hoare_1167836817_state > $o ) > $o )). + +thf(sy_c_Finite__Set_Ofolding__one_000tc__Com__Opname,type,( + finite1282449217_pname: ( pname > pname > pname ) > ( ( pname > $o ) > pname ) > $o )). + +thf(sy_c_Finite__Set_Ofolding__one_000tc__Hoare____Mirabelle____srushsumbx__Otriple_,type,( + finite1074406356_state: ( hoare_1167836817_state > hoare_1167836817_state > hoare_1167836817_state ) > ( ( hoare_1167836817_state > $o ) > hoare_1167836817_state ) > $o )). + +thf(sy_c_Finite__Set_Ofolding__one__idem_000_062_Itc__Com__Opname_M_Eo_J,type,( + finite697516351name_o: ( ( pname > $o ) > ( pname > $o ) > pname > $o ) > ( ( ( pname > $o ) > $o ) > pname > $o ) > $o )). + +thf(sy_c_Finite__Set_Ofolding__one__idem_000_062_Itc__Hoare____Mirabelle____srushsum,type,( + finite671847800tate_o: ( ( hoare_1167836817_state > $o ) > ( hoare_1167836817_state > $o ) > hoare_1167836817_state > $o ) > ( ( ( hoare_1167836817_state > $o ) > $o ) > hoare_1167836817_state > $o ) > $o )). + +thf(sy_c_Finite__Set_Ofolding__one__idem_000tc__Com__Opname,type,( + finite89670078_pname: ( pname > pname > pname ) > ( ( pname > $o ) > pname ) > $o )). + +thf(sy_c_Finite__Set_Ofolding__one__idem_000tc__Hoare____Mirabelle____srushsumbx__Ot,type,( + finite806517911_state: ( hoare_1167836817_state > hoare_1167836817_state > hoare_1167836817_state ) > ( ( hoare_1167836817_state > $o ) > hoare_1167836817_state ) > $o )). + +thf(sy_c_Groups_Ominus__class_Ominus_000_062_I_062_Itc__Com__Opname_M_Eo_J_M_Eo_J,type,( + minus_1480864103me_o_o: ( ( pname > $o ) > $o ) > ( ( pname > $o ) > $o ) > ( pname > $o ) > $o )). + +thf(sy_c_Groups_Ominus__class_Ominus_000_062_I_062_Itc__Hoare____Mirabelle____srushs,type,( + minus_1708687022te_o_o: ( ( hoare_1167836817_state > $o ) > $o ) > ( ( hoare_1167836817_state > $o ) > $o ) > ( hoare_1167836817_state > $o ) > $o )). + +thf(sy_c_Groups_Ominus__class_Ominus_000_062_Itc__Com__Opname_M_Eo_J,type,( + minus_minus_pname_o: ( pname > $o ) > ( pname > $o ) > pname > $o )). + +thf(sy_c_Groups_Ominus__class_Ominus_000_062_Itc__Hoare____Mirabelle____srushsumbx__,type,( + minus_2107060239tate_o: ( hoare_1167836817_state > $o ) > ( hoare_1167836817_state > $o ) > hoare_1167836817_state > $o )). + +thf(sy_c_HOL_OThe_000tc__Com__Opname,type,( + the_pname: ( pname > $o ) > pname )). + +thf(sy_c_HOL_OThe_000tc__Hoare____Mirabelle____srushsumbx__Otriple_Itc__Com__Ostate_,type,( + the_Ho310147232_state: ( hoare_1167836817_state > $o ) > hoare_1167836817_state )). + +thf(sy_c_Hoare__Mirabelle__srushsumbx_OMGT,type,( + hoare_Mirabelle_MGT: com > hoare_1167836817_state )). + +thf(sy_c_Hoare__Mirabelle__srushsumbx_Ohoare__derivs_000tc__Com__Ostate,type,( + hoare_123228589_state: ( hoare_1167836817_state > $o ) > ( hoare_1167836817_state > $o ) > $o )). + +thf(sy_c_Hoare__Mirabelle__srushsumbx_Ohoare__valids_000tc__Com__Ostate,type,( + hoare_529639851_state: ( hoare_1167836817_state > $o ) > ( hoare_1167836817_state > $o ) > $o )). + +thf(sy_c_Hoare__Mirabelle__srushsumbx_Ostate__not__singleton,type,( + hoare_1201148605gleton: $o )). + +thf(sy_c_Hoare__Mirabelle__srushsumbx_Otriple_Otriple_000tc__Com__Ostate,type,( + hoare_908217195_state: ( state > state > $o ) > com > ( state > state > $o ) > hoare_1167836817_state )). + +thf(sy_c_If_000tc__Hoare____Mirabelle____srushsumbx__Otriple_Itc__Com__Ostate_J,type,( + if_Hoa833675553_state: $o > hoare_1167836817_state > hoare_1167836817_state > hoare_1167836817_state )). + +thf(sy_c_If_000tc__Option__Ooption_Itc__Com__Ocom_J,type,( + if_option_com: $o > option_com > option_com > option_com )). + +thf(sy_c_Lattices_Osemilattice__inf__class_Oinf_000_062_I_062_Itc__Com__Opname_M_Eo_,type,( + semila2013987940me_o_o: ( ( pname > $o ) > $o ) > ( ( pname > $o ) > $o ) > ( pname > $o ) > $o )). + +thf(sy_c_Lattices_Osemilattice__inf__class_Oinf_000_062_I_062_Itc__Hoare____Mirabell,type,( + semila1758709489te_o_o: ( ( hoare_1167836817_state > $o ) > $o ) > ( ( hoare_1167836817_state > $o ) > $o ) > ( hoare_1167836817_state > $o ) > $o )). + +thf(sy_c_Lattices_Osemilattice__inf__class_Oinf_000_062_Itc__Com__Opname_M_Eo_J,type,( + semila1673364395name_o: ( pname > $o ) > ( pname > $o ) > pname > $o )). + +thf(sy_c_Lattices_Osemilattice__inf__class_Oinf_000_062_Itc__Hoare____Mirabelle____s,type,( + semila179895820tate_o: ( hoare_1167836817_state > $o ) > ( hoare_1167836817_state > $o ) > hoare_1167836817_state > $o )). + +thf(sy_c_Lattices_Osemilattice__sup__class_Osup_000_062_I_062_Itc__Com__Opname_M_Eo_,type,( + semila181081674me_o_o: ( ( pname > $o ) > $o ) > ( ( pname > $o ) > $o ) > ( pname > $o ) > $o )). + +thf(sy_c_Lattices_Osemilattice__sup__class_Osup_000_062_I_062_Itc__Hoare____Mirabell,type,( + semila866907787te_o_o: ( ( hoare_1167836817_state > $o ) > $o ) > ( ( hoare_1167836817_state > $o ) > $o ) > ( hoare_1167836817_state > $o ) > $o )). + +thf(sy_c_Lattices_Osemilattice__sup__class_Osup_000_062_Itc__Com__Opname_M_Eo_J,type,( + semila1780557381name_o: ( pname > $o ) > ( pname > $o ) > pname > $o )). + +thf(sy_c_Lattices_Osemilattice__sup__class_Osup_000_062_Itc__Hoare____Mirabelle____s,type,( + semila1172322802tate_o: ( hoare_1167836817_state > $o ) > ( hoare_1167836817_state > $o ) > hoare_1167836817_state > $o )). + +thf(sy_c_Lattices_Osemilattice__sup__class_Osup_000_Eo,type,( + semila10642723_sup_o: $o > $o > $o )). + +thf(sy_c_Map_Odom_000tc__Com__Opname_000tc__Com__Ocom,type,( + dom_pname_com: ( pname > option_com ) > pname > $o )). + +thf(sy_c_Natural_Oevalc,type,( + evalc: com > state > state > $o )). + +thf(sy_c_Option_Ooption_OSome_000tc__Com__Ocom,type,( + some_com: com > option_com )). + +thf(sy_c_Option_Ooption_OSome_000tc__Com__Opname,type,( + some_pname: pname > option_pname )). + +thf(sy_c_Option_Ooption_OSome_000tc__Hoare____Mirabelle____srushsumbx__Otriple_Itc__,type,( + some_H1433514562_state: hoare_1167836817_state > option1574264306_state )). + +thf(sy_c_Option_Oset_000tc__Com__Ocom,type,( + set_com: option_com > com > $o )). + +thf(sy_c_Option_Oset_000tc__Com__Opname,type,( + set_pname: option_pname > pname > $o )). + +thf(sy_c_Option_Oset_000tc__Hoare____Mirabelle____srushsumbx__Otriple_Itc__Com__Osta,type,( + set_Ho2131684873_state: option1574264306_state > hoare_1167836817_state > $o )). + +thf(sy_c_Option_Othe_000tc__Com__Ocom,type,( + the_com: option_com > com )). + +thf(sy_c_Orderings_Obot__class_Obot_000_062_I_062_Itc__Com__Opname_M_Eo_J_M_Eo_J,type,( + bot_bot_pname_o_o: ( pname > $o ) > $o )). + +thf(sy_c_Orderings_Obot__class_Obot_000_062_I_062_Itc__Hoare____Mirabelle____srushsu,type,( + bot_bo691907561te_o_o: ( hoare_1167836817_state > $o ) > $o )). + +thf(sy_c_Orderings_Obot__class_Obot_000_062_Itc__Com__Ocom_M_Eo_J,type,( + bot_bot_com_o: com > $o )). + +thf(sy_c_Orderings_Obot__class_Obot_000_062_Itc__Com__Opname_M_Eo_J,type,( + bot_bot_pname_o: pname > $o )). + +thf(sy_c_Orderings_Obot__class_Obot_000_062_Itc__Hoare____Mirabelle____srushsumbx__O,type,( + bot_bo70021908tate_o: hoare_1167836817_state > $o )). + +thf(sy_c_Orderings_Obot__class_Obot_000_Eo,type,( + bot_bot_o: $o )). + +thf(sy_c_Orderings_Oord__class_Oless__eq_000_062_I_062_Itc__Com__Opname_M_Eo_J_M_Eo_,type,( + ord_le1205211808me_o_o: ( ( pname > $o ) > $o ) > ( ( pname > $o ) > $o ) > $o )). + +thf(sy_c_Orderings_Oord__class_Oless__eq_000_062_I_062_Itc__Hoare____Mirabelle____sr,type,( + ord_le741939125te_o_o: ( ( hoare_1167836817_state > $o ) > $o ) > ( ( hoare_1167836817_state > $o ) > $o ) > $o )). + +thf(sy_c_Orderings_Oord__class_Oless__eq_000_062_Itc__Com__Opname_M_Eo_J,type,( + ord_less_eq_pname_o: ( pname > $o ) > ( pname > $o ) > $o )). + +thf(sy_c_Orderings_Oord__class_Oless__eq_000_062_Itc__Hoare____Mirabelle____srushsum,type,( + ord_le827224136tate_o: ( hoare_1167836817_state > $o ) > ( hoare_1167836817_state > $o ) > $o )). + +thf(sy_c_Orderings_Oord__class_Oless__eq_000_Eo,type,( + ord_less_eq_o: $o > $o > $o )). + +thf(sy_c_Set_OCollect_000_062_I_062_Itc__Com__Opname_M_Eo_J_M_Eo_J,type,( + collect_pname_o_o: ( ( ( pname > $o ) > $o ) > $o ) > ( ( pname > $o ) > $o ) > $o )). + +thf(sy_c_Set_OCollect_000_062_I_062_Itc__Hoare____Mirabelle____srushsumbx__Otriple_I,type,( + collec1218656682te_o_o: ( ( ( hoare_1167836817_state > $o ) > $o ) > $o ) > ( ( hoare_1167836817_state > $o ) > $o ) > $o )). + +thf(sy_c_Set_OCollect_000_062_Itc__Com__Opname_M_Eo_J,type,( + collect_pname_o: ( ( pname > $o ) > $o ) > ( pname > $o ) > $o )). + +thf(sy_c_Set_OCollect_000_062_Itc__Hoare____Mirabelle____srushsumbx__Otriple_Itc__Co,type,( + collec269976083tate_o: ( ( hoare_1167836817_state > $o ) > $o ) > ( hoare_1167836817_state > $o ) > $o )). + +thf(sy_c_Set_OCollect_000tc__Com__Opname,type,( + collect_pname: ( pname > $o ) > pname > $o )). + +thf(sy_c_Set_OCollect_000tc__Hoare____Mirabelle____srushsumbx__Otriple_Itc__Com__Ost,type,( + collec1027672124_state: ( hoare_1167836817_state > $o ) > hoare_1167836817_state > $o )). + +thf(sy_c_Set_Oimage_000_062_Itc__Com__Opname_M_Eo_J_000_062_Itc__Com__Opname_M_Eo_J,type,( + image_1085733413name_o: ( ( pname > $o ) > pname > $o ) > ( ( pname > $o ) > $o ) > ( pname > $o ) > $o )). + +thf(sy_c_Set_Oimage_000_062_Itc__Com__Opname_M_Eo_J_000tc__Com__Opname,type,( + image_pname_o_pname: ( ( pname > $o ) > pname ) > ( ( pname > $o ) > $o ) > pname > $o )). + +thf(sy_c_Set_Oimage_000_062_Itc__Com__Opname_M_Eo_J_000tc__Hoare____Mirabelle____sru,type,( + image_1381916541_state: ( ( pname > $o ) > hoare_1167836817_state ) > ( ( pname > $o ) > $o ) > hoare_1167836817_state > $o )). + +thf(sy_c_Set_Oimage_000_062_Itc__Hoare____Mirabelle____srushsumbx__Otriple_Itc__Com_,type,( + image_1488525317tate_o: ( ( hoare_1167836817_state > $o ) > hoare_1167836817_state > $o ) > ( ( hoare_1167836817_state > $o ) > $o ) > ( hoare_1167836817_state > $o ) > $o )). + +thf(sy_c_Set_Oimage_000_062_Itc__Hoare____Mirabelle____srushsumbx__Otriple_Itc__Com__001,type,( + image_980295115_pname: ( ( hoare_1167836817_state > $o ) > pname ) > ( ( hoare_1167836817_state > $o ) > $o ) > pname > $o )). + +thf(sy_c_Set_Oimage_000_062_Itc__Hoare____Mirabelle____srushsumbx__Otriple_Itc__Com__002,type,( + image_635813834_state: ( ( hoare_1167836817_state > $o ) > hoare_1167836817_state ) > ( ( hoare_1167836817_state > $o ) > $o ) > hoare_1167836817_state > $o )). + +thf(sy_c_Set_Oimage_000tc__Com__Opname_000_062_Itc__Com__Opname_M_Eo_J,type,( + image_pname_pname_o: ( pname > pname > $o ) > ( pname > $o ) > ( pname > $o ) > $o )). + +thf(sy_c_Set_Oimage_000tc__Com__Opname_000_062_Itc__Hoare____Mirabelle____srushsumbx,type,( + image_475339327tate_o: ( pname > hoare_1167836817_state > $o ) > ( pname > $o ) > ( hoare_1167836817_state > $o ) > $o )). + +thf(sy_c_Set_Oimage_000tc__Com__Opname_000tc__Com__Opname,type,( + image_pname_pname: ( pname > pname ) > ( pname > $o ) > pname > $o )). + +thf(sy_c_Set_Oimage_000tc__Com__Opname_000tc__Hoare____Mirabelle____srushsumbx__Otri,type,( + image_575578384_state: ( pname > hoare_1167836817_state ) > ( pname > $o ) > hoare_1167836817_state > $o )). + +thf(sy_c_Set_Oimage_000tc__Hoare____Mirabelle____srushsumbx__Otriple_Itc__Com__Ostat,type,( + image_2066861949name_o: ( hoare_1167836817_state > pname > $o ) > ( hoare_1167836817_state > $o ) > ( pname > $o ) > $o )). + +thf(sy_c_Set_Oimage_000tc__Hoare____Mirabelle____srushsumbx__Otriple_Itc__Com__Ostat_003,type,( + image_1745649338tate_o: ( hoare_1167836817_state > hoare_1167836817_state > $o ) > ( hoare_1167836817_state > $o ) > ( hoare_1167836817_state > $o ) > $o )). + +thf(sy_c_Set_Oimage_000tc__Hoare____Mirabelle____srushsumbx__Otriple_Itc__Com__Ostat_004,type,( + image_8178176_pname: ( hoare_1167836817_state > pname ) > ( hoare_1167836817_state > $o ) > pname > $o )). + +thf(sy_c_Set_Oimage_000tc__Hoare____Mirabelle____srushsumbx__Otriple_Itc__Com__Ostat_005,type,( + image_31595733_state: ( hoare_1167836817_state > hoare_1167836817_state ) > ( hoare_1167836817_state > $o ) > hoare_1167836817_state > $o )). + +thf(sy_c_Set_Oinsert_000_062_Itc__Com__Opname_M_Eo_J,type,( + insert_pname_o: ( pname > $o ) > ( ( pname > $o ) > $o ) > ( pname > $o ) > $o )). + +thf(sy_c_Set_Oinsert_000_062_Itc__Hoare____Mirabelle____srushsumbx__Otriple_Itc__Com,type,( + insert999278200tate_o: ( hoare_1167836817_state > $o ) > ( ( hoare_1167836817_state > $o ) > $o ) > ( hoare_1167836817_state > $o ) > $o )). + +thf(sy_c_Set_Oinsert_000tc__Com__Ocom,type,( + insert_com: com > ( com > $o ) > com > $o )). + +thf(sy_c_Set_Oinsert_000tc__Com__Opname,type,( + insert_pname: pname > ( pname > $o ) > pname > $o )). + +thf(sy_c_Set_Oinsert_000tc__Hoare____Mirabelle____srushsumbx__Otriple_Itc__Com__Osta,type,( + insert2134838167_state: hoare_1167836817_state > ( hoare_1167836817_state > $o ) > hoare_1167836817_state > $o )). + +thf(sy_c_Set_Othe__elem_000tc__Com__Opname,type,( + the_elem_pname: ( pname > $o ) > pname )). + +thf(sy_c_Set_Othe__elem_000tc__Hoare____Mirabelle____srushsumbx__Otriple_Itc__Com__O,type,( + the_el323660082_state: ( hoare_1167836817_state > $o ) > hoare_1167836817_state )). + +thf(sy_c_fequal_000_062_Itc__Com__Opname_M_Eo_J,type,( + fequal_pname_o: ( pname > $o ) > ( pname > $o ) > $o )). + +thf(sy_c_fequal_000_062_Itc__Hoare____Mirabelle____srushsumbx__Otriple_Itc__Com__Ost,type,( + fequal1486222077tate_o: ( hoare_1167836817_state > $o ) > ( hoare_1167836817_state > $o ) > $o )). + +thf(sy_c_fequal_000tc__Com__Opname,type,( + fequal_pname: pname > pname > $o )). + +thf(sy_c_fequal_000tc__Com__Ostate,type,( + fequal_state: state > state > $o )). + +thf(sy_c_fequal_000tc__Hoare____Mirabelle____srushsumbx__Otriple_Itc__Com__Ostate_J,type,( + fequal1831255762_state: hoare_1167836817_state > hoare_1167836817_state > $o )). + +thf(sy_c_member_000_062_Itc__Com__Opname_M_Eo_J,type,( + member_pname_o: ( pname > $o ) > ( ( pname > $o ) > $o ) > $o )). + +thf(sy_c_member_000_062_Itc__Hoare____Mirabelle____srushsumbx__Otriple_Itc__Com__Ost,type,( + member864234961tate_o: ( hoare_1167836817_state > $o ) > ( ( hoare_1167836817_state > $o ) > $o ) > $o )). + +thf(sy_c_member_000tc__Com__Ocom,type,( + member_com: com > ( com > $o ) > $o )). + +thf(sy_c_member_000tc__Com__Opname,type,( + member_pname: pname > ( pname > $o ) > $o )). + +thf(sy_c_member_000tc__Hoare____Mirabelle____srushsumbx__Otriple_Itc__Com__Ostate_J,type,( + member2058392318_state: hoare_1167836817_state > ( hoare_1167836817_state > $o ) > $o )). + +thf(sy_v_Fa,type,( + fa: hoare_1167836817_state > $o )). + +thf(sy_v_pn,type,( + pn: pname )). + +thf(sy_v_y,type,( + y: com )). + +%----Relevant facts (699) +thf(fact_0_empty,axiom,( + ! [G_3: hoare_1167836817_state > $o] : + ( hoare_123228589_state @ G_3 @ bot_bo70021908tate_o ) )). + +thf(fact_1_asm,axiom,( + ! [Ts_7: hoare_1167836817_state > $o,G_35: hoare_1167836817_state > $o] : + ( ( ord_le827224136tate_o @ Ts_7 @ G_35 ) + => ( hoare_123228589_state @ G_35 @ Ts_7 ) ) )). + +thf(fact_2_weaken,axiom,( + ! [Ts_6: hoare_1167836817_state > $o,G_34: hoare_1167836817_state > $o,Ts_5: hoare_1167836817_state > $o] : + ( ( hoare_123228589_state @ G_34 @ Ts_5 ) + => ( ( ord_le827224136tate_o @ Ts_6 @ Ts_5 ) + => ( hoare_123228589_state @ G_34 @ Ts_6 ) ) ) )). + +thf(fact_3_thin,axiom,( + ! [G_33: hoare_1167836817_state > $o,G_32: hoare_1167836817_state > $o,Ts_4: hoare_1167836817_state > $o] : + ( ( hoare_123228589_state @ G_32 @ Ts_4 ) + => ( ( ord_le827224136tate_o @ G_32 @ G_33 ) + => ( hoare_123228589_state @ G_33 @ Ts_4 ) ) ) )). + +thf(fact_4_cut,axiom,( + ! [G_31: hoare_1167836817_state > $o,G_30: hoare_1167836817_state > $o,Ts_3: hoare_1167836817_state > $o] : + ( ( hoare_123228589_state @ G_30 @ Ts_3 ) + => ( ( hoare_123228589_state @ G_31 @ G_30 ) + => ( hoare_123228589_state @ G_31 @ Ts_3 ) ) ) )). + +thf(fact_5_hoare__derivs_Oinsert,axiom,( + ! [Ts_2: hoare_1167836817_state > $o,G_29: hoare_1167836817_state > $o,T_3: hoare_1167836817_state] : + ( ( hoare_123228589_state @ G_29 @ ( insert2134838167_state @ T_3 @ bot_bo70021908tate_o ) ) + => ( ( hoare_123228589_state @ G_29 @ Ts_2 ) + => ( hoare_123228589_state @ G_29 @ ( insert2134838167_state @ T_3 @ Ts_2 ) ) ) ) )). + +thf(fact_6_derivs__insertD,axiom,( + ! [G_28: hoare_1167836817_state > $o,T_2: hoare_1167836817_state,Ts_1: hoare_1167836817_state > $o] : + ( ( hoare_123228589_state @ G_28 @ ( insert2134838167_state @ T_2 @ Ts_1 ) ) + => ( ( hoare_123228589_state @ G_28 @ ( insert2134838167_state @ T_2 @ bot_bo70021908tate_o ) ) + & ( hoare_123228589_state @ G_28 @ Ts_1 ) ) ) )). + +thf(fact_7_MGT__BodyN,axiom,( + ! [Pn_1: pname,G_3: hoare_1167836817_state > $o] : + ( ( hoare_123228589_state @ ( insert2134838167_state @ ( hoare_Mirabelle_MGT @ ( body_1 @ Pn_1 ) ) @ G_3 ) @ ( insert2134838167_state @ ( hoare_Mirabelle_MGT @ ( the_com @ ( body @ Pn_1 ) ) ) @ bot_bo70021908tate_o ) ) + => ( hoare_123228589_state @ G_3 @ ( insert2134838167_state @ ( hoare_Mirabelle_MGT @ ( body_1 @ Pn_1 ) ) @ bot_bo70021908tate_o ) ) ) )). + +thf(fact_8_finite__Collect__subsets,axiom,( + ! [A_201: ( pname > $o ) > $o] : + ( ( finite297249702name_o @ A_201 ) + => ( finite1066544169me_o_o + @ ( collect_pname_o_o + @ ^ [B_43: ( pname > $o ) > $o] : + ( ord_le1205211808me_o_o @ B_43 @ A_201 ) ) ) ) )). + +thf(fact_9_finite__Collect__subsets,axiom,( + ! [A_201: ( hoare_1167836817_state > $o ) > $o] : + ( ( finite1380128977tate_o @ A_201 ) + => ( finite33115244te_o_o + @ ( collec1218656682te_o_o + @ ^ [B_43: ( hoare_1167836817_state > $o ) > $o] : + ( ord_le741939125te_o_o @ B_43 @ A_201 ) ) ) ) )). + +thf(fact_10_finite__Collect__subsets,axiom,( + ! [A_201: hoare_1167836817_state > $o] : + ( ( finite1084549118_state @ A_201 ) + => ( finite1380128977tate_o + @ ( collec269976083tate_o + @ ^ [B_43: hoare_1167836817_state > $o] : + ( ord_le827224136tate_o @ B_43 @ A_201 ) ) ) ) )). + +thf(fact_11_finite__Collect__subsets,axiom,( + ! [A_201: pname > $o] : + ( ( finite_finite_pname @ A_201 ) + => ( finite297249702name_o + @ ( collect_pname_o + @ ^ [B_43: pname > $o] : + ( ord_less_eq_pname_o @ B_43 @ A_201 ) ) ) ) )). + +thf(fact_12_finite__imageI,axiom,( + ! [H_1: hoare_1167836817_state > pname > $o,F_61: hoare_1167836817_state > $o] : + ( ( finite1084549118_state @ F_61 ) + => ( finite297249702name_o @ ( image_2066861949name_o @ H_1 @ F_61 ) ) ) )). + +thf(fact_13_finite__imageI,axiom,( + ! [H_1: hoare_1167836817_state > hoare_1167836817_state > $o,F_61: hoare_1167836817_state > $o] : + ( ( finite1084549118_state @ F_61 ) + => ( finite1380128977tate_o @ ( image_1745649338tate_o @ H_1 @ F_61 ) ) ) )). + +thf(fact_14_finite__imageI,axiom,( + ! [H_1: pname > pname > $o,F_61: pname > $o] : + ( ( finite_finite_pname @ F_61 ) + => ( finite297249702name_o @ ( image_pname_pname_o @ H_1 @ F_61 ) ) ) )). + +thf(fact_15_finite__imageI,axiom,( + ! [H_1: pname > hoare_1167836817_state > $o,F_61: pname > $o] : + ( ( finite_finite_pname @ F_61 ) + => ( finite1380128977tate_o @ ( image_475339327tate_o @ H_1 @ F_61 ) ) ) )). + +thf(fact_16_finite__imageI,axiom,( + ! [H_1: ( pname > $o ) > hoare_1167836817_state,F_61: ( pname > $o ) > $o] : + ( ( finite297249702name_o @ F_61 ) + => ( finite1084549118_state @ ( image_1381916541_state @ H_1 @ F_61 ) ) ) )). + +thf(fact_17_finite__imageI,axiom,( + ! [H_1: ( hoare_1167836817_state > $o ) > hoare_1167836817_state,F_61: ( hoare_1167836817_state > $o ) > $o] : + ( ( finite1380128977tate_o @ F_61 ) + => ( finite1084549118_state @ ( image_635813834_state @ H_1 @ F_61 ) ) ) )). + +thf(fact_18_finite__imageI,axiom,( + ! [H_1: ( pname > $o ) > pname,F_61: ( pname > $o ) > $o] : + ( ( finite297249702name_o @ F_61 ) + => ( finite_finite_pname @ ( image_pname_o_pname @ H_1 @ F_61 ) ) ) )). + +thf(fact_19_finite__imageI,axiom,( + ! [H_1: ( hoare_1167836817_state > $o ) > pname,F_61: ( hoare_1167836817_state > $o ) > $o] : + ( ( finite1380128977tate_o @ F_61 ) + => ( finite_finite_pname @ ( image_980295115_pname @ H_1 @ F_61 ) ) ) )). + +thf(fact_20_finite__imageI,axiom,( + ! [H_1: pname > hoare_1167836817_state,F_61: pname > $o] : + ( ( finite_finite_pname @ F_61 ) + => ( finite1084549118_state @ ( image_575578384_state @ H_1 @ F_61 ) ) ) )). + +thf(fact_21_empty__subsetI,axiom,( + ! [A_200: pname > $o] : + ( ord_less_eq_pname_o @ bot_bot_pname_o @ A_200 ) )). + +thf(fact_22_empty__subsetI,axiom,( + ! [A_200: hoare_1167836817_state > $o] : + ( ord_le827224136tate_o @ bot_bo70021908tate_o @ A_200 ) )). + +thf(fact_23_finite_OinsertI,axiom,( + ! [A_199: pname > $o,A_198: ( pname > $o ) > $o] : + ( ( finite297249702name_o @ A_198 ) + => ( finite297249702name_o @ ( insert_pname_o @ A_199 @ A_198 ) ) ) )). + +thf(fact_24_finite_OinsertI,axiom,( + ! [A_199: hoare_1167836817_state > $o,A_198: ( hoare_1167836817_state > $o ) > $o] : + ( ( finite1380128977tate_o @ A_198 ) + => ( finite1380128977tate_o @ ( insert999278200tate_o @ A_199 @ A_198 ) ) ) )). + +thf(fact_25_finite_OinsertI,axiom,( + ! [A_199: pname,A_198: pname > $o] : + ( ( finite_finite_pname @ A_198 ) + => ( finite_finite_pname @ ( insert_pname @ A_199 @ A_198 ) ) ) )). + +thf(fact_26_finite_OinsertI,axiom,( + ! [A_199: hoare_1167836817_state,A_198: hoare_1167836817_state > $o] : + ( ( finite1084549118_state @ A_198 ) + => ( finite1084549118_state @ ( insert2134838167_state @ A_199 @ A_198 ) ) ) )). + +thf(fact_27_finite_OemptyI,axiom, + ( finite297249702name_o @ bot_bot_pname_o_o )). + +thf(fact_28_finite_OemptyI,axiom, + ( finite1380128977tate_o @ bot_bo691907561te_o_o )). + +thf(fact_29_finite_OemptyI,axiom, + ( finite1084549118_state @ bot_bo70021908tate_o )). + +thf(fact_30_finite_OemptyI,axiom, + ( finite_finite_pname @ bot_bot_pname_o )). + +thf(fact_31_finite__Collect__conjI,axiom,( + ! [Q_24: ( pname > $o ) > $o,P_42: ( pname > $o ) > $o] : + ( ( ( finite297249702name_o @ ( collect_pname_o @ P_42 ) ) + | ( finite297249702name_o @ ( collect_pname_o @ Q_24 ) ) ) + => ( finite297249702name_o + @ ( collect_pname_o + @ ^ [X_5: pname > $o] : + ( (&) @ ( P_42 @ X_5 ) @ ( Q_24 @ X_5 ) ) ) ) ) )). + +thf(fact_32_finite__Collect__conjI,axiom,( + ! [Q_24: ( hoare_1167836817_state > $o ) > $o,P_42: ( hoare_1167836817_state > $o ) > $o] : + ( ( ( finite1380128977tate_o @ ( collec269976083tate_o @ P_42 ) ) + | ( finite1380128977tate_o @ ( collec269976083tate_o @ Q_24 ) ) ) + => ( finite1380128977tate_o + @ ( collec269976083tate_o + @ ^ [X_5: hoare_1167836817_state > $o] : + ( (&) @ ( P_42 @ X_5 ) @ ( Q_24 @ X_5 ) ) ) ) ) )). + +thf(fact_33_finite__Collect__conjI,axiom,( + ! [Q_24: hoare_1167836817_state > $o,P_42: hoare_1167836817_state > $o] : + ( ( ( finite1084549118_state @ ( collec1027672124_state @ P_42 ) ) + | ( finite1084549118_state @ ( collec1027672124_state @ Q_24 ) ) ) + => ( finite1084549118_state + @ ( collec1027672124_state + @ ^ [X_5: hoare_1167836817_state] : + ( (&) @ ( P_42 @ X_5 ) @ ( Q_24 @ X_5 ) ) ) ) ) )). + +thf(fact_34_finite__Collect__conjI,axiom,( + ! [Q_24: pname > $o,P_42: pname > $o] : + ( ( ( finite_finite_pname @ ( collect_pname @ P_42 ) ) + | ( finite_finite_pname @ ( collect_pname @ Q_24 ) ) ) + => ( finite_finite_pname + @ ( collect_pname + @ ^ [X_5: pname] : + ( (&) @ ( P_42 @ X_5 ) @ ( Q_24 @ X_5 ) ) ) ) ) )). + +thf(fact_35_image__constant__conv,axiom,( + ! [C_54: pname,A_197: hoare_1167836817_state > $o] : + ( ( ( A_197 = bot_bo70021908tate_o ) + => ( ( image_8178176_pname + @ ^ [X_5: hoare_1167836817_state] : C_54 + @ A_197 ) + = bot_bot_pname_o ) ) + & ( ( A_197 != bot_bo70021908tate_o ) + => ( ( image_8178176_pname + @ ^ [X_5: hoare_1167836817_state] : C_54 + @ A_197 ) + = ( insert_pname @ C_54 @ bot_bot_pname_o ) ) ) ) )). + +thf(fact_36_image__constant__conv,axiom,( + ! [C_54: hoare_1167836817_state,A_197: pname > $o] : + ( ( ( A_197 = bot_bot_pname_o ) + => ( ( image_575578384_state + @ ^ [X_5: pname] : C_54 + @ A_197 ) + = bot_bo70021908tate_o ) ) + & ( ( A_197 != bot_bot_pname_o ) + => ( ( image_575578384_state + @ ^ [X_5: pname] : C_54 + @ A_197 ) + = ( insert2134838167_state @ C_54 @ bot_bo70021908tate_o ) ) ) ) )). + +thf(fact_37_image__constant,axiom,( + ! [C_53: pname,X_101: hoare_1167836817_state,A_196: hoare_1167836817_state > $o] : + ( ( member2058392318_state @ X_101 @ A_196 ) + => ( ( image_8178176_pname + @ ^ [X_5: hoare_1167836817_state] : C_53 + @ A_196 ) + = ( insert_pname @ C_53 @ bot_bot_pname_o ) ) ) )). + +thf(fact_38_image__constant,axiom,( + ! [C_53: hoare_1167836817_state,X_101: pname,A_196: pname > $o] : + ( ( member_pname @ X_101 @ A_196 ) + => ( ( image_575578384_state + @ ^ [X_5: pname] : C_53 + @ A_196 ) + = ( insert2134838167_state @ C_53 @ bot_bo70021908tate_o ) ) ) )). + +thf(fact_39_insert__dom,axiom,( + ! [F_60: pname > option_com,X_100: pname,Y_49: com] : + ( ( ( F_60 @ X_100 ) + = ( some_com @ Y_49 ) ) + => ( ( insert_pname @ X_100 @ ( dom_pname_com @ F_60 ) ) + = ( dom_pname_com @ F_60 ) ) ) )). + +thf(fact_40_finite__surj,axiom,( + ! [B_130: ( pname > $o ) > $o,F_59: hoare_1167836817_state > pname > $o,A_195: hoare_1167836817_state > $o] : + ( ( finite1084549118_state @ A_195 ) + => ( ( ord_le1205211808me_o_o @ B_130 @ ( image_2066861949name_o @ F_59 @ A_195 ) ) + => ( finite297249702name_o @ B_130 ) ) ) )). + +thf(fact_41_finite__surj,axiom,( + ! [B_130: ( hoare_1167836817_state > $o ) > $o,F_59: hoare_1167836817_state > hoare_1167836817_state > $o,A_195: hoare_1167836817_state > $o] : + ( ( finite1084549118_state @ A_195 ) + => ( ( ord_le741939125te_o_o @ B_130 @ ( image_1745649338tate_o @ F_59 @ A_195 ) ) + => ( finite1380128977tate_o @ B_130 ) ) ) )). + +thf(fact_42_finite__surj,axiom,( + ! [B_130: pname > $o,F_59: hoare_1167836817_state > pname,A_195: hoare_1167836817_state > $o] : + ( ( finite1084549118_state @ A_195 ) + => ( ( ord_less_eq_pname_o @ B_130 @ ( image_8178176_pname @ F_59 @ A_195 ) ) + => ( finite_finite_pname @ B_130 ) ) ) )). + +thf(fact_43_finite__surj,axiom,( + ! [B_130: ( pname > $o ) > $o,F_59: pname > pname > $o,A_195: pname > $o] : + ( ( finite_finite_pname @ A_195 ) + => ( ( ord_le1205211808me_o_o @ B_130 @ ( image_pname_pname_o @ F_59 @ A_195 ) ) + => ( finite297249702name_o @ B_130 ) ) ) )). + +thf(fact_44_finite__surj,axiom,( + ! [B_130: ( hoare_1167836817_state > $o ) > $o,F_59: pname > hoare_1167836817_state > $o,A_195: pname > $o] : + ( ( finite_finite_pname @ A_195 ) + => ( ( ord_le741939125te_o_o @ B_130 @ ( image_475339327tate_o @ F_59 @ A_195 ) ) + => ( finite1380128977tate_o @ B_130 ) ) ) )). + +thf(fact_45_finite__surj,axiom,( + ! [B_130: pname > $o,F_59: pname > pname,A_195: pname > $o] : + ( ( finite_finite_pname @ A_195 ) + => ( ( ord_less_eq_pname_o @ B_130 @ ( image_pname_pname @ F_59 @ A_195 ) ) + => ( finite_finite_pname @ B_130 ) ) ) )). + +thf(fact_46_finite__surj,axiom,( + ! [B_130: hoare_1167836817_state > $o,F_59: ( pname > $o ) > hoare_1167836817_state,A_195: ( pname > $o ) > $o] : + ( ( finite297249702name_o @ A_195 ) + => ( ( ord_le827224136tate_o @ B_130 @ ( image_1381916541_state @ F_59 @ A_195 ) ) + => ( finite1084549118_state @ B_130 ) ) ) )). + +thf(fact_47_finite__surj,axiom,( + ! [B_130: hoare_1167836817_state > $o,F_59: ( hoare_1167836817_state > $o ) > hoare_1167836817_state,A_195: ( hoare_1167836817_state > $o ) > $o] : + ( ( finite1380128977tate_o @ A_195 ) + => ( ( ord_le827224136tate_o @ B_130 @ ( image_635813834_state @ F_59 @ A_195 ) ) + => ( finite1084549118_state @ B_130 ) ) ) )). + +thf(fact_48_finite__surj,axiom,( + ! [B_130: pname > $o,F_59: ( pname > $o ) > pname,A_195: ( pname > $o ) > $o] : + ( ( finite297249702name_o @ A_195 ) + => ( ( ord_less_eq_pname_o @ B_130 @ ( image_pname_o_pname @ F_59 @ A_195 ) ) + => ( finite_finite_pname @ B_130 ) ) ) )). + +thf(fact_49_finite__surj,axiom,( + ! [B_130: pname > $o,F_59: ( hoare_1167836817_state > $o ) > pname,A_195: ( hoare_1167836817_state > $o ) > $o] : + ( ( finite1380128977tate_o @ A_195 ) + => ( ( ord_less_eq_pname_o @ B_130 @ ( image_980295115_pname @ F_59 @ A_195 ) ) + => ( finite_finite_pname @ B_130 ) ) ) )). + +thf(fact_50_finite__surj,axiom,( + ! [B_130: hoare_1167836817_state > $o,F_59: pname > hoare_1167836817_state,A_195: pname > $o] : + ( ( finite_finite_pname @ A_195 ) + => ( ( ord_le827224136tate_o @ B_130 @ ( image_575578384_state @ F_59 @ A_195 ) ) + => ( finite1084549118_state @ B_130 ) ) ) )). + +thf(fact_51_subset__singletonD,axiom,( + ! [A_194: pname > $o,X_99: pname] : + ( ( ord_less_eq_pname_o @ A_194 @ ( insert_pname @ X_99 @ bot_bot_pname_o ) ) + => ( ( A_194 = bot_bot_pname_o ) + | ( A_194 + = ( insert_pname @ X_99 @ bot_bot_pname_o ) ) ) ) )). + +thf(fact_52_subset__singletonD,axiom,( + ! [A_194: hoare_1167836817_state > $o,X_99: hoare_1167836817_state] : + ( ( ord_le827224136tate_o @ A_194 @ ( insert2134838167_state @ X_99 @ bot_bo70021908tate_o ) ) + => ( ( A_194 = bot_bo70021908tate_o ) + | ( A_194 + = ( insert2134838167_state @ X_99 @ bot_bo70021908tate_o ) ) ) ) )). + +thf(fact_53_MGF,axiom,( + ! [C_21: com] : + ( hoare_1201148605gleton + => ( wT_bodies + => ( ( wt @ C_21 ) + => ( hoare_123228589_state @ bot_bo70021908tate_o @ ( insert2134838167_state @ ( hoare_Mirabelle_MGT @ C_21 ) @ bot_bo70021908tate_o ) ) ) ) ) )). + +thf(fact_54_emptyE,axiom,( + ! [A_193: pname] : + ~ ( member_pname @ A_193 @ bot_bot_pname_o ) )). + +thf(fact_55_emptyE,axiom,( + ! [A_193: hoare_1167836817_state] : + ~ ( member2058392318_state @ A_193 @ bot_bo70021908tate_o ) )). + +thf(fact_56_insertCI,axiom,( + ! [B_129: pname,A_192: pname,B_128: pname > $o] : + ( ( ~ ( member_pname @ A_192 @ B_128 ) + => ( A_192 = B_129 ) ) + => ( member_pname @ A_192 @ ( insert_pname @ B_129 @ B_128 ) ) ) )). + +thf(fact_57_insertCI,axiom,( + ! [B_129: hoare_1167836817_state,A_192: hoare_1167836817_state,B_128: hoare_1167836817_state > $o] : + ( ( ~ ( member2058392318_state @ A_192 @ B_128 ) + => ( A_192 = B_129 ) ) + => ( member2058392318_state @ A_192 @ ( insert2134838167_state @ B_129 @ B_128 ) ) ) )). + +thf(fact_58_insertE,axiom,( + ! [A_191: pname,B_127: pname,A_190: pname > $o] : + ( ( member_pname @ A_191 @ ( insert_pname @ B_127 @ A_190 ) ) + => ( ( A_191 != B_127 ) + => ( member_pname @ A_191 @ A_190 ) ) ) )). + +thf(fact_59_insertE,axiom,( + ! [A_191: hoare_1167836817_state,B_127: hoare_1167836817_state,A_190: hoare_1167836817_state > $o] : + ( ( member2058392318_state @ A_191 @ ( insert2134838167_state @ B_127 @ A_190 ) ) + => ( ( A_191 != B_127 ) + => ( member2058392318_state @ A_191 @ A_190 ) ) ) )). + +thf(fact_60_equalityI,axiom,( + ! [A_189: pname > $o,B_126: pname > $o] : + ( ( ord_less_eq_pname_o @ A_189 @ B_126 ) + => ( ( ord_less_eq_pname_o @ B_126 @ A_189 ) + => ( A_189 = B_126 ) ) ) )). + +thf(fact_61_equalityI,axiom,( + ! [A_189: hoare_1167836817_state > $o,B_126: hoare_1167836817_state > $o] : + ( ( ord_le827224136tate_o @ A_189 @ B_126 ) + => ( ( ord_le827224136tate_o @ B_126 @ A_189 ) + => ( A_189 = B_126 ) ) ) )). + +thf(fact_62_subsetD,axiom,( + ! [C_52: pname,A_188: pname > $o,B_125: pname > $o] : + ( ( ord_less_eq_pname_o @ A_188 @ B_125 ) + => ( ( member_pname @ C_52 @ A_188 ) + => ( member_pname @ C_52 @ B_125 ) ) ) )). + +thf(fact_63_subsetD,axiom,( + ! [C_52: hoare_1167836817_state,A_188: hoare_1167836817_state > $o,B_125: hoare_1167836817_state > $o] : + ( ( ord_le827224136tate_o @ A_188 @ B_125 ) + => ( ( member2058392318_state @ C_52 @ A_188 ) + => ( member2058392318_state @ C_52 @ B_125 ) ) ) )). + +thf(fact_64_image__eqI,axiom,( + ! [A_187: hoare_1167836817_state > $o,B_124: pname,F_58: hoare_1167836817_state > pname,X_98: hoare_1167836817_state] : + ( ( B_124 + = ( F_58 @ X_98 ) ) + => ( ( member2058392318_state @ X_98 @ A_187 ) + => ( member_pname @ B_124 @ ( image_8178176_pname @ F_58 @ A_187 ) ) ) ) )). + +thf(fact_65_image__eqI,axiom,( + ! [A_187: pname > $o,B_124: hoare_1167836817_state,F_58: pname > hoare_1167836817_state,X_98: pname] : + ( ( B_124 + = ( F_58 @ X_98 ) ) + => ( ( member_pname @ X_98 @ A_187 ) + => ( member2058392318_state @ B_124 @ ( image_575578384_state @ F_58 @ A_187 ) ) ) ) )). + +thf(fact_66_equals0D,axiom,( + ! [A_186: pname,A_185: pname > $o] : + ( ( A_185 = bot_bot_pname_o ) + => ~ ( member_pname @ A_186 @ A_185 ) ) )). + +thf(fact_67_equals0D,axiom,( + ! [A_186: hoare_1167836817_state,A_185: hoare_1167836817_state > $o] : + ( ( A_185 = bot_bo70021908tate_o ) + => ~ ( member2058392318_state @ A_186 @ A_185 ) ) )). + +thf(fact_68_Collect__empty__eq,axiom,( + ! [P_41: pname > $o] : + ( ( ( collect_pname @ P_41 ) + = bot_bot_pname_o ) + <=> ! [X_5: pname] : + ~ ( P_41 @ X_5 ) ) )). + +thf(fact_69_Collect__empty__eq,axiom,( + ! [P_41: ( pname > $o ) > $o] : + ( ( ( collect_pname_o @ P_41 ) + = bot_bot_pname_o_o ) + <=> ! [X_5: pname > $o] : + ~ ( P_41 @ X_5 ) ) )). + +thf(fact_70_Collect__empty__eq,axiom,( + ! [P_41: ( hoare_1167836817_state > $o ) > $o] : + ( ( ( collec269976083tate_o @ P_41 ) + = bot_bo691907561te_o_o ) + <=> ! [X_5: hoare_1167836817_state > $o] : + ~ ( P_41 @ X_5 ) ) )). + +thf(fact_71_Collect__empty__eq,axiom,( + ! [P_41: hoare_1167836817_state > $o] : + ( ( ( collec1027672124_state @ P_41 ) + = bot_bo70021908tate_o ) + <=> ! [X_5: hoare_1167836817_state] : + ~ ( P_41 @ X_5 ) ) )). + +thf(fact_72_empty__iff,axiom,( + ! [C_51: pname] : + ~ ( member_pname @ C_51 @ bot_bot_pname_o ) )). + +thf(fact_73_empty__iff,axiom,( + ! [C_51: hoare_1167836817_state] : + ~ ( member2058392318_state @ C_51 @ bot_bo70021908tate_o ) )). + +thf(fact_74_empty__Collect__eq,axiom,( + ! [P_40: pname > $o] : + ( ( bot_bot_pname_o + = ( collect_pname @ P_40 ) ) + <=> ! [X_5: pname] : + ~ ( P_40 @ X_5 ) ) )). + +thf(fact_75_empty__Collect__eq,axiom,( + ! [P_40: ( pname > $o ) > $o] : + ( ( bot_bot_pname_o_o + = ( collect_pname_o @ P_40 ) ) + <=> ! [X_5: pname > $o] : + ~ ( P_40 @ X_5 ) ) )). + +thf(fact_76_empty__Collect__eq,axiom,( + ! [P_40: ( hoare_1167836817_state > $o ) > $o] : + ( ( bot_bo691907561te_o_o + = ( collec269976083tate_o @ P_40 ) ) + <=> ! [X_5: hoare_1167836817_state > $o] : + ~ ( P_40 @ X_5 ) ) )). + +thf(fact_77_empty__Collect__eq,axiom,( + ! [P_40: hoare_1167836817_state > $o] : + ( ( bot_bo70021908tate_o + = ( collec1027672124_state @ P_40 ) ) + <=> ! [X_5: hoare_1167836817_state] : + ~ ( P_40 @ X_5 ) ) )). + +thf(fact_78_ex__in__conv,axiom,( + ! [A_184: pname > $o] : + ( ? [X_5: pname] : + ( member_pname @ X_5 @ A_184 ) + <=> ( A_184 != bot_bot_pname_o ) ) )). + +thf(fact_79_ex__in__conv,axiom,( + ! [A_184: hoare_1167836817_state > $o] : + ( ? [X_5: hoare_1167836817_state] : + ( member2058392318_state @ X_5 @ A_184 ) + <=> ( A_184 != bot_bo70021908tate_o ) ) )). + +thf(fact_80_all__not__in__conv,axiom,( + ! [A_183: pname > $o] : + ( ! [X_5: pname] : + ~ ( member_pname @ X_5 @ A_183 ) + <=> ( A_183 = bot_bot_pname_o ) ) )). + +thf(fact_81_all__not__in__conv,axiom,( + ! [A_183: hoare_1167836817_state > $o] : + ( ! [X_5: hoare_1167836817_state] : + ~ ( member2058392318_state @ X_5 @ A_183 ) + <=> ( A_183 = bot_bo70021908tate_o ) ) )). + +thf(fact_82_empty__def,axiom, + ( bot_bot_pname_o + = ( collect_pname + @ ^ [X_5: pname] : $false ) )). + +thf(fact_83_empty__def,axiom, + ( bot_bot_pname_o_o + = ( collect_pname_o + @ ^ [X_5: pname > $o] : $false ) )). + +thf(fact_84_empty__def,axiom, + ( bot_bo691907561te_o_o + = ( collec269976083tate_o + @ ^ [X_5: hoare_1167836817_state > $o] : $false ) )). + +thf(fact_85_empty__def,axiom, + ( bot_bo70021908tate_o + = ( collec1027672124_state + @ ^ [X_5: hoare_1167836817_state] : $false ) )). + +thf(fact_86_insert__absorb,axiom,( + ! [A_182: pname,A_181: pname > $o] : + ( ( member_pname @ A_182 @ A_181 ) + => ( ( insert_pname @ A_182 @ A_181 ) + = A_181 ) ) )). + +thf(fact_87_insert__absorb,axiom,( + ! [A_182: hoare_1167836817_state,A_181: hoare_1167836817_state > $o] : + ( ( member2058392318_state @ A_182 @ A_181 ) + => ( ( insert2134838167_state @ A_182 @ A_181 ) + = A_181 ) ) )). + +thf(fact_88_insertI2,axiom,( + ! [B_123: pname,A_180: pname,B_122: pname > $o] : + ( ( member_pname @ A_180 @ B_122 ) + => ( member_pname @ A_180 @ ( insert_pname @ B_123 @ B_122 ) ) ) )). + +thf(fact_89_insertI2,axiom,( + ! [B_123: hoare_1167836817_state,A_180: hoare_1167836817_state,B_122: hoare_1167836817_state > $o] : + ( ( member2058392318_state @ A_180 @ B_122 ) + => ( member2058392318_state @ A_180 @ ( insert2134838167_state @ B_123 @ B_122 ) ) ) )). + +thf(fact_90_insert__ident,axiom,( + ! [B_121: pname > $o,X_97: pname,A_179: pname > $o] : + ( ~ ( member_pname @ X_97 @ A_179 ) + => ( ~ ( member_pname @ X_97 @ B_121 ) + => ( ( ( insert_pname @ X_97 @ A_179 ) + = ( insert_pname @ X_97 @ B_121 ) ) + <=> ( A_179 = B_121 ) ) ) ) )). + +thf(fact_91_insert__ident,axiom,( + ! [B_121: hoare_1167836817_state > $o,X_97: hoare_1167836817_state,A_179: hoare_1167836817_state > $o] : + ( ~ ( member2058392318_state @ X_97 @ A_179 ) + => ( ~ ( member2058392318_state @ X_97 @ B_121 ) + => ( ( ( insert2134838167_state @ X_97 @ A_179 ) + = ( insert2134838167_state @ X_97 @ B_121 ) ) + <=> ( A_179 = B_121 ) ) ) ) )). + +thf(fact_92_insert__code,axiom,( + ! [Y_48: pname,A_178: pname > $o,X_96: pname] : + ( ( insert_pname @ Y_48 @ A_178 @ X_96 ) + <=> ( ( Y_48 = X_96 ) + | ( A_178 @ X_96 ) ) ) )). + +thf(fact_93_insert__code,axiom,( + ! [Y_48: hoare_1167836817_state,A_178: hoare_1167836817_state > $o,X_96: hoare_1167836817_state] : + ( ( insert2134838167_state @ Y_48 @ A_178 @ X_96 ) + <=> ( ( Y_48 = X_96 ) + | ( A_178 @ X_96 ) ) ) )). + +thf(fact_94_insert__iff,axiom,( + ! [A_177: pname,B_120: pname,A_176: pname > $o] : + ( ( member_pname @ A_177 @ ( insert_pname @ B_120 @ A_176 ) ) + <=> ( ( A_177 = B_120 ) + | ( member_pname @ A_177 @ A_176 ) ) ) )). + +thf(fact_95_insert__iff,axiom,( + ! [A_177: hoare_1167836817_state,B_120: hoare_1167836817_state,A_176: hoare_1167836817_state > $o] : + ( ( member2058392318_state @ A_177 @ ( insert2134838167_state @ B_120 @ A_176 ) ) + <=> ( ( A_177 = B_120 ) + | ( member2058392318_state @ A_177 @ A_176 ) ) ) )). + +thf(fact_96_insert__commute,axiom,( + ! [X_95: pname,Y_47: pname,A_175: pname > $o] : + ( ( insert_pname @ X_95 @ ( insert_pname @ Y_47 @ A_175 ) ) + = ( insert_pname @ Y_47 @ ( insert_pname @ X_95 @ A_175 ) ) ) )). + +thf(fact_97_insert__commute,axiom,( + ! [X_95: hoare_1167836817_state,Y_47: hoare_1167836817_state,A_175: hoare_1167836817_state > $o] : + ( ( insert2134838167_state @ X_95 @ ( insert2134838167_state @ Y_47 @ A_175 ) ) + = ( insert2134838167_state @ Y_47 @ ( insert2134838167_state @ X_95 @ A_175 ) ) ) )). + +thf(fact_98_insert__absorb2,axiom,( + ! [X_94: pname,A_174: pname > $o] : + ( ( insert_pname @ X_94 @ ( insert_pname @ X_94 @ A_174 ) ) + = ( insert_pname @ X_94 @ A_174 ) ) )). + +thf(fact_99_insert__absorb2,axiom,( + ! [X_94: hoare_1167836817_state,A_174: hoare_1167836817_state > $o] : + ( ( insert2134838167_state @ X_94 @ ( insert2134838167_state @ X_94 @ A_174 ) ) + = ( insert2134838167_state @ X_94 @ A_174 ) ) )). + +thf(fact_100_insert__Collect,axiom,( + ! [A_173: pname,P_39: pname > $o] : + ( ( insert_pname @ A_173 @ ( collect_pname @ P_39 ) ) + = ( collect_pname + @ ^ [U_2: pname] : + ( (=>) @ ( (~) @ ( U_2 = A_173 ) ) @ ( P_39 @ U_2 ) ) ) ) )). + +thf(fact_101_insert__Collect,axiom,( + ! [A_173: pname > $o,P_39: ( pname > $o ) > $o] : + ( ( insert_pname_o @ A_173 @ ( collect_pname_o @ P_39 ) ) + = ( collect_pname_o + @ ^ [U_2: pname > $o] : + ( (=>) @ ( (~) @ ( U_2 = A_173 ) ) @ ( P_39 @ U_2 ) ) ) ) )). + +thf(fact_102_insert__Collect,axiom,( + ! [A_173: hoare_1167836817_state > $o,P_39: ( hoare_1167836817_state > $o ) > $o] : + ( ( insert999278200tate_o @ A_173 @ ( collec269976083tate_o @ P_39 ) ) + = ( collec269976083tate_o + @ ^ [U_2: hoare_1167836817_state > $o] : + ( (=>) @ ( (~) @ ( U_2 = A_173 ) ) @ ( P_39 @ U_2 ) ) ) ) )). + +thf(fact_103_insert__Collect,axiom,( + ! [A_173: hoare_1167836817_state,P_39: hoare_1167836817_state > $o] : + ( ( insert2134838167_state @ A_173 @ ( collec1027672124_state @ P_39 ) ) + = ( collec1027672124_state + @ ^ [U_2: hoare_1167836817_state] : + ( (=>) @ ( (~) @ ( U_2 = A_173 ) ) @ ( P_39 @ U_2 ) ) ) ) )). + +thf(fact_104_insert__compr,axiom,( + ! [A_172: pname,B_119: pname > $o] : + ( ( insert_pname @ A_172 @ B_119 ) + = ( collect_pname + @ ^ [X_5: pname] : + ( (|) @ ( X_5 = A_172 ) @ ( member_pname @ X_5 @ B_119 ) ) ) ) )). + +thf(fact_105_insert__compr,axiom,( + ! [A_172: pname > $o,B_119: ( pname > $o ) > $o] : + ( ( insert_pname_o @ A_172 @ B_119 ) + = ( collect_pname_o + @ ^ [X_5: pname > $o] : + ( (|) @ ( X_5 = A_172 ) @ ( member_pname_o @ X_5 @ B_119 ) ) ) ) )). + +thf(fact_106_insert__compr,axiom,( + ! [A_172: hoare_1167836817_state > $o,B_119: ( hoare_1167836817_state > $o ) > $o] : + ( ( insert999278200tate_o @ A_172 @ B_119 ) + = ( collec269976083tate_o + @ ^ [X_5: hoare_1167836817_state > $o] : + ( (|) @ ( X_5 = A_172 ) @ ( member864234961tate_o @ X_5 @ B_119 ) ) ) ) )). + +thf(fact_107_insert__compr,axiom,( + ! [A_172: hoare_1167836817_state,B_119: hoare_1167836817_state > $o] : + ( ( insert2134838167_state @ A_172 @ B_119 ) + = ( collec1027672124_state + @ ^ [X_5: hoare_1167836817_state] : + ( (|) @ ( X_5 = A_172 ) @ ( member2058392318_state @ X_5 @ B_119 ) ) ) ) )). + +thf(fact_108_insertI1,axiom,( + ! [A_171: pname,B_118: pname > $o] : + ( member_pname @ A_171 @ ( insert_pname @ A_171 @ B_118 ) ) )). + +thf(fact_109_insertI1,axiom,( + ! [A_171: hoare_1167836817_state,B_118: hoare_1167836817_state > $o] : + ( member2058392318_state @ A_171 @ ( insert2134838167_state @ A_171 @ B_118 ) ) )). + +thf(fact_110_equalityE,axiom,( + ! [A_170: pname > $o,B_117: pname > $o] : + ( ( A_170 = B_117 ) + => ~ ( ( ord_less_eq_pname_o @ A_170 @ B_117 ) + => ~ ( ord_less_eq_pname_o @ B_117 @ A_170 ) ) ) )). + +thf(fact_111_equalityE,axiom,( + ! [A_170: hoare_1167836817_state > $o,B_117: hoare_1167836817_state > $o] : + ( ( A_170 = B_117 ) + => ~ ( ( ord_le827224136tate_o @ A_170 @ B_117 ) + => ~ ( ord_le827224136tate_o @ B_117 @ A_170 ) ) ) )). + +thf(fact_112_subset__trans,axiom,( + ! [C_50: pname > $o,A_169: pname > $o,B_116: pname > $o] : + ( ( ord_less_eq_pname_o @ A_169 @ B_116 ) + => ( ( ord_less_eq_pname_o @ B_116 @ C_50 ) + => ( ord_less_eq_pname_o @ A_169 @ C_50 ) ) ) )). + +thf(fact_113_subset__trans,axiom,( + ! [C_50: hoare_1167836817_state > $o,A_169: hoare_1167836817_state > $o,B_116: hoare_1167836817_state > $o] : + ( ( ord_le827224136tate_o @ A_169 @ B_116 ) + => ( ( ord_le827224136tate_o @ B_116 @ C_50 ) + => ( ord_le827224136tate_o @ A_169 @ C_50 ) ) ) )). + +thf(fact_114_set__mp,axiom,( + ! [X_93: pname,A_168: pname > $o,B_115: pname > $o] : + ( ( ord_less_eq_pname_o @ A_168 @ B_115 ) + => ( ( member_pname @ X_93 @ A_168 ) + => ( member_pname @ X_93 @ B_115 ) ) ) )). + +thf(fact_115_set__mp,axiom,( + ! [X_93: hoare_1167836817_state,A_168: hoare_1167836817_state > $o,B_115: hoare_1167836817_state > $o] : + ( ( ord_le827224136tate_o @ A_168 @ B_115 ) + => ( ( member2058392318_state @ X_93 @ A_168 ) + => ( member2058392318_state @ X_93 @ B_115 ) ) ) )). + +thf(fact_116_set__rev__mp,axiom,( + ! [B_114: pname > $o,X_92: pname,A_167: pname > $o] : + ( ( member_pname @ X_92 @ A_167 ) + => ( ( ord_less_eq_pname_o @ A_167 @ B_114 ) + => ( member_pname @ X_92 @ B_114 ) ) ) )). + +thf(fact_117_set__rev__mp,axiom,( + ! [B_114: hoare_1167836817_state > $o,X_92: hoare_1167836817_state,A_167: hoare_1167836817_state > $o] : + ( ( member2058392318_state @ X_92 @ A_167 ) + => ( ( ord_le827224136tate_o @ A_167 @ B_114 ) + => ( member2058392318_state @ X_92 @ B_114 ) ) ) )). + +thf(fact_118_in__mono,axiom,( + ! [X_91: pname,A_166: pname > $o,B_113: pname > $o] : + ( ( ord_less_eq_pname_o @ A_166 @ B_113 ) + => ( ( member_pname @ X_91 @ A_166 ) + => ( member_pname @ X_91 @ B_113 ) ) ) )). + +thf(fact_119_in__mono,axiom,( + ! [X_91: hoare_1167836817_state,A_166: hoare_1167836817_state > $o,B_113: hoare_1167836817_state > $o] : + ( ( ord_le827224136tate_o @ A_166 @ B_113 ) + => ( ( member2058392318_state @ X_91 @ A_166 ) + => ( member2058392318_state @ X_91 @ B_113 ) ) ) )). + +thf(fact_120_equalityD2,axiom,( + ! [A_165: pname > $o,B_112: pname > $o] : + ( ( A_165 = B_112 ) + => ( ord_less_eq_pname_o @ B_112 @ A_165 ) ) )). + +thf(fact_121_equalityD2,axiom,( + ! [A_165: hoare_1167836817_state > $o,B_112: hoare_1167836817_state > $o] : + ( ( A_165 = B_112 ) + => ( ord_le827224136tate_o @ B_112 @ A_165 ) ) )). + +thf(fact_122_equalityD1,axiom,( + ! [A_164: pname > $o,B_111: pname > $o] : + ( ( A_164 = B_111 ) + => ( ord_less_eq_pname_o @ A_164 @ B_111 ) ) )). + +thf(fact_123_equalityD1,axiom,( + ! [A_164: hoare_1167836817_state > $o,B_111: hoare_1167836817_state > $o] : + ( ( A_164 = B_111 ) + => ( ord_le827224136tate_o @ A_164 @ B_111 ) ) )). + +thf(fact_124_set__eq__subset,axiom,( + ! [A_163: pname > $o,B_110: pname > $o] : + ( ( A_163 = B_110 ) + <=> ( ( ord_less_eq_pname_o @ A_163 @ B_110 ) + & ( ord_less_eq_pname_o @ B_110 @ A_163 ) ) ) )). + +thf(fact_125_set__eq__subset,axiom,( + ! [A_163: hoare_1167836817_state > $o,B_110: hoare_1167836817_state > $o] : + ( ( A_163 = B_110 ) + <=> ( ( ord_le827224136tate_o @ A_163 @ B_110 ) + & ( ord_le827224136tate_o @ B_110 @ A_163 ) ) ) )). + +thf(fact_126_subset__refl,axiom,( + ! [A_162: pname > $o] : + ( ord_less_eq_pname_o @ A_162 @ A_162 ) )). + +thf(fact_127_subset__refl,axiom,( + ! [A_162: hoare_1167836817_state > $o] : + ( ord_le827224136tate_o @ A_162 @ A_162 ) )). + +thf(fact_128_rev__image__eqI,axiom,( + ! [B_109: pname,F_57: hoare_1167836817_state > pname,X_90: hoare_1167836817_state,A_161: hoare_1167836817_state > $o] : + ( ( member2058392318_state @ X_90 @ A_161 ) + => ( ( B_109 + = ( F_57 @ X_90 ) ) + => ( member_pname @ B_109 @ ( image_8178176_pname @ F_57 @ A_161 ) ) ) ) )). + +thf(fact_129_rev__image__eqI,axiom,( + ! [B_109: hoare_1167836817_state,F_57: pname > hoare_1167836817_state,X_90: pname,A_161: pname > $o] : + ( ( member_pname @ X_90 @ A_161 ) + => ( ( B_109 + = ( F_57 @ X_90 ) ) + => ( member2058392318_state @ B_109 @ ( image_575578384_state @ F_57 @ A_161 ) ) ) ) )). + +thf(fact_130_imageI,axiom,( + ! [F_56: hoare_1167836817_state > pname,X_89: hoare_1167836817_state,A_160: hoare_1167836817_state > $o] : + ( ( member2058392318_state @ X_89 @ A_160 ) + => ( member_pname @ ( F_56 @ X_89 ) @ ( image_8178176_pname @ F_56 @ A_160 ) ) ) )). + +thf(fact_131_imageI,axiom,( + ! [F_56: pname > hoare_1167836817_state,X_89: pname,A_160: pname > $o] : + ( ( member_pname @ X_89 @ A_160 ) + => ( member2058392318_state @ ( F_56 @ X_89 ) @ ( image_575578384_state @ F_56 @ A_160 ) ) ) )). + +thf(fact_132_image__iff,axiom,( + ! [Z_21: hoare_1167836817_state,F_55: pname > hoare_1167836817_state,A_159: pname > $o] : + ( ( member2058392318_state @ Z_21 @ ( image_575578384_state @ F_55 @ A_159 ) ) + <=> ? [X_5: pname] : + ( ( member_pname @ X_5 @ A_159 ) + & ( Z_21 + = ( F_55 @ X_5 ) ) ) ) )). + +thf(fact_133_finite__Collect__disjI,axiom,( + ! [P_38: ( pname > $o ) > $o,Q_23: ( pname > $o ) > $o] : + ( ( finite297249702name_o + @ ( collect_pname_o + @ ^ [X_5: pname > $o] : + ( (|) @ ( P_38 @ X_5 ) @ ( Q_23 @ X_5 ) ) ) ) + <=> ( ( finite297249702name_o @ ( collect_pname_o @ P_38 ) ) + & ( finite297249702name_o @ ( collect_pname_o @ Q_23 ) ) ) ) )). + +thf(fact_134_finite__Collect__disjI,axiom,( + ! [P_38: ( hoare_1167836817_state > $o ) > $o,Q_23: ( hoare_1167836817_state > $o ) > $o] : + ( ( finite1380128977tate_o + @ ( collec269976083tate_o + @ ^ [X_5: hoare_1167836817_state > $o] : + ( (|) @ ( P_38 @ X_5 ) @ ( Q_23 @ X_5 ) ) ) ) + <=> ( ( finite1380128977tate_o @ ( collec269976083tate_o @ P_38 ) ) + & ( finite1380128977tate_o @ ( collec269976083tate_o @ Q_23 ) ) ) ) )). + +thf(fact_135_finite__Collect__disjI,axiom,( + ! [P_38: hoare_1167836817_state > $o,Q_23: hoare_1167836817_state > $o] : + ( ( finite1084549118_state + @ ( collec1027672124_state + @ ^ [X_5: hoare_1167836817_state] : + ( (|) @ ( P_38 @ X_5 ) @ ( Q_23 @ X_5 ) ) ) ) + <=> ( ( finite1084549118_state @ ( collec1027672124_state @ P_38 ) ) + & ( finite1084549118_state @ ( collec1027672124_state @ Q_23 ) ) ) ) )). + +thf(fact_136_finite__Collect__disjI,axiom,( + ! [P_38: pname > $o,Q_23: pname > $o] : + ( ( finite_finite_pname + @ ( collect_pname + @ ^ [X_5: pname] : + ( (|) @ ( P_38 @ X_5 ) @ ( Q_23 @ X_5 ) ) ) ) + <=> ( ( finite_finite_pname @ ( collect_pname @ P_38 ) ) + & ( finite_finite_pname @ ( collect_pname @ Q_23 ) ) ) ) )). + +thf(fact_137_insert__compr__raw,axiom,( + ! [X_5: pname,Xa: pname > $o] : + ( ( insert_pname @ X_5 @ Xa ) + = ( collect_pname + @ ^ [Y_2: pname] : + ( (|) @ ( Y_2 = X_5 ) @ ( member_pname @ Y_2 @ Xa ) ) ) ) )). + +thf(fact_138_insert__compr__raw,axiom,( + ! [X_5: pname > $o,Xa: ( pname > $o ) > $o] : + ( ( insert_pname_o @ X_5 @ Xa ) + = ( collect_pname_o + @ ^ [Y_2: pname > $o] : + ( (|) @ ( Y_2 = X_5 ) @ ( member_pname_o @ Y_2 @ Xa ) ) ) ) )). + +thf(fact_139_insert__compr__raw,axiom,( + ! [X_5: hoare_1167836817_state > $o,Xa: ( hoare_1167836817_state > $o ) > $o] : + ( ( insert999278200tate_o @ X_5 @ Xa ) + = ( collec269976083tate_o + @ ^ [Y_2: hoare_1167836817_state > $o] : + ( (|) @ ( Y_2 = X_5 ) @ ( member864234961tate_o @ Y_2 @ Xa ) ) ) ) )). + +thf(fact_140_insert__compr__raw,axiom,( + ! [X_5: hoare_1167836817_state,Xa: hoare_1167836817_state > $o] : + ( ( insert2134838167_state @ X_5 @ Xa ) + = ( collec1027672124_state + @ ^ [Y_2: hoare_1167836817_state] : + ( (|) @ ( Y_2 = X_5 ) @ ( member2058392318_state @ Y_2 @ Xa ) ) ) ) )). + +thf(fact_141_singleton__inject,axiom,( + ! [A_158: pname,B_108: pname] : + ( ( ( insert_pname @ A_158 @ bot_bot_pname_o ) + = ( insert_pname @ B_108 @ bot_bot_pname_o ) ) + => ( A_158 = B_108 ) ) )). + +thf(fact_142_singleton__inject,axiom,( + ! [A_158: hoare_1167836817_state,B_108: hoare_1167836817_state] : + ( ( ( insert2134838167_state @ A_158 @ bot_bo70021908tate_o ) + = ( insert2134838167_state @ B_108 @ bot_bo70021908tate_o ) ) + => ( A_158 = B_108 ) ) )). + +thf(fact_143_singletonE,axiom,( + ! [B_107: pname,A_157: pname] : + ( ( member_pname @ B_107 @ ( insert_pname @ A_157 @ bot_bot_pname_o ) ) + => ( B_107 = A_157 ) ) )). + +thf(fact_144_singletonE,axiom,( + ! [B_107: hoare_1167836817_state,A_157: hoare_1167836817_state] : + ( ( member2058392318_state @ B_107 @ ( insert2134838167_state @ A_157 @ bot_bo70021908tate_o ) ) + => ( B_107 = A_157 ) ) )). + +thf(fact_145_doubleton__eq__iff,axiom,( + ! [A_156: pname,B_106: pname,C_49: pname,D_6: pname] : + ( ( ( insert_pname @ A_156 @ ( insert_pname @ B_106 @ bot_bot_pname_o ) ) + = ( insert_pname @ C_49 @ ( insert_pname @ D_6 @ bot_bot_pname_o ) ) ) + <=> ( ( ( A_156 = C_49 ) + & ( B_106 = D_6 ) ) + | ( ( A_156 = D_6 ) + & ( B_106 = C_49 ) ) ) ) )). + +thf(fact_146_doubleton__eq__iff,axiom,( + ! [A_156: hoare_1167836817_state,B_106: hoare_1167836817_state,C_49: hoare_1167836817_state,D_6: hoare_1167836817_state] : + ( ( ( insert2134838167_state @ A_156 @ ( insert2134838167_state @ B_106 @ bot_bo70021908tate_o ) ) + = ( insert2134838167_state @ C_49 @ ( insert2134838167_state @ D_6 @ bot_bo70021908tate_o ) ) ) + <=> ( ( ( A_156 = C_49 ) + & ( B_106 = D_6 ) ) + | ( ( A_156 = D_6 ) + & ( B_106 = C_49 ) ) ) ) )). + +thf(fact_147_singleton__iff,axiom,( + ! [B_105: pname,A_155: pname] : + ( ( member_pname @ B_105 @ ( insert_pname @ A_155 @ bot_bot_pname_o ) ) + <=> ( B_105 = A_155 ) ) )). + +thf(fact_148_singleton__iff,axiom,( + ! [B_105: hoare_1167836817_state,A_155: hoare_1167836817_state] : + ( ( member2058392318_state @ B_105 @ ( insert2134838167_state @ A_155 @ bot_bo70021908tate_o ) ) + <=> ( B_105 = A_155 ) ) )). + +thf(fact_149_insert__not__empty,axiom,( + ! [A_154: pname,A_153: pname > $o] : + ( ( insert_pname @ A_154 @ A_153 ) + != bot_bot_pname_o ) )). + +thf(fact_150_insert__not__empty,axiom,( + ! [A_154: hoare_1167836817_state,A_153: hoare_1167836817_state > $o] : + ( ( insert2134838167_state @ A_154 @ A_153 ) + != bot_bo70021908tate_o ) )). + +thf(fact_151_empty__not__insert,axiom,( + ! [A_152: pname,A_151: pname > $o] : + ( bot_bot_pname_o + != ( insert_pname @ A_152 @ A_151 ) ) )). + +thf(fact_152_empty__not__insert,axiom,( + ! [A_152: hoare_1167836817_state,A_151: hoare_1167836817_state > $o] : + ( bot_bo70021908tate_o + != ( insert2134838167_state @ A_152 @ A_151 ) ) )). + +thf(fact_153_finite__insert,axiom,( + ! [A_150: pname > $o,A_149: ( pname > $o ) > $o] : + ( ( finite297249702name_o @ ( insert_pname_o @ A_150 @ A_149 ) ) + <=> ( finite297249702name_o @ A_149 ) ) )). + +thf(fact_154_finite__insert,axiom,( + ! [A_150: hoare_1167836817_state > $o,A_149: ( hoare_1167836817_state > $o ) > $o] : + ( ( finite1380128977tate_o @ ( insert999278200tate_o @ A_150 @ A_149 ) ) + <=> ( finite1380128977tate_o @ A_149 ) ) )). + +thf(fact_155_finite__insert,axiom,( + ! [A_150: pname,A_149: pname > $o] : + ( ( finite_finite_pname @ ( insert_pname @ A_150 @ A_149 ) ) + <=> ( finite_finite_pname @ A_149 ) ) )). + +thf(fact_156_finite__insert,axiom,( + ! [A_150: hoare_1167836817_state,A_149: hoare_1167836817_state > $o] : + ( ( finite1084549118_state @ ( insert2134838167_state @ A_150 @ A_149 ) ) + <=> ( finite1084549118_state @ A_149 ) ) )). + +thf(fact_157_subset__empty,axiom,( + ! [A_148: pname > $o] : + ( ( ord_less_eq_pname_o @ A_148 @ bot_bot_pname_o ) + <=> ( A_148 = bot_bot_pname_o ) ) )). + +thf(fact_158_subset__empty,axiom,( + ! [A_148: hoare_1167836817_state > $o] : + ( ( ord_le827224136tate_o @ A_148 @ bot_bo70021908tate_o ) + <=> ( A_148 = bot_bo70021908tate_o ) ) )). + +thf(fact_159_image__is__empty,axiom,( + ! [F_54: hoare_1167836817_state > pname,A_147: hoare_1167836817_state > $o] : + ( ( ( image_8178176_pname @ F_54 @ A_147 ) + = bot_bot_pname_o ) + <=> ( A_147 = bot_bo70021908tate_o ) ) )). + +thf(fact_160_image__is__empty,axiom,( + ! [F_54: pname > hoare_1167836817_state,A_147: pname > $o] : + ( ( ( image_575578384_state @ F_54 @ A_147 ) + = bot_bo70021908tate_o ) + <=> ( A_147 = bot_bot_pname_o ) ) )). + +thf(fact_161_image__empty,axiom,( + ! [F_53: hoare_1167836817_state > pname] : + ( ( image_8178176_pname @ F_53 @ bot_bo70021908tate_o ) + = bot_bot_pname_o ) )). + +thf(fact_162_image__empty,axiom,( + ! [F_53: pname > hoare_1167836817_state] : + ( ( image_575578384_state @ F_53 @ bot_bot_pname_o ) + = bot_bo70021908tate_o ) )). + +thf(fact_163_empty__is__image,axiom,( + ! [F_52: hoare_1167836817_state > pname,A_146: hoare_1167836817_state > $o] : + ( ( bot_bot_pname_o + = ( image_8178176_pname @ F_52 @ A_146 ) ) + <=> ( A_146 = bot_bo70021908tate_o ) ) )). + +thf(fact_164_empty__is__image,axiom,( + ! [F_52: pname > hoare_1167836817_state,A_146: pname > $o] : + ( ( bot_bo70021908tate_o + = ( image_575578384_state @ F_52 @ A_146 ) ) + <=> ( A_146 = bot_bot_pname_o ) ) )). + +thf(fact_165_finite__subset,axiom,( + ! [A_145: ( pname > $o ) > $o,B_104: ( pname > $o ) > $o] : + ( ( ord_le1205211808me_o_o @ A_145 @ B_104 ) + => ( ( finite297249702name_o @ B_104 ) + => ( finite297249702name_o @ A_145 ) ) ) )). + +thf(fact_166_finite__subset,axiom,( + ! [A_145: ( hoare_1167836817_state > $o ) > $o,B_104: ( hoare_1167836817_state > $o ) > $o] : + ( ( ord_le741939125te_o_o @ A_145 @ B_104 ) + => ( ( finite1380128977tate_o @ B_104 ) + => ( finite1380128977tate_o @ A_145 ) ) ) )). + +thf(fact_167_finite__subset,axiom,( + ! [A_145: hoare_1167836817_state > $o,B_104: hoare_1167836817_state > $o] : + ( ( ord_le827224136tate_o @ A_145 @ B_104 ) + => ( ( finite1084549118_state @ B_104 ) + => ( finite1084549118_state @ A_145 ) ) ) )). + +thf(fact_168_finite__subset,axiom,( + ! [A_145: pname > $o,B_104: pname > $o] : + ( ( ord_less_eq_pname_o @ A_145 @ B_104 ) + => ( ( finite_finite_pname @ B_104 ) + => ( finite_finite_pname @ A_145 ) ) ) )). + +thf(fact_169_rev__finite__subset,axiom,( + ! [A_144: ( pname > $o ) > $o,B_103: ( pname > $o ) > $o] : + ( ( finite297249702name_o @ B_103 ) + => ( ( ord_le1205211808me_o_o @ A_144 @ B_103 ) + => ( finite297249702name_o @ A_144 ) ) ) )). + +thf(fact_170_rev__finite__subset,axiom,( + ! [A_144: ( hoare_1167836817_state > $o ) > $o,B_103: ( hoare_1167836817_state > $o ) > $o] : + ( ( finite1380128977tate_o @ B_103 ) + => ( ( ord_le741939125te_o_o @ A_144 @ B_103 ) + => ( finite1380128977tate_o @ A_144 ) ) ) )). + +thf(fact_171_rev__finite__subset,axiom,( + ! [A_144: hoare_1167836817_state > $o,B_103: hoare_1167836817_state > $o] : + ( ( finite1084549118_state @ B_103 ) + => ( ( ord_le827224136tate_o @ A_144 @ B_103 ) + => ( finite1084549118_state @ A_144 ) ) ) )). + +thf(fact_172_rev__finite__subset,axiom,( + ! [A_144: pname > $o,B_103: pname > $o] : + ( ( finite_finite_pname @ B_103 ) + => ( ( ord_less_eq_pname_o @ A_144 @ B_103 ) + => ( finite_finite_pname @ A_144 ) ) ) )). + +thf(fact_173_insert__mono,axiom,( + ! [A_143: pname,C_48: pname > $o,D_5: pname > $o] : + ( ( ord_less_eq_pname_o @ C_48 @ D_5 ) + => ( ord_less_eq_pname_o @ ( insert_pname @ A_143 @ C_48 ) @ ( insert_pname @ A_143 @ D_5 ) ) ) )). + +thf(fact_174_insert__mono,axiom,( + ! [A_143: hoare_1167836817_state,C_48: hoare_1167836817_state > $o,D_5: hoare_1167836817_state > $o] : + ( ( ord_le827224136tate_o @ C_48 @ D_5 ) + => ( ord_le827224136tate_o @ ( insert2134838167_state @ A_143 @ C_48 ) @ ( insert2134838167_state @ A_143 @ D_5 ) ) ) )). + +thf(fact_175_mem__def,axiom,( + ! [X_88: pname,A_142: pname > $o] : + ( ( member_pname @ X_88 @ A_142 ) + <=> ( A_142 @ X_88 ) ) )). + +thf(fact_176_mem__def,axiom,( + ! [X_88: hoare_1167836817_state,A_142: hoare_1167836817_state > $o] : + ( ( member2058392318_state @ X_88 @ A_142 ) + <=> ( A_142 @ X_88 ) ) )). + +thf(fact_177_Collect__def,axiom,( + ! [P_37: hoare_1167836817_state > $o] : + ( ( collec1027672124_state @ P_37 ) + = P_37 ) )). + +thf(fact_178_Collect__def,axiom,( + ! [P_37: pname > $o] : + ( ( collect_pname @ P_37 ) + = P_37 ) )). + +thf(fact_179_Collect__def,axiom,( + ! [P_37: ( pname > $o ) > $o] : + ( ( collect_pname_o @ P_37 ) + = P_37 ) )). + +thf(fact_180_Collect__def,axiom,( + ! [P_37: ( hoare_1167836817_state > $o ) > $o] : + ( ( collec269976083tate_o @ P_37 ) + = P_37 ) )). + +thf(fact_181_subset__insertI2,axiom,( + ! [B_102: pname,A_141: pname > $o,B_101: pname > $o] : + ( ( ord_less_eq_pname_o @ A_141 @ B_101 ) + => ( ord_less_eq_pname_o @ A_141 @ ( insert_pname @ B_102 @ B_101 ) ) ) )). + +thf(fact_182_subset__insertI2,axiom,( + ! [B_102: hoare_1167836817_state,A_141: hoare_1167836817_state > $o,B_101: hoare_1167836817_state > $o] : + ( ( ord_le827224136tate_o @ A_141 @ B_101 ) + => ( ord_le827224136tate_o @ A_141 @ ( insert2134838167_state @ B_102 @ B_101 ) ) ) )). + +thf(fact_183_subset__insert,axiom,( + ! [B_100: pname > $o,X_87: pname,A_140: pname > $o] : + ( ~ ( member_pname @ X_87 @ A_140 ) + => ( ( ord_less_eq_pname_o @ A_140 @ ( insert_pname @ X_87 @ B_100 ) ) + <=> ( ord_less_eq_pname_o @ A_140 @ B_100 ) ) ) )). + +thf(fact_184_subset__insert,axiom,( + ! [B_100: hoare_1167836817_state > $o,X_87: hoare_1167836817_state,A_140: hoare_1167836817_state > $o] : + ( ~ ( member2058392318_state @ X_87 @ A_140 ) + => ( ( ord_le827224136tate_o @ A_140 @ ( insert2134838167_state @ X_87 @ B_100 ) ) + <=> ( ord_le827224136tate_o @ A_140 @ B_100 ) ) ) )). + +thf(fact_185_insert__subset,axiom,( + ! [X_86: pname,A_139: pname > $o,B_99: pname > $o] : + ( ( ord_less_eq_pname_o @ ( insert_pname @ X_86 @ A_139 ) @ B_99 ) + <=> ( ( member_pname @ X_86 @ B_99 ) + & ( ord_less_eq_pname_o @ A_139 @ B_99 ) ) ) )). + +thf(fact_186_insert__subset,axiom,( + ! [X_86: hoare_1167836817_state,A_139: hoare_1167836817_state > $o,B_99: hoare_1167836817_state > $o] : + ( ( ord_le827224136tate_o @ ( insert2134838167_state @ X_86 @ A_139 ) @ B_99 ) + <=> ( ( member2058392318_state @ X_86 @ B_99 ) + & ( ord_le827224136tate_o @ A_139 @ B_99 ) ) ) )). + +thf(fact_187_subset__insertI,axiom,( + ! [B_98: pname > $o,A_138: pname] : + ( ord_less_eq_pname_o @ B_98 @ ( insert_pname @ A_138 @ B_98 ) ) )). + +thf(fact_188_subset__insertI,axiom,( + ! [B_98: hoare_1167836817_state > $o,A_138: hoare_1167836817_state] : + ( ord_le827224136tate_o @ B_98 @ ( insert2134838167_state @ A_138 @ B_98 ) ) )). + +thf(fact_189_insert__image,axiom,( + ! [F_51: hoare_1167836817_state > pname,X_85: hoare_1167836817_state,A_137: hoare_1167836817_state > $o] : + ( ( member2058392318_state @ X_85 @ A_137 ) + => ( ( insert_pname @ ( F_51 @ X_85 ) @ ( image_8178176_pname @ F_51 @ A_137 ) ) + = ( image_8178176_pname @ F_51 @ A_137 ) ) ) )). + +thf(fact_190_insert__image,axiom,( + ! [F_51: pname > hoare_1167836817_state,X_85: pname,A_137: pname > $o] : + ( ( member_pname @ X_85 @ A_137 ) + => ( ( insert2134838167_state @ ( F_51 @ X_85 ) @ ( image_575578384_state @ F_51 @ A_137 ) ) + = ( image_575578384_state @ F_51 @ A_137 ) ) ) )). + +thf(fact_191_image__insert,axiom,( + ! [F_50: hoare_1167836817_state > pname,A_136: hoare_1167836817_state,B_97: hoare_1167836817_state > $o] : + ( ( image_8178176_pname @ F_50 @ ( insert2134838167_state @ A_136 @ B_97 ) ) + = ( insert_pname @ ( F_50 @ A_136 ) @ ( image_8178176_pname @ F_50 @ B_97 ) ) ) )). + +thf(fact_192_image__insert,axiom,( + ! [F_50: pname > hoare_1167836817_state,A_136: pname,B_97: pname > $o] : + ( ( image_575578384_state @ F_50 @ ( insert_pname @ A_136 @ B_97 ) ) + = ( insert2134838167_state @ ( F_50 @ A_136 ) @ ( image_575578384_state @ F_50 @ B_97 ) ) ) )). + +thf(fact_193_image__mono,axiom,( + ! [F_49: hoare_1167836817_state > pname,A_135: hoare_1167836817_state > $o,B_96: hoare_1167836817_state > $o] : + ( ( ord_le827224136tate_o @ A_135 @ B_96 ) + => ( ord_less_eq_pname_o @ ( image_8178176_pname @ F_49 @ A_135 ) @ ( image_8178176_pname @ F_49 @ B_96 ) ) ) )). + +thf(fact_194_image__mono,axiom,( + ! [F_49: pname > hoare_1167836817_state,A_135: pname > $o,B_96: pname > $o] : + ( ( ord_less_eq_pname_o @ A_135 @ B_96 ) + => ( ord_le827224136tate_o @ ( image_575578384_state @ F_49 @ A_135 ) @ ( image_575578384_state @ F_49 @ B_96 ) ) ) )). + +thf(fact_195_subset__image__iff,axiom,( + ! [B_95: pname > $o,F_48: hoare_1167836817_state > pname,A_134: hoare_1167836817_state > $o] : + ( ( ord_less_eq_pname_o @ B_95 @ ( image_8178176_pname @ F_48 @ A_134 ) ) + <=> ? [AA: hoare_1167836817_state > $o] : + ( ( ord_le827224136tate_o @ AA @ A_134 ) + & ( B_95 + = ( image_8178176_pname @ F_48 @ AA ) ) ) ) )). + +thf(fact_196_subset__image__iff,axiom,( + ! [B_95: hoare_1167836817_state > $o,F_48: pname > hoare_1167836817_state,A_134: pname > $o] : + ( ( ord_le827224136tate_o @ B_95 @ ( image_575578384_state @ F_48 @ A_134 ) ) + <=> ? [AA: pname > $o] : + ( ( ord_less_eq_pname_o @ AA @ A_134 ) + & ( B_95 + = ( image_575578384_state @ F_48 @ AA ) ) ) ) )). + +thf(fact_197_domI,axiom,( + ! [M_2: pname > option_com,A_133: pname,B_94: com] : + ( ( ( M_2 @ A_133 ) + = ( some_com @ B_94 ) ) + => ( member_pname @ A_133 @ ( dom_pname_com @ M_2 ) ) ) )). + +thf(fact_198_Collect__conv__if,axiom,( + ! [P_36: pname > $o,A_132: pname] : + ( ( ( P_36 @ A_132 ) + => ( ( collect_pname + @ ^ [X_5: pname] : + ( (&) @ ( X_5 = A_132 ) @ ( P_36 @ X_5 ) ) ) + = ( insert_pname @ A_132 @ bot_bot_pname_o ) ) ) + & ( ~ ( P_36 @ A_132 ) + => ( ( collect_pname + @ ^ [X_5: pname] : + ( (&) @ ( X_5 = A_132 ) @ ( P_36 @ X_5 ) ) ) + = bot_bot_pname_o ) ) ) )). + +thf(fact_199_Collect__conv__if,axiom,( + ! [P_36: ( pname > $o ) > $o,A_132: pname > $o] : + ( ( ( P_36 @ A_132 ) + => ( ( collect_pname_o + @ ^ [X_5: pname > $o] : + ( (&) @ ( X_5 = A_132 ) @ ( P_36 @ X_5 ) ) ) + = ( insert_pname_o @ A_132 @ bot_bot_pname_o_o ) ) ) + & ( ~ ( P_36 @ A_132 ) + => ( ( collect_pname_o + @ ^ [X_5: pname > $o] : + ( (&) @ ( X_5 = A_132 ) @ ( P_36 @ X_5 ) ) ) + = bot_bot_pname_o_o ) ) ) )). + +thf(fact_200_Collect__conv__if,axiom,( + ! [P_36: ( hoare_1167836817_state > $o ) > $o,A_132: hoare_1167836817_state > $o] : + ( ( ( P_36 @ A_132 ) + => ( ( collec269976083tate_o + @ ^ [X_5: hoare_1167836817_state > $o] : + ( (&) @ ( X_5 = A_132 ) @ ( P_36 @ X_5 ) ) ) + = ( insert999278200tate_o @ A_132 @ bot_bo691907561te_o_o ) ) ) + & ( ~ ( P_36 @ A_132 ) + => ( ( collec269976083tate_o + @ ^ [X_5: hoare_1167836817_state > $o] : + ( (&) @ ( X_5 = A_132 ) @ ( P_36 @ X_5 ) ) ) + = bot_bo691907561te_o_o ) ) ) )). + +thf(fact_201_Collect__conv__if,axiom,( + ! [P_36: hoare_1167836817_state > $o,A_132: hoare_1167836817_state] : + ( ( ( P_36 @ A_132 ) + => ( ( collec1027672124_state + @ ^ [X_5: hoare_1167836817_state] : + ( (&) @ ( X_5 = A_132 ) @ ( P_36 @ X_5 ) ) ) + = ( insert2134838167_state @ A_132 @ bot_bo70021908tate_o ) ) ) + & ( ~ ( P_36 @ A_132 ) + => ( ( collec1027672124_state + @ ^ [X_5: hoare_1167836817_state] : + ( (&) @ ( X_5 = A_132 ) @ ( P_36 @ X_5 ) ) ) + = bot_bo70021908tate_o ) ) ) )). + +thf(fact_202_Collect__conv__if2,axiom,( + ! [P_35: pname > $o,A_131: pname] : + ( ( ( P_35 @ A_131 ) + => ( ( collect_pname + @ ^ [X_5: pname] : + ( (&) @ ( A_131 = X_5 ) @ ( P_35 @ X_5 ) ) ) + = ( insert_pname @ A_131 @ bot_bot_pname_o ) ) ) + & ( ~ ( P_35 @ A_131 ) + => ( ( collect_pname + @ ^ [X_5: pname] : + ( (&) @ ( A_131 = X_5 ) @ ( P_35 @ X_5 ) ) ) + = bot_bot_pname_o ) ) ) )). + +thf(fact_203_Collect__conv__if2,axiom,( + ! [P_35: ( pname > $o ) > $o,A_131: pname > $o] : + ( ( ( P_35 @ A_131 ) + => ( ( collect_pname_o + @ ^ [X_5: pname > $o] : + ( (&) @ ( A_131 = X_5 ) @ ( P_35 @ X_5 ) ) ) + = ( insert_pname_o @ A_131 @ bot_bot_pname_o_o ) ) ) + & ( ~ ( P_35 @ A_131 ) + => ( ( collect_pname_o + @ ^ [X_5: pname > $o] : + ( (&) @ ( A_131 = X_5 ) @ ( P_35 @ X_5 ) ) ) + = bot_bot_pname_o_o ) ) ) )). + +thf(fact_204_Collect__conv__if2,axiom,( + ! [P_35: ( hoare_1167836817_state > $o ) > $o,A_131: hoare_1167836817_state > $o] : + ( ( ( P_35 @ A_131 ) + => ( ( collec269976083tate_o + @ ^ [X_5: hoare_1167836817_state > $o] : + ( (&) @ ( A_131 = X_5 ) @ ( P_35 @ X_5 ) ) ) + = ( insert999278200tate_o @ A_131 @ bot_bo691907561te_o_o ) ) ) + & ( ~ ( P_35 @ A_131 ) + => ( ( collec269976083tate_o + @ ^ [X_5: hoare_1167836817_state > $o] : + ( (&) @ ( A_131 = X_5 ) @ ( P_35 @ X_5 ) ) ) + = bot_bo691907561te_o_o ) ) ) )). + +thf(fact_205_Collect__conv__if2,axiom,( + ! [P_35: hoare_1167836817_state > $o,A_131: hoare_1167836817_state] : + ( ( ( P_35 @ A_131 ) + => ( ( collec1027672124_state + @ ^ [X_5: hoare_1167836817_state] : + ( (&) @ ( A_131 = X_5 ) @ ( P_35 @ X_5 ) ) ) + = ( insert2134838167_state @ A_131 @ bot_bo70021908tate_o ) ) ) + & ( ~ ( P_35 @ A_131 ) + => ( ( collec1027672124_state + @ ^ [X_5: hoare_1167836817_state] : + ( (&) @ ( A_131 = X_5 ) @ ( P_35 @ X_5 ) ) ) + = bot_bo70021908tate_o ) ) ) )). + +thf(fact_206_singleton__conv,axiom,( + ! [A_130: pname] : + ( ( collect_pname + @ ^ [X_5: pname] : ( X_5 = A_130 ) ) + = ( insert_pname @ A_130 @ bot_bot_pname_o ) ) )). + +thf(fact_207_singleton__conv,axiom,( + ! [A_130: pname > $o] : + ( ( collect_pname_o + @ ^ [X_5: pname > $o] : ( X_5 = A_130 ) ) + = ( insert_pname_o @ A_130 @ bot_bot_pname_o_o ) ) )). + +thf(fact_208_singleton__conv,axiom,( + ! [A_130: hoare_1167836817_state > $o] : + ( ( collec269976083tate_o + @ ^ [X_5: hoare_1167836817_state > $o] : ( X_5 = A_130 ) ) + = ( insert999278200tate_o @ A_130 @ bot_bo691907561te_o_o ) ) )). + +thf(fact_209_singleton__conv,axiom,( + ! [A_130: hoare_1167836817_state] : + ( ( collec1027672124_state + @ ^ [X_5: hoare_1167836817_state] : ( X_5 = A_130 ) ) + = ( insert2134838167_state @ A_130 @ bot_bo70021908tate_o ) ) )). + +thf(fact_210_singleton__conv2,axiom,( + ! [A_129: pname] : + ( ( collect_pname @ ( fequal_pname @ A_129 ) ) + = ( insert_pname @ A_129 @ bot_bot_pname_o ) ) )). + +thf(fact_211_singleton__conv2,axiom,( + ! [A_129: pname > $o] : + ( ( collect_pname_o @ ( fequal_pname_o @ A_129 ) ) + = ( insert_pname_o @ A_129 @ bot_bot_pname_o_o ) ) )). + +thf(fact_212_singleton__conv2,axiom,( + ! [A_129: hoare_1167836817_state > $o] : + ( ( collec269976083tate_o @ ( fequal1486222077tate_o @ A_129 ) ) + = ( insert999278200tate_o @ A_129 @ bot_bo691907561te_o_o ) ) )). + +thf(fact_213_singleton__conv2,axiom,( + ! [A_129: hoare_1167836817_state] : + ( ( collec1027672124_state @ ( fequal1831255762_state @ A_129 ) ) + = ( insert2134838167_state @ A_129 @ bot_bo70021908tate_o ) ) )). + +thf(fact_214_MGF__lemma1,axiom,( + ! [C_21: com,G_3: hoare_1167836817_state > $o] : + ( hoare_1201148605gleton + => ( ! [X_5: pname] : + ( ( member_pname @ X_5 @ ( dom_pname_com @ body ) ) + => ( hoare_123228589_state @ G_3 @ ( insert2134838167_state @ ( hoare_Mirabelle_MGT @ ( body_1 @ X_5 ) ) @ bot_bo70021908tate_o ) ) ) + => ( ( wt @ C_21 ) + => ( hoare_123228589_state @ G_3 @ ( insert2134838167_state @ ( hoare_Mirabelle_MGT @ C_21 ) @ bot_bo70021908tate_o ) ) ) ) ) )). + +thf(fact_215_WT__bodiesD,axiom,( + ! [Pn_1: pname,B_42: com] : + ( wT_bodies + => ( ( ( body @ Pn_1 ) + = ( some_com @ B_42 ) ) + => ( wt @ B_42 ) ) ) )). + +thf(fact_216_imageE,axiom,( + ! [B_93: pname,F_47: hoare_1167836817_state > pname,A_128: hoare_1167836817_state > $o] : + ( ( member_pname @ B_93 @ ( image_8178176_pname @ F_47 @ A_128 ) ) + => ~ ! [X_5: hoare_1167836817_state] : + ( ( B_93 + = ( F_47 @ X_5 ) ) + => ~ ( member2058392318_state @ X_5 @ A_128 ) ) ) )). + +thf(fact_217_imageE,axiom,( + ! [B_93: hoare_1167836817_state,F_47: pname > hoare_1167836817_state,A_128: pname > $o] : + ( ( member2058392318_state @ B_93 @ ( image_575578384_state @ F_47 @ A_128 ) ) + => ~ ! [X_5: pname] : + ( ( B_93 + = ( F_47 @ X_5 ) ) + => ~ ( member_pname @ X_5 @ A_128 ) ) ) )). + +thf(fact_218_finite__subset__induct,axiom,( + ! [P_34: ( ( pname > $o ) > $o ) > $o,A_127: ( pname > $o ) > $o,F_46: ( pname > $o ) > $o] : + ( ( finite297249702name_o @ F_46 ) + => ( ( ord_le1205211808me_o_o @ F_46 @ A_127 ) + => ( ( P_34 @ bot_bot_pname_o_o ) + => ( ! [A_122: pname > $o,F_26: ( pname > $o ) > $o] : + ( ( finite297249702name_o @ F_26 ) + => ( ( member_pname_o @ A_122 @ A_127 ) + => ( ~ ( member_pname_o @ A_122 @ F_26 ) + => ( ( P_34 @ F_26 ) + => ( P_34 @ ( insert_pname_o @ A_122 @ F_26 ) ) ) ) ) ) + => ( P_34 @ F_46 ) ) ) ) ) )). + +thf(fact_219_finite__subset__induct,axiom,( + ! [P_34: ( ( hoare_1167836817_state > $o ) > $o ) > $o,A_127: ( hoare_1167836817_state > $o ) > $o,F_46: ( hoare_1167836817_state > $o ) > $o] : + ( ( finite1380128977tate_o @ F_46 ) + => ( ( ord_le741939125te_o_o @ F_46 @ A_127 ) + => ( ( P_34 @ bot_bo691907561te_o_o ) + => ( ! [A_122: hoare_1167836817_state > $o,F_26: ( hoare_1167836817_state > $o ) > $o] : + ( ( finite1380128977tate_o @ F_26 ) + => ( ( member864234961tate_o @ A_122 @ A_127 ) + => ( ~ ( member864234961tate_o @ A_122 @ F_26 ) + => ( ( P_34 @ F_26 ) + => ( P_34 @ ( insert999278200tate_o @ A_122 @ F_26 ) ) ) ) ) ) + => ( P_34 @ F_46 ) ) ) ) ) )). + +thf(fact_220_finite__subset__induct,axiom,( + ! [P_34: ( pname > $o ) > $o,A_127: pname > $o,F_46: pname > $o] : + ( ( finite_finite_pname @ F_46 ) + => ( ( ord_less_eq_pname_o @ F_46 @ A_127 ) + => ( ( P_34 @ bot_bot_pname_o ) + => ( ! [A_122: pname,F_26: pname > $o] : + ( ( finite_finite_pname @ F_26 ) + => ( ( member_pname @ A_122 @ A_127 ) + => ( ~ ( member_pname @ A_122 @ F_26 ) + => ( ( P_34 @ F_26 ) + => ( P_34 @ ( insert_pname @ A_122 @ F_26 ) ) ) ) ) ) + => ( P_34 @ F_46 ) ) ) ) ) )). + +thf(fact_221_finite__subset__induct,axiom,( + ! [P_34: ( hoare_1167836817_state > $o ) > $o,A_127: hoare_1167836817_state > $o,F_46: hoare_1167836817_state > $o] : + ( ( finite1084549118_state @ F_46 ) + => ( ( ord_le827224136tate_o @ F_46 @ A_127 ) + => ( ( P_34 @ bot_bo70021908tate_o ) + => ( ! [A_122: hoare_1167836817_state,F_26: hoare_1167836817_state > $o] : + ( ( finite1084549118_state @ F_26 ) + => ( ( member2058392318_state @ A_122 @ A_127 ) + => ( ~ ( member2058392318_state @ A_122 @ F_26 ) + => ( ( P_34 @ F_26 ) + => ( P_34 @ ( insert2134838167_state @ A_122 @ F_26 ) ) ) ) ) ) + => ( P_34 @ F_46 ) ) ) ) ) )). + +thf(fact_222_WTs__elim__cases_I7_J,axiom,( + ! [P: pname] : + ( ( wt @ ( body_1 @ P ) ) + => ~ ! [Y_2: com] : + ( ( body @ P ) + != ( some_com @ Y_2 ) ) ) )). + +thf(fact_223_subsetI,axiom,( + ! [B_92: pname > $o,A_126: pname > $o] : + ( ! [X_5: pname] : + ( ( member_pname @ X_5 @ A_126 ) + => ( member_pname @ X_5 @ B_92 ) ) + => ( ord_less_eq_pname_o @ A_126 @ B_92 ) ) )). + +thf(fact_224_subsetI,axiom,( + ! [B_92: hoare_1167836817_state > $o,A_126: hoare_1167836817_state > $o] : + ( ! [X_5: hoare_1167836817_state] : + ( ( member2058392318_state @ X_5 @ A_126 ) + => ( member2058392318_state @ X_5 @ B_92 ) ) + => ( ord_le827224136tate_o @ A_126 @ B_92 ) ) )). + +thf(fact_225_finite__subset__image,axiom,( + ! [F_45: ( pname > $o ) > hoare_1167836817_state,A_125: ( pname > $o ) > $o,B_91: hoare_1167836817_state > $o] : + ( ( finite1084549118_state @ B_91 ) + => ( ( ord_le827224136tate_o @ B_91 @ ( image_1381916541_state @ F_45 @ A_125 ) ) + => ? [C_47: ( pname > $o ) > $o] : + ( ( ord_le1205211808me_o_o @ C_47 @ A_125 ) + & ( finite297249702name_o @ C_47 ) + & ( B_91 + = ( image_1381916541_state @ F_45 @ C_47 ) ) ) ) ) )). + +thf(fact_226_finite__subset__image,axiom,( + ! [F_45: ( hoare_1167836817_state > $o ) > hoare_1167836817_state,A_125: ( hoare_1167836817_state > $o ) > $o,B_91: hoare_1167836817_state > $o] : + ( ( finite1084549118_state @ B_91 ) + => ( ( ord_le827224136tate_o @ B_91 @ ( image_635813834_state @ F_45 @ A_125 ) ) + => ? [C_47: ( hoare_1167836817_state > $o ) > $o] : + ( ( ord_le741939125te_o_o @ C_47 @ A_125 ) + & ( finite1380128977tate_o @ C_47 ) + & ( B_91 + = ( image_635813834_state @ F_45 @ C_47 ) ) ) ) ) )). + +thf(fact_227_finite__subset__image,axiom,( + ! [F_45: ( pname > $o ) > pname,A_125: ( pname > $o ) > $o,B_91: pname > $o] : + ( ( finite_finite_pname @ B_91 ) + => ( ( ord_less_eq_pname_o @ B_91 @ ( image_pname_o_pname @ F_45 @ A_125 ) ) + => ? [C_47: ( pname > $o ) > $o] : + ( ( ord_le1205211808me_o_o @ C_47 @ A_125 ) + & ( finite297249702name_o @ C_47 ) + & ( B_91 + = ( image_pname_o_pname @ F_45 @ C_47 ) ) ) ) ) )). + +thf(fact_228_finite__subset__image,axiom,( + ! [F_45: ( hoare_1167836817_state > $o ) > pname,A_125: ( hoare_1167836817_state > $o ) > $o,B_91: pname > $o] : + ( ( finite_finite_pname @ B_91 ) + => ( ( ord_less_eq_pname_o @ B_91 @ ( image_980295115_pname @ F_45 @ A_125 ) ) + => ? [C_47: ( hoare_1167836817_state > $o ) > $o] : + ( ( ord_le741939125te_o_o @ C_47 @ A_125 ) + & ( finite1380128977tate_o @ C_47 ) + & ( B_91 + = ( image_980295115_pname @ F_45 @ C_47 ) ) ) ) ) )). + +thf(fact_229_finite__subset__image,axiom,( + ! [F_45: hoare_1167836817_state > pname > $o,A_125: hoare_1167836817_state > $o,B_91: ( pname > $o ) > $o] : + ( ( finite297249702name_o @ B_91 ) + => ( ( ord_le1205211808me_o_o @ B_91 @ ( image_2066861949name_o @ F_45 @ A_125 ) ) + => ? [C_47: hoare_1167836817_state > $o] : + ( ( ord_le827224136tate_o @ C_47 @ A_125 ) + & ( finite1084549118_state @ C_47 ) + & ( B_91 + = ( image_2066861949name_o @ F_45 @ C_47 ) ) ) ) ) )). + +thf(fact_230_finite__subset__image,axiom,( + ! [F_45: hoare_1167836817_state > hoare_1167836817_state > $o,A_125: hoare_1167836817_state > $o,B_91: ( hoare_1167836817_state > $o ) > $o] : + ( ( finite1380128977tate_o @ B_91 ) + => ( ( ord_le741939125te_o_o @ B_91 @ ( image_1745649338tate_o @ F_45 @ A_125 ) ) + => ? [C_47: hoare_1167836817_state > $o] : + ( ( ord_le827224136tate_o @ C_47 @ A_125 ) + & ( finite1084549118_state @ C_47 ) + & ( B_91 + = ( image_1745649338tate_o @ F_45 @ C_47 ) ) ) ) ) )). + +thf(fact_231_finite__subset__image,axiom,( + ! [F_45: hoare_1167836817_state > pname,A_125: hoare_1167836817_state > $o,B_91: pname > $o] : + ( ( finite_finite_pname @ B_91 ) + => ( ( ord_less_eq_pname_o @ B_91 @ ( image_8178176_pname @ F_45 @ A_125 ) ) + => ? [C_47: hoare_1167836817_state > $o] : + ( ( ord_le827224136tate_o @ C_47 @ A_125 ) + & ( finite1084549118_state @ C_47 ) + & ( B_91 + = ( image_8178176_pname @ F_45 @ C_47 ) ) ) ) ) )). + +thf(fact_232_finite__subset__image,axiom,( + ! [F_45: pname > pname > $o,A_125: pname > $o,B_91: ( pname > $o ) > $o] : + ( ( finite297249702name_o @ B_91 ) + => ( ( ord_le1205211808me_o_o @ B_91 @ ( image_pname_pname_o @ F_45 @ A_125 ) ) + => ? [C_47: pname > $o] : + ( ( ord_less_eq_pname_o @ C_47 @ A_125 ) + & ( finite_finite_pname @ C_47 ) + & ( B_91 + = ( image_pname_pname_o @ F_45 @ C_47 ) ) ) ) ) )). + +thf(fact_233_finite__subset__image,axiom,( + ! [F_45: pname > hoare_1167836817_state > $o,A_125: pname > $o,B_91: ( hoare_1167836817_state > $o ) > $o] : + ( ( finite1380128977tate_o @ B_91 ) + => ( ( ord_le741939125te_o_o @ B_91 @ ( image_475339327tate_o @ F_45 @ A_125 ) ) + => ? [C_47: pname > $o] : + ( ( ord_less_eq_pname_o @ C_47 @ A_125 ) + & ( finite_finite_pname @ C_47 ) + & ( B_91 + = ( image_475339327tate_o @ F_45 @ C_47 ) ) ) ) ) )). + +thf(fact_234_finite__subset__image,axiom,( + ! [F_45: pname > pname,A_125: pname > $o,B_91: pname > $o] : + ( ( finite_finite_pname @ B_91 ) + => ( ( ord_less_eq_pname_o @ B_91 @ ( image_pname_pname @ F_45 @ A_125 ) ) + => ? [C_47: pname > $o] : + ( ( ord_less_eq_pname_o @ C_47 @ A_125 ) + & ( finite_finite_pname @ C_47 ) + & ( B_91 + = ( image_pname_pname @ F_45 @ C_47 ) ) ) ) ) )). + +thf(fact_235_finite__subset__image,axiom,( + ! [F_45: pname > hoare_1167836817_state,A_125: pname > $o,B_91: hoare_1167836817_state > $o] : + ( ( finite1084549118_state @ B_91 ) + => ( ( ord_le827224136tate_o @ B_91 @ ( image_575578384_state @ F_45 @ A_125 ) ) + => ? [C_47: pname > $o] : + ( ( ord_less_eq_pname_o @ C_47 @ A_125 ) + & ( finite_finite_pname @ C_47 ) + & ( B_91 + = ( image_575578384_state @ F_45 @ C_47 ) ) ) ) ) )). + +thf(fact_236_finite__dom__body,axiom, + ( finite_finite_pname @ ( dom_pname_com @ body ) )). + +thf(fact_237_finite__induct,axiom,( + ! [P_33: ( ( pname > $o ) > $o ) > $o,F_44: ( pname > $o ) > $o] : + ( ( finite297249702name_o @ F_44 ) + => ( ( P_33 @ bot_bot_pname_o_o ) + => ( ! [X_5: pname > $o,F_26: ( pname > $o ) > $o] : + ( ( finite297249702name_o @ F_26 ) + => ( ~ ( member_pname_o @ X_5 @ F_26 ) + => ( ( P_33 @ F_26 ) + => ( P_33 @ ( insert_pname_o @ X_5 @ F_26 ) ) ) ) ) + => ( P_33 @ F_44 ) ) ) ) )). + +thf(fact_238_finite__induct,axiom,( + ! [P_33: ( ( hoare_1167836817_state > $o ) > $o ) > $o,F_44: ( hoare_1167836817_state > $o ) > $o] : + ( ( finite1380128977tate_o @ F_44 ) + => ( ( P_33 @ bot_bo691907561te_o_o ) + => ( ! [X_5: hoare_1167836817_state > $o,F_26: ( hoare_1167836817_state > $o ) > $o] : + ( ( finite1380128977tate_o @ F_26 ) + => ( ~ ( member864234961tate_o @ X_5 @ F_26 ) + => ( ( P_33 @ F_26 ) + => ( P_33 @ ( insert999278200tate_o @ X_5 @ F_26 ) ) ) ) ) + => ( P_33 @ F_44 ) ) ) ) )). + +thf(fact_239_finite__induct,axiom,( + ! [P_33: ( pname > $o ) > $o,F_44: pname > $o] : + ( ( finite_finite_pname @ F_44 ) + => ( ( P_33 @ bot_bot_pname_o ) + => ( ! [X_5: pname,F_26: pname > $o] : + ( ( finite_finite_pname @ F_26 ) + => ( ~ ( member_pname @ X_5 @ F_26 ) + => ( ( P_33 @ F_26 ) + => ( P_33 @ ( insert_pname @ X_5 @ F_26 ) ) ) ) ) + => ( P_33 @ F_44 ) ) ) ) )). + +thf(fact_240_finite__induct,axiom,( + ! [P_33: ( hoare_1167836817_state > $o ) > $o,F_44: hoare_1167836817_state > $o] : + ( ( finite1084549118_state @ F_44 ) + => ( ( P_33 @ bot_bo70021908tate_o ) + => ( ! [X_5: hoare_1167836817_state,F_26: hoare_1167836817_state > $o] : + ( ( finite1084549118_state @ F_26 ) + => ( ~ ( member2058392318_state @ X_5 @ F_26 ) + => ( ( P_33 @ F_26 ) + => ( P_33 @ ( insert2134838167_state @ X_5 @ F_26 ) ) ) ) ) + => ( P_33 @ F_44 ) ) ) ) )). + +thf(fact_241_finite_Osimps,axiom,( + ! [A_123: ( pname > $o ) > $o] : + ( ( finite297249702name_o @ A_123 ) + <=> ( ( A_123 = bot_bot_pname_o_o ) + | ? [A_124: ( pname > $o ) > $o,A_122: pname > $o] : + ( ( A_123 + = ( insert_pname_o @ A_122 @ A_124 ) ) + & ( finite297249702name_o @ A_124 ) ) ) ) )). + +thf(fact_242_finite_Osimps,axiom,( + ! [A_123: ( hoare_1167836817_state > $o ) > $o] : + ( ( finite1380128977tate_o @ A_123 ) + <=> ( ( A_123 = bot_bo691907561te_o_o ) + | ? [A_124: ( hoare_1167836817_state > $o ) > $o,A_122: hoare_1167836817_state > $o] : + ( ( A_123 + = ( insert999278200tate_o @ A_122 @ A_124 ) ) + & ( finite1380128977tate_o @ A_124 ) ) ) ) )). + +thf(fact_243_finite_Osimps,axiom,( + ! [A_123: pname > $o] : + ( ( finite_finite_pname @ A_123 ) + <=> ( ( A_123 = bot_bot_pname_o ) + | ? [A_124: pname > $o,A_122: pname] : + ( ( A_123 + = ( insert_pname @ A_122 @ A_124 ) ) + & ( finite_finite_pname @ A_124 ) ) ) ) )). + +thf(fact_244_finite_Osimps,axiom,( + ! [A_123: hoare_1167836817_state > $o] : + ( ( finite1084549118_state @ A_123 ) + <=> ( ( A_123 = bot_bo70021908tate_o ) + | ? [A_124: hoare_1167836817_state > $o,A_122: hoare_1167836817_state] : + ( ( A_123 + = ( insert2134838167_state @ A_122 @ A_124 ) ) + & ( finite1084549118_state @ A_124 ) ) ) ) )). + +thf(fact_245_pigeonhole__infinite,axiom,( + ! [F_43: pname > pname > $o,A_121: pname > $o] : + ( ~ ( finite_finite_pname @ A_121 ) + => ( ( finite297249702name_o @ ( image_pname_pname_o @ F_43 @ A_121 ) ) + => ? [X_5: pname] : + ( ( member_pname @ X_5 @ A_121 ) + & ~ ( finite_finite_pname + @ ( collect_pname + @ ^ [A_122: pname] : + ( (&) @ ( member_pname @ A_122 @ A_121 ) + @ ( ( F_43 @ A_122 ) + = ( F_43 @ X_5 ) ) ) ) ) ) ) ) )). + +thf(fact_246_pigeonhole__infinite,axiom,( + ! [F_43: pname > hoare_1167836817_state > $o,A_121: pname > $o] : + ( ~ ( finite_finite_pname @ A_121 ) + => ( ( finite1380128977tate_o @ ( image_475339327tate_o @ F_43 @ A_121 ) ) + => ? [X_5: pname] : + ( ( member_pname @ X_5 @ A_121 ) + & ~ ( finite_finite_pname + @ ( collect_pname + @ ^ [A_122: pname] : + ( (&) @ ( member_pname @ A_122 @ A_121 ) + @ ( ( F_43 @ A_122 ) + = ( F_43 @ X_5 ) ) ) ) ) ) ) ) )). + +thf(fact_247_pigeonhole__infinite,axiom,( + ! [F_43: hoare_1167836817_state > hoare_1167836817_state,A_121: hoare_1167836817_state > $o] : + ( ~ ( finite1084549118_state @ A_121 ) + => ( ( finite1084549118_state @ ( image_31595733_state @ F_43 @ A_121 ) ) + => ? [X_5: hoare_1167836817_state] : + ( ( member2058392318_state @ X_5 @ A_121 ) + & ~ ( finite1084549118_state + @ ( collec1027672124_state + @ ^ [A_122: hoare_1167836817_state] : + ( (&) @ ( member2058392318_state @ A_122 @ A_121 ) + @ ( ( F_43 @ A_122 ) + = ( F_43 @ X_5 ) ) ) ) ) ) ) ) )). + +thf(fact_248_pigeonhole__infinite,axiom,( + ! [F_43: ( pname > $o ) > hoare_1167836817_state,A_121: ( pname > $o ) > $o] : + ( ~ ( finite297249702name_o @ A_121 ) + => ( ( finite1084549118_state @ ( image_1381916541_state @ F_43 @ A_121 ) ) + => ? [X_5: pname > $o] : + ( ( member_pname_o @ X_5 @ A_121 ) + & ~ ( finite297249702name_o + @ ( collect_pname_o + @ ^ [A_122: pname > $o] : + ( (&) @ ( member_pname_o @ A_122 @ A_121 ) + @ ( ( F_43 @ A_122 ) + = ( F_43 @ X_5 ) ) ) ) ) ) ) ) )). + +thf(fact_249_pigeonhole__infinite,axiom,( + ! [F_43: ( hoare_1167836817_state > $o ) > hoare_1167836817_state,A_121: ( hoare_1167836817_state > $o ) > $o] : + ( ~ ( finite1380128977tate_o @ A_121 ) + => ( ( finite1084549118_state @ ( image_635813834_state @ F_43 @ A_121 ) ) + => ? [X_5: hoare_1167836817_state > $o] : + ( ( member864234961tate_o @ X_5 @ A_121 ) + & ~ ( finite1380128977tate_o + @ ( collec269976083tate_o + @ ^ [A_122: hoare_1167836817_state > $o] : + ( (&) @ ( member864234961tate_o @ A_122 @ A_121 ) + @ ( ( F_43 @ A_122 ) + = ( F_43 @ X_5 ) ) ) ) ) ) ) ) )). + +thf(fact_250_pigeonhole__infinite,axiom,( + ! [F_43: pname > pname,A_121: pname > $o] : + ( ~ ( finite_finite_pname @ A_121 ) + => ( ( finite_finite_pname @ ( image_pname_pname @ F_43 @ A_121 ) ) + => ? [X_5: pname] : + ( ( member_pname @ X_5 @ A_121 ) + & ~ ( finite_finite_pname + @ ( collect_pname + @ ^ [A_122: pname] : + ( (&) @ ( member_pname @ A_122 @ A_121 ) + @ ( ( F_43 @ A_122 ) + = ( F_43 @ X_5 ) ) ) ) ) ) ) ) )). + +thf(fact_251_pigeonhole__infinite,axiom,( + ! [F_43: hoare_1167836817_state > pname,A_121: hoare_1167836817_state > $o] : + ( ~ ( finite1084549118_state @ A_121 ) + => ( ( finite_finite_pname @ ( image_8178176_pname @ F_43 @ A_121 ) ) + => ? [X_5: hoare_1167836817_state] : + ( ( member2058392318_state @ X_5 @ A_121 ) + & ~ ( finite1084549118_state + @ ( collec1027672124_state + @ ^ [A_122: hoare_1167836817_state] : + ( (&) @ ( member2058392318_state @ A_122 @ A_121 ) + @ ( ( F_43 @ A_122 ) + = ( F_43 @ X_5 ) ) ) ) ) ) ) ) )). + +thf(fact_252_pigeonhole__infinite,axiom,( + ! [F_43: ( pname > $o ) > pname,A_121: ( pname > $o ) > $o] : + ( ~ ( finite297249702name_o @ A_121 ) + => ( ( finite_finite_pname @ ( image_pname_o_pname @ F_43 @ A_121 ) ) + => ? [X_5: pname > $o] : + ( ( member_pname_o @ X_5 @ A_121 ) + & ~ ( finite297249702name_o + @ ( collect_pname_o + @ ^ [A_122: pname > $o] : + ( (&) @ ( member_pname_o @ A_122 @ A_121 ) + @ ( ( F_43 @ A_122 ) + = ( F_43 @ X_5 ) ) ) ) ) ) ) ) )). + +thf(fact_253_pigeonhole__infinite,axiom,( + ! [F_43: ( hoare_1167836817_state > $o ) > pname,A_121: ( hoare_1167836817_state > $o ) > $o] : + ( ~ ( finite1380128977tate_o @ A_121 ) + => ( ( finite_finite_pname @ ( image_980295115_pname @ F_43 @ A_121 ) ) + => ? [X_5: hoare_1167836817_state > $o] : + ( ( member864234961tate_o @ X_5 @ A_121 ) + & ~ ( finite1380128977tate_o + @ ( collec269976083tate_o + @ ^ [A_122: hoare_1167836817_state > $o] : + ( (&) @ ( member864234961tate_o @ A_122 @ A_121 ) + @ ( ( F_43 @ A_122 ) + = ( F_43 @ X_5 ) ) ) ) ) ) ) ) )). + +thf(fact_254_pigeonhole__infinite,axiom,( + ! [F_43: hoare_1167836817_state > pname > $o,A_121: hoare_1167836817_state > $o] : + ( ~ ( finite1084549118_state @ A_121 ) + => ( ( finite297249702name_o @ ( image_2066861949name_o @ F_43 @ A_121 ) ) + => ? [X_5: hoare_1167836817_state] : + ( ( member2058392318_state @ X_5 @ A_121 ) + & ~ ( finite1084549118_state + @ ( collec1027672124_state + @ ^ [A_122: hoare_1167836817_state] : + ( (&) @ ( member2058392318_state @ A_122 @ A_121 ) + @ ( ( F_43 @ A_122 ) + = ( F_43 @ X_5 ) ) ) ) ) ) ) ) )). + +thf(fact_255_pigeonhole__infinite,axiom,( + ! [F_43: hoare_1167836817_state > hoare_1167836817_state > $o,A_121: hoare_1167836817_state > $o] : + ( ~ ( finite1084549118_state @ A_121 ) + => ( ( finite1380128977tate_o @ ( image_1745649338tate_o @ F_43 @ A_121 ) ) + => ? [X_5: hoare_1167836817_state] : + ( ( member2058392318_state @ X_5 @ A_121 ) + & ~ ( finite1084549118_state + @ ( collec1027672124_state + @ ^ [A_122: hoare_1167836817_state] : + ( (&) @ ( member2058392318_state @ A_122 @ A_121 ) + @ ( ( F_43 @ A_122 ) + = ( F_43 @ X_5 ) ) ) ) ) ) ) ) )). + +thf(fact_256_pigeonhole__infinite,axiom,( + ! [F_43: pname > hoare_1167836817_state,A_121: pname > $o] : + ( ~ ( finite_finite_pname @ A_121 ) + => ( ( finite1084549118_state @ ( image_575578384_state @ F_43 @ A_121 ) ) + => ? [X_5: pname] : + ( ( member_pname @ X_5 @ A_121 ) + & ~ ( finite_finite_pname + @ ( collect_pname + @ ^ [A_122: pname] : + ( (&) @ ( member_pname @ A_122 @ A_121 ) + @ ( ( F_43 @ A_122 ) + = ( F_43 @ X_5 ) ) ) ) ) ) ) ) )). + +thf(fact_257_com_Osimps_I6_J,axiom,( + ! [Pname_1: pname,Pname: pname] : + ( ( ( body_1 @ Pname_1 ) + = ( body_1 @ Pname ) ) + <=> ( Pname_1 = Pname ) ) )). + +thf(fact_258_MGT__Body,axiom,( + ! [G_3: hoare_1167836817_state > $o,Procs_3: pname > $o] : + ( ( hoare_123228589_state + @ ( semila1172322802tate_o @ G_3 + @ ( image_575578384_state + @ ^ [Pn: pname] : + ( hoare_Mirabelle_MGT @ ( body_1 @ Pn ) ) + @ Procs_3 ) ) + @ ( image_575578384_state + @ ^ [Pn: pname] : + ( hoare_Mirabelle_MGT @ ( the_com @ ( body @ Pn ) ) ) + @ Procs_3 ) ) + => ( ( finite_finite_pname @ Procs_3 ) + => ( hoare_123228589_state @ G_3 + @ ( image_575578384_state + @ ^ [Pn: pname] : + ( hoare_Mirabelle_MGT @ ( body_1 @ Pn ) ) + @ Procs_3 ) ) ) ) )). + +thf(fact_259_domD,axiom,( + ! [A_120: pname,M_1: pname > option_com] : + ( ( member_pname @ A_120 @ ( dom_pname_com @ M_1 ) ) + => ? [B_90: com] : + ( ( M_1 @ A_120 ) + = ( some_com @ B_90 ) ) ) )). + +thf(fact_260_the__elem__eq,axiom,( + ! [X_84: pname] : + ( ( the_elem_pname @ ( insert_pname @ X_84 @ bot_bot_pname_o ) ) + = X_84 ) )). + +thf(fact_261_the__elem__eq,axiom,( + ! [X_84: hoare_1167836817_state] : + ( ( the_el323660082_state @ ( insert2134838167_state @ X_84 @ bot_bo70021908tate_o ) ) + = X_84 ) )). + +thf(fact_262_image__subsetI,axiom,( + ! [F_42: hoare_1167836817_state > pname,B_89: pname > $o,A_119: hoare_1167836817_state > $o] : + ( ! [X_5: hoare_1167836817_state] : + ( ( member2058392318_state @ X_5 @ A_119 ) + => ( member_pname @ ( F_42 @ X_5 ) @ B_89 ) ) + => ( ord_less_eq_pname_o @ ( image_8178176_pname @ F_42 @ A_119 ) @ B_89 ) ) )). + +thf(fact_263_image__subsetI,axiom,( + ! [F_42: pname > hoare_1167836817_state,B_89: hoare_1167836817_state > $o,A_119: pname > $o] : + ( ! [X_5: pname] : + ( ( member_pname @ X_5 @ A_119 ) + => ( member2058392318_state @ ( F_42 @ X_5 ) @ B_89 ) ) + => ( ord_le827224136tate_o @ ( image_575578384_state @ F_42 @ A_119 ) @ B_89 ) ) )). + +thf(fact_264_order__refl,axiom,( + ! [X_83: pname > $o] : + ( ord_less_eq_pname_o @ X_83 @ X_83 ) )). + +thf(fact_265_order__refl,axiom,( + ! [X_83: hoare_1167836817_state > $o] : + ( ord_le827224136tate_o @ X_83 @ X_83 ) )). + +thf(fact_266_nonempty__iff,axiom,( + ! [A_118: pname > $o] : + ( ( A_118 != bot_bot_pname_o ) + <=> ? [X_5: pname,B_43: pname > $o] : + ( ( A_118 + = ( insert_pname @ X_5 @ B_43 ) ) + & ~ ( member_pname @ X_5 @ B_43 ) ) ) )). + +thf(fact_267_nonempty__iff,axiom,( + ! [A_118: hoare_1167836817_state > $o] : + ( ( A_118 != bot_bo70021908tate_o ) + <=> ? [X_5: hoare_1167836817_state,B_43: hoare_1167836817_state > $o] : + ( ( A_118 + = ( insert2134838167_state @ X_5 @ B_43 ) ) + & ~ ( member2058392318_state @ X_5 @ B_43 ) ) ) )). + +thf(fact_268_the_Osimps,axiom,( + ! [X_82: com] : + ( ( the_com @ ( some_com @ X_82 ) ) + = X_82 ) )). + +thf(fact_269_weak__Body,axiom,( + ! [G_27: hoare_1167836817_state > $o,P_32: state > state > $o,Pn_4: pname,Q_22: state > state > $o] : + ( ( hoare_123228589_state @ G_27 @ ( insert2134838167_state @ ( hoare_908217195_state @ P_32 @ ( the_com @ ( body @ Pn_4 ) ) @ Q_22 ) @ bot_bo70021908tate_o ) ) + => ( hoare_123228589_state @ G_27 @ ( insert2134838167_state @ ( hoare_908217195_state @ P_32 @ ( body_1 @ Pn_4 ) @ Q_22 ) @ bot_bo70021908tate_o ) ) ) )). + +thf(fact_270_UnCI,axiom,( + ! [A_117: pname > $o,C_46: pname,B_88: pname > $o] : + ( ( ~ ( member_pname @ C_46 @ B_88 ) + => ( member_pname @ C_46 @ A_117 ) ) + => ( member_pname @ C_46 @ ( semila1780557381name_o @ A_117 @ B_88 ) ) ) )). + +thf(fact_271_UnCI,axiom,( + ! [A_117: hoare_1167836817_state > $o,C_46: hoare_1167836817_state,B_88: hoare_1167836817_state > $o] : + ( ( ~ ( member2058392318_state @ C_46 @ B_88 ) + => ( member2058392318_state @ C_46 @ A_117 ) ) + => ( member2058392318_state @ C_46 @ ( semila1172322802tate_o @ A_117 @ B_88 ) ) ) )). + +thf(fact_272_UnE,axiom,( + ! [C_45: pname,A_116: pname > $o,B_87: pname > $o] : + ( ( member_pname @ C_45 @ ( semila1780557381name_o @ A_116 @ B_87 ) ) + => ( ~ ( member_pname @ C_45 @ A_116 ) + => ( member_pname @ C_45 @ B_87 ) ) ) )). + +thf(fact_273_UnE,axiom,( + ! [C_45: hoare_1167836817_state,A_116: hoare_1167836817_state > $o,B_87: hoare_1167836817_state > $o] : + ( ( member2058392318_state @ C_45 @ ( semila1172322802tate_o @ A_116 @ B_87 ) ) + => ( ~ ( member2058392318_state @ C_45 @ A_116 ) + => ( member2058392318_state @ C_45 @ B_87 ) ) ) )). + +thf(fact_274_Collect__disj__eq,axiom,( + ! [P_31: pname > $o,Q_21: pname > $o] : + ( ( collect_pname + @ ^ [X_5: pname] : + ( (|) @ ( P_31 @ X_5 ) @ ( Q_21 @ X_5 ) ) ) + = ( semila1780557381name_o @ ( collect_pname @ P_31 ) @ ( collect_pname @ Q_21 ) ) ) )). + +thf(fact_275_Collect__disj__eq,axiom,( + ! [P_31: ( pname > $o ) > $o,Q_21: ( pname > $o ) > $o] : + ( ( collect_pname_o + @ ^ [X_5: pname > $o] : + ( (|) @ ( P_31 @ X_5 ) @ ( Q_21 @ X_5 ) ) ) + = ( semila181081674me_o_o @ ( collect_pname_o @ P_31 ) @ ( collect_pname_o @ Q_21 ) ) ) )). + +thf(fact_276_Collect__disj__eq,axiom,( + ! [P_31: ( hoare_1167836817_state > $o ) > $o,Q_21: ( hoare_1167836817_state > $o ) > $o] : + ( ( collec269976083tate_o + @ ^ [X_5: hoare_1167836817_state > $o] : + ( (|) @ ( P_31 @ X_5 ) @ ( Q_21 @ X_5 ) ) ) + = ( semila866907787te_o_o @ ( collec269976083tate_o @ P_31 ) @ ( collec269976083tate_o @ Q_21 ) ) ) )). + +thf(fact_277_Collect__disj__eq,axiom,( + ! [P_31: hoare_1167836817_state > $o,Q_21: hoare_1167836817_state > $o] : + ( ( collec1027672124_state + @ ^ [X_5: hoare_1167836817_state] : + ( (|) @ ( P_31 @ X_5 ) @ ( Q_21 @ X_5 ) ) ) + = ( semila1172322802tate_o @ ( collec1027672124_state @ P_31 ) @ ( collec1027672124_state @ Q_21 ) ) ) )). + +thf(fact_278_triple_Oinject,axiom,( + ! [Fun1_2: state > state > $o,Com_4: com,Fun2_2: state > state > $o,Fun1_1: state > state > $o,Com_3: com,Fun2_1: state > state > $o] : + ( ( ( hoare_908217195_state @ Fun1_2 @ Com_4 @ Fun2_2 ) + = ( hoare_908217195_state @ Fun1_1 @ Com_3 @ Fun2_1 ) ) + <=> ( ( Fun1_2 = Fun1_1 ) + & ( Com_4 = Com_3 ) + & ( Fun2_2 = Fun2_1 ) ) ) )). + +thf(fact_279_UnI2,axiom,( + ! [A_115: pname > $o,C_44: pname,B_86: pname > $o] : + ( ( member_pname @ C_44 @ B_86 ) + => ( member_pname @ C_44 @ ( semila1780557381name_o @ A_115 @ B_86 ) ) ) )). + +thf(fact_280_UnI2,axiom,( + ! [A_115: hoare_1167836817_state > $o,C_44: hoare_1167836817_state,B_86: hoare_1167836817_state > $o] : + ( ( member2058392318_state @ C_44 @ B_86 ) + => ( member2058392318_state @ C_44 @ ( semila1172322802tate_o @ A_115 @ B_86 ) ) ) )). + +thf(fact_281_UnI1,axiom,( + ! [B_85: pname > $o,C_43: pname,A_114: pname > $o] : + ( ( member_pname @ C_43 @ A_114 ) + => ( member_pname @ C_43 @ ( semila1780557381name_o @ A_114 @ B_85 ) ) ) )). + +thf(fact_282_UnI1,axiom,( + ! [B_85: hoare_1167836817_state > $o,C_43: hoare_1167836817_state,A_114: hoare_1167836817_state > $o] : + ( ( member2058392318_state @ C_43 @ A_114 ) + => ( member2058392318_state @ C_43 @ ( semila1172322802tate_o @ A_114 @ B_85 ) ) ) )). + +thf(fact_283_ball__Un,axiom,( + ! [P_30: hoare_1167836817_state > $o,A_113: hoare_1167836817_state > $o,B_84: hoare_1167836817_state > $o] : + ( ! [X_5: hoare_1167836817_state] : + ( ( member2058392318_state @ X_5 @ ( semila1172322802tate_o @ A_113 @ B_84 ) ) + => ( P_30 @ X_5 ) ) + <=> ( ! [X_5: hoare_1167836817_state] : + ( ( member2058392318_state @ X_5 @ A_113 ) + => ( P_30 @ X_5 ) ) + & ! [X_5: hoare_1167836817_state] : + ( ( member2058392318_state @ X_5 @ B_84 ) + => ( P_30 @ X_5 ) ) ) ) )). + +thf(fact_284_bex__Un,axiom,( + ! [P_29: hoare_1167836817_state > $o,A_112: hoare_1167836817_state > $o,B_83: hoare_1167836817_state > $o] : + ( ? [X_5: hoare_1167836817_state] : + ( ( member2058392318_state @ X_5 @ ( semila1172322802tate_o @ A_112 @ B_83 ) ) + & ( P_29 @ X_5 ) ) + <=> ( ? [X_5: hoare_1167836817_state] : + ( ( member2058392318_state @ X_5 @ A_112 ) + & ( P_29 @ X_5 ) ) + | ? [X_5: hoare_1167836817_state] : + ( ( member2058392318_state @ X_5 @ B_83 ) + & ( P_29 @ X_5 ) ) ) ) )). + +thf(fact_285_Un__assoc,axiom,( + ! [A_111: hoare_1167836817_state > $o,B_82: hoare_1167836817_state > $o,C_42: hoare_1167836817_state > $o] : + ( ( semila1172322802tate_o @ ( semila1172322802tate_o @ A_111 @ B_82 ) @ C_42 ) + = ( semila1172322802tate_o @ A_111 @ ( semila1172322802tate_o @ B_82 @ C_42 ) ) ) )). + +thf(fact_286_Un__iff,axiom,( + ! [C_41: pname,A_110: pname > $o,B_81: pname > $o] : + ( ( member_pname @ C_41 @ ( semila1780557381name_o @ A_110 @ B_81 ) ) + <=> ( ( member_pname @ C_41 @ A_110 ) + | ( member_pname @ C_41 @ B_81 ) ) ) )). + +thf(fact_287_Un__iff,axiom,( + ! [C_41: hoare_1167836817_state,A_110: hoare_1167836817_state > $o,B_81: hoare_1167836817_state > $o] : + ( ( member2058392318_state @ C_41 @ ( semila1172322802tate_o @ A_110 @ B_81 ) ) + <=> ( ( member2058392318_state @ C_41 @ A_110 ) + | ( member2058392318_state @ C_41 @ B_81 ) ) ) )). + +thf(fact_288_Un__left__commute,axiom,( + ! [A_109: hoare_1167836817_state > $o,B_80: hoare_1167836817_state > $o,C_40: hoare_1167836817_state > $o] : + ( ( semila1172322802tate_o @ A_109 @ ( semila1172322802tate_o @ B_80 @ C_40 ) ) + = ( semila1172322802tate_o @ B_80 @ ( semila1172322802tate_o @ A_109 @ C_40 ) ) ) )). + +thf(fact_289_Un__left__absorb,axiom,( + ! [A_108: hoare_1167836817_state > $o,B_79: hoare_1167836817_state > $o] : + ( ( semila1172322802tate_o @ A_108 @ ( semila1172322802tate_o @ A_108 @ B_79 ) ) + = ( semila1172322802tate_o @ A_108 @ B_79 ) ) )). + +thf(fact_290_Un__commute,axiom,( + ! [A_107: hoare_1167836817_state > $o,B_78: hoare_1167836817_state > $o] : + ( ( semila1172322802tate_o @ A_107 @ B_78 ) + = ( semila1172322802tate_o @ B_78 @ A_107 ) ) )). + +thf(fact_291_Un__def,axiom,( + ! [A_106: pname > $o,B_77: pname > $o] : + ( ( semila1780557381name_o @ A_106 @ B_77 ) + = ( collect_pname + @ ^ [X_5: pname] : + ( (|) @ ( member_pname @ X_5 @ A_106 ) @ ( member_pname @ X_5 @ B_77 ) ) ) ) )). + +thf(fact_292_Un__def,axiom,( + ! [A_106: ( pname > $o ) > $o,B_77: ( pname > $o ) > $o] : + ( ( semila181081674me_o_o @ A_106 @ B_77 ) + = ( collect_pname_o + @ ^ [X_5: pname > $o] : + ( (|) @ ( member_pname_o @ X_5 @ A_106 ) @ ( member_pname_o @ X_5 @ B_77 ) ) ) ) )). + +thf(fact_293_Un__def,axiom,( + ! [A_106: ( hoare_1167836817_state > $o ) > $o,B_77: ( hoare_1167836817_state > $o ) > $o] : + ( ( semila866907787te_o_o @ A_106 @ B_77 ) + = ( collec269976083tate_o + @ ^ [X_5: hoare_1167836817_state > $o] : + ( (|) @ ( member864234961tate_o @ X_5 @ A_106 ) @ ( member864234961tate_o @ X_5 @ B_77 ) ) ) ) )). + +thf(fact_294_Un__def,axiom,( + ! [A_106: hoare_1167836817_state > $o,B_77: hoare_1167836817_state > $o] : + ( ( semila1172322802tate_o @ A_106 @ B_77 ) + = ( collec1027672124_state + @ ^ [X_5: hoare_1167836817_state] : + ( (|) @ ( member2058392318_state @ X_5 @ A_106 ) @ ( member2058392318_state @ X_5 @ B_77 ) ) ) ) )). + +thf(fact_295_Un__absorb,axiom,( + ! [A_105: hoare_1167836817_state > $o] : + ( ( semila1172322802tate_o @ A_105 @ A_105 ) + = A_105 ) )). + +thf(fact_296_Un__empty,axiom,( + ! [A_104: pname > $o,B_76: pname > $o] : + ( ( ( semila1780557381name_o @ A_104 @ B_76 ) + = bot_bot_pname_o ) + <=> ( ( A_104 = bot_bot_pname_o ) + & ( B_76 = bot_bot_pname_o ) ) ) )). + +thf(fact_297_Un__empty,axiom,( + ! [A_104: hoare_1167836817_state > $o,B_76: hoare_1167836817_state > $o] : + ( ( ( semila1172322802tate_o @ A_104 @ B_76 ) + = bot_bo70021908tate_o ) + <=> ( ( A_104 = bot_bo70021908tate_o ) + & ( B_76 = bot_bo70021908tate_o ) ) ) )). + +thf(fact_298_Un__empty__right,axiom,( + ! [A_103: pname > $o] : + ( ( semila1780557381name_o @ A_103 @ bot_bot_pname_o ) + = A_103 ) )). + +thf(fact_299_Un__empty__right,axiom,( + ! [A_103: hoare_1167836817_state > $o] : + ( ( semila1172322802tate_o @ A_103 @ bot_bo70021908tate_o ) + = A_103 ) )). + +thf(fact_300_Un__empty__left,axiom,( + ! [B_75: pname > $o] : + ( ( semila1780557381name_o @ bot_bot_pname_o @ B_75 ) + = B_75 ) )). + +thf(fact_301_Un__empty__left,axiom,( + ! [B_75: hoare_1167836817_state > $o] : + ( ( semila1172322802tate_o @ bot_bo70021908tate_o @ B_75 ) + = B_75 ) )). + +thf(fact_302_finite__UnI,axiom,( + ! [G_26: ( pname > $o ) > $o,F_41: ( pname > $o ) > $o] : + ( ( finite297249702name_o @ F_41 ) + => ( ( finite297249702name_o @ G_26 ) + => ( finite297249702name_o @ ( semila181081674me_o_o @ F_41 @ G_26 ) ) ) ) )). + +thf(fact_303_finite__UnI,axiom,( + ! [G_26: ( hoare_1167836817_state > $o ) > $o,F_41: ( hoare_1167836817_state > $o ) > $o] : + ( ( finite1380128977tate_o @ F_41 ) + => ( ( finite1380128977tate_o @ G_26 ) + => ( finite1380128977tate_o @ ( semila866907787te_o_o @ F_41 @ G_26 ) ) ) ) )). + +thf(fact_304_finite__UnI,axiom,( + ! [G_26: pname > $o,F_41: pname > $o] : + ( ( finite_finite_pname @ F_41 ) + => ( ( finite_finite_pname @ G_26 ) + => ( finite_finite_pname @ ( semila1780557381name_o @ F_41 @ G_26 ) ) ) ) )). + +thf(fact_305_finite__UnI,axiom,( + ! [G_26: hoare_1167836817_state > $o,F_41: hoare_1167836817_state > $o] : + ( ( finite1084549118_state @ F_41 ) + => ( ( finite1084549118_state @ G_26 ) + => ( finite1084549118_state @ ( semila1172322802tate_o @ F_41 @ G_26 ) ) ) ) )). + +thf(fact_306_finite__Un,axiom,( + ! [F_40: ( pname > $o ) > $o,G_25: ( pname > $o ) > $o] : + ( ( finite297249702name_o @ ( semila181081674me_o_o @ F_40 @ G_25 ) ) + <=> ( ( finite297249702name_o @ F_40 ) + & ( finite297249702name_o @ G_25 ) ) ) )). + +thf(fact_307_finite__Un,axiom,( + ! [F_40: ( hoare_1167836817_state > $o ) > $o,G_25: ( hoare_1167836817_state > $o ) > $o] : + ( ( finite1380128977tate_o @ ( semila866907787te_o_o @ F_40 @ G_25 ) ) + <=> ( ( finite1380128977tate_o @ F_40 ) + & ( finite1380128977tate_o @ G_25 ) ) ) )). + +thf(fact_308_finite__Un,axiom,( + ! [F_40: pname > $o,G_25: pname > $o] : + ( ( finite_finite_pname @ ( semila1780557381name_o @ F_40 @ G_25 ) ) + <=> ( ( finite_finite_pname @ F_40 ) + & ( finite_finite_pname @ G_25 ) ) ) )). + +thf(fact_309_finite__Un,axiom,( + ! [F_40: hoare_1167836817_state > $o,G_25: hoare_1167836817_state > $o] : + ( ( finite1084549118_state @ ( semila1172322802tate_o @ F_40 @ G_25 ) ) + <=> ( ( finite1084549118_state @ F_40 ) + & ( finite1084549118_state @ G_25 ) ) ) )). + +thf(fact_310_Un__insert__left,axiom,( + ! [A_102: pname,B_74: pname > $o,C_39: pname > $o] : + ( ( semila1780557381name_o @ ( insert_pname @ A_102 @ B_74 ) @ C_39 ) + = ( insert_pname @ A_102 @ ( semila1780557381name_o @ B_74 @ C_39 ) ) ) )). + +thf(fact_311_Un__insert__left,axiom,( + ! [A_102: hoare_1167836817_state,B_74: hoare_1167836817_state > $o,C_39: hoare_1167836817_state > $o] : + ( ( semila1172322802tate_o @ ( insert2134838167_state @ A_102 @ B_74 ) @ C_39 ) + = ( insert2134838167_state @ A_102 @ ( semila1172322802tate_o @ B_74 @ C_39 ) ) ) )). + +thf(fact_312_Un__insert__right,axiom,( + ! [A_101: pname > $o,A_100: pname,B_73: pname > $o] : + ( ( semila1780557381name_o @ A_101 @ ( insert_pname @ A_100 @ B_73 ) ) + = ( insert_pname @ A_100 @ ( semila1780557381name_o @ A_101 @ B_73 ) ) ) )). + +thf(fact_313_Un__insert__right,axiom,( + ! [A_101: hoare_1167836817_state > $o,A_100: hoare_1167836817_state,B_73: hoare_1167836817_state > $o] : + ( ( semila1172322802tate_o @ A_101 @ ( insert2134838167_state @ A_100 @ B_73 ) ) + = ( insert2134838167_state @ A_100 @ ( semila1172322802tate_o @ A_101 @ B_73 ) ) ) )). + +thf(fact_314_Un__mono,axiom,( + ! [B_72: pname > $o,D_4: pname > $o,A_99: pname > $o,C_38: pname > $o] : + ( ( ord_less_eq_pname_o @ A_99 @ C_38 ) + => ( ( ord_less_eq_pname_o @ B_72 @ D_4 ) + => ( ord_less_eq_pname_o @ ( semila1780557381name_o @ A_99 @ B_72 ) @ ( semila1780557381name_o @ C_38 @ D_4 ) ) ) ) )). + +thf(fact_315_Un__mono,axiom,( + ! [B_72: hoare_1167836817_state > $o,D_4: hoare_1167836817_state > $o,A_99: hoare_1167836817_state > $o,C_38: hoare_1167836817_state > $o] : + ( ( ord_le827224136tate_o @ A_99 @ C_38 ) + => ( ( ord_le827224136tate_o @ B_72 @ D_4 ) + => ( ord_le827224136tate_o @ ( semila1172322802tate_o @ A_99 @ B_72 ) @ ( semila1172322802tate_o @ C_38 @ D_4 ) ) ) ) )). + +thf(fact_316_Un__least,axiom,( + ! [B_71: pname > $o,A_98: pname > $o,C_37: pname > $o] : + ( ( ord_less_eq_pname_o @ A_98 @ C_37 ) + => ( ( ord_less_eq_pname_o @ B_71 @ C_37 ) + => ( ord_less_eq_pname_o @ ( semila1780557381name_o @ A_98 @ B_71 ) @ C_37 ) ) ) )). + +thf(fact_317_Un__least,axiom,( + ! [B_71: hoare_1167836817_state > $o,A_98: hoare_1167836817_state > $o,C_37: hoare_1167836817_state > $o] : + ( ( ord_le827224136tate_o @ A_98 @ C_37 ) + => ( ( ord_le827224136tate_o @ B_71 @ C_37 ) + => ( ord_le827224136tate_o @ ( semila1172322802tate_o @ A_98 @ B_71 ) @ C_37 ) ) ) )). + +thf(fact_318_Un__absorb2,axiom,( + ! [B_70: pname > $o,A_97: pname > $o] : + ( ( ord_less_eq_pname_o @ B_70 @ A_97 ) + => ( ( semila1780557381name_o @ A_97 @ B_70 ) + = A_97 ) ) )). + +thf(fact_319_Un__absorb2,axiom,( + ! [B_70: hoare_1167836817_state > $o,A_97: hoare_1167836817_state > $o] : + ( ( ord_le827224136tate_o @ B_70 @ A_97 ) + => ( ( semila1172322802tate_o @ A_97 @ B_70 ) + = A_97 ) ) )). + +thf(fact_320_Un__absorb1,axiom,( + ! [A_96: pname > $o,B_69: pname > $o] : + ( ( ord_less_eq_pname_o @ A_96 @ B_69 ) + => ( ( semila1780557381name_o @ A_96 @ B_69 ) + = B_69 ) ) )). + +thf(fact_321_Un__absorb1,axiom,( + ! [A_96: hoare_1167836817_state > $o,B_69: hoare_1167836817_state > $o] : + ( ( ord_le827224136tate_o @ A_96 @ B_69 ) + => ( ( semila1172322802tate_o @ A_96 @ B_69 ) + = B_69 ) ) )). + +thf(fact_322_subset__Un__eq,axiom,( + ! [A_95: pname > $o,B_68: pname > $o] : + ( ( ord_less_eq_pname_o @ A_95 @ B_68 ) + <=> ( ( semila1780557381name_o @ A_95 @ B_68 ) + = B_68 ) ) )). + +thf(fact_323_subset__Un__eq,axiom,( + ! [A_95: hoare_1167836817_state > $o,B_68: hoare_1167836817_state > $o] : + ( ( ord_le827224136tate_o @ A_95 @ B_68 ) + <=> ( ( semila1172322802tate_o @ A_95 @ B_68 ) + = B_68 ) ) )). + +thf(fact_324_Un__upper2,axiom,( + ! [B_67: pname > $o,A_94: pname > $o] : + ( ord_less_eq_pname_o @ B_67 @ ( semila1780557381name_o @ A_94 @ B_67 ) ) )). + +thf(fact_325_Un__upper2,axiom,( + ! [B_67: hoare_1167836817_state > $o,A_94: hoare_1167836817_state > $o] : + ( ord_le827224136tate_o @ B_67 @ ( semila1172322802tate_o @ A_94 @ B_67 ) ) )). + +thf(fact_326_Un__upper1,axiom,( + ! [A_93: pname > $o,B_66: pname > $o] : + ( ord_less_eq_pname_o @ A_93 @ ( semila1780557381name_o @ A_93 @ B_66 ) ) )). + +thf(fact_327_Un__upper1,axiom,( + ! [A_93: hoare_1167836817_state > $o,B_66: hoare_1167836817_state > $o] : + ( ord_le827224136tate_o @ A_93 @ ( semila1172322802tate_o @ A_93 @ B_66 ) ) )). + +thf(fact_328_image__Un,axiom,( + ! [F_39: pname > hoare_1167836817_state,A_92: pname > $o,B_65: pname > $o] : + ( ( image_575578384_state @ F_39 @ ( semila1780557381name_o @ A_92 @ B_65 ) ) + = ( semila1172322802tate_o @ ( image_575578384_state @ F_39 @ A_92 ) @ ( image_575578384_state @ F_39 @ B_65 ) ) ) )). + +thf(fact_329_insert__def,axiom,( + ! [A_91: pname,B_64: pname > $o] : + ( ( insert_pname @ A_91 @ B_64 ) + = ( semila1780557381name_o + @ ( collect_pname + @ ^ [X_5: pname] : ( X_5 = A_91 ) ) + @ B_64 ) ) )). + +thf(fact_330_insert__def,axiom,( + ! [A_91: hoare_1167836817_state,B_64: hoare_1167836817_state > $o] : + ( ( insert2134838167_state @ A_91 @ B_64 ) + = ( semila1172322802tate_o + @ ( collec1027672124_state + @ ^ [X_5: hoare_1167836817_state] : ( X_5 = A_91 ) ) + @ B_64 ) ) )). + +thf(fact_331_insert__def,axiom,( + ! [A_91: pname > $o,B_64: ( pname > $o ) > $o] : + ( ( insert_pname_o @ A_91 @ B_64 ) + = ( semila181081674me_o_o + @ ( collect_pname_o + @ ^ [X_5: pname > $o] : ( X_5 = A_91 ) ) + @ B_64 ) ) )). + +thf(fact_332_insert__def,axiom,( + ! [A_91: hoare_1167836817_state > $o,B_64: ( hoare_1167836817_state > $o ) > $o] : + ( ( insert999278200tate_o @ A_91 @ B_64 ) + = ( semila866907787te_o_o + @ ( collec269976083tate_o + @ ^ [X_5: hoare_1167836817_state > $o] : ( X_5 = A_91 ) ) + @ B_64 ) ) )). + +thf(fact_333_insert__is__Un,axiom,( + ! [A_90: pname,A_89: pname > $o] : + ( ( insert_pname @ A_90 @ A_89 ) + = ( semila1780557381name_o @ ( insert_pname @ A_90 @ bot_bot_pname_o ) @ A_89 ) ) )). + +thf(fact_334_insert__is__Un,axiom,( + ! [A_90: hoare_1167836817_state,A_89: hoare_1167836817_state > $o] : + ( ( insert2134838167_state @ A_90 @ A_89 ) + = ( semila1172322802tate_o @ ( insert2134838167_state @ A_90 @ bot_bo70021908tate_o ) @ A_89 ) ) )). + +thf(fact_335_hoare__derivs_OBody,axiom,( + ! [G_24: hoare_1167836817_state > $o,P_28: pname > state > state > $o,Q_20: pname > state > state > $o,Procs_2: pname > $o] : + ( ( hoare_123228589_state + @ ( semila1172322802tate_o @ G_24 + @ ( image_575578384_state + @ ^ [P_24: pname] : + ( hoare_908217195_state @ ( P_28 @ P_24 ) @ ( body_1 @ P_24 ) @ ( Q_20 @ P_24 ) ) + @ Procs_2 ) ) + @ ( image_575578384_state + @ ^ [P_24: pname] : + ( hoare_908217195_state @ ( P_28 @ P_24 ) @ ( the_com @ ( body @ P_24 ) ) @ ( Q_20 @ P_24 ) ) + @ Procs_2 ) ) + => ( hoare_123228589_state @ G_24 + @ ( image_575578384_state + @ ^ [P_24: pname] : + ( hoare_908217195_state @ ( P_28 @ P_24 ) @ ( body_1 @ P_24 ) @ ( Q_20 @ P_24 ) ) + @ Procs_2 ) ) ) )). + +thf(fact_336_xt1_I6_J,axiom,( + ! [Z_20: pname > $o,Y_46: pname > $o,X_81: pname > $o] : + ( ( ord_less_eq_pname_o @ Y_46 @ X_81 ) + => ( ( ord_less_eq_pname_o @ Z_20 @ Y_46 ) + => ( ord_less_eq_pname_o @ Z_20 @ X_81 ) ) ) )). + +thf(fact_337_xt1_I6_J,axiom,( + ! [Z_20: hoare_1167836817_state > $o,Y_46: hoare_1167836817_state > $o,X_81: hoare_1167836817_state > $o] : + ( ( ord_le827224136tate_o @ Y_46 @ X_81 ) + => ( ( ord_le827224136tate_o @ Z_20 @ Y_46 ) + => ( ord_le827224136tate_o @ Z_20 @ X_81 ) ) ) )). + +thf(fact_338_xt1_I5_J,axiom,( + ! [Y_45: pname > $o,X_80: pname > $o] : + ( ( ord_less_eq_pname_o @ Y_45 @ X_80 ) + => ( ( ord_less_eq_pname_o @ X_80 @ Y_45 ) + => ( X_80 = Y_45 ) ) ) )). + +thf(fact_339_xt1_I5_J,axiom,( + ! [Y_45: hoare_1167836817_state > $o,X_80: hoare_1167836817_state > $o] : + ( ( ord_le827224136tate_o @ Y_45 @ X_80 ) + => ( ( ord_le827224136tate_o @ X_80 @ Y_45 ) + => ( X_80 = Y_45 ) ) ) )). + +thf(fact_340_order__trans,axiom,( + ! [Z_19: pname > $o,X_79: pname > $o,Y_44: pname > $o] : + ( ( ord_less_eq_pname_o @ X_79 @ Y_44 ) + => ( ( ord_less_eq_pname_o @ Y_44 @ Z_19 ) + => ( ord_less_eq_pname_o @ X_79 @ Z_19 ) ) ) )). + +thf(fact_341_order__trans,axiom,( + ! [Z_19: hoare_1167836817_state > $o,X_79: hoare_1167836817_state > $o,Y_44: hoare_1167836817_state > $o] : + ( ( ord_le827224136tate_o @ X_79 @ Y_44 ) + => ( ( ord_le827224136tate_o @ Y_44 @ Z_19 ) + => ( ord_le827224136tate_o @ X_79 @ Z_19 ) ) ) )). + +thf(fact_342_order__antisym,axiom,( + ! [X_78: pname > $o,Y_43: pname > $o] : + ( ( ord_less_eq_pname_o @ X_78 @ Y_43 ) + => ( ( ord_less_eq_pname_o @ Y_43 @ X_78 ) + => ( X_78 = Y_43 ) ) ) )). + +thf(fact_343_order__antisym,axiom,( + ! [X_78: hoare_1167836817_state > $o,Y_43: hoare_1167836817_state > $o] : + ( ( ord_le827224136tate_o @ X_78 @ Y_43 ) + => ( ( ord_le827224136tate_o @ Y_43 @ X_78 ) + => ( X_78 = Y_43 ) ) ) )). + +thf(fact_344_xt1_I4_J,axiom,( + ! [C_36: pname > $o,B_63: pname > $o,A_88: pname > $o] : + ( ( ord_less_eq_pname_o @ B_63 @ A_88 ) + => ( ( B_63 = C_36 ) + => ( ord_less_eq_pname_o @ C_36 @ A_88 ) ) ) )). + +thf(fact_345_xt1_I4_J,axiom,( + ! [C_36: hoare_1167836817_state > $o,B_63: hoare_1167836817_state > $o,A_88: hoare_1167836817_state > $o] : + ( ( ord_le827224136tate_o @ B_63 @ A_88 ) + => ( ( B_63 = C_36 ) + => ( ord_le827224136tate_o @ C_36 @ A_88 ) ) ) )). + +thf(fact_346_ord__le__eq__trans,axiom,( + ! [C_35: pname > $o,A_87: pname > $o,B_62: pname > $o] : + ( ( ord_less_eq_pname_o @ A_87 @ B_62 ) + => ( ( B_62 = C_35 ) + => ( ord_less_eq_pname_o @ A_87 @ C_35 ) ) ) )). + +thf(fact_347_ord__le__eq__trans,axiom,( + ! [C_35: hoare_1167836817_state > $o,A_87: hoare_1167836817_state > $o,B_62: hoare_1167836817_state > $o] : + ( ( ord_le827224136tate_o @ A_87 @ B_62 ) + => ( ( B_62 = C_35 ) + => ( ord_le827224136tate_o @ A_87 @ C_35 ) ) ) )). + +thf(fact_348_xt1_I3_J,axiom,( + ! [C_34: pname > $o,A_86: pname > $o,B_61: pname > $o] : + ( ( A_86 = B_61 ) + => ( ( ord_less_eq_pname_o @ C_34 @ B_61 ) + => ( ord_less_eq_pname_o @ C_34 @ A_86 ) ) ) )). + +thf(fact_349_xt1_I3_J,axiom,( + ! [C_34: hoare_1167836817_state > $o,A_86: hoare_1167836817_state > $o,B_61: hoare_1167836817_state > $o] : + ( ( A_86 = B_61 ) + => ( ( ord_le827224136tate_o @ C_34 @ B_61 ) + => ( ord_le827224136tate_o @ C_34 @ A_86 ) ) ) )). + +thf(fact_350_ord__eq__le__trans,axiom,( + ! [C_33: pname > $o,A_85: pname > $o,B_60: pname > $o] : + ( ( A_85 = B_60 ) + => ( ( ord_less_eq_pname_o @ B_60 @ C_33 ) + => ( ord_less_eq_pname_o @ A_85 @ C_33 ) ) ) )). + +thf(fact_351_ord__eq__le__trans,axiom,( + ! [C_33: hoare_1167836817_state > $o,A_85: hoare_1167836817_state > $o,B_60: hoare_1167836817_state > $o] : + ( ( A_85 = B_60 ) + => ( ( ord_le827224136tate_o @ B_60 @ C_33 ) + => ( ord_le827224136tate_o @ A_85 @ C_33 ) ) ) )). + +thf(fact_352_order__antisym__conv,axiom,( + ! [Y_42: pname > $o,X_77: pname > $o] : + ( ( ord_less_eq_pname_o @ Y_42 @ X_77 ) + => ( ( ord_less_eq_pname_o @ X_77 @ Y_42 ) + <=> ( X_77 = Y_42 ) ) ) )). + +thf(fact_353_order__antisym__conv,axiom,( + ! [Y_42: hoare_1167836817_state > $o,X_77: hoare_1167836817_state > $o] : + ( ( ord_le827224136tate_o @ Y_42 @ X_77 ) + => ( ( ord_le827224136tate_o @ X_77 @ Y_42 ) + <=> ( X_77 = Y_42 ) ) ) )). + +thf(fact_354_order__eq__refl,axiom,( + ! [X_76: pname > $o,Y_41: pname > $o] : + ( ( X_76 = Y_41 ) + => ( ord_less_eq_pname_o @ X_76 @ Y_41 ) ) )). + +thf(fact_355_order__eq__refl,axiom,( + ! [X_76: hoare_1167836817_state > $o,Y_41: hoare_1167836817_state > $o] : + ( ( X_76 = Y_41 ) + => ( ord_le827224136tate_o @ X_76 @ Y_41 ) ) )). + +thf(fact_356_order__eq__iff,axiom,( + ! [X_75: pname > $o,Y_40: pname > $o] : + ( ( X_75 = Y_40 ) + <=> ( ( ord_less_eq_pname_o @ X_75 @ Y_40 ) + & ( ord_less_eq_pname_o @ Y_40 @ X_75 ) ) ) )). + +thf(fact_357_order__eq__iff,axiom,( + ! [X_75: hoare_1167836817_state > $o,Y_40: hoare_1167836817_state > $o] : + ( ( X_75 = Y_40 ) + <=> ( ( ord_le827224136tate_o @ X_75 @ Y_40 ) + & ( ord_le827224136tate_o @ Y_40 @ X_75 ) ) ) )). + +thf(fact_358_option_Oinject,axiom,( + ! [A_84: com,A_83: com] : + ( ( ( some_com @ A_84 ) + = ( some_com @ A_83 ) ) + <=> ( A_84 = A_83 ) ) )). + +thf(fact_359_constant,axiom,( + ! [G_23: hoare_1167836817_state > $o,P_27: state > state > $o,C_32: com,Q_19: state > state > $o,C_31: $o] : + ( ( C_31 + => ( hoare_123228589_state @ G_23 @ ( insert2134838167_state @ ( hoare_908217195_state @ P_27 @ C_32 @ Q_19 ) @ bot_bo70021908tate_o ) ) ) + => ( hoare_123228589_state @ G_23 + @ ( insert2134838167_state + @ ( hoare_908217195_state + @ ^ [Z_11: state,S_3: state] : + ( (&) @ ( P_27 @ Z_11 @ S_3 ) @ C_31 ) + @ C_32 + @ Q_19 ) + @ bot_bo70021908tate_o ) ) ) )). + +thf(fact_360_Body1,axiom,( + ! [Pn_3: pname,G_22: hoare_1167836817_state > $o,P_26: pname > state > state > $o,Q_18: pname > state > state > $o,Procs_1: pname > $o] : + ( ( hoare_123228589_state + @ ( semila1172322802tate_o @ G_22 + @ ( image_575578384_state + @ ^ [P_24: pname] : + ( hoare_908217195_state @ ( P_26 @ P_24 ) @ ( body_1 @ P_24 ) @ ( Q_18 @ P_24 ) ) + @ Procs_1 ) ) + @ ( image_575578384_state + @ ^ [P_24: pname] : + ( hoare_908217195_state @ ( P_26 @ P_24 ) @ ( the_com @ ( body @ P_24 ) ) @ ( Q_18 @ P_24 ) ) + @ Procs_1 ) ) + => ( ( member_pname @ Pn_3 @ Procs_1 ) + => ( hoare_123228589_state @ G_22 @ ( insert2134838167_state @ ( hoare_908217195_state @ ( P_26 @ Pn_3 ) @ ( body_1 @ Pn_3 ) @ ( Q_18 @ Pn_3 ) ) @ bot_bo70021908tate_o ) ) ) ) )). + +thf(fact_361_le__bot,axiom,( + ! [A_82: pname > $o] : + ( ( ord_less_eq_pname_o @ A_82 @ bot_bot_pname_o ) + => ( A_82 = bot_bot_pname_o ) ) )). + +thf(fact_362_le__bot,axiom,( + ! [A_82: hoare_1167836817_state > $o] : + ( ( ord_le827224136tate_o @ A_82 @ bot_bo70021908tate_o ) + => ( A_82 = bot_bo70021908tate_o ) ) )). + +thf(fact_363_bot__unique,axiom,( + ! [A_81: pname > $o] : + ( ( ord_less_eq_pname_o @ A_81 @ bot_bot_pname_o ) + <=> ( A_81 = bot_bot_pname_o ) ) )). + +thf(fact_364_bot__unique,axiom,( + ! [A_81: hoare_1167836817_state > $o] : + ( ( ord_le827224136tate_o @ A_81 @ bot_bo70021908tate_o ) + <=> ( A_81 = bot_bo70021908tate_o ) ) )). + +thf(fact_365_bot__least,axiom,( + ! [A_80: pname > $o] : + ( ord_less_eq_pname_o @ bot_bot_pname_o @ A_80 ) )). + +thf(fact_366_bot__least,axiom,( + ! [A_80: hoare_1167836817_state > $o] : + ( ord_le827224136tate_o @ bot_bo70021908tate_o @ A_80 ) )). + +thf(fact_367_le__funE,axiom,( + ! [X_74: pname,F_38: pname > $o,G_21: pname > $o] : + ( ( ord_less_eq_pname_o @ F_38 @ G_21 ) + => ( ord_less_eq_o @ ( F_38 @ X_74 ) @ ( G_21 @ X_74 ) ) ) )). + +thf(fact_368_le__funE,axiom,( + ! [X_74: hoare_1167836817_state,F_38: hoare_1167836817_state > $o,G_21: hoare_1167836817_state > $o] : + ( ( ord_le827224136tate_o @ F_38 @ G_21 ) + => ( ord_less_eq_o @ ( F_38 @ X_74 ) @ ( G_21 @ X_74 ) ) ) )). + +thf(fact_369_le__funD,axiom,( + ! [X_73: pname,F_37: pname > $o,G_20: pname > $o] : + ( ( ord_less_eq_pname_o @ F_37 @ G_20 ) + => ( ord_less_eq_o @ ( F_37 @ X_73 ) @ ( G_20 @ X_73 ) ) ) )). + +thf(fact_370_le__funD,axiom,( + ! [X_73: hoare_1167836817_state,F_37: hoare_1167836817_state > $o,G_20: hoare_1167836817_state > $o] : + ( ( ord_le827224136tate_o @ F_37 @ G_20 ) + => ( ord_less_eq_o @ ( F_37 @ X_73 ) @ ( G_20 @ X_73 ) ) ) )). + +thf(fact_371_le__fun__def,axiom,( + ! [F_36: pname > $o,G_19: pname > $o] : + ( ( ord_less_eq_pname_o @ F_36 @ G_19 ) + <=> ! [X_5: pname] : + ( ord_less_eq_o @ ( F_36 @ X_5 ) @ ( G_19 @ X_5 ) ) ) )). + +thf(fact_372_le__fun__def,axiom,( + ! [F_36: hoare_1167836817_state > $o,G_19: hoare_1167836817_state > $o] : + ( ( ord_le827224136tate_o @ F_36 @ G_19 ) + <=> ! [X_5: hoare_1167836817_state] : + ( ord_less_eq_o @ ( F_36 @ X_5 ) @ ( G_19 @ X_5 ) ) ) )). + +thf(fact_373_bot__apply,axiom,( + ! [X_72: pname] : + ( ( bot_bot_pname_o @ X_72 ) + <=> bot_bot_o ) )). + +thf(fact_374_bot__apply,axiom,( + ! [X_72: hoare_1167836817_state] : + ( ( bot_bo70021908tate_o @ X_72 ) + <=> bot_bot_o ) )). + +thf(fact_375_bot__fun__def,axiom,( + ! [X_5: pname] : + ( ( bot_bot_pname_o @ X_5 ) + <=> bot_bot_o ) )). + +thf(fact_376_bot__fun__def,axiom,( + ! [X_5: hoare_1167836817_state] : + ( ( bot_bo70021908tate_o @ X_5 ) + <=> bot_bot_o ) )). + +thf(fact_377_BodyN,axiom,( + ! [P_25: state > state > $o,Pn_2: pname,Q_17: state > state > $o,G_18: hoare_1167836817_state > $o] : + ( ( hoare_123228589_state @ ( insert2134838167_state @ ( hoare_908217195_state @ P_25 @ ( body_1 @ Pn_2 ) @ Q_17 ) @ G_18 ) @ ( insert2134838167_state @ ( hoare_908217195_state @ P_25 @ ( the_com @ ( body @ Pn_2 ) ) @ Q_17 ) @ bot_bo70021908tate_o ) ) + => ( hoare_123228589_state @ G_18 @ ( insert2134838167_state @ ( hoare_908217195_state @ P_25 @ ( body_1 @ Pn_2 ) @ Q_17 ) @ bot_bo70021908tate_o ) ) ) )). + +thf(fact_378_finite__pointwise,axiom,( + ! [P_23: pname > state > state > $o,Q_16: pname > state > state > $o,G_17: hoare_1167836817_state > $o,P_22: pname > state > state > $o,C0_1: pname > com,Q_15: pname > state > state > $o,U_1: pname > $o] : + ( ( finite_finite_pname @ U_1 ) + => ( ! [P_24: pname] : + ( ( hoare_123228589_state @ G_17 @ ( insert2134838167_state @ ( hoare_908217195_state @ ( P_22 @ P_24 ) @ ( C0_1 @ P_24 ) @ ( Q_15 @ P_24 ) ) @ bot_bo70021908tate_o ) ) + => ( hoare_123228589_state @ G_17 @ ( insert2134838167_state @ ( hoare_908217195_state @ ( P_23 @ P_24 ) @ ( C0_1 @ P_24 ) @ ( Q_16 @ P_24 ) ) @ bot_bo70021908tate_o ) ) ) + => ( ( hoare_123228589_state @ G_17 + @ ( image_575578384_state + @ ^ [P_24: pname] : + ( hoare_908217195_state @ ( P_22 @ P_24 ) @ ( C0_1 @ P_24 ) @ ( Q_15 @ P_24 ) ) + @ U_1 ) ) + => ( hoare_123228589_state @ G_17 + @ ( image_575578384_state + @ ^ [P_24: pname] : + ( hoare_908217195_state @ ( P_23 @ P_24 ) @ ( C0_1 @ P_24 ) @ ( Q_16 @ P_24 ) ) + @ U_1 ) ) ) ) ) )). + +thf(fact_379_escape,axiom,( + ! [G_16: hoare_1167836817_state > $o,C_30: com,Q_14: state > state > $o,P_21: state > state > $o] : + ( ! [Z_11: state,S_3: state] : + ( ( P_21 @ Z_11 @ S_3 ) + => ( hoare_123228589_state @ G_16 + @ ( insert2134838167_state + @ ( hoare_908217195_state + @ ^ [Za: state,S_4: state] : ( S_4 = S_3 ) + @ C_30 + @ ^ [Z_18: state] : + ( Q_14 @ Z_11 ) ) + @ bot_bo70021908tate_o ) ) ) + => ( hoare_123228589_state @ G_16 @ ( insert2134838167_state @ ( hoare_908217195_state @ P_21 @ C_30 @ Q_14 ) @ bot_bo70021908tate_o ) ) ) )). + +thf(fact_380_Body__sound__lemma,axiom,( + ! [G_15: hoare_1167836817_state > $o,P_20: pname > state > state > $o,Q_13: pname > state > state > $o,Procs: pname > $o] : + ( ( hoare_529639851_state + @ ( semila1172322802tate_o @ G_15 + @ ( image_575578384_state + @ ^ [Pn: pname] : + ( hoare_908217195_state @ ( P_20 @ Pn ) @ ( body_1 @ Pn ) @ ( Q_13 @ Pn ) ) + @ Procs ) ) + @ ( image_575578384_state + @ ^ [Pn: pname] : + ( hoare_908217195_state @ ( P_20 @ Pn ) @ ( the_com @ ( body @ Pn ) ) @ ( Q_13 @ Pn ) ) + @ Procs ) ) + => ( hoare_529639851_state @ G_15 + @ ( image_575578384_state + @ ^ [Pn: pname] : + ( hoare_908217195_state @ ( P_20 @ Pn ) @ ( body_1 @ Pn ) @ ( Q_13 @ Pn ) ) + @ Procs ) ) ) )). + +thf(fact_381_conseq1,axiom,( + ! [P_19: state > state > $o,G_14: hoare_1167836817_state > $o,P_18: state > state > $o,C_29: com,Q_12: state > state > $o] : + ( ( hoare_123228589_state @ G_14 @ ( insert2134838167_state @ ( hoare_908217195_state @ P_18 @ C_29 @ Q_12 ) @ bot_bo70021908tate_o ) ) + => ( ! [Z_11: state,S_3: state] : + ( ( P_19 @ Z_11 @ S_3 ) + => ( P_18 @ Z_11 @ S_3 ) ) + => ( hoare_123228589_state @ G_14 @ ( insert2134838167_state @ ( hoare_908217195_state @ P_19 @ C_29 @ Q_12 ) @ bot_bo70021908tate_o ) ) ) ) )). + +thf(fact_382_conseq2,axiom,( + ! [Q_11: state > state > $o,G_13: hoare_1167836817_state > $o,P_17: state > state > $o,C_28: com,Q_10: state > state > $o] : + ( ( hoare_123228589_state @ G_13 @ ( insert2134838167_state @ ( hoare_908217195_state @ P_17 @ C_28 @ Q_10 ) @ bot_bo70021908tate_o ) ) + => ( ! [Z_11: state,S_3: state] : + ( ( Q_10 @ Z_11 @ S_3 ) + => ( Q_11 @ Z_11 @ S_3 ) ) + => ( hoare_123228589_state @ G_13 @ ( insert2134838167_state @ ( hoare_908217195_state @ P_17 @ C_28 @ Q_11 ) @ bot_bo70021908tate_o ) ) ) ) )). + +thf(fact_383_MGF__complete,axiom,( + ! [P: state > state > $o,Q_9: state > state > $o,C_21: com] : + ( ( hoare_123228589_state @ bot_bo70021908tate_o @ ( insert2134838167_state @ ( hoare_Mirabelle_MGT @ C_21 ) @ bot_bo70021908tate_o ) ) + => ( ( hoare_529639851_state @ bot_bo70021908tate_o @ ( insert2134838167_state @ ( hoare_908217195_state @ P @ C_21 @ Q_9 ) @ bot_bo70021908tate_o ) ) + => ( hoare_123228589_state @ bot_bo70021908tate_o @ ( insert2134838167_state @ ( hoare_908217195_state @ P @ C_21 @ Q_9 ) @ bot_bo70021908tate_o ) ) ) ) )). + +thf(fact_384_sup1E,axiom,( + ! [A_79: hoare_1167836817_state > $o,B_59: hoare_1167836817_state > $o,X_71: hoare_1167836817_state] : + ( ( semila1172322802tate_o @ A_79 @ B_59 @ X_71 ) + => ( ~ ( A_79 @ X_71 ) + => ( B_59 @ X_71 ) ) ) )). + +thf(fact_385_sup1CI,axiom,( + ! [A_78: hoare_1167836817_state > $o,B_58: hoare_1167836817_state > $o,X_70: hoare_1167836817_state] : + ( ( ~ ( B_58 @ X_70 ) + => ( A_78 @ X_70 ) ) + => ( semila1172322802tate_o @ A_78 @ B_58 @ X_70 ) ) )). + +thf(fact_386_hoare__sound,axiom,( + ! [G_12: hoare_1167836817_state > $o,Ts: hoare_1167836817_state > $o] : + ( ( hoare_123228589_state @ G_12 @ Ts ) + => ( hoare_529639851_state @ G_12 @ Ts ) ) )). + +thf(fact_387_bot__empty__eq,axiom,( + ! [X_5: pname] : + ( ( bot_bot_pname_o @ X_5 ) + <=> ( member_pname @ X_5 @ bot_bot_pname_o ) ) )). + +thf(fact_388_bot__empty__eq,axiom,( + ! [X_5: hoare_1167836817_state] : + ( ( bot_bo70021908tate_o @ X_5 ) + <=> ( member2058392318_state @ X_5 @ bot_bo70021908tate_o ) ) )). + +thf(fact_389_rev__predicate1D,axiom,( + ! [Q_8: pname > $o,P_16: pname > $o,X_69: pname] : + ( ( P_16 @ X_69 ) + => ( ( ord_less_eq_pname_o @ P_16 @ Q_8 ) + => ( Q_8 @ X_69 ) ) ) )). + +thf(fact_390_rev__predicate1D,axiom,( + ! [Q_8: hoare_1167836817_state > $o,P_16: hoare_1167836817_state > $o,X_69: hoare_1167836817_state] : + ( ( P_16 @ X_69 ) + => ( ( ord_le827224136tate_o @ P_16 @ Q_8 ) + => ( Q_8 @ X_69 ) ) ) )). + +thf(fact_391_predicate1D,axiom,( + ! [X_68: pname,P_15: pname > $o,Q_7: pname > $o] : + ( ( ord_less_eq_pname_o @ P_15 @ Q_7 ) + => ( ( P_15 @ X_68 ) + => ( Q_7 @ X_68 ) ) ) )). + +thf(fact_392_predicate1D,axiom,( + ! [X_68: hoare_1167836817_state,P_15: hoare_1167836817_state > $o,Q_7: hoare_1167836817_state > $o] : + ( ( ord_le827224136tate_o @ P_15 @ Q_7 ) + => ( ( P_15 @ X_68 ) + => ( Q_7 @ X_68 ) ) ) )). + +thf(fact_393_sup1I2,axiom,( + ! [A_77: hoare_1167836817_state > $o,B_57: hoare_1167836817_state > $o,X_67: hoare_1167836817_state] : + ( ( B_57 @ X_67 ) + => ( semila1172322802tate_o @ A_77 @ B_57 @ X_67 ) ) )). + +thf(fact_394_sup1I1,axiom,( + ! [B_56: hoare_1167836817_state > $o,A_76: hoare_1167836817_state > $o,X_66: hoare_1167836817_state] : + ( ( A_76 @ X_66 ) + => ( semila1172322802tate_o @ A_76 @ B_56 @ X_66 ) ) )). + +thf(fact_395_pred__subset__eq,axiom,( + ! [R_3: pname > $o,S_6: pname > $o] : + ( ( ord_less_eq_pname_o + @ ^ [X_5: pname] : + ( member_pname @ X_5 @ R_3 ) + @ ^ [X_5: pname] : + ( member_pname @ X_5 @ S_6 ) ) + <=> ( ord_less_eq_pname_o @ R_3 @ S_6 ) ) )). + +thf(fact_396_pred__subset__eq,axiom,( + ! [R_3: hoare_1167836817_state > $o,S_6: hoare_1167836817_state > $o] : + ( ( ord_le827224136tate_o + @ ^ [X_5: hoare_1167836817_state] : + ( member2058392318_state @ X_5 @ R_3 ) + @ ^ [X_5: hoare_1167836817_state] : + ( member2058392318_state @ X_5 @ S_6 ) ) + <=> ( ord_le827224136tate_o @ R_3 @ S_6 ) ) )). + +thf(fact_397_sup__Un__eq,axiom,( + ! [R_2: pname > $o,S_5: pname > $o,X_5: pname] : + ( ( semila1780557381name_o + @ ^ [Y_2: pname] : + ( member_pname @ Y_2 @ R_2 ) + @ ^ [Y_2: pname] : + ( member_pname @ Y_2 @ S_5 ) + @ X_5 ) + <=> ( member_pname @ X_5 @ ( semila1780557381name_o @ R_2 @ S_5 ) ) ) )). + +thf(fact_398_sup__Un__eq,axiom,( + ! [R_2: hoare_1167836817_state > $o,S_5: hoare_1167836817_state > $o,X_5: hoare_1167836817_state] : + ( ( semila1172322802tate_o + @ ^ [Y_2: hoare_1167836817_state] : + ( member2058392318_state @ Y_2 @ R_2 ) + @ ^ [Y_2: hoare_1167836817_state] : + ( member2058392318_state @ Y_2 @ S_5 ) + @ X_5 ) + <=> ( member2058392318_state @ X_5 @ ( semila1172322802tate_o @ R_2 @ S_5 ) ) ) )). + +thf(fact_399_conseq12,axiom,( + ! [Q_6: state > state > $o,P_14: state > state > $o,G_11: hoare_1167836817_state > $o,P_13: state > state > $o,C_27: com,Q_5: state > state > $o] : + ( ( hoare_123228589_state @ G_11 @ ( insert2134838167_state @ ( hoare_908217195_state @ P_13 @ C_27 @ Q_5 ) @ bot_bo70021908tate_o ) ) + => ( ! [Z_11: state,S_3: state] : + ( ( P_14 @ Z_11 @ S_3 ) + => ! [S_4: state] : + ( ! [Z_18: state] : + ( ( P_13 @ Z_18 @ S_3 ) + => ( Q_5 @ Z_18 @ S_4 ) ) + => ( Q_6 @ Z_11 @ S_4 ) ) ) + => ( hoare_123228589_state @ G_11 @ ( insert2134838167_state @ ( hoare_908217195_state @ P_14 @ C_27 @ Q_6 ) @ bot_bo70021908tate_o ) ) ) ) )). + +thf(fact_400_le__funI,axiom,( + ! [F_35: pname > $o,G_10: pname > $o] : + ( ! [X_5: pname] : + ( ord_less_eq_o @ ( F_35 @ X_5 ) @ ( G_10 @ X_5 ) ) + => ( ord_less_eq_pname_o @ F_35 @ G_10 ) ) )). + +thf(fact_401_le__funI,axiom,( + ! [F_35: hoare_1167836817_state > $o,G_10: hoare_1167836817_state > $o] : + ( ! [X_5: hoare_1167836817_state] : + ( ord_less_eq_o @ ( F_35 @ X_5 ) @ ( G_10 @ X_5 ) ) + => ( ord_le827224136tate_o @ F_35 @ G_10 ) ) )). + +thf(fact_402_Option_Oset_Osimps_I2_J,axiom,( + ! [X_65: pname] : + ( ( set_pname @ ( some_pname @ X_65 ) ) + = ( insert_pname @ X_65 @ bot_bot_pname_o ) ) )). + +thf(fact_403_Option_Oset_Osimps_I2_J,axiom,( + ! [X_65: hoare_1167836817_state] : + ( ( set_Ho2131684873_state @ ( some_H1433514562_state @ X_65 ) ) + = ( insert2134838167_state @ X_65 @ bot_bo70021908tate_o ) ) )). + +thf(fact_404_Option_Oset_Osimps_I2_J,axiom,( + ! [X_65: com] : + ( ( set_com @ ( some_com @ X_65 ) ) + = ( insert_com @ X_65 @ bot_bot_com_o ) ) )). + +thf(fact_405_elem__set,axiom,( + ! [X_64: pname,Xo: option_pname] : + ( ( member_pname @ X_64 @ ( set_pname @ Xo ) ) + <=> ( Xo + = ( some_pname @ X_64 ) ) ) )). + +thf(fact_406_elem__set,axiom,( + ! [X_64: hoare_1167836817_state,Xo: option1574264306_state] : + ( ( member2058392318_state @ X_64 @ ( set_Ho2131684873_state @ Xo ) ) + <=> ( Xo + = ( some_H1433514562_state @ X_64 ) ) ) )). + +thf(fact_407_elem__set,axiom,( + ! [X_64: com,Xo: option_com] : + ( ( member_com @ X_64 @ ( set_com @ Xo ) ) + <=> ( Xo + = ( some_com @ X_64 ) ) ) )). + +thf(fact_408_ospec,axiom,( + ! [X_63: com,P_12: com > $o,A_75: option_com] : + ( ! [X_5: com] : + ( ( member_com @ X_5 @ ( set_com @ A_75 ) ) + => ( P_12 @ X_5 ) ) + => ( ( A_75 + = ( some_com @ X_63 ) ) + => ( P_12 @ X_63 ) ) ) )). + +thf(fact_409_sup__fun__def,axiom,( + ! [F_34: hoare_1167836817_state > $o,G_9: hoare_1167836817_state > $o,X_5: hoare_1167836817_state] : + ( ( semila1172322802tate_o @ F_34 @ G_9 @ X_5 ) + <=> ( semila10642723_sup_o @ ( F_34 @ X_5 ) @ ( G_9 @ X_5 ) ) ) )). + +thf(fact_410_sup__apply,axiom,( + ! [F_33: hoare_1167836817_state > $o,G_8: hoare_1167836817_state > $o,X_62: hoare_1167836817_state] : + ( ( semila1172322802tate_o @ F_33 @ G_8 @ X_62 ) + <=> ( semila10642723_sup_o @ ( F_33 @ X_62 ) @ ( G_8 @ X_62 ) ) ) )). + +thf(fact_411_single__stateE,axiom, + ( hoare_1201148605gleton + => ! [T_1: state] : + ~ ! [S_3: state] : ( S_3 = T_1 ) )). + +thf(fact_412_state__not__singleton__def,axiom, + ( hoare_1201148605gleton + <=> ? [S_3: state,T_1: state] : ( S_3 != T_1 ) )). + +thf(fact_413_sup__assoc,axiom,( + ! [X_61: hoare_1167836817_state > $o,Y_39: hoare_1167836817_state > $o,Z_17: hoare_1167836817_state > $o] : + ( ( semila1172322802tate_o @ ( semila1172322802tate_o @ X_61 @ Y_39 ) @ Z_17 ) + = ( semila1172322802tate_o @ X_61 @ ( semila1172322802tate_o @ Y_39 @ Z_17 ) ) ) )). + +thf(fact_414_inf__sup__aci_I6_J,axiom,( + ! [X_60: hoare_1167836817_state > $o,Y_38: hoare_1167836817_state > $o,Z_16: hoare_1167836817_state > $o] : + ( ( semila1172322802tate_o @ ( semila1172322802tate_o @ X_60 @ Y_38 ) @ Z_16 ) + = ( semila1172322802tate_o @ X_60 @ ( semila1172322802tate_o @ Y_38 @ Z_16 ) ) ) )). + +thf(fact_415_sup_Oassoc,axiom,( + ! [A_74: hoare_1167836817_state > $o,B_55: hoare_1167836817_state > $o,C_26: hoare_1167836817_state > $o] : + ( ( semila1172322802tate_o @ ( semila1172322802tate_o @ A_74 @ B_55 ) @ C_26 ) + = ( semila1172322802tate_o @ A_74 @ ( semila1172322802tate_o @ B_55 @ C_26 ) ) ) )). + +thf(fact_416_sup__left__commute,axiom,( + ! [X_59: hoare_1167836817_state > $o,Y_37: hoare_1167836817_state > $o,Z_15: hoare_1167836817_state > $o] : + ( ( semila1172322802tate_o @ X_59 @ ( semila1172322802tate_o @ Y_37 @ Z_15 ) ) + = ( semila1172322802tate_o @ Y_37 @ ( semila1172322802tate_o @ X_59 @ Z_15 ) ) ) )). + +thf(fact_417_inf__sup__aci_I7_J,axiom,( + ! [X_58: hoare_1167836817_state > $o,Y_36: hoare_1167836817_state > $o,Z_14: hoare_1167836817_state > $o] : + ( ( semila1172322802tate_o @ X_58 @ ( semila1172322802tate_o @ Y_36 @ Z_14 ) ) + = ( semila1172322802tate_o @ Y_36 @ ( semila1172322802tate_o @ X_58 @ Z_14 ) ) ) )). + +thf(fact_418_sup_Oleft__commute,axiom,( + ! [B_54: hoare_1167836817_state > $o,A_73: hoare_1167836817_state > $o,C_25: hoare_1167836817_state > $o] : + ( ( semila1172322802tate_o @ B_54 @ ( semila1172322802tate_o @ A_73 @ C_25 ) ) + = ( semila1172322802tate_o @ A_73 @ ( semila1172322802tate_o @ B_54 @ C_25 ) ) ) )). + +thf(fact_419_sup__left__idem,axiom,( + ! [X_57: hoare_1167836817_state > $o,Y_35: hoare_1167836817_state > $o] : + ( ( semila1172322802tate_o @ X_57 @ ( semila1172322802tate_o @ X_57 @ Y_35 ) ) + = ( semila1172322802tate_o @ X_57 @ Y_35 ) ) )). + +thf(fact_420_inf__sup__aci_I8_J,axiom,( + ! [X_56: hoare_1167836817_state > $o,Y_34: hoare_1167836817_state > $o] : + ( ( semila1172322802tate_o @ X_56 @ ( semila1172322802tate_o @ X_56 @ Y_34 ) ) + = ( semila1172322802tate_o @ X_56 @ Y_34 ) ) )). + +thf(fact_421_sup_Oleft__idem,axiom,( + ! [A_72: hoare_1167836817_state > $o,B_53: hoare_1167836817_state > $o] : + ( ( semila1172322802tate_o @ A_72 @ ( semila1172322802tate_o @ A_72 @ B_53 ) ) + = ( semila1172322802tate_o @ A_72 @ B_53 ) ) )). + +thf(fact_422_sup__commute,axiom,( + ! [X_55: hoare_1167836817_state > $o,Y_33: hoare_1167836817_state > $o] : + ( ( semila1172322802tate_o @ X_55 @ Y_33 ) + = ( semila1172322802tate_o @ Y_33 @ X_55 ) ) )). + +thf(fact_423_inf__sup__aci_I5_J,axiom,( + ! [X_54: hoare_1167836817_state > $o,Y_32: hoare_1167836817_state > $o] : + ( ( semila1172322802tate_o @ X_54 @ Y_32 ) + = ( semila1172322802tate_o @ Y_32 @ X_54 ) ) )). + +thf(fact_424_sup_Ocommute,axiom,( + ! [A_71: hoare_1167836817_state > $o,B_52: hoare_1167836817_state > $o] : + ( ( semila1172322802tate_o @ A_71 @ B_52 ) + = ( semila1172322802tate_o @ B_52 @ A_71 ) ) )). + +thf(fact_425_sup__idem,axiom,( + ! [X_53: hoare_1167836817_state > $o] : + ( ( semila1172322802tate_o @ X_53 @ X_53 ) + = X_53 ) )). + +thf(fact_426_sup_Oidem,axiom,( + ! [A_70: hoare_1167836817_state > $o] : + ( ( semila1172322802tate_o @ A_70 @ A_70 ) + = A_70 ) )). + +thf(fact_427_le__supE,axiom,( + ! [A_69: pname > $o,B_51: pname > $o,X_52: pname > $o] : + ( ( ord_less_eq_pname_o @ ( semila1780557381name_o @ A_69 @ B_51 ) @ X_52 ) + => ~ ( ( ord_less_eq_pname_o @ A_69 @ X_52 ) + => ~ ( ord_less_eq_pname_o @ B_51 @ X_52 ) ) ) )). + +thf(fact_428_le__supE,axiom,( + ! [A_69: hoare_1167836817_state > $o,B_51: hoare_1167836817_state > $o,X_52: hoare_1167836817_state > $o] : + ( ( ord_le827224136tate_o @ ( semila1172322802tate_o @ A_69 @ B_51 ) @ X_52 ) + => ~ ( ( ord_le827224136tate_o @ A_69 @ X_52 ) + => ~ ( ord_le827224136tate_o @ B_51 @ X_52 ) ) ) )). + +thf(fact_429_sup__mono,axiom,( + ! [B_50: pname > $o,D_3: pname > $o,A_68: pname > $o,C_24: pname > $o] : + ( ( ord_less_eq_pname_o @ A_68 @ C_24 ) + => ( ( ord_less_eq_pname_o @ B_50 @ D_3 ) + => ( ord_less_eq_pname_o @ ( semila1780557381name_o @ A_68 @ B_50 ) @ ( semila1780557381name_o @ C_24 @ D_3 ) ) ) ) )). + +thf(fact_430_sup__mono,axiom,( + ! [B_50: hoare_1167836817_state > $o,D_3: hoare_1167836817_state > $o,A_68: hoare_1167836817_state > $o,C_24: hoare_1167836817_state > $o] : + ( ( ord_le827224136tate_o @ A_68 @ C_24 ) + => ( ( ord_le827224136tate_o @ B_50 @ D_3 ) + => ( ord_le827224136tate_o @ ( semila1172322802tate_o @ A_68 @ B_50 ) @ ( semila1172322802tate_o @ C_24 @ D_3 ) ) ) ) )). + +thf(fact_431_sup__least,axiom,( + ! [Z_13: pname > $o,Y_31: pname > $o,X_51: pname > $o] : + ( ( ord_less_eq_pname_o @ Y_31 @ X_51 ) + => ( ( ord_less_eq_pname_o @ Z_13 @ X_51 ) + => ( ord_less_eq_pname_o @ ( semila1780557381name_o @ Y_31 @ Z_13 ) @ X_51 ) ) ) )). + +thf(fact_432_sup__least,axiom,( + ! [Z_13: hoare_1167836817_state > $o,Y_31: hoare_1167836817_state > $o,X_51: hoare_1167836817_state > $o] : + ( ( ord_le827224136tate_o @ Y_31 @ X_51 ) + => ( ( ord_le827224136tate_o @ Z_13 @ X_51 ) + => ( ord_le827224136tate_o @ ( semila1172322802tate_o @ Y_31 @ Z_13 ) @ X_51 ) ) ) )). + +thf(fact_433_le__supI,axiom,( + ! [B_49: pname > $o,A_67: pname > $o,X_50: pname > $o] : + ( ( ord_less_eq_pname_o @ A_67 @ X_50 ) + => ( ( ord_less_eq_pname_o @ B_49 @ X_50 ) + => ( ord_less_eq_pname_o @ ( semila1780557381name_o @ A_67 @ B_49 ) @ X_50 ) ) ) )). + +thf(fact_434_le__supI,axiom,( + ! [B_49: hoare_1167836817_state > $o,A_67: hoare_1167836817_state > $o,X_50: hoare_1167836817_state > $o] : + ( ( ord_le827224136tate_o @ A_67 @ X_50 ) + => ( ( ord_le827224136tate_o @ B_49 @ X_50 ) + => ( ord_le827224136tate_o @ ( semila1172322802tate_o @ A_67 @ B_49 ) @ X_50 ) ) ) )). + +thf(fact_435_sup__absorb1,axiom,( + ! [Y_30: pname > $o,X_49: pname > $o] : + ( ( ord_less_eq_pname_o @ Y_30 @ X_49 ) + => ( ( semila1780557381name_o @ X_49 @ Y_30 ) + = X_49 ) ) )). + +thf(fact_436_sup__absorb1,axiom,( + ! [Y_30: hoare_1167836817_state > $o,X_49: hoare_1167836817_state > $o] : + ( ( ord_le827224136tate_o @ Y_30 @ X_49 ) + => ( ( semila1172322802tate_o @ X_49 @ Y_30 ) + = X_49 ) ) )). + +thf(fact_437_sup__absorb2,axiom,( + ! [X_48: pname > $o,Y_29: pname > $o] : + ( ( ord_less_eq_pname_o @ X_48 @ Y_29 ) + => ( ( semila1780557381name_o @ X_48 @ Y_29 ) + = Y_29 ) ) )). + +thf(fact_438_sup__absorb2,axiom,( + ! [X_48: hoare_1167836817_state > $o,Y_29: hoare_1167836817_state > $o] : + ( ( ord_le827224136tate_o @ X_48 @ Y_29 ) + => ( ( semila1172322802tate_o @ X_48 @ Y_29 ) + = Y_29 ) ) )). + +thf(fact_439_le__supI2,axiom,( + ! [A_66: pname > $o,X_47: pname > $o,B_48: pname > $o] : + ( ( ord_less_eq_pname_o @ X_47 @ B_48 ) + => ( ord_less_eq_pname_o @ X_47 @ ( semila1780557381name_o @ A_66 @ B_48 ) ) ) )). + +thf(fact_440_le__supI2,axiom,( + ! [A_66: hoare_1167836817_state > $o,X_47: hoare_1167836817_state > $o,B_48: hoare_1167836817_state > $o] : + ( ( ord_le827224136tate_o @ X_47 @ B_48 ) + => ( ord_le827224136tate_o @ X_47 @ ( semila1172322802tate_o @ A_66 @ B_48 ) ) ) )). + +thf(fact_441_le__supI1,axiom,( + ! [B_47: pname > $o,X_46: pname > $o,A_65: pname > $o] : + ( ( ord_less_eq_pname_o @ X_46 @ A_65 ) + => ( ord_less_eq_pname_o @ X_46 @ ( semila1780557381name_o @ A_65 @ B_47 ) ) ) )). + +thf(fact_442_le__supI1,axiom,( + ! [B_47: hoare_1167836817_state > $o,X_46: hoare_1167836817_state > $o,A_65: hoare_1167836817_state > $o] : + ( ( ord_le827224136tate_o @ X_46 @ A_65 ) + => ( ord_le827224136tate_o @ X_46 @ ( semila1172322802tate_o @ A_65 @ B_47 ) ) ) )). + +thf(fact_443_le__sup__iff,axiom,( + ! [X_45: pname > $o,Y_28: pname > $o,Z_12: pname > $o] : + ( ( ord_less_eq_pname_o @ ( semila1780557381name_o @ X_45 @ Y_28 ) @ Z_12 ) + <=> ( ( ord_less_eq_pname_o @ X_45 @ Z_12 ) + & ( ord_less_eq_pname_o @ Y_28 @ Z_12 ) ) ) )). + +thf(fact_444_le__sup__iff,axiom,( + ! [X_45: hoare_1167836817_state > $o,Y_28: hoare_1167836817_state > $o,Z_12: hoare_1167836817_state > $o] : + ( ( ord_le827224136tate_o @ ( semila1172322802tate_o @ X_45 @ Y_28 ) @ Z_12 ) + <=> ( ( ord_le827224136tate_o @ X_45 @ Z_12 ) + & ( ord_le827224136tate_o @ Y_28 @ Z_12 ) ) ) )). + +thf(fact_445_le__iff__sup,axiom,( + ! [X_44: pname > $o,Y_27: pname > $o] : + ( ( ord_less_eq_pname_o @ X_44 @ Y_27 ) + <=> ( ( semila1780557381name_o @ X_44 @ Y_27 ) + = Y_27 ) ) )). + +thf(fact_446_le__iff__sup,axiom,( + ! [X_44: hoare_1167836817_state > $o,Y_27: hoare_1167836817_state > $o] : + ( ( ord_le827224136tate_o @ X_44 @ Y_27 ) + <=> ( ( semila1172322802tate_o @ X_44 @ Y_27 ) + = Y_27 ) ) )). + +thf(fact_447_sup__ge2,axiom,( + ! [Y_26: pname > $o,X_43: pname > $o] : + ( ord_less_eq_pname_o @ Y_26 @ ( semila1780557381name_o @ X_43 @ Y_26 ) ) )). + +thf(fact_448_sup__ge2,axiom,( + ! [Y_26: hoare_1167836817_state > $o,X_43: hoare_1167836817_state > $o] : + ( ord_le827224136tate_o @ Y_26 @ ( semila1172322802tate_o @ X_43 @ Y_26 ) ) )). + +thf(fact_449_inf__sup__ord_I4_J,axiom,( + ! [Y_25: pname > $o,X_42: pname > $o] : + ( ord_less_eq_pname_o @ Y_25 @ ( semila1780557381name_o @ X_42 @ Y_25 ) ) )). + +thf(fact_450_inf__sup__ord_I4_J,axiom,( + ! [Y_25: hoare_1167836817_state > $o,X_42: hoare_1167836817_state > $o] : + ( ord_le827224136tate_o @ Y_25 @ ( semila1172322802tate_o @ X_42 @ Y_25 ) ) )). + +thf(fact_451_sup__ge1,axiom,( + ! [X_41: pname > $o,Y_24: pname > $o] : + ( ord_less_eq_pname_o @ X_41 @ ( semila1780557381name_o @ X_41 @ Y_24 ) ) )). + +thf(fact_452_sup__ge1,axiom,( + ! [X_41: hoare_1167836817_state > $o,Y_24: hoare_1167836817_state > $o] : + ( ord_le827224136tate_o @ X_41 @ ( semila1172322802tate_o @ X_41 @ Y_24 ) ) )). + +thf(fact_453_inf__sup__ord_I3_J,axiom,( + ! [X_40: pname > $o,Y_23: pname > $o] : + ( ord_less_eq_pname_o @ X_40 @ ( semila1780557381name_o @ X_40 @ Y_23 ) ) )). + +thf(fact_454_inf__sup__ord_I3_J,axiom,( + ! [X_40: hoare_1167836817_state > $o,Y_23: hoare_1167836817_state > $o] : + ( ord_le827224136tate_o @ X_40 @ ( semila1172322802tate_o @ X_40 @ Y_23 ) ) )). + +thf(fact_455_sup__eq__bot__iff,axiom,( + ! [X_39: pname > $o,Y_22: pname > $o] : + ( ( ( semila1780557381name_o @ X_39 @ Y_22 ) + = bot_bot_pname_o ) + <=> ( ( X_39 = bot_bot_pname_o ) + & ( Y_22 = bot_bot_pname_o ) ) ) )). + +thf(fact_456_sup__eq__bot__iff,axiom,( + ! [X_39: hoare_1167836817_state > $o,Y_22: hoare_1167836817_state > $o] : + ( ( ( semila1172322802tate_o @ X_39 @ Y_22 ) + = bot_bo70021908tate_o ) + <=> ( ( X_39 = bot_bo70021908tate_o ) + & ( Y_22 = bot_bo70021908tate_o ) ) ) )). + +thf(fact_457_sup__bot__right,axiom,( + ! [X_38: pname > $o] : + ( ( semila1780557381name_o @ X_38 @ bot_bot_pname_o ) + = X_38 ) )). + +thf(fact_458_sup__bot__right,axiom,( + ! [X_38: hoare_1167836817_state > $o] : + ( ( semila1172322802tate_o @ X_38 @ bot_bo70021908tate_o ) + = X_38 ) )). + +thf(fact_459_sup__bot__left,axiom,( + ! [X_37: pname > $o] : + ( ( semila1780557381name_o @ bot_bot_pname_o @ X_37 ) + = X_37 ) )). + +thf(fact_460_sup__bot__left,axiom,( + ! [X_37: hoare_1167836817_state > $o] : + ( ( semila1172322802tate_o @ bot_bo70021908tate_o @ X_37 ) + = X_37 ) )). + +thf(fact_461_folding__one__idem_Ounion__idem,axiom,( + ! [B_46: ( pname > $o ) > $o,A_64: ( pname > $o ) > $o,F_32: ( pname > $o ) > ( pname > $o ) > pname > $o,F_31: ( ( pname > $o ) > $o ) > pname > $o] : + ( ( finite697516351name_o @ F_32 @ F_31 ) + => ( ( finite297249702name_o @ A_64 ) + => ( ( A_64 != bot_bot_pname_o_o ) + => ( ( finite297249702name_o @ B_46 ) + => ( ( B_46 != bot_bot_pname_o_o ) + => ( ( F_31 @ ( semila181081674me_o_o @ A_64 @ B_46 ) ) + = ( F_32 @ ( F_31 @ A_64 ) @ ( F_31 @ B_46 ) ) ) ) ) ) ) ) )). + +thf(fact_462_folding__one__idem_Ounion__idem,axiom,( + ! [B_46: ( hoare_1167836817_state > $o ) > $o,A_64: ( hoare_1167836817_state > $o ) > $o,F_32: ( hoare_1167836817_state > $o ) > ( hoare_1167836817_state > $o ) > hoare_1167836817_state > $o,F_31: ( ( hoare_1167836817_state > $o ) > $o ) > hoare_1167836817_state > $o] : + ( ( finite671847800tate_o @ F_32 @ F_31 ) + => ( ( finite1380128977tate_o @ A_64 ) + => ( ( A_64 != bot_bo691907561te_o_o ) + => ( ( finite1380128977tate_o @ B_46 ) + => ( ( B_46 != bot_bo691907561te_o_o ) + => ( ( F_31 @ ( semila866907787te_o_o @ A_64 @ B_46 ) ) + = ( F_32 @ ( F_31 @ A_64 ) @ ( F_31 @ B_46 ) ) ) ) ) ) ) ) )). + +thf(fact_463_folding__one__idem_Ounion__idem,axiom,( + ! [B_46: pname > $o,A_64: pname > $o,F_32: pname > pname > pname,F_31: ( pname > $o ) > pname] : + ( ( finite89670078_pname @ F_32 @ F_31 ) + => ( ( finite_finite_pname @ A_64 ) + => ( ( A_64 != bot_bot_pname_o ) + => ( ( finite_finite_pname @ B_46 ) + => ( ( B_46 != bot_bot_pname_o ) + => ( ( F_31 @ ( semila1780557381name_o @ A_64 @ B_46 ) ) + = ( F_32 @ ( F_31 @ A_64 ) @ ( F_31 @ B_46 ) ) ) ) ) ) ) ) )). + +thf(fact_464_folding__one__idem_Ounion__idem,axiom,( + ! [B_46: hoare_1167836817_state > $o,A_64: hoare_1167836817_state > $o,F_32: hoare_1167836817_state > hoare_1167836817_state > hoare_1167836817_state,F_31: ( hoare_1167836817_state > $o ) > hoare_1167836817_state] : + ( ( finite806517911_state @ F_32 @ F_31 ) + => ( ( finite1084549118_state @ A_64 ) + => ( ( A_64 != bot_bo70021908tate_o ) + => ( ( finite1084549118_state @ B_46 ) + => ( ( B_46 != bot_bo70021908tate_o ) + => ( ( F_31 @ ( semila1172322802tate_o @ A_64 @ B_46 ) ) + = ( F_32 @ ( F_31 @ A_64 ) @ ( F_31 @ B_46 ) ) ) ) ) ) ) ) )). + +thf(fact_465_folding__one__idem_Osubset__idem,axiom,( + ! [B_45: ( pname > $o ) > $o,A_63: ( pname > $o ) > $o,F_30: ( pname > $o ) > ( pname > $o ) > pname > $o,F_29: ( ( pname > $o ) > $o ) > pname > $o] : + ( ( finite697516351name_o @ F_30 @ F_29 ) + => ( ( finite297249702name_o @ A_63 ) + => ( ( B_45 != bot_bot_pname_o_o ) + => ( ( ord_le1205211808me_o_o @ B_45 @ A_63 ) + => ( ( F_30 @ ( F_29 @ B_45 ) @ ( F_29 @ A_63 ) ) + = ( F_29 @ A_63 ) ) ) ) ) ) )). + +thf(fact_466_folding__one__idem_Osubset__idem,axiom,( + ! [B_45: ( hoare_1167836817_state > $o ) > $o,A_63: ( hoare_1167836817_state > $o ) > $o,F_30: ( hoare_1167836817_state > $o ) > ( hoare_1167836817_state > $o ) > hoare_1167836817_state > $o,F_29: ( ( hoare_1167836817_state > $o ) > $o ) > hoare_1167836817_state > $o] : + ( ( finite671847800tate_o @ F_30 @ F_29 ) + => ( ( finite1380128977tate_o @ A_63 ) + => ( ( B_45 != bot_bo691907561te_o_o ) + => ( ( ord_le741939125te_o_o @ B_45 @ A_63 ) + => ( ( F_30 @ ( F_29 @ B_45 ) @ ( F_29 @ A_63 ) ) + = ( F_29 @ A_63 ) ) ) ) ) ) )). + +thf(fact_467_folding__one__idem_Osubset__idem,axiom,( + ! [B_45: pname > $o,A_63: pname > $o,F_30: pname > pname > pname,F_29: ( pname > $o ) > pname] : + ( ( finite89670078_pname @ F_30 @ F_29 ) + => ( ( finite_finite_pname @ A_63 ) + => ( ( B_45 != bot_bot_pname_o ) + => ( ( ord_less_eq_pname_o @ B_45 @ A_63 ) + => ( ( F_30 @ ( F_29 @ B_45 ) @ ( F_29 @ A_63 ) ) + = ( F_29 @ A_63 ) ) ) ) ) ) )). + +thf(fact_468_folding__one__idem_Osubset__idem,axiom,( + ! [B_45: hoare_1167836817_state > $o,A_63: hoare_1167836817_state > $o,F_30: hoare_1167836817_state > hoare_1167836817_state > hoare_1167836817_state,F_29: ( hoare_1167836817_state > $o ) > hoare_1167836817_state] : + ( ( finite806517911_state @ F_30 @ F_29 ) + => ( ( finite1084549118_state @ A_63 ) + => ( ( B_45 != bot_bo70021908tate_o ) + => ( ( ord_le827224136tate_o @ B_45 @ A_63 ) + => ( ( F_30 @ ( F_29 @ B_45 ) @ ( F_29 @ A_63 ) ) + = ( F_29 @ A_63 ) ) ) ) ) ) )). + +thf(fact_469_hoare__derivs_OSkip,axiom,( + ! [G_7: hoare_1167836817_state > $o,P_11: state > state > $o] : + ( hoare_123228589_state @ G_7 @ ( insert2134838167_state @ ( hoare_908217195_state @ P_11 @ skip @ P_11 ) @ bot_bo70021908tate_o ) ) )). + +thf(fact_470_folding__one__idem_Oinsert__idem,axiom,( + ! [X_36: pname,A_62: pname > $o,F_28: pname > pname > pname,F_27: ( pname > $o ) > pname] : + ( ( finite89670078_pname @ F_28 @ F_27 ) + => ( ( finite_finite_pname @ A_62 ) + => ( ( A_62 != bot_bot_pname_o ) + => ( ( F_27 @ ( insert_pname @ X_36 @ A_62 ) ) + = ( F_28 @ X_36 @ ( F_27 @ A_62 ) ) ) ) ) ) )). + +thf(fact_471_folding__one__idem_Oinsert__idem,axiom,( + ! [X_36: hoare_1167836817_state,A_62: hoare_1167836817_state > $o,F_28: hoare_1167836817_state > hoare_1167836817_state > hoare_1167836817_state,F_27: ( hoare_1167836817_state > $o ) > hoare_1167836817_state] : + ( ( finite806517911_state @ F_28 @ F_27 ) + => ( ( finite1084549118_state @ A_62 ) + => ( ( A_62 != bot_bo70021908tate_o ) + => ( ( F_27 @ ( insert2134838167_state @ X_36 @ A_62 ) ) + = ( F_28 @ X_36 @ ( F_27 @ A_62 ) ) ) ) ) ) )). + +thf(fact_472_folding__one__idem_Oinsert__idem,axiom,( + ! [X_36: pname > $o,A_62: ( pname > $o ) > $o,F_28: ( pname > $o ) > ( pname > $o ) > pname > $o,F_27: ( ( pname > $o ) > $o ) > pname > $o] : + ( ( finite697516351name_o @ F_28 @ F_27 ) + => ( ( finite297249702name_o @ A_62 ) + => ( ( A_62 != bot_bot_pname_o_o ) + => ( ( F_27 @ ( insert_pname_o @ X_36 @ A_62 ) ) + = ( F_28 @ X_36 @ ( F_27 @ A_62 ) ) ) ) ) ) )). + +thf(fact_473_folding__one__idem_Oinsert__idem,axiom,( + ! [X_36: hoare_1167836817_state > $o,A_62: ( hoare_1167836817_state > $o ) > $o,F_28: ( hoare_1167836817_state > $o ) > ( hoare_1167836817_state > $o ) > hoare_1167836817_state > $o,F_27: ( ( hoare_1167836817_state > $o ) > $o ) > hoare_1167836817_state > $o] : + ( ( finite671847800tate_o @ F_28 @ F_27 ) + => ( ( finite1380128977tate_o @ A_62 ) + => ( ( A_62 != bot_bo691907561te_o_o ) + => ( ( F_27 @ ( insert999278200tate_o @ X_36 @ A_62 ) ) + = ( F_28 @ X_36 @ ( F_27 @ A_62 ) ) ) ) ) ) )). + +thf(fact_474_finite__ne__induct,axiom,( + ! [P_10: ( pname > $o ) > $o,F_25: pname > $o] : + ( ( finite_finite_pname @ F_25 ) + => ( ( F_25 != bot_bot_pname_o ) + => ( ! [X_5: pname] : + ( P_10 @ ( insert_pname @ X_5 @ bot_bot_pname_o ) ) + => ( ! [X_5: pname,F_26: pname > $o] : + ( ( finite_finite_pname @ F_26 ) + => ( ( F_26 != bot_bot_pname_o ) + => ( ~ ( member_pname @ X_5 @ F_26 ) + => ( ( P_10 @ F_26 ) + => ( P_10 @ ( insert_pname @ X_5 @ F_26 ) ) ) ) ) ) + => ( P_10 @ F_25 ) ) ) ) ) )). + +thf(fact_475_finite__ne__induct,axiom,( + ! [P_10: ( hoare_1167836817_state > $o ) > $o,F_25: hoare_1167836817_state > $o] : + ( ( finite1084549118_state @ F_25 ) + => ( ( F_25 != bot_bo70021908tate_o ) + => ( ! [X_5: hoare_1167836817_state] : + ( P_10 @ ( insert2134838167_state @ X_5 @ bot_bo70021908tate_o ) ) + => ( ! [X_5: hoare_1167836817_state,F_26: hoare_1167836817_state > $o] : + ( ( finite1084549118_state @ F_26 ) + => ( ( F_26 != bot_bo70021908tate_o ) + => ( ~ ( member2058392318_state @ X_5 @ F_26 ) + => ( ( P_10 @ F_26 ) + => ( P_10 @ ( insert2134838167_state @ X_5 @ F_26 ) ) ) ) ) ) + => ( P_10 @ F_25 ) ) ) ) ) )). + +thf(fact_476_finite__ne__induct,axiom,( + ! [P_10: ( ( pname > $o ) > $o ) > $o,F_25: ( pname > $o ) > $o] : + ( ( finite297249702name_o @ F_25 ) + => ( ( F_25 != bot_bot_pname_o_o ) + => ( ! [X_5: pname > $o] : + ( P_10 @ ( insert_pname_o @ X_5 @ bot_bot_pname_o_o ) ) + => ( ! [X_5: pname > $o,F_26: ( pname > $o ) > $o] : + ( ( finite297249702name_o @ F_26 ) + => ( ( F_26 != bot_bot_pname_o_o ) + => ( ~ ( member_pname_o @ X_5 @ F_26 ) + => ( ( P_10 @ F_26 ) + => ( P_10 @ ( insert_pname_o @ X_5 @ F_26 ) ) ) ) ) ) + => ( P_10 @ F_25 ) ) ) ) ) )). + +thf(fact_477_finite__ne__induct,axiom,( + ! [P_10: ( ( hoare_1167836817_state > $o ) > $o ) > $o,F_25: ( hoare_1167836817_state > $o ) > $o] : + ( ( finite1380128977tate_o @ F_25 ) + => ( ( F_25 != bot_bo691907561te_o_o ) + => ( ! [X_5: hoare_1167836817_state > $o] : + ( P_10 @ ( insert999278200tate_o @ X_5 @ bot_bo691907561te_o_o ) ) + => ( ! [X_5: hoare_1167836817_state > $o,F_26: ( hoare_1167836817_state > $o ) > $o] : + ( ( finite1380128977tate_o @ F_26 ) + => ( ( F_26 != bot_bo691907561te_o_o ) + => ( ~ ( member864234961tate_o @ X_5 @ F_26 ) + => ( ( P_10 @ F_26 ) + => ( P_10 @ ( insert999278200tate_o @ X_5 @ F_26 ) ) ) ) ) ) + => ( P_10 @ F_25 ) ) ) ) ) )). + +thf(fact_478_com_Osimps_I19_J,axiom,( + ! [Pname: pname] : + ( ( body_1 @ Pname ) + != skip ) )). + +thf(fact_479_com_Osimps_I18_J,axiom,( + ! [Pname: pname] : + ( skip + != ( body_1 @ Pname ) ) )). + +thf(fact_480_WT_OSkip,axiom, + ( wt @ skip )). + +thf(fact_481_folding__one__idem_Oin__idem,axiom,( + ! [X_35: pname,A_61: pname > $o,F_24: pname > pname > pname,F_23: ( pname > $o ) > pname] : + ( ( finite89670078_pname @ F_24 @ F_23 ) + => ( ( finite_finite_pname @ A_61 ) + => ( ( member_pname @ X_35 @ A_61 ) + => ( ( F_24 @ X_35 @ ( F_23 @ A_61 ) ) + = ( F_23 @ A_61 ) ) ) ) ) )). + +thf(fact_482_folding__one__idem_Oin__idem,axiom,( + ! [X_35: hoare_1167836817_state,A_61: hoare_1167836817_state > $o,F_24: hoare_1167836817_state > hoare_1167836817_state > hoare_1167836817_state,F_23: ( hoare_1167836817_state > $o ) > hoare_1167836817_state] : + ( ( finite806517911_state @ F_24 @ F_23 ) + => ( ( finite1084549118_state @ A_61 ) + => ( ( member2058392318_state @ X_35 @ A_61 ) + => ( ( F_24 @ X_35 @ ( F_23 @ A_61 ) ) + = ( F_23 @ A_61 ) ) ) ) ) )). + +thf(fact_483_folding__one__idem_Oin__idem,axiom,( + ! [X_35: pname > $o,A_61: ( pname > $o ) > $o,F_24: ( pname > $o ) > ( pname > $o ) > pname > $o,F_23: ( ( pname > $o ) > $o ) > pname > $o] : + ( ( finite697516351name_o @ F_24 @ F_23 ) + => ( ( finite297249702name_o @ A_61 ) + => ( ( member_pname_o @ X_35 @ A_61 ) + => ( ( F_24 @ X_35 @ ( F_23 @ A_61 ) ) + = ( F_23 @ A_61 ) ) ) ) ) )). + +thf(fact_484_folding__one__idem_Oin__idem,axiom,( + ! [X_35: hoare_1167836817_state > $o,A_61: ( hoare_1167836817_state > $o ) > $o,F_24: ( hoare_1167836817_state > $o ) > ( hoare_1167836817_state > $o ) > hoare_1167836817_state > $o,F_23: ( ( hoare_1167836817_state > $o ) > $o ) > hoare_1167836817_state > $o] : + ( ( finite671847800tate_o @ F_24 @ F_23 ) + => ( ( finite1380128977tate_o @ A_61 ) + => ( ( member864234961tate_o @ X_35 @ A_61 ) + => ( ( F_24 @ X_35 @ ( F_23 @ A_61 ) ) + = ( F_23 @ A_61 ) ) ) ) ) )). + +thf(fact_485_folding__one__idem_Ohom__commute,axiom,( + ! [N_1: ( pname > $o ) > $o,H: ( pname > $o ) > pname > $o,F_22: ( pname > $o ) > ( pname > $o ) > pname > $o,F_21: ( ( pname > $o ) > $o ) > pname > $o] : + ( ( finite697516351name_o @ F_22 @ F_21 ) + => ( ! [X_5: pname > $o,Y_2: pname > $o] : + ( ( H @ ( F_22 @ X_5 @ Y_2 ) ) + = ( F_22 @ ( H @ X_5 ) @ ( H @ Y_2 ) ) ) + => ( ( finite297249702name_o @ N_1 ) + => ( ( N_1 != bot_bot_pname_o_o ) + => ( ( H @ ( F_21 @ N_1 ) ) + = ( F_21 @ ( image_1085733413name_o @ H @ N_1 ) ) ) ) ) ) ) )). + +thf(fact_486_folding__one__idem_Ohom__commute,axiom,( + ! [N_1: ( hoare_1167836817_state > $o ) > $o,H: ( hoare_1167836817_state > $o ) > hoare_1167836817_state > $o,F_22: ( hoare_1167836817_state > $o ) > ( hoare_1167836817_state > $o ) > hoare_1167836817_state > $o,F_21: ( ( hoare_1167836817_state > $o ) > $o ) > hoare_1167836817_state > $o] : + ( ( finite671847800tate_o @ F_22 @ F_21 ) + => ( ! [X_5: hoare_1167836817_state > $o,Y_2: hoare_1167836817_state > $o] : + ( ( H @ ( F_22 @ X_5 @ Y_2 ) ) + = ( F_22 @ ( H @ X_5 ) @ ( H @ Y_2 ) ) ) + => ( ( finite1380128977tate_o @ N_1 ) + => ( ( N_1 != bot_bo691907561te_o_o ) + => ( ( H @ ( F_21 @ N_1 ) ) + = ( F_21 @ ( image_1488525317tate_o @ H @ N_1 ) ) ) ) ) ) ) )). + +thf(fact_487_folding__one__idem_Ohom__commute,axiom,( + ! [N_1: pname > $o,H: pname > pname,F_22: pname > pname > pname,F_21: ( pname > $o ) > pname] : + ( ( finite89670078_pname @ F_22 @ F_21 ) + => ( ! [X_5: pname,Y_2: pname] : + ( ( H @ ( F_22 @ X_5 @ Y_2 ) ) + = ( F_22 @ ( H @ X_5 ) @ ( H @ Y_2 ) ) ) + => ( ( finite_finite_pname @ N_1 ) + => ( ( N_1 != bot_bot_pname_o ) + => ( ( H @ ( F_21 @ N_1 ) ) + = ( F_21 @ ( image_pname_pname @ H @ N_1 ) ) ) ) ) ) ) )). + +thf(fact_488_folding__one__idem_Ohom__commute,axiom,( + ! [N_1: hoare_1167836817_state > $o,H: hoare_1167836817_state > hoare_1167836817_state,F_22: hoare_1167836817_state > hoare_1167836817_state > hoare_1167836817_state,F_21: ( hoare_1167836817_state > $o ) > hoare_1167836817_state] : + ( ( finite806517911_state @ F_22 @ F_21 ) + => ( ! [X_5: hoare_1167836817_state,Y_2: hoare_1167836817_state] : + ( ( H @ ( F_22 @ X_5 @ Y_2 ) ) + = ( F_22 @ ( H @ X_5 ) @ ( H @ Y_2 ) ) ) + => ( ( finite1084549118_state @ N_1 ) + => ( ( N_1 != bot_bo70021908tate_o ) + => ( ( H @ ( F_21 @ N_1 ) ) + = ( F_21 @ ( image_31595733_state @ H @ N_1 ) ) ) ) ) ) ) )). + +thf(fact_489_LoopF,axiom,( + ! [G_6: hoare_1167836817_state > $o,P_9: state > state > $o,B_44: state > $o,C_23: com] : + ( hoare_123228589_state @ G_6 + @ ( insert2134838167_state + @ ( hoare_908217195_state + @ ^ [Z_11: state,S_3: state] : + ( (&) @ ( P_9 @ Z_11 @ S_3 ) @ ( (~) @ ( B_44 @ S_3 ) ) ) + @ ( while @ B_44 @ C_23 ) + @ P_9 ) + @ bot_bo70021908tate_o ) ) )). + +thf(fact_490_Comp,axiom,( + ! [D_2: com,R_1: state > state > $o,G_5: hoare_1167836817_state > $o,P_8: state > state > $o,C_22: com,Q_4: state > state > $o] : + ( ( hoare_123228589_state @ G_5 @ ( insert2134838167_state @ ( hoare_908217195_state @ P_8 @ C_22 @ Q_4 ) @ bot_bo70021908tate_o ) ) + => ( ( hoare_123228589_state @ G_5 @ ( insert2134838167_state @ ( hoare_908217195_state @ Q_4 @ D_2 @ R_1 ) @ bot_bo70021908tate_o ) ) + => ( hoare_123228589_state @ G_5 @ ( insert2134838167_state @ ( hoare_908217195_state @ P_8 @ ( semi @ C_22 @ D_2 ) @ R_1 ) @ bot_bo70021908tate_o ) ) ) ) )). + +thf(fact_491_the__elem__def,axiom,( + ! [X_34: pname > $o] : + ( ( the_elem_pname @ X_34 ) + = ( the_pname + @ ^ [X_5: pname] : + ( X_34 + = ( insert_pname @ X_5 @ bot_bot_pname_o ) ) ) ) )). + +thf(fact_492_the__elem__def,axiom,( + ! [X_34: hoare_1167836817_state > $o] : + ( ( the_el323660082_state @ X_34 ) + = ( the_Ho310147232_state + @ ^ [X_5: hoare_1167836817_state] : + ( X_34 + = ( insert2134838167_state @ X_5 @ bot_bo70021908tate_o ) ) ) ) )). + +thf(fact_493_WTs__elim__cases_I6_J,axiom,( + ! [B_42: state > $o,C_21: com] : + ( ( wt @ ( while @ B_42 @ C_21 ) ) + => ( wt @ C_21 ) ) )). + +thf(fact_494_WTs__elim__cases_I4_J,axiom,( + ! [C1: com,C2: com] : + ( ( wt @ ( semi @ C1 @ C2 ) ) + => ~ ( ( wt @ C1 ) + => ~ ( wt @ C2 ) ) ) )). + +thf(fact_495_com_Osimps_I46_J,axiom,( + ! [Com1_1: com,Com2_1: com,Fun: state > $o,Com_1: com] : + ( ( semi @ Com1_1 @ Com2_1 ) + != ( while @ Fun @ Com_1 ) ) )). + +thf(fact_496_com_Osimps_I47_J,axiom,( + ! [Fun: state > $o,Com_1: com,Com1_1: com,Com2_1: com] : + ( ( while @ Fun @ Com_1 ) + != ( semi @ Com1_1 @ Com2_1 ) ) )). + +thf(fact_497_com_Osimps_I3_J,axiom,( + ! [Com1_1: com,Com2_1: com,Com1: com,Com2: com] : + ( ( ( semi @ Com1_1 @ Com2_1 ) + = ( semi @ Com1 @ Com2 ) ) + <=> ( ( Com1_1 = Com1 ) + & ( Com2_1 = Com2 ) ) ) )). + +thf(fact_498_com_Osimps_I5_J,axiom,( + ! [Fun_1: state > $o,Com_2: com,Fun: state > $o,Com_1: com] : + ( ( ( while @ Fun_1 @ Com_2 ) + = ( while @ Fun @ Com_1 ) ) + <=> ( ( Fun_1 = Fun ) + & ( Com_2 = Com_1 ) ) ) )). + +thf(fact_499_com_Osimps_I59_J,axiom,( + ! [Pname: pname,Fun_1: state > $o,Com_2: com] : + ( ( body_1 @ Pname ) + != ( while @ Fun_1 @ Com_2 ) ) )). + +thf(fact_500_com_Osimps_I58_J,axiom,( + ! [Fun_1: state > $o,Com_2: com,Pname: pname] : + ( ( while @ Fun_1 @ Com_2 ) + != ( body_1 @ Pname ) ) )). + +thf(fact_501_While,axiom,( + ! [B_42: state > $o,C_21: com] : + ( ( wt @ C_21 ) + => ( wt @ ( while @ B_42 @ C_21 ) ) ) )). + +thf(fact_502_com_Osimps_I16_J,axiom,( + ! [Fun: state > $o,Com_1: com] : + ( skip + != ( while @ Fun @ Com_1 ) ) )). + +thf(fact_503_com_Osimps_I17_J,axiom,( + ! [Fun: state > $o,Com_1: com] : + ( ( while @ Fun @ Com_1 ) + != skip ) )). + +thf(fact_504_com_Osimps_I49_J,axiom,( + ! [Pname: pname,Com1_1: com,Com2_1: com] : + ( ( body_1 @ Pname ) + != ( semi @ Com1_1 @ Com2_1 ) ) )). + +thf(fact_505_com_Osimps_I48_J,axiom,( + ! [Com1_1: com,Com2_1: com,Pname: pname] : + ( ( semi @ Com1_1 @ Com2_1 ) + != ( body_1 @ Pname ) ) )). + +thf(fact_506_WT_OSemi,axiom,( + ! [C1: com,C0: com] : + ( ( wt @ C0 ) + => ( ( wt @ C1 ) + => ( wt @ ( semi @ C0 @ C1 ) ) ) ) )). + +thf(fact_507_com_Osimps_I12_J,axiom,( + ! [Com1: com,Com2: com] : + ( skip + != ( semi @ Com1 @ Com2 ) ) )). + +thf(fact_508_com_Osimps_I13_J,axiom,( + ! [Com1: com,Com2: com] : + ( ( semi @ Com1 @ Com2 ) + != skip ) )). + +thf(fact_509_folding__one_Oinsert,axiom,( + ! [X_33: pname,A_60: pname > $o,F_20: pname > pname > pname,F_19: ( pname > $o ) > pname] : + ( ( finite1282449217_pname @ F_20 @ F_19 ) + => ( ( finite_finite_pname @ A_60 ) + => ( ~ ( member_pname @ X_33 @ A_60 ) + => ( ( A_60 != bot_bot_pname_o ) + => ( ( F_19 @ ( insert_pname @ X_33 @ A_60 ) ) + = ( F_20 @ X_33 @ ( F_19 @ A_60 ) ) ) ) ) ) ) )). + +thf(fact_510_folding__one_Oinsert,axiom,( + ! [X_33: hoare_1167836817_state,A_60: hoare_1167836817_state > $o,F_20: hoare_1167836817_state > hoare_1167836817_state > hoare_1167836817_state,F_19: ( hoare_1167836817_state > $o ) > hoare_1167836817_state] : + ( ( finite1074406356_state @ F_20 @ F_19 ) + => ( ( finite1084549118_state @ A_60 ) + => ( ~ ( member2058392318_state @ X_33 @ A_60 ) + => ( ( A_60 != bot_bo70021908tate_o ) + => ( ( F_19 @ ( insert2134838167_state @ X_33 @ A_60 ) ) + = ( F_20 @ X_33 @ ( F_19 @ A_60 ) ) ) ) ) ) ) )). + +thf(fact_511_folding__one_Oinsert,axiom,( + ! [X_33: pname > $o,A_60: ( pname > $o ) > $o,F_20: ( pname > $o ) > ( pname > $o ) > pname > $o,F_19: ( ( pname > $o ) > $o ) > pname > $o] : + ( ( finite349908348name_o @ F_20 @ F_19 ) + => ( ( finite297249702name_o @ A_60 ) + => ( ~ ( member_pname_o @ X_33 @ A_60 ) + => ( ( A_60 != bot_bot_pname_o_o ) + => ( ( F_19 @ ( insert_pname_o @ X_33 @ A_60 ) ) + = ( F_20 @ X_33 @ ( F_19 @ A_60 ) ) ) ) ) ) ) )). + +thf(fact_512_folding__one_Oinsert,axiom,( + ! [X_33: hoare_1167836817_state > $o,A_60: ( hoare_1167836817_state > $o ) > $o,F_20: ( hoare_1167836817_state > $o ) > ( hoare_1167836817_state > $o ) > hoare_1167836817_state > $o,F_19: ( ( hoare_1167836817_state > $o ) > $o ) > hoare_1167836817_state > $o] : + ( ( finite979047547tate_o @ F_20 @ F_19 ) + => ( ( finite1380128977tate_o @ A_60 ) + => ( ~ ( member864234961tate_o @ X_33 @ A_60 ) + => ( ( A_60 != bot_bo691907561te_o_o ) + => ( ( F_19 @ ( insert999278200tate_o @ X_33 @ A_60 ) ) + = ( F_20 @ X_33 @ ( F_19 @ A_60 ) ) ) ) ) ) ) )). + +thf(fact_513_folding__one_Osingleton,axiom,( + ! [X_32: pname,F_18: pname > pname > pname,F_17: ( pname > $o ) > pname] : + ( ( finite1282449217_pname @ F_18 @ F_17 ) + => ( ( F_17 @ ( insert_pname @ X_32 @ bot_bot_pname_o ) ) + = X_32 ) ) )). + +thf(fact_514_folding__one_Osingleton,axiom,( + ! [X_32: hoare_1167836817_state,F_18: hoare_1167836817_state > hoare_1167836817_state > hoare_1167836817_state,F_17: ( hoare_1167836817_state > $o ) > hoare_1167836817_state] : + ( ( finite1074406356_state @ F_18 @ F_17 ) + => ( ( F_17 @ ( insert2134838167_state @ X_32 @ bot_bo70021908tate_o ) ) + = X_32 ) ) )). + +thf(fact_515_folding__one_Oclosed,axiom,( + ! [A_59: pname > $o,F_16: pname > pname > pname,F_15: ( pname > $o ) > pname] : + ( ( finite1282449217_pname @ F_16 @ F_15 ) + => ( ( finite_finite_pname @ A_59 ) + => ( ( A_59 != bot_bot_pname_o ) + => ( ! [X_5: pname,Y_2: pname] : + ( member_pname @ ( F_16 @ X_5 @ Y_2 ) @ ( insert_pname @ X_5 @ ( insert_pname @ Y_2 @ bot_bot_pname_o ) ) ) + => ( member_pname @ ( F_15 @ A_59 ) @ A_59 ) ) ) ) ) )). + +thf(fact_516_folding__one_Oclosed,axiom,( + ! [A_59: hoare_1167836817_state > $o,F_16: hoare_1167836817_state > hoare_1167836817_state > hoare_1167836817_state,F_15: ( hoare_1167836817_state > $o ) > hoare_1167836817_state] : + ( ( finite1074406356_state @ F_16 @ F_15 ) + => ( ( finite1084549118_state @ A_59 ) + => ( ( A_59 != bot_bo70021908tate_o ) + => ( ! [X_5: hoare_1167836817_state,Y_2: hoare_1167836817_state] : + ( member2058392318_state @ ( F_16 @ X_5 @ Y_2 ) @ ( insert2134838167_state @ X_5 @ ( insert2134838167_state @ Y_2 @ bot_bo70021908tate_o ) ) ) + => ( member2058392318_state @ ( F_15 @ A_59 ) @ A_59 ) ) ) ) ) )). + +thf(fact_517_folding__one_Oclosed,axiom,( + ! [A_59: ( pname > $o ) > $o,F_16: ( pname > $o ) > ( pname > $o ) > pname > $o,F_15: ( ( pname > $o ) > $o ) > pname > $o] : + ( ( finite349908348name_o @ F_16 @ F_15 ) + => ( ( finite297249702name_o @ A_59 ) + => ( ( A_59 != bot_bot_pname_o_o ) + => ( ! [X_5: pname > $o,Y_2: pname > $o] : + ( member_pname_o @ ( F_16 @ X_5 @ Y_2 ) @ ( insert_pname_o @ X_5 @ ( insert_pname_o @ Y_2 @ bot_bot_pname_o_o ) ) ) + => ( member_pname_o @ ( F_15 @ A_59 ) @ A_59 ) ) ) ) ) )). + +thf(fact_518_folding__one_Oclosed,axiom,( + ! [A_59: ( hoare_1167836817_state > $o ) > $o,F_16: ( hoare_1167836817_state > $o ) > ( hoare_1167836817_state > $o ) > hoare_1167836817_state > $o,F_15: ( ( hoare_1167836817_state > $o ) > $o ) > hoare_1167836817_state > $o] : + ( ( finite979047547tate_o @ F_16 @ F_15 ) + => ( ( finite1380128977tate_o @ A_59 ) + => ( ( A_59 != bot_bo691907561te_o_o ) + => ( ! [X_5: hoare_1167836817_state > $o,Y_2: hoare_1167836817_state > $o] : + ( member864234961tate_o @ ( F_16 @ X_5 @ Y_2 ) @ ( insert999278200tate_o @ X_5 @ ( insert999278200tate_o @ Y_2 @ bot_bo691907561te_o_o ) ) ) + => ( member864234961tate_o @ ( F_15 @ A_59 ) @ A_59 ) ) ) ) ) )). + +thf(fact_519_triple_Oexhaust,axiom,( + ! [Y_21: hoare_1167836817_state] : + ~ ! [Fun1: state > state > $o,Com: com,Fun2: state > state > $o] : + ( Y_21 + != ( hoare_908217195_state @ Fun1 @ Com @ Fun2 ) ) )). + +thf(fact_520_image__cong,axiom,( + ! [F_14: pname > hoare_1167836817_state,G_4: pname > hoare_1167836817_state,M: pname > $o,N: pname > $o] : + ( ( M = N ) + => ( ! [X_5: pname] : + ( ( member_pname @ X_5 @ N ) + => ( ( F_14 @ X_5 ) + = ( G_4 @ X_5 ) ) ) + => ( ( image_575578384_state @ F_14 @ M ) + = ( image_575578384_state @ G_4 @ N ) ) ) ) )). + +thf(fact_521_Collect__mono,axiom,( + ! [Q_3: hoare_1167836817_state > $o,P_7: hoare_1167836817_state > $o] : + ( ! [X_5: hoare_1167836817_state] : + ( ( P_7 @ X_5 ) + => ( Q_3 @ X_5 ) ) + => ( ord_le827224136tate_o @ ( collec1027672124_state @ P_7 ) @ ( collec1027672124_state @ Q_3 ) ) ) )). + +thf(fact_522_Collect__mono,axiom,( + ! [Q_3: pname > $o,P_7: pname > $o] : + ( ! [X_5: pname] : + ( ( P_7 @ X_5 ) + => ( Q_3 @ X_5 ) ) + => ( ord_less_eq_pname_o @ ( collect_pname @ P_7 ) @ ( collect_pname @ Q_3 ) ) ) )). + +thf(fact_523_Collect__mono,axiom,( + ! [Q_3: ( pname > $o ) > $o,P_7: ( pname > $o ) > $o] : + ( ! [X_5: pname > $o] : + ( ( P_7 @ X_5 ) + => ( Q_3 @ X_5 ) ) + => ( ord_le1205211808me_o_o @ ( collect_pname_o @ P_7 ) @ ( collect_pname_o @ Q_3 ) ) ) )). + +thf(fact_524_Collect__mono,axiom,( + ! [Q_3: ( hoare_1167836817_state > $o ) > $o,P_7: ( hoare_1167836817_state > $o ) > $o] : + ( ! [X_5: hoare_1167836817_state > $o] : + ( ( P_7 @ X_5 ) + => ( Q_3 @ X_5 ) ) + => ( ord_le741939125te_o_o @ ( collec269976083tate_o @ P_7 ) @ ( collec269976083tate_o @ Q_3 ) ) ) )). + +thf(fact_525_predicate1I,axiom,( + ! [Q_2: pname > $o,P_6: pname > $o] : + ( ! [X_5: pname] : + ( ( P_6 @ X_5 ) + => ( Q_2 @ X_5 ) ) + => ( ord_less_eq_pname_o @ P_6 @ Q_2 ) ) )). + +thf(fact_526_predicate1I,axiom,( + ! [Q_2: hoare_1167836817_state > $o,P_6: hoare_1167836817_state > $o] : + ( ! [X_5: hoare_1167836817_state] : + ( ( P_6 @ X_5 ) + => ( Q_2 @ X_5 ) ) + => ( ord_le827224136tate_o @ P_6 @ Q_2 ) ) )). + +thf(fact_527_mk__disjoint__insert,axiom,( + ! [A_58: pname,A_57: pname > $o] : + ( ( member_pname @ A_58 @ A_57 ) + => ? [B_43: pname > $o] : + ( ( A_57 + = ( insert_pname @ A_58 @ B_43 ) ) + & ~ ( member_pname @ A_58 @ B_43 ) ) ) )). + +thf(fact_528_mk__disjoint__insert,axiom,( + ! [A_58: hoare_1167836817_state,A_57: hoare_1167836817_state > $o] : + ( ( member2058392318_state @ A_58 @ A_57 ) + => ? [B_43: hoare_1167836817_state > $o] : + ( ( A_57 + = ( insert2134838167_state @ A_58 @ B_43 ) ) + & ~ ( member2058392318_state @ A_58 @ B_43 ) ) ) )). + +thf(fact_529_Set_Oset__insert,axiom,( + ! [X_31: pname,A_56: pname > $o] : + ( ( member_pname @ X_31 @ A_56 ) + => ~ ! [B_43: pname > $o] : + ( ( A_56 + = ( insert_pname @ X_31 @ B_43 ) ) + => ( member_pname @ X_31 @ B_43 ) ) ) )). + +thf(fact_530_Set_Oset__insert,axiom,( + ! [X_31: hoare_1167836817_state,A_56: hoare_1167836817_state > $o] : + ( ( member2058392318_state @ X_31 @ A_56 ) + => ~ ! [B_43: hoare_1167836817_state > $o] : + ( ( A_56 + = ( insert2134838167_state @ X_31 @ B_43 ) ) + => ( member2058392318_state @ X_31 @ B_43 ) ) ) )). + +thf(fact_531_equals0I,axiom,( + ! [A_55: pname > $o] : + ( ! [Y_2: pname] : + ~ ( member_pname @ Y_2 @ A_55 ) + => ( A_55 = bot_bot_pname_o ) ) )). + +thf(fact_532_equals0I,axiom,( + ! [A_55: hoare_1167836817_state > $o] : + ( ! [Y_2: hoare_1167836817_state] : + ~ ( member2058392318_state @ Y_2 @ A_55 ) + => ( A_55 = bot_bo70021908tate_o ) ) )). + +thf(fact_533_MGT__alternD,axiom,( + ! [G_3: hoare_1167836817_state > $o,C_21: com] : + ( hoare_1201148605gleton + => ( ( hoare_123228589_state @ G_3 + @ ( insert2134838167_state + @ ( hoare_908217195_state + @ ^ [Z_11: state,S0_1: state] : + ! [S1: state] : + ( (=>) @ ( evalc @ C_21 @ S0_1 @ S1 ) @ ( Z_11 = S1 ) ) + @ C_21 + @ fequal_state ) + @ bot_bo70021908tate_o ) ) + => ( hoare_123228589_state @ G_3 @ ( insert2134838167_state @ ( hoare_Mirabelle_MGT @ C_21 ) @ bot_bo70021908tate_o ) ) ) ) )). + +thf(fact_534_MGT__alternI,axiom,( + ! [G_3: hoare_1167836817_state > $o,C_21: com] : + ( ( hoare_123228589_state @ G_3 @ ( insert2134838167_state @ ( hoare_Mirabelle_MGT @ C_21 ) @ bot_bo70021908tate_o ) ) + => ( hoare_123228589_state @ G_3 + @ ( insert2134838167_state + @ ( hoare_908217195_state + @ ^ [Z_11: state,S0_1: state] : + ! [S1: state] : + ( (=>) @ ( evalc @ C_21 @ S0_1 @ S1 ) @ ( Z_11 = S1 ) ) + @ C_21 + @ fequal_state ) + @ bot_bo70021908tate_o ) ) ) )). + +thf(fact_535_MGT__def,axiom,( + ! [C_21: com] : + ( ( hoare_Mirabelle_MGT @ C_21 ) + = ( hoare_908217195_state @ fequal_state @ C_21 @ ( evalc @ C_21 ) ) ) )). + +thf(fact_536_evalc_OBody,axiom,( + ! [Pn_1: pname,S0: state,S1_1: state] : + ( ( evalc @ ( the_com @ ( body @ Pn_1 ) ) @ S0 @ S1_1 ) + => ( evalc @ ( body_1 @ Pn_1 ) @ S0 @ S1_1 ) ) )). + +thf(fact_537_evalc__elim__cases_I6_J,axiom,( + ! [P: pname,S_2: state,S1_1: state] : + ( ( evalc @ ( body_1 @ P ) @ S_2 @ S1_1 ) + => ( evalc @ ( the_com @ ( body @ P ) ) @ S_2 @ S1_1 ) ) )). + +thf(fact_538_evalc__elim__cases_I1_J,axiom,( + ! [S_2: state,T: state] : + ( ( evalc @ skip @ S_2 @ T ) + => ( T = S_2 ) ) )). + +thf(fact_539_evalc_OWhileFalse,axiom,( + ! [C_21: com,B_42: state > $o,S_2: state] : + ( ~ ( B_42 @ S_2 ) + => ( evalc @ ( while @ B_42 @ C_21 ) @ S_2 @ S_2 ) ) )). + +thf(fact_540_evalc_OWhileTrue,axiom,( + ! [S2: state,C_21: com,S1_1: state,B_42: state > $o,S0: state] : + ( ( B_42 @ S0 ) + => ( ( evalc @ C_21 @ S0 @ S1_1 ) + => ( ( evalc @ ( while @ B_42 @ C_21 ) @ S1_1 @ S2 ) + => ( evalc @ ( while @ B_42 @ C_21 ) @ S0 @ S2 ) ) ) ) )). + +thf(fact_541_evalc_OSemi,axiom,( + ! [C1: com,S2: state,C0: com,S0: state,S1_1: state] : + ( ( evalc @ C0 @ S0 @ S1_1 ) + => ( ( evalc @ C1 @ S1_1 @ S2 ) + => ( evalc @ ( semi @ C0 @ C1 ) @ S0 @ S2 ) ) ) )). + +thf(fact_542_evalc_OSkip,axiom,( + ! [S_2: state] : + ( evalc @ skip @ S_2 @ S_2 ) )). + +thf(fact_543_com__det,axiom,( + ! [U: state,C_21: com,S_2: state,T: state] : + ( ( evalc @ C_21 @ S_2 @ T ) + => ( ( evalc @ C_21 @ S_2 @ U ) + => ( U = T ) ) ) )). + +thf(fact_544_evalc__elim__cases_I4_J,axiom,( + ! [C1: com,C2: com,S_2: state,T: state] : + ( ( evalc @ ( semi @ C1 @ C2 ) @ S_2 @ T ) + => ~ ! [S1: state] : + ( ( evalc @ C1 @ S_2 @ S1 ) + => ~ ( evalc @ C2 @ S1 @ T ) ) ) )). + +thf(fact_545_evalc__WHILE__case,axiom,( + ! [B_42: state > $o,C_21: com,S_2: state,T: state] : + ( ( evalc @ ( while @ B_42 @ C_21 ) @ S_2 @ T ) + => ( ( ( T = S_2 ) + => ( B_42 @ S_2 ) ) + => ~ ( ( B_42 @ S_2 ) + => ! [S1: state] : + ( ( evalc @ C_21 @ S_2 @ S1 ) + => ~ ( evalc @ ( while @ B_42 @ C_21 ) @ S1 @ T ) ) ) ) ) )). + +thf(fact_546_xt1_I15_J,axiom,( + ! [C_20: pname > $o,A_54: pname > $o,F_13: ( pname > $o ) > pname > $o,B_41: pname > $o] : + ( ( A_54 + = ( F_13 @ B_41 ) ) + => ( ( ord_less_eq_pname_o @ C_20 @ B_41 ) + => ( ! [X_5: pname > $o,Y_2: pname > $o] : + ( ( ord_less_eq_pname_o @ Y_2 @ X_5 ) + => ( ord_less_eq_pname_o @ ( F_13 @ Y_2 ) @ ( F_13 @ X_5 ) ) ) + => ( ord_less_eq_pname_o @ ( F_13 @ C_20 ) @ A_54 ) ) ) ) )). + +thf(fact_547_xt1_I15_J,axiom,( + ! [C_20: hoare_1167836817_state > $o,A_54: hoare_1167836817_state > $o,F_13: ( hoare_1167836817_state > $o ) > hoare_1167836817_state > $o,B_41: hoare_1167836817_state > $o] : + ( ( A_54 + = ( F_13 @ B_41 ) ) + => ( ( ord_le827224136tate_o @ C_20 @ B_41 ) + => ( ! [X_5: hoare_1167836817_state > $o,Y_2: hoare_1167836817_state > $o] : + ( ( ord_le827224136tate_o @ Y_2 @ X_5 ) + => ( ord_le827224136tate_o @ ( F_13 @ Y_2 ) @ ( F_13 @ X_5 ) ) ) + => ( ord_le827224136tate_o @ ( F_13 @ C_20 ) @ A_54 ) ) ) ) )). + +thf(fact_548_xt1_I16_J,axiom,( + ! [F_12: ( pname > $o ) > pname > $o,C_19: pname > $o,B_40: pname > $o,A_53: pname > $o] : + ( ( ord_less_eq_pname_o @ B_40 @ A_53 ) + => ( ( ( F_12 @ B_40 ) + = C_19 ) + => ( ! [X_5: pname > $o,Y_2: pname > $o] : + ( ( ord_less_eq_pname_o @ Y_2 @ X_5 ) + => ( ord_less_eq_pname_o @ ( F_12 @ Y_2 ) @ ( F_12 @ X_5 ) ) ) + => ( ord_less_eq_pname_o @ C_19 @ ( F_12 @ A_53 ) ) ) ) ) )). + +thf(fact_549_xt1_I16_J,axiom,( + ! [F_12: ( hoare_1167836817_state > $o ) > hoare_1167836817_state > $o,C_19: hoare_1167836817_state > $o,B_40: hoare_1167836817_state > $o,A_53: hoare_1167836817_state > $o] : + ( ( ord_le827224136tate_o @ B_40 @ A_53 ) + => ( ( ( F_12 @ B_40 ) + = C_19 ) + => ( ! [X_5: hoare_1167836817_state > $o,Y_2: hoare_1167836817_state > $o] : + ( ( ord_le827224136tate_o @ Y_2 @ X_5 ) + => ( ord_le827224136tate_o @ ( F_12 @ Y_2 ) @ ( F_12 @ X_5 ) ) ) + => ( ord_le827224136tate_o @ C_19 @ ( F_12 @ A_53 ) ) ) ) ) )). + +thf(fact_550_folding__one_Ounion__inter,axiom,( + ! [B_39: ( pname > $o ) > $o,A_52: ( pname > $o ) > $o,F_11: ( pname > $o ) > ( pname > $o ) > pname > $o,F_10: ( ( pname > $o ) > $o ) > pname > $o] : + ( ( finite349908348name_o @ F_11 @ F_10 ) + => ( ( finite297249702name_o @ A_52 ) + => ( ( finite297249702name_o @ B_39 ) + => ( ( ( semila2013987940me_o_o @ A_52 @ B_39 ) + != bot_bot_pname_o_o ) + => ( ( F_11 @ ( F_10 @ ( semila181081674me_o_o @ A_52 @ B_39 ) ) @ ( F_10 @ ( semila2013987940me_o_o @ A_52 @ B_39 ) ) ) + = ( F_11 @ ( F_10 @ A_52 ) @ ( F_10 @ B_39 ) ) ) ) ) ) ) )). + +thf(fact_551_folding__one_Ounion__inter,axiom,( + ! [B_39: ( hoare_1167836817_state > $o ) > $o,A_52: ( hoare_1167836817_state > $o ) > $o,F_11: ( hoare_1167836817_state > $o ) > ( hoare_1167836817_state > $o ) > hoare_1167836817_state > $o,F_10: ( ( hoare_1167836817_state > $o ) > $o ) > hoare_1167836817_state > $o] : + ( ( finite979047547tate_o @ F_11 @ F_10 ) + => ( ( finite1380128977tate_o @ A_52 ) + => ( ( finite1380128977tate_o @ B_39 ) + => ( ( ( semila1758709489te_o_o @ A_52 @ B_39 ) + != bot_bo691907561te_o_o ) + => ( ( F_11 @ ( F_10 @ ( semila866907787te_o_o @ A_52 @ B_39 ) ) @ ( F_10 @ ( semila1758709489te_o_o @ A_52 @ B_39 ) ) ) + = ( F_11 @ ( F_10 @ A_52 ) @ ( F_10 @ B_39 ) ) ) ) ) ) ) )). + +thf(fact_552_folding__one_Ounion__inter,axiom,( + ! [B_39: pname > $o,A_52: pname > $o,F_11: pname > pname > pname,F_10: ( pname > $o ) > pname] : + ( ( finite1282449217_pname @ F_11 @ F_10 ) + => ( ( finite_finite_pname @ A_52 ) + => ( ( finite_finite_pname @ B_39 ) + => ( ( ( semila1673364395name_o @ A_52 @ B_39 ) + != bot_bot_pname_o ) + => ( ( F_11 @ ( F_10 @ ( semila1780557381name_o @ A_52 @ B_39 ) ) @ ( F_10 @ ( semila1673364395name_o @ A_52 @ B_39 ) ) ) + = ( F_11 @ ( F_10 @ A_52 ) @ ( F_10 @ B_39 ) ) ) ) ) ) ) )). + +thf(fact_553_folding__one_Ounion__inter,axiom,( + ! [B_39: hoare_1167836817_state > $o,A_52: hoare_1167836817_state > $o,F_11: hoare_1167836817_state > hoare_1167836817_state > hoare_1167836817_state,F_10: ( hoare_1167836817_state > $o ) > hoare_1167836817_state] : + ( ( finite1074406356_state @ F_11 @ F_10 ) + => ( ( finite1084549118_state @ A_52 ) + => ( ( finite1084549118_state @ B_39 ) + => ( ( ( semila179895820tate_o @ A_52 @ B_39 ) + != bot_bo70021908tate_o ) + => ( ( F_11 @ ( F_10 @ ( semila1172322802tate_o @ A_52 @ B_39 ) ) @ ( F_10 @ ( semila179895820tate_o @ A_52 @ B_39 ) ) ) + = ( F_11 @ ( F_10 @ A_52 ) @ ( F_10 @ B_39 ) ) ) ) ) ) ) )). + +thf(fact_554_folding__one_Ounion__disjoint,axiom,( + ! [B_38: ( pname > $o ) > $o,A_51: ( pname > $o ) > $o,F_9: ( pname > $o ) > ( pname > $o ) > pname > $o,F_8: ( ( pname > $o ) > $o ) > pname > $o] : + ( ( finite349908348name_o @ F_9 @ F_8 ) + => ( ( finite297249702name_o @ A_51 ) + => ( ( A_51 != bot_bot_pname_o_o ) + => ( ( finite297249702name_o @ B_38 ) + => ( ( B_38 != bot_bot_pname_o_o ) + => ( ( ( semila2013987940me_o_o @ A_51 @ B_38 ) + = bot_bot_pname_o_o ) + => ( ( F_8 @ ( semila181081674me_o_o @ A_51 @ B_38 ) ) + = ( F_9 @ ( F_8 @ A_51 ) @ ( F_8 @ B_38 ) ) ) ) ) ) ) ) ) )). + +thf(fact_555_folding__one_Ounion__disjoint,axiom,( + ! [B_38: ( hoare_1167836817_state > $o ) > $o,A_51: ( hoare_1167836817_state > $o ) > $o,F_9: ( hoare_1167836817_state > $o ) > ( hoare_1167836817_state > $o ) > hoare_1167836817_state > $o,F_8: ( ( hoare_1167836817_state > $o ) > $o ) > hoare_1167836817_state > $o] : + ( ( finite979047547tate_o @ F_9 @ F_8 ) + => ( ( finite1380128977tate_o @ A_51 ) + => ( ( A_51 != bot_bo691907561te_o_o ) + => ( ( finite1380128977tate_o @ B_38 ) + => ( ( B_38 != bot_bo691907561te_o_o ) + => ( ( ( semila1758709489te_o_o @ A_51 @ B_38 ) + = bot_bo691907561te_o_o ) + => ( ( F_8 @ ( semila866907787te_o_o @ A_51 @ B_38 ) ) + = ( F_9 @ ( F_8 @ A_51 ) @ ( F_8 @ B_38 ) ) ) ) ) ) ) ) ) )). + +thf(fact_556_folding__one_Ounion__disjoint,axiom,( + ! [B_38: pname > $o,A_51: pname > $o,F_9: pname > pname > pname,F_8: ( pname > $o ) > pname] : + ( ( finite1282449217_pname @ F_9 @ F_8 ) + => ( ( finite_finite_pname @ A_51 ) + => ( ( A_51 != bot_bot_pname_o ) + => ( ( finite_finite_pname @ B_38 ) + => ( ( B_38 != bot_bot_pname_o ) + => ( ( ( semila1673364395name_o @ A_51 @ B_38 ) + = bot_bot_pname_o ) + => ( ( F_8 @ ( semila1780557381name_o @ A_51 @ B_38 ) ) + = ( F_9 @ ( F_8 @ A_51 ) @ ( F_8 @ B_38 ) ) ) ) ) ) ) ) ) )). + +thf(fact_557_folding__one_Ounion__disjoint,axiom,( + ! [B_38: hoare_1167836817_state > $o,A_51: hoare_1167836817_state > $o,F_9: hoare_1167836817_state > hoare_1167836817_state > hoare_1167836817_state,F_8: ( hoare_1167836817_state > $o ) > hoare_1167836817_state] : + ( ( finite1074406356_state @ F_9 @ F_8 ) + => ( ( finite1084549118_state @ A_51 ) + => ( ( A_51 != bot_bo70021908tate_o ) + => ( ( finite1084549118_state @ B_38 ) + => ( ( B_38 != bot_bo70021908tate_o ) + => ( ( ( semila179895820tate_o @ A_51 @ B_38 ) + = bot_bo70021908tate_o ) + => ( ( F_8 @ ( semila1172322802tate_o @ A_51 @ B_38 ) ) + = ( F_9 @ ( F_8 @ A_51 ) @ ( F_8 @ B_38 ) ) ) ) ) ) ) ) ) )). + +thf(fact_558_IntI,axiom,( + ! [B_37: pname > $o,C_18: pname,A_50: pname > $o] : + ( ( member_pname @ C_18 @ A_50 ) + => ( ( member_pname @ C_18 @ B_37 ) + => ( member_pname @ C_18 @ ( semila1673364395name_o @ A_50 @ B_37 ) ) ) ) )). + +thf(fact_559_IntI,axiom,( + ! [B_37: hoare_1167836817_state > $o,C_18: hoare_1167836817_state,A_50: hoare_1167836817_state > $o] : + ( ( member2058392318_state @ C_18 @ A_50 ) + => ( ( member2058392318_state @ C_18 @ B_37 ) + => ( member2058392318_state @ C_18 @ ( semila179895820tate_o @ A_50 @ B_37 ) ) ) ) )). + +thf(fact_560_IntE,axiom,( + ! [C_17: pname,A_49: pname > $o,B_36: pname > $o] : + ( ( member_pname @ C_17 @ ( semila1673364395name_o @ A_49 @ B_36 ) ) + => ~ ( ( member_pname @ C_17 @ A_49 ) + => ~ ( member_pname @ C_17 @ B_36 ) ) ) )). + +thf(fact_561_IntE,axiom,( + ! [C_17: hoare_1167836817_state,A_49: hoare_1167836817_state > $o,B_36: hoare_1167836817_state > $o] : + ( ( member2058392318_state @ C_17 @ ( semila179895820tate_o @ A_49 @ B_36 ) ) + => ~ ( ( member2058392318_state @ C_17 @ A_49 ) + => ~ ( member2058392318_state @ C_17 @ B_36 ) ) ) )). + +thf(fact_562_finite__Int,axiom,( + ! [G_2: ( pname > $o ) > $o,F_7: ( pname > $o ) > $o] : + ( ( ( finite297249702name_o @ F_7 ) + | ( finite297249702name_o @ G_2 ) ) + => ( finite297249702name_o @ ( semila2013987940me_o_o @ F_7 @ G_2 ) ) ) )). + +thf(fact_563_finite__Int,axiom,( + ! [G_2: ( hoare_1167836817_state > $o ) > $o,F_7: ( hoare_1167836817_state > $o ) > $o] : + ( ( ( finite1380128977tate_o @ F_7 ) + | ( finite1380128977tate_o @ G_2 ) ) + => ( finite1380128977tate_o @ ( semila1758709489te_o_o @ F_7 @ G_2 ) ) ) )). + +thf(fact_564_finite__Int,axiom,( + ! [G_2: pname > $o,F_7: pname > $o] : + ( ( ( finite_finite_pname @ F_7 ) + | ( finite_finite_pname @ G_2 ) ) + => ( finite_finite_pname @ ( semila1673364395name_o @ F_7 @ G_2 ) ) ) )). + +thf(fact_565_finite__Int,axiom,( + ! [G_2: hoare_1167836817_state > $o,F_7: hoare_1167836817_state > $o] : + ( ( ( finite1084549118_state @ F_7 ) + | ( finite1084549118_state @ G_2 ) ) + => ( finite1084549118_state @ ( semila179895820tate_o @ F_7 @ G_2 ) ) ) )). + +thf(fact_566_disjoint__iff__not__equal,axiom,( + ! [A_48: pname > $o,B_35: pname > $o] : + ( ( ( semila1673364395name_o @ A_48 @ B_35 ) + = bot_bot_pname_o ) + <=> ! [X_5: pname] : + ( ( member_pname @ X_5 @ A_48 ) + => ! [Xa: pname] : + ( ( member_pname @ Xa @ B_35 ) + => ( X_5 != Xa ) ) ) ) )). + +thf(fact_567_disjoint__iff__not__equal,axiom,( + ! [A_48: hoare_1167836817_state > $o,B_35: hoare_1167836817_state > $o] : + ( ( ( semila179895820tate_o @ A_48 @ B_35 ) + = bot_bo70021908tate_o ) + <=> ! [X_5: hoare_1167836817_state] : + ( ( member2058392318_state @ X_5 @ A_48 ) + => ! [Xa: hoare_1167836817_state] : + ( ( member2058392318_state @ Xa @ B_35 ) + => ( X_5 != Xa ) ) ) ) )). + +thf(fact_568_Int__empty__right,axiom,( + ! [A_47: pname > $o] : + ( ( semila1673364395name_o @ A_47 @ bot_bot_pname_o ) + = bot_bot_pname_o ) )). + +thf(fact_569_Int__empty__right,axiom,( + ! [A_47: hoare_1167836817_state > $o] : + ( ( semila179895820tate_o @ A_47 @ bot_bo70021908tate_o ) + = bot_bo70021908tate_o ) )). + +thf(fact_570_Int__empty__left,axiom,( + ! [B_34: pname > $o] : + ( ( semila1673364395name_o @ bot_bot_pname_o @ B_34 ) + = bot_bot_pname_o ) )). + +thf(fact_571_Int__empty__left,axiom,( + ! [B_34: hoare_1167836817_state > $o] : + ( ( semila179895820tate_o @ bot_bo70021908tate_o @ B_34 ) + = bot_bo70021908tate_o ) )). + +thf(fact_572_Int__def,axiom,( + ! [A_46: pname > $o,B_33: pname > $o] : + ( ( semila1673364395name_o @ A_46 @ B_33 ) + = ( collect_pname + @ ^ [X_5: pname] : + ( (&) @ ( member_pname @ X_5 @ A_46 ) @ ( member_pname @ X_5 @ B_33 ) ) ) ) )). + +thf(fact_573_Int__def,axiom,( + ! [A_46: hoare_1167836817_state > $o,B_33: hoare_1167836817_state > $o] : + ( ( semila179895820tate_o @ A_46 @ B_33 ) + = ( collec1027672124_state + @ ^ [X_5: hoare_1167836817_state] : + ( (&) @ ( member2058392318_state @ X_5 @ A_46 ) @ ( member2058392318_state @ X_5 @ B_33 ) ) ) ) )). + +thf(fact_574_Int__def,axiom,( + ! [A_46: ( pname > $o ) > $o,B_33: ( pname > $o ) > $o] : + ( ( semila2013987940me_o_o @ A_46 @ B_33 ) + = ( collect_pname_o + @ ^ [X_5: pname > $o] : + ( (&) @ ( member_pname_o @ X_5 @ A_46 ) @ ( member_pname_o @ X_5 @ B_33 ) ) ) ) )). + +thf(fact_575_Int__def,axiom,( + ! [A_46: ( hoare_1167836817_state > $o ) > $o,B_33: ( hoare_1167836817_state > $o ) > $o] : + ( ( semila1758709489te_o_o @ A_46 @ B_33 ) + = ( collec269976083tate_o + @ ^ [X_5: hoare_1167836817_state > $o] : + ( (&) @ ( member864234961tate_o @ X_5 @ A_46 ) @ ( member864234961tate_o @ X_5 @ B_33 ) ) ) ) )). + +thf(fact_576_Int__iff,axiom,( + ! [C_16: pname,A_45: pname > $o,B_32: pname > $o] : + ( ( member_pname @ C_16 @ ( semila1673364395name_o @ A_45 @ B_32 ) ) + <=> ( ( member_pname @ C_16 @ A_45 ) + & ( member_pname @ C_16 @ B_32 ) ) ) )). + +thf(fact_577_Int__iff,axiom,( + ! [C_16: hoare_1167836817_state,A_45: hoare_1167836817_state > $o,B_32: hoare_1167836817_state > $o] : + ( ( member2058392318_state @ C_16 @ ( semila179895820tate_o @ A_45 @ B_32 ) ) + <=> ( ( member2058392318_state @ C_16 @ A_45 ) + & ( member2058392318_state @ C_16 @ B_32 ) ) ) )). + +thf(fact_578_IntD1,axiom,( + ! [C_15: pname,A_44: pname > $o,B_31: pname > $o] : + ( ( member_pname @ C_15 @ ( semila1673364395name_o @ A_44 @ B_31 ) ) + => ( member_pname @ C_15 @ A_44 ) ) )). + +thf(fact_579_IntD1,axiom,( + ! [C_15: hoare_1167836817_state,A_44: hoare_1167836817_state > $o,B_31: hoare_1167836817_state > $o] : + ( ( member2058392318_state @ C_15 @ ( semila179895820tate_o @ A_44 @ B_31 ) ) + => ( member2058392318_state @ C_15 @ A_44 ) ) )). + +thf(fact_580_IntD2,axiom,( + ! [C_14: pname,A_43: pname > $o,B_30: pname > $o] : + ( ( member_pname @ C_14 @ ( semila1673364395name_o @ A_43 @ B_30 ) ) + => ( member_pname @ C_14 @ B_30 ) ) )). + +thf(fact_581_IntD2,axiom,( + ! [C_14: hoare_1167836817_state,A_43: hoare_1167836817_state > $o,B_30: hoare_1167836817_state > $o] : + ( ( member2058392318_state @ C_14 @ ( semila179895820tate_o @ A_43 @ B_30 ) ) + => ( member2058392318_state @ C_14 @ B_30 ) ) )). + +thf(fact_582_Collect__conj__eq,axiom,( + ! [P_5: hoare_1167836817_state > $o,Q_1: hoare_1167836817_state > $o] : + ( ( collec1027672124_state + @ ^ [X_5: hoare_1167836817_state] : + ( (&) @ ( P_5 @ X_5 ) @ ( Q_1 @ X_5 ) ) ) + = ( semila179895820tate_o @ ( collec1027672124_state @ P_5 ) @ ( collec1027672124_state @ Q_1 ) ) ) )). + +thf(fact_583_Collect__conj__eq,axiom,( + ! [P_5: pname > $o,Q_1: pname > $o] : + ( ( collect_pname + @ ^ [X_5: pname] : + ( (&) @ ( P_5 @ X_5 ) @ ( Q_1 @ X_5 ) ) ) + = ( semila1673364395name_o @ ( collect_pname @ P_5 ) @ ( collect_pname @ Q_1 ) ) ) )). + +thf(fact_584_Collect__conj__eq,axiom,( + ! [P_5: ( pname > $o ) > $o,Q_1: ( pname > $o ) > $o] : + ( ( collect_pname_o + @ ^ [X_5: pname > $o] : + ( (&) @ ( P_5 @ X_5 ) @ ( Q_1 @ X_5 ) ) ) + = ( semila2013987940me_o_o @ ( collect_pname_o @ P_5 ) @ ( collect_pname_o @ Q_1 ) ) ) )). + +thf(fact_585_Collect__conj__eq,axiom,( + ! [P_5: ( hoare_1167836817_state > $o ) > $o,Q_1: ( hoare_1167836817_state > $o ) > $o] : + ( ( collec269976083tate_o + @ ^ [X_5: hoare_1167836817_state > $o] : + ( (&) @ ( P_5 @ X_5 ) @ ( Q_1 @ X_5 ) ) ) + = ( semila1758709489te_o_o @ ( collec269976083tate_o @ P_5 ) @ ( collec269976083tate_o @ Q_1 ) ) ) )). + +thf(fact_586_Int__Collect,axiom,( + ! [X_30: pname,A_42: pname > $o,P_4: pname > $o] : + ( ( member_pname @ X_30 @ ( semila1673364395name_o @ A_42 @ ( collect_pname @ P_4 ) ) ) + <=> ( ( member_pname @ X_30 @ A_42 ) + & ( P_4 @ X_30 ) ) ) )). + +thf(fact_587_Int__Collect,axiom,( + ! [X_30: hoare_1167836817_state,A_42: hoare_1167836817_state > $o,P_4: hoare_1167836817_state > $o] : + ( ( member2058392318_state @ X_30 @ ( semila179895820tate_o @ A_42 @ ( collec1027672124_state @ P_4 ) ) ) + <=> ( ( member2058392318_state @ X_30 @ A_42 ) + & ( P_4 @ X_30 ) ) ) )). + +thf(fact_588_Int__Collect,axiom,( + ! [X_30: pname > $o,A_42: ( pname > $o ) > $o,P_4: ( pname > $o ) > $o] : + ( ( member_pname_o @ X_30 @ ( semila2013987940me_o_o @ A_42 @ ( collect_pname_o @ P_4 ) ) ) + <=> ( ( member_pname_o @ X_30 @ A_42 ) + & ( P_4 @ X_30 ) ) ) )). + +thf(fact_589_Int__Collect,axiom,( + ! [X_30: hoare_1167836817_state > $o,A_42: ( hoare_1167836817_state > $o ) > $o,P_4: ( hoare_1167836817_state > $o ) > $o] : + ( ( member864234961tate_o @ X_30 @ ( semila1758709489te_o_o @ A_42 @ ( collec269976083tate_o @ P_4 ) ) ) + <=> ( ( member864234961tate_o @ X_30 @ A_42 ) + & ( P_4 @ X_30 ) ) ) )). + +thf(fact_590_inf__Int__eq,axiom,( + ! [R: pname > $o,S_1: pname > $o,X_5: pname] : + ( ( semila1673364395name_o + @ ^ [Y_2: pname] : + ( member_pname @ Y_2 @ R ) + @ ^ [Y_2: pname] : + ( member_pname @ Y_2 @ S_1 ) + @ X_5 ) + <=> ( member_pname @ X_5 @ ( semila1673364395name_o @ R @ S_1 ) ) ) )). + +thf(fact_591_inf__Int__eq,axiom,( + ! [R: hoare_1167836817_state > $o,S_1: hoare_1167836817_state > $o,X_5: hoare_1167836817_state] : + ( ( semila179895820tate_o + @ ^ [Y_2: hoare_1167836817_state] : + ( member2058392318_state @ Y_2 @ R ) + @ ^ [Y_2: hoare_1167836817_state] : + ( member2058392318_state @ Y_2 @ S_1 ) + @ X_5 ) + <=> ( member2058392318_state @ X_5 @ ( semila179895820tate_o @ R @ S_1 ) ) ) )). + +thf(fact_592_Un__Int__crazy,axiom,( + ! [A_41: hoare_1167836817_state > $o,B_29: hoare_1167836817_state > $o,C_13: hoare_1167836817_state > $o] : + ( ( semila1172322802tate_o @ ( semila1172322802tate_o @ ( semila179895820tate_o @ A_41 @ B_29 ) @ ( semila179895820tate_o @ B_29 @ C_13 ) ) @ ( semila179895820tate_o @ C_13 @ A_41 ) ) + = ( semila179895820tate_o @ ( semila179895820tate_o @ ( semila1172322802tate_o @ A_41 @ B_29 ) @ ( semila1172322802tate_o @ B_29 @ C_13 ) ) @ ( semila1172322802tate_o @ C_13 @ A_41 ) ) ) )). + +thf(fact_593_Un__Int__distrib2,axiom,( + ! [B_28: hoare_1167836817_state > $o,C_12: hoare_1167836817_state > $o,A_40: hoare_1167836817_state > $o] : + ( ( semila1172322802tate_o @ ( semila179895820tate_o @ B_28 @ C_12 ) @ A_40 ) + = ( semila179895820tate_o @ ( semila1172322802tate_o @ B_28 @ A_40 ) @ ( semila1172322802tate_o @ C_12 @ A_40 ) ) ) )). + +thf(fact_594_Int__Un__distrib2,axiom,( + ! [B_27: hoare_1167836817_state > $o,C_11: hoare_1167836817_state > $o,A_39: hoare_1167836817_state > $o] : + ( ( semila179895820tate_o @ ( semila1172322802tate_o @ B_27 @ C_11 ) @ A_39 ) + = ( semila1172322802tate_o @ ( semila179895820tate_o @ B_27 @ A_39 ) @ ( semila179895820tate_o @ C_11 @ A_39 ) ) ) )). + +thf(fact_595_Un__Int__distrib,axiom,( + ! [A_38: hoare_1167836817_state > $o,B_26: hoare_1167836817_state > $o,C_10: hoare_1167836817_state > $o] : + ( ( semila1172322802tate_o @ A_38 @ ( semila179895820tate_o @ B_26 @ C_10 ) ) + = ( semila179895820tate_o @ ( semila1172322802tate_o @ A_38 @ B_26 ) @ ( semila1172322802tate_o @ A_38 @ C_10 ) ) ) )). + +thf(fact_596_Int__Un__distrib,axiom,( + ! [A_37: hoare_1167836817_state > $o,B_25: hoare_1167836817_state > $o,C_9: hoare_1167836817_state > $o] : + ( ( semila179895820tate_o @ A_37 @ ( semila1172322802tate_o @ B_25 @ C_9 ) ) + = ( semila1172322802tate_o @ ( semila179895820tate_o @ A_37 @ B_25 ) @ ( semila179895820tate_o @ A_37 @ C_9 ) ) ) )). + +thf(fact_597_Int__mono,axiom,( + ! [B_24: pname > $o,D_1: pname > $o,A_36: pname > $o,C_8: pname > $o] : + ( ( ord_less_eq_pname_o @ A_36 @ C_8 ) + => ( ( ord_less_eq_pname_o @ B_24 @ D_1 ) + => ( ord_less_eq_pname_o @ ( semila1673364395name_o @ A_36 @ B_24 ) @ ( semila1673364395name_o @ C_8 @ D_1 ) ) ) ) )). + +thf(fact_598_Int__mono,axiom,( + ! [B_24: hoare_1167836817_state > $o,D_1: hoare_1167836817_state > $o,A_36: hoare_1167836817_state > $o,C_8: hoare_1167836817_state > $o] : + ( ( ord_le827224136tate_o @ A_36 @ C_8 ) + => ( ( ord_le827224136tate_o @ B_24 @ D_1 ) + => ( ord_le827224136tate_o @ ( semila179895820tate_o @ A_36 @ B_24 ) @ ( semila179895820tate_o @ C_8 @ D_1 ) ) ) ) )). + +thf(fact_599_Int__greatest,axiom,( + ! [B_23: pname > $o,C_7: pname > $o,A_35: pname > $o] : + ( ( ord_less_eq_pname_o @ C_7 @ A_35 ) + => ( ( ord_less_eq_pname_o @ C_7 @ B_23 ) + => ( ord_less_eq_pname_o @ C_7 @ ( semila1673364395name_o @ A_35 @ B_23 ) ) ) ) )). + +thf(fact_600_Int__greatest,axiom,( + ! [B_23: hoare_1167836817_state > $o,C_7: hoare_1167836817_state > $o,A_35: hoare_1167836817_state > $o] : + ( ( ord_le827224136tate_o @ C_7 @ A_35 ) + => ( ( ord_le827224136tate_o @ C_7 @ B_23 ) + => ( ord_le827224136tate_o @ C_7 @ ( semila179895820tate_o @ A_35 @ B_23 ) ) ) ) )). + +thf(fact_601_Int__absorb1,axiom,( + ! [B_22: pname > $o,A_34: pname > $o] : + ( ( ord_less_eq_pname_o @ B_22 @ A_34 ) + => ( ( semila1673364395name_o @ A_34 @ B_22 ) + = B_22 ) ) )). + +thf(fact_602_Int__absorb1,axiom,( + ! [B_22: hoare_1167836817_state > $o,A_34: hoare_1167836817_state > $o] : + ( ( ord_le827224136tate_o @ B_22 @ A_34 ) + => ( ( semila179895820tate_o @ A_34 @ B_22 ) + = B_22 ) ) )). + +thf(fact_603_Int__absorb2,axiom,( + ! [A_33: pname > $o,B_21: pname > $o] : + ( ( ord_less_eq_pname_o @ A_33 @ B_21 ) + => ( ( semila1673364395name_o @ A_33 @ B_21 ) + = A_33 ) ) )). + +thf(fact_604_Int__absorb2,axiom,( + ! [A_33: hoare_1167836817_state > $o,B_21: hoare_1167836817_state > $o] : + ( ( ord_le827224136tate_o @ A_33 @ B_21 ) + => ( ( semila179895820tate_o @ A_33 @ B_21 ) + = A_33 ) ) )). + +thf(fact_605_Int__lower2,axiom,( + ! [A_32: pname > $o,B_20: pname > $o] : + ( ord_less_eq_pname_o @ ( semila1673364395name_o @ A_32 @ B_20 ) @ B_20 ) )). + +thf(fact_606_Int__lower2,axiom,( + ! [A_32: hoare_1167836817_state > $o,B_20: hoare_1167836817_state > $o] : + ( ord_le827224136tate_o @ ( semila179895820tate_o @ A_32 @ B_20 ) @ B_20 ) )). + +thf(fact_607_Int__lower1,axiom,( + ! [A_31: pname > $o,B_19: pname > $o] : + ( ord_less_eq_pname_o @ ( semila1673364395name_o @ A_31 @ B_19 ) @ A_31 ) )). + +thf(fact_608_Int__lower1,axiom,( + ! [A_31: hoare_1167836817_state > $o,B_19: hoare_1167836817_state > $o] : + ( ord_le827224136tate_o @ ( semila179895820tate_o @ A_31 @ B_19 ) @ A_31 ) )). + +thf(fact_609_Int__insert__left__if1,axiom,( + ! [B_18: pname > $o,A_30: pname,C_6: pname > $o] : + ( ( member_pname @ A_30 @ C_6 ) + => ( ( semila1673364395name_o @ ( insert_pname @ A_30 @ B_18 ) @ C_6 ) + = ( insert_pname @ A_30 @ ( semila1673364395name_o @ B_18 @ C_6 ) ) ) ) )). + +thf(fact_610_Int__insert__left__if1,axiom,( + ! [B_18: hoare_1167836817_state > $o,A_30: hoare_1167836817_state,C_6: hoare_1167836817_state > $o] : + ( ( member2058392318_state @ A_30 @ C_6 ) + => ( ( semila179895820tate_o @ ( insert2134838167_state @ A_30 @ B_18 ) @ C_6 ) + = ( insert2134838167_state @ A_30 @ ( semila179895820tate_o @ B_18 @ C_6 ) ) ) ) )). + +thf(fact_611_Int__insert__right__if1,axiom,( + ! [B_17: pname > $o,A_29: pname,A_28: pname > $o] : + ( ( member_pname @ A_29 @ A_28 ) + => ( ( semila1673364395name_o @ A_28 @ ( insert_pname @ A_29 @ B_17 ) ) + = ( insert_pname @ A_29 @ ( semila1673364395name_o @ A_28 @ B_17 ) ) ) ) )). + +thf(fact_612_Int__insert__right__if1,axiom,( + ! [B_17: hoare_1167836817_state > $o,A_29: hoare_1167836817_state,A_28: hoare_1167836817_state > $o] : + ( ( member2058392318_state @ A_29 @ A_28 ) + => ( ( semila179895820tate_o @ A_28 @ ( insert2134838167_state @ A_29 @ B_17 ) ) + = ( insert2134838167_state @ A_29 @ ( semila179895820tate_o @ A_28 @ B_17 ) ) ) ) )). + +thf(fact_613_Int__insert__left__if0,axiom,( + ! [B_16: pname > $o,A_27: pname,C_5: pname > $o] : + ( ~ ( member_pname @ A_27 @ C_5 ) + => ( ( semila1673364395name_o @ ( insert_pname @ A_27 @ B_16 ) @ C_5 ) + = ( semila1673364395name_o @ B_16 @ C_5 ) ) ) )). + +thf(fact_614_Int__insert__left__if0,axiom,( + ! [B_16: hoare_1167836817_state > $o,A_27: hoare_1167836817_state,C_5: hoare_1167836817_state > $o] : + ( ~ ( member2058392318_state @ A_27 @ C_5 ) + => ( ( semila179895820tate_o @ ( insert2134838167_state @ A_27 @ B_16 ) @ C_5 ) + = ( semila179895820tate_o @ B_16 @ C_5 ) ) ) )). + +thf(fact_615_Int__insert__right__if0,axiom,( + ! [B_15: pname > $o,A_26: pname,A_25: pname > $o] : + ( ~ ( member_pname @ A_26 @ A_25 ) + => ( ( semila1673364395name_o @ A_25 @ ( insert_pname @ A_26 @ B_15 ) ) + = ( semila1673364395name_o @ A_25 @ B_15 ) ) ) )). + +thf(fact_616_Int__insert__right__if0,axiom,( + ! [B_15: hoare_1167836817_state > $o,A_26: hoare_1167836817_state,A_25: hoare_1167836817_state > $o] : + ( ~ ( member2058392318_state @ A_26 @ A_25 ) + => ( ( semila179895820tate_o @ A_25 @ ( insert2134838167_state @ A_26 @ B_15 ) ) + = ( semila179895820tate_o @ A_25 @ B_15 ) ) ) )). + +thf(fact_617_insert__inter__insert,axiom,( + ! [A_24: pname,A_23: pname > $o,B_14: pname > $o] : + ( ( semila1673364395name_o @ ( insert_pname @ A_24 @ A_23 ) @ ( insert_pname @ A_24 @ B_14 ) ) + = ( insert_pname @ A_24 @ ( semila1673364395name_o @ A_23 @ B_14 ) ) ) )). + +thf(fact_618_insert__inter__insert,axiom,( + ! [A_24: hoare_1167836817_state,A_23: hoare_1167836817_state > $o,B_14: hoare_1167836817_state > $o] : + ( ( semila179895820tate_o @ ( insert2134838167_state @ A_24 @ A_23 ) @ ( insert2134838167_state @ A_24 @ B_14 ) ) + = ( insert2134838167_state @ A_24 @ ( semila179895820tate_o @ A_23 @ B_14 ) ) ) )). + +thf(fact_619_Int__insert__left,axiom,( + ! [B_13: pname > $o,A_22: pname,C_4: pname > $o] : + ( ( ( member_pname @ A_22 @ C_4 ) + => ( ( semila1673364395name_o @ ( insert_pname @ A_22 @ B_13 ) @ C_4 ) + = ( insert_pname @ A_22 @ ( semila1673364395name_o @ B_13 @ C_4 ) ) ) ) + & ( ~ ( member_pname @ A_22 @ C_4 ) + => ( ( semila1673364395name_o @ ( insert_pname @ A_22 @ B_13 ) @ C_4 ) + = ( semila1673364395name_o @ B_13 @ C_4 ) ) ) ) )). + +thf(fact_620_Int__insert__left,axiom,( + ! [B_13: hoare_1167836817_state > $o,A_22: hoare_1167836817_state,C_4: hoare_1167836817_state > $o] : + ( ( ( member2058392318_state @ A_22 @ C_4 ) + => ( ( semila179895820tate_o @ ( insert2134838167_state @ A_22 @ B_13 ) @ C_4 ) + = ( insert2134838167_state @ A_22 @ ( semila179895820tate_o @ B_13 @ C_4 ) ) ) ) + & ( ~ ( member2058392318_state @ A_22 @ C_4 ) + => ( ( semila179895820tate_o @ ( insert2134838167_state @ A_22 @ B_13 ) @ C_4 ) + = ( semila179895820tate_o @ B_13 @ C_4 ) ) ) ) )). + +thf(fact_621_Int__insert__right,axiom,( + ! [B_12: pname > $o,A_21: pname,A_20: pname > $o] : + ( ( ( member_pname @ A_21 @ A_20 ) + => ( ( semila1673364395name_o @ A_20 @ ( insert_pname @ A_21 @ B_12 ) ) + = ( insert_pname @ A_21 @ ( semila1673364395name_o @ A_20 @ B_12 ) ) ) ) + & ( ~ ( member_pname @ A_21 @ A_20 ) + => ( ( semila1673364395name_o @ A_20 @ ( insert_pname @ A_21 @ B_12 ) ) + = ( semila1673364395name_o @ A_20 @ B_12 ) ) ) ) )). + +thf(fact_622_Int__insert__right,axiom,( + ! [B_12: hoare_1167836817_state > $o,A_21: hoare_1167836817_state,A_20: hoare_1167836817_state > $o] : + ( ( ( member2058392318_state @ A_21 @ A_20 ) + => ( ( semila179895820tate_o @ A_20 @ ( insert2134838167_state @ A_21 @ B_12 ) ) + = ( insert2134838167_state @ A_21 @ ( semila179895820tate_o @ A_20 @ B_12 ) ) ) ) + & ( ~ ( member2058392318_state @ A_21 @ A_20 ) + => ( ( semila179895820tate_o @ A_20 @ ( insert2134838167_state @ A_21 @ B_12 ) ) + = ( semila179895820tate_o @ A_20 @ B_12 ) ) ) ) )). + +thf(fact_623_inf__sup__ord_I1_J,axiom,( + ! [X_29: pname > $o,Y_20: pname > $o] : + ( ord_less_eq_pname_o @ ( semila1673364395name_o @ X_29 @ Y_20 ) @ X_29 ) )). + +thf(fact_624_inf__sup__ord_I1_J,axiom,( + ! [X_29: hoare_1167836817_state > $o,Y_20: hoare_1167836817_state > $o] : + ( ord_le827224136tate_o @ ( semila179895820tate_o @ X_29 @ Y_20 ) @ X_29 ) )). + +thf(fact_625_inf__le1,axiom,( + ! [X_28: pname > $o,Y_19: pname > $o] : + ( ord_less_eq_pname_o @ ( semila1673364395name_o @ X_28 @ Y_19 ) @ X_28 ) )). + +thf(fact_626_inf__le1,axiom,( + ! [X_28: hoare_1167836817_state > $o,Y_19: hoare_1167836817_state > $o] : + ( ord_le827224136tate_o @ ( semila179895820tate_o @ X_28 @ Y_19 ) @ X_28 ) )). + +thf(fact_627_inf__sup__ord_I2_J,axiom,( + ! [X_27: pname > $o,Y_18: pname > $o] : + ( ord_less_eq_pname_o @ ( semila1673364395name_o @ X_27 @ Y_18 ) @ Y_18 ) )). + +thf(fact_628_inf__sup__ord_I2_J,axiom,( + ! [X_27: hoare_1167836817_state > $o,Y_18: hoare_1167836817_state > $o] : + ( ord_le827224136tate_o @ ( semila179895820tate_o @ X_27 @ Y_18 ) @ Y_18 ) )). + +thf(fact_629_inf__le2,axiom,( + ! [X_26: pname > $o,Y_17: pname > $o] : + ( ord_less_eq_pname_o @ ( semila1673364395name_o @ X_26 @ Y_17 ) @ Y_17 ) )). + +thf(fact_630_inf__le2,axiom,( + ! [X_26: hoare_1167836817_state > $o,Y_17: hoare_1167836817_state > $o] : + ( ord_le827224136tate_o @ ( semila179895820tate_o @ X_26 @ Y_17 ) @ Y_17 ) )). + +thf(fact_631_le__iff__inf,axiom,( + ! [X_25: pname > $o,Y_16: pname > $o] : + ( ( ord_less_eq_pname_o @ X_25 @ Y_16 ) + <=> ( ( semila1673364395name_o @ X_25 @ Y_16 ) + = X_25 ) ) )). + +thf(fact_632_le__iff__inf,axiom,( + ! [X_25: hoare_1167836817_state > $o,Y_16: hoare_1167836817_state > $o] : + ( ( ord_le827224136tate_o @ X_25 @ Y_16 ) + <=> ( ( semila179895820tate_o @ X_25 @ Y_16 ) + = X_25 ) ) )). + +thf(fact_633_le__inf__iff,axiom,( + ! [X_24: pname > $o,Y_15: pname > $o,Z_10: pname > $o] : + ( ( ord_less_eq_pname_o @ X_24 @ ( semila1673364395name_o @ Y_15 @ Z_10 ) ) + <=> ( ( ord_less_eq_pname_o @ X_24 @ Y_15 ) + & ( ord_less_eq_pname_o @ X_24 @ Z_10 ) ) ) )). + +thf(fact_634_le__inf__iff,axiom,( + ! [X_24: hoare_1167836817_state > $o,Y_15: hoare_1167836817_state > $o,Z_10: hoare_1167836817_state > $o] : + ( ( ord_le827224136tate_o @ X_24 @ ( semila179895820tate_o @ Y_15 @ Z_10 ) ) + <=> ( ( ord_le827224136tate_o @ X_24 @ Y_15 ) + & ( ord_le827224136tate_o @ X_24 @ Z_10 ) ) ) )). + +thf(fact_635_le__infI1,axiom,( + ! [B_11: pname > $o,A_19: pname > $o,X_23: pname > $o] : + ( ( ord_less_eq_pname_o @ A_19 @ X_23 ) + => ( ord_less_eq_pname_o @ ( semila1673364395name_o @ A_19 @ B_11 ) @ X_23 ) ) )). + +thf(fact_636_le__infI1,axiom,( + ! [B_11: hoare_1167836817_state > $o,A_19: hoare_1167836817_state > $o,X_23: hoare_1167836817_state > $o] : + ( ( ord_le827224136tate_o @ A_19 @ X_23 ) + => ( ord_le827224136tate_o @ ( semila179895820tate_o @ A_19 @ B_11 ) @ X_23 ) ) )). + +thf(fact_637_le__infI2,axiom,( + ! [A_18: pname > $o,B_10: pname > $o,X_22: pname > $o] : + ( ( ord_less_eq_pname_o @ B_10 @ X_22 ) + => ( ord_less_eq_pname_o @ ( semila1673364395name_o @ A_18 @ B_10 ) @ X_22 ) ) )). + +thf(fact_638_le__infI2,axiom,( + ! [A_18: hoare_1167836817_state > $o,B_10: hoare_1167836817_state > $o,X_22: hoare_1167836817_state > $o] : + ( ( ord_le827224136tate_o @ B_10 @ X_22 ) + => ( ord_le827224136tate_o @ ( semila179895820tate_o @ A_18 @ B_10 ) @ X_22 ) ) )). + +thf(fact_639_inf__absorb1,axiom,( + ! [X_21: pname > $o,Y_14: pname > $o] : + ( ( ord_less_eq_pname_o @ X_21 @ Y_14 ) + => ( ( semila1673364395name_o @ X_21 @ Y_14 ) + = X_21 ) ) )). + +thf(fact_640_inf__absorb1,axiom,( + ! [X_21: hoare_1167836817_state > $o,Y_14: hoare_1167836817_state > $o] : + ( ( ord_le827224136tate_o @ X_21 @ Y_14 ) + => ( ( semila179895820tate_o @ X_21 @ Y_14 ) + = X_21 ) ) )). + +thf(fact_641_inf__absorb2,axiom,( + ! [Y_13: pname > $o,X_20: pname > $o] : + ( ( ord_less_eq_pname_o @ Y_13 @ X_20 ) + => ( ( semila1673364395name_o @ X_20 @ Y_13 ) + = Y_13 ) ) )). + +thf(fact_642_inf__absorb2,axiom,( + ! [Y_13: hoare_1167836817_state > $o,X_20: hoare_1167836817_state > $o] : + ( ( ord_le827224136tate_o @ Y_13 @ X_20 ) + => ( ( semila179895820tate_o @ X_20 @ Y_13 ) + = Y_13 ) ) )). + +thf(fact_643_le__infI,axiom,( + ! [B_9: pname > $o,X_19: pname > $o,A_17: pname > $o] : + ( ( ord_less_eq_pname_o @ X_19 @ A_17 ) + => ( ( ord_less_eq_pname_o @ X_19 @ B_9 ) + => ( ord_less_eq_pname_o @ X_19 @ ( semila1673364395name_o @ A_17 @ B_9 ) ) ) ) )). + +thf(fact_644_le__infI,axiom,( + ! [B_9: hoare_1167836817_state > $o,X_19: hoare_1167836817_state > $o,A_17: hoare_1167836817_state > $o] : + ( ( ord_le827224136tate_o @ X_19 @ A_17 ) + => ( ( ord_le827224136tate_o @ X_19 @ B_9 ) + => ( ord_le827224136tate_o @ X_19 @ ( semila179895820tate_o @ A_17 @ B_9 ) ) ) ) )). + +thf(fact_645_inf__greatest,axiom,( + ! [Z_9: pname > $o,X_18: pname > $o,Y_12: pname > $o] : + ( ( ord_less_eq_pname_o @ X_18 @ Y_12 ) + => ( ( ord_less_eq_pname_o @ X_18 @ Z_9 ) + => ( ord_less_eq_pname_o @ X_18 @ ( semila1673364395name_o @ Y_12 @ Z_9 ) ) ) ) )). + +thf(fact_646_inf__greatest,axiom,( + ! [Z_9: hoare_1167836817_state > $o,X_18: hoare_1167836817_state > $o,Y_12: hoare_1167836817_state > $o] : + ( ( ord_le827224136tate_o @ X_18 @ Y_12 ) + => ( ( ord_le827224136tate_o @ X_18 @ Z_9 ) + => ( ord_le827224136tate_o @ X_18 @ ( semila179895820tate_o @ Y_12 @ Z_9 ) ) ) ) )). + +thf(fact_647_inf__mono,axiom,( + ! [B_8: pname > $o,D: pname > $o,A_16: pname > $o,C_3: pname > $o] : + ( ( ord_less_eq_pname_o @ A_16 @ C_3 ) + => ( ( ord_less_eq_pname_o @ B_8 @ D ) + => ( ord_less_eq_pname_o @ ( semila1673364395name_o @ A_16 @ B_8 ) @ ( semila1673364395name_o @ C_3 @ D ) ) ) ) )). + +thf(fact_648_inf__mono,axiom,( + ! [B_8: hoare_1167836817_state > $o,D: hoare_1167836817_state > $o,A_16: hoare_1167836817_state > $o,C_3: hoare_1167836817_state > $o] : + ( ( ord_le827224136tate_o @ A_16 @ C_3 ) + => ( ( ord_le827224136tate_o @ B_8 @ D ) + => ( ord_le827224136tate_o @ ( semila179895820tate_o @ A_16 @ B_8 ) @ ( semila179895820tate_o @ C_3 @ D ) ) ) ) )). + +thf(fact_649_le__infE,axiom,( + ! [X_17: pname > $o,A_15: pname > $o,B_7: pname > $o] : + ( ( ord_less_eq_pname_o @ X_17 @ ( semila1673364395name_o @ A_15 @ B_7 ) ) + => ~ ( ( ord_less_eq_pname_o @ X_17 @ A_15 ) + => ~ ( ord_less_eq_pname_o @ X_17 @ B_7 ) ) ) )). + +thf(fact_650_le__infE,axiom,( + ! [X_17: hoare_1167836817_state > $o,A_15: hoare_1167836817_state > $o,B_7: hoare_1167836817_state > $o] : + ( ( ord_le827224136tate_o @ X_17 @ ( semila179895820tate_o @ A_15 @ B_7 ) ) + => ~ ( ( ord_le827224136tate_o @ X_17 @ A_15 ) + => ~ ( ord_le827224136tate_o @ X_17 @ B_7 ) ) ) )). + +thf(fact_651_inf__sup__absorb,axiom,( + ! [X_16: hoare_1167836817_state > $o,Y_11: hoare_1167836817_state > $o] : + ( ( semila179895820tate_o @ X_16 @ ( semila1172322802tate_o @ X_16 @ Y_11 ) ) + = X_16 ) )). + +thf(fact_652_sup__inf__absorb,axiom,( + ! [X_15: hoare_1167836817_state > $o,Y_10: hoare_1167836817_state > $o] : + ( ( semila1172322802tate_o @ X_15 @ ( semila179895820tate_o @ X_15 @ Y_10 ) ) + = X_15 ) )). + +thf(fact_653_inf__sup__distrib1,axiom,( + ! [X_14: hoare_1167836817_state > $o,Y_9: hoare_1167836817_state > $o,Z_8: hoare_1167836817_state > $o] : + ( ( semila179895820tate_o @ X_14 @ ( semila1172322802tate_o @ Y_9 @ Z_8 ) ) + = ( semila1172322802tate_o @ ( semila179895820tate_o @ X_14 @ Y_9 ) @ ( semila179895820tate_o @ X_14 @ Z_8 ) ) ) )). + +thf(fact_654_sup__inf__distrib1,axiom,( + ! [X_13: hoare_1167836817_state > $o,Y_8: hoare_1167836817_state > $o,Z_7: hoare_1167836817_state > $o] : + ( ( semila1172322802tate_o @ X_13 @ ( semila179895820tate_o @ Y_8 @ Z_7 ) ) + = ( semila179895820tate_o @ ( semila1172322802tate_o @ X_13 @ Y_8 ) @ ( semila1172322802tate_o @ X_13 @ Z_7 ) ) ) )). + +thf(fact_655_inf__sup__distrib2,axiom,( + ! [Y_7: hoare_1167836817_state > $o,Z_6: hoare_1167836817_state > $o,X_12: hoare_1167836817_state > $o] : + ( ( semila179895820tate_o @ ( semila1172322802tate_o @ Y_7 @ Z_6 ) @ X_12 ) + = ( semila1172322802tate_o @ ( semila179895820tate_o @ Y_7 @ X_12 ) @ ( semila179895820tate_o @ Z_6 @ X_12 ) ) ) )). + +thf(fact_656_sup__inf__distrib2,axiom,( + ! [Y_6: hoare_1167836817_state > $o,Z_5: hoare_1167836817_state > $o,X_11: hoare_1167836817_state > $o] : + ( ( semila1172322802tate_o @ ( semila179895820tate_o @ Y_6 @ Z_5 ) @ X_11 ) + = ( semila179895820tate_o @ ( semila1172322802tate_o @ Y_6 @ X_11 ) @ ( semila1172322802tate_o @ Z_5 @ X_11 ) ) ) )). + +thf(fact_657_inf__bot__right,axiom,( + ! [X_10: pname > $o] : + ( ( semila1673364395name_o @ X_10 @ bot_bot_pname_o ) + = bot_bot_pname_o ) )). + +thf(fact_658_inf__bot__right,axiom,( + ! [X_10: hoare_1167836817_state > $o] : + ( ( semila179895820tate_o @ X_10 @ bot_bo70021908tate_o ) + = bot_bo70021908tate_o ) )). + +thf(fact_659_inf__bot__left,axiom,( + ! [X_9: pname > $o] : + ( ( semila1673364395name_o @ bot_bot_pname_o @ X_9 ) + = bot_bot_pname_o ) )). + +thf(fact_660_inf__bot__left,axiom,( + ! [X_9: hoare_1167836817_state > $o] : + ( ( semila179895820tate_o @ bot_bo70021908tate_o @ X_9 ) + = bot_bo70021908tate_o ) )). + +thf(fact_661_distrib__sup__le,axiom,( + ! [X_8: pname > $o,Y_5: pname > $o,Z_4: pname > $o] : + ( ord_less_eq_pname_o @ ( semila1780557381name_o @ X_8 @ ( semila1673364395name_o @ Y_5 @ Z_4 ) ) @ ( semila1673364395name_o @ ( semila1780557381name_o @ X_8 @ Y_5 ) @ ( semila1780557381name_o @ X_8 @ Z_4 ) ) ) )). + +thf(fact_662_distrib__sup__le,axiom,( + ! [X_8: hoare_1167836817_state > $o,Y_5: hoare_1167836817_state > $o,Z_4: hoare_1167836817_state > $o] : + ( ord_le827224136tate_o @ ( semila1172322802tate_o @ X_8 @ ( semila179895820tate_o @ Y_5 @ Z_4 ) ) @ ( semila179895820tate_o @ ( semila1172322802tate_o @ X_8 @ Y_5 ) @ ( semila1172322802tate_o @ X_8 @ Z_4 ) ) ) )). + +thf(fact_663_distrib__inf__le,axiom,( + ! [X_7: pname > $o,Y_4: pname > $o,Z_3: pname > $o] : + ( ord_less_eq_pname_o @ ( semila1780557381name_o @ ( semila1673364395name_o @ X_7 @ Y_4 ) @ ( semila1673364395name_o @ X_7 @ Z_3 ) ) @ ( semila1673364395name_o @ X_7 @ ( semila1780557381name_o @ Y_4 @ Z_3 ) ) ) )). + +thf(fact_664_distrib__inf__le,axiom,( + ! [X_7: hoare_1167836817_state > $o,Y_4: hoare_1167836817_state > $o,Z_3: hoare_1167836817_state > $o] : + ( ord_le827224136tate_o @ ( semila1172322802tate_o @ ( semila179895820tate_o @ X_7 @ Y_4 ) @ ( semila179895820tate_o @ X_7 @ Z_3 ) ) @ ( semila179895820tate_o @ X_7 @ ( semila1172322802tate_o @ Y_4 @ Z_3 ) ) ) )). + +thf(fact_665_image__Int__subset,axiom,( + ! [F_6: pname > hoare_1167836817_state,A_14: pname > $o,B_6: pname > $o] : + ( ord_le827224136tate_o @ ( image_575578384_state @ F_6 @ ( semila1673364395name_o @ A_14 @ B_6 ) ) @ ( semila179895820tate_o @ ( image_575578384_state @ F_6 @ A_14 ) @ ( image_575578384_state @ F_6 @ B_6 ) ) ) )). + +thf(fact_666_Un__Int__assoc__eq,axiom,( + ! [A_13: pname > $o,B_5: pname > $o,C_2: pname > $o] : + ( ( ( semila1780557381name_o @ ( semila1673364395name_o @ A_13 @ B_5 ) @ C_2 ) + = ( semila1673364395name_o @ A_13 @ ( semila1780557381name_o @ B_5 @ C_2 ) ) ) + <=> ( ord_less_eq_pname_o @ C_2 @ A_13 ) ) )). + +thf(fact_667_Un__Int__assoc__eq,axiom,( + ! [A_13: hoare_1167836817_state > $o,B_5: hoare_1167836817_state > $o,C_2: hoare_1167836817_state > $o] : + ( ( ( semila1172322802tate_o @ ( semila179895820tate_o @ A_13 @ B_5 ) @ C_2 ) + = ( semila179895820tate_o @ A_13 @ ( semila1172322802tate_o @ B_5 @ C_2 ) ) ) + <=> ( ord_le827224136tate_o @ C_2 @ A_13 ) ) )). + +thf(fact_668_if__image__distrib,axiom,( + ! [P_3: pname > $o,F_5: pname > hoare_1167836817_state,G_1: pname > hoare_1167836817_state,S: pname > $o] : + ( ( image_575578384_state + @ ^ [X_5: pname] : + ( if_Hoa833675553_state @ ( P_3 @ X_5 ) @ ( F_5 @ X_5 ) @ ( G_1 @ X_5 ) ) + @ S ) + = ( semila1172322802tate_o @ ( image_575578384_state @ F_5 @ ( semila1673364395name_o @ S @ ( collect_pname @ P_3 ) ) ) + @ ( image_575578384_state @ G_1 + @ ( semila1673364395name_o @ S + @ ( collect_pname + @ ^ [X_5: pname] : + ( (~) @ ( P_3 @ X_5 ) ) ) ) ) ) ) )). + +thf(fact_669_dom__if,axiom,( + ! [P_2: pname > $o,F_4: pname > option_com,G: pname > option_com] : + ( ( dom_pname_com + @ ^ [X_5: pname] : + ( if_option_com @ ( P_2 @ X_5 ) @ ( F_4 @ X_5 ) @ ( G @ X_5 ) ) ) + = ( semila1780557381name_o @ ( semila1673364395name_o @ ( dom_pname_com @ F_4 ) @ ( collect_pname @ P_2 ) ) + @ ( semila1673364395name_o @ ( dom_pname_com @ G ) + @ ( collect_pname + @ ^ [X_5: pname] : + ( (~) @ ( P_2 @ X_5 ) ) ) ) ) ) )). + +thf(fact_670_Int__Collect__mono,axiom,( + ! [Q: pname > $o,P_1: pname > $o,A_12: pname > $o,B_4: pname > $o] : + ( ( ord_less_eq_pname_o @ A_12 @ B_4 ) + => ( ! [X_5: pname] : + ( ( member_pname @ X_5 @ A_12 ) + => ( ( P_1 @ X_5 ) + => ( Q @ X_5 ) ) ) + => ( ord_less_eq_pname_o @ ( semila1673364395name_o @ A_12 @ ( collect_pname @ P_1 ) ) @ ( semila1673364395name_o @ B_4 @ ( collect_pname @ Q ) ) ) ) ) )). + +thf(fact_671_Int__Collect__mono,axiom,( + ! [Q: hoare_1167836817_state > $o,P_1: hoare_1167836817_state > $o,A_12: hoare_1167836817_state > $o,B_4: hoare_1167836817_state > $o] : + ( ( ord_le827224136tate_o @ A_12 @ B_4 ) + => ( ! [X_5: hoare_1167836817_state] : + ( ( member2058392318_state @ X_5 @ A_12 ) + => ( ( P_1 @ X_5 ) + => ( Q @ X_5 ) ) ) + => ( ord_le827224136tate_o @ ( semila179895820tate_o @ A_12 @ ( collec1027672124_state @ P_1 ) ) @ ( semila179895820tate_o @ B_4 @ ( collec1027672124_state @ Q ) ) ) ) ) )). + +thf(fact_672_Int__Collect__mono,axiom,( + ! [Q: ( pname > $o ) > $o,P_1: ( pname > $o ) > $o,A_12: ( pname > $o ) > $o,B_4: ( pname > $o ) > $o] : + ( ( ord_le1205211808me_o_o @ A_12 @ B_4 ) + => ( ! [X_5: pname > $o] : + ( ( member_pname_o @ X_5 @ A_12 ) + => ( ( P_1 @ X_5 ) + => ( Q @ X_5 ) ) ) + => ( ord_le1205211808me_o_o @ ( semila2013987940me_o_o @ A_12 @ ( collect_pname_o @ P_1 ) ) @ ( semila2013987940me_o_o @ B_4 @ ( collect_pname_o @ Q ) ) ) ) ) )). + +thf(fact_673_Int__Collect__mono,axiom,( + ! [Q: ( hoare_1167836817_state > $o ) > $o,P_1: ( hoare_1167836817_state > $o ) > $o,A_12: ( hoare_1167836817_state > $o ) > $o,B_4: ( hoare_1167836817_state > $o ) > $o] : + ( ( ord_le741939125te_o_o @ A_12 @ B_4 ) + => ( ! [X_5: hoare_1167836817_state > $o] : + ( ( member864234961tate_o @ X_5 @ A_12 ) + => ( ( P_1 @ X_5 ) + => ( Q @ X_5 ) ) ) + => ( ord_le741939125te_o_o @ ( semila1758709489te_o_o @ A_12 @ ( collec269976083tate_o @ P_1 ) ) @ ( semila1758709489te_o_o @ B_4 @ ( collec269976083tate_o @ Q ) ) ) ) ) )). + +thf(fact_674_distrib__imp1,axiom,( + ! [X_6: hoare_1167836817_state > $o,Y_3: hoare_1167836817_state > $o,Z_2: hoare_1167836817_state > $o] : + ( ! [X_5: hoare_1167836817_state > $o,Y_2: hoare_1167836817_state > $o,Z_1: hoare_1167836817_state > $o] : + ( ( semila179895820tate_o @ X_5 @ ( semila1172322802tate_o @ Y_2 @ Z_1 ) ) + = ( semila1172322802tate_o @ ( semila179895820tate_o @ X_5 @ Y_2 ) @ ( semila179895820tate_o @ X_5 @ Z_1 ) ) ) + => ( ( semila1172322802tate_o @ X_6 @ ( semila179895820tate_o @ Y_3 @ Z_2 ) ) + = ( semila179895820tate_o @ ( semila1172322802tate_o @ X_6 @ Y_3 ) @ ( semila1172322802tate_o @ X_6 @ Z_2 ) ) ) ) )). + +thf(fact_675_distrib__imp2,axiom,( + ! [X_4: hoare_1167836817_state > $o,Y_1: hoare_1167836817_state > $o,Z: hoare_1167836817_state > $o] : + ( ! [X_5: hoare_1167836817_state > $o,Y_2: hoare_1167836817_state > $o,Z_1: hoare_1167836817_state > $o] : + ( ( semila1172322802tate_o @ X_5 @ ( semila179895820tate_o @ Y_2 @ Z_1 ) ) + = ( semila179895820tate_o @ ( semila1172322802tate_o @ X_5 @ Y_2 ) @ ( semila1172322802tate_o @ X_5 @ Z_1 ) ) ) + => ( ( semila179895820tate_o @ X_4 @ ( semila1172322802tate_o @ Y_1 @ Z ) ) + = ( semila1172322802tate_o @ ( semila179895820tate_o @ X_4 @ Y_1 ) @ ( semila179895820tate_o @ X_4 @ Z ) ) ) ) )). + +thf(fact_676_folding__one_Oremove,axiom,( + ! [X_3: pname,A_11: pname > $o,F_3: pname > pname > pname,F_2: ( pname > $o ) > pname] : + ( ( finite1282449217_pname @ F_3 @ F_2 ) + => ( ( finite_finite_pname @ A_11 ) + => ( ( member_pname @ X_3 @ A_11 ) + => ( ( ( ( minus_minus_pname_o @ A_11 @ ( insert_pname @ X_3 @ bot_bot_pname_o ) ) + = bot_bot_pname_o ) + => ( ( F_2 @ A_11 ) + = X_3 ) ) + & ( ( ( minus_minus_pname_o @ A_11 @ ( insert_pname @ X_3 @ bot_bot_pname_o ) ) + != bot_bot_pname_o ) + => ( ( F_2 @ A_11 ) + = ( F_3 @ X_3 @ ( F_2 @ ( minus_minus_pname_o @ A_11 @ ( insert_pname @ X_3 @ bot_bot_pname_o ) ) ) ) ) ) ) ) ) ) )). + +thf(fact_677_folding__one_Oremove,axiom,( + ! [X_3: hoare_1167836817_state,A_11: hoare_1167836817_state > $o,F_3: hoare_1167836817_state > hoare_1167836817_state > hoare_1167836817_state,F_2: ( hoare_1167836817_state > $o ) > hoare_1167836817_state] : + ( ( finite1074406356_state @ F_3 @ F_2 ) + => ( ( finite1084549118_state @ A_11 ) + => ( ( member2058392318_state @ X_3 @ A_11 ) + => ( ( ( ( minus_2107060239tate_o @ A_11 @ ( insert2134838167_state @ X_3 @ bot_bo70021908tate_o ) ) + = bot_bo70021908tate_o ) + => ( ( F_2 @ A_11 ) + = X_3 ) ) + & ( ( ( minus_2107060239tate_o @ A_11 @ ( insert2134838167_state @ X_3 @ bot_bo70021908tate_o ) ) + != bot_bo70021908tate_o ) + => ( ( F_2 @ A_11 ) + = ( F_3 @ X_3 @ ( F_2 @ ( minus_2107060239tate_o @ A_11 @ ( insert2134838167_state @ X_3 @ bot_bo70021908tate_o ) ) ) ) ) ) ) ) ) ) )). + +thf(fact_678_folding__one_Oremove,axiom,( + ! [X_3: pname > $o,A_11: ( pname > $o ) > $o,F_3: ( pname > $o ) > ( pname > $o ) > pname > $o,F_2: ( ( pname > $o ) > $o ) > pname > $o] : + ( ( finite349908348name_o @ F_3 @ F_2 ) + => ( ( finite297249702name_o @ A_11 ) + => ( ( member_pname_o @ X_3 @ A_11 ) + => ( ( ( ( minus_1480864103me_o_o @ A_11 @ ( insert_pname_o @ X_3 @ bot_bot_pname_o_o ) ) + = bot_bot_pname_o_o ) + => ( ( F_2 @ A_11 ) + = X_3 ) ) + & ( ( ( minus_1480864103me_o_o @ A_11 @ ( insert_pname_o @ X_3 @ bot_bot_pname_o_o ) ) + != bot_bot_pname_o_o ) + => ( ( F_2 @ A_11 ) + = ( F_3 @ X_3 @ ( F_2 @ ( minus_1480864103me_o_o @ A_11 @ ( insert_pname_o @ X_3 @ bot_bot_pname_o_o ) ) ) ) ) ) ) ) ) ) )). + +thf(fact_679_folding__one_Oremove,axiom,( + ! [X_3: hoare_1167836817_state > $o,A_11: ( hoare_1167836817_state > $o ) > $o,F_3: ( hoare_1167836817_state > $o ) > ( hoare_1167836817_state > $o ) > hoare_1167836817_state > $o,F_2: ( ( hoare_1167836817_state > $o ) > $o ) > hoare_1167836817_state > $o] : + ( ( finite979047547tate_o @ F_3 @ F_2 ) + => ( ( finite1380128977tate_o @ A_11 ) + => ( ( member864234961tate_o @ X_3 @ A_11 ) + => ( ( ( ( minus_1708687022te_o_o @ A_11 @ ( insert999278200tate_o @ X_3 @ bot_bo691907561te_o_o ) ) + = bot_bo691907561te_o_o ) + => ( ( F_2 @ A_11 ) + = X_3 ) ) + & ( ( ( minus_1708687022te_o_o @ A_11 @ ( insert999278200tate_o @ X_3 @ bot_bo691907561te_o_o ) ) + != bot_bo691907561te_o_o ) + => ( ( F_2 @ A_11 ) + = ( F_3 @ X_3 @ ( F_2 @ ( minus_1708687022te_o_o @ A_11 @ ( insert999278200tate_o @ X_3 @ bot_bo691907561te_o_o ) ) ) ) ) ) ) ) ) ) )). + +thf(fact_680_folding__one_Oinsert__remove,axiom,( + ! [X_2: pname,A_10: pname > $o,F_1: pname > pname > pname,F: ( pname > $o ) > pname] : + ( ( finite1282449217_pname @ F_1 @ F ) + => ( ( finite_finite_pname @ A_10 ) + => ( ( ( ( minus_minus_pname_o @ A_10 @ ( insert_pname @ X_2 @ bot_bot_pname_o ) ) + = bot_bot_pname_o ) + => ( ( F @ ( insert_pname @ X_2 @ A_10 ) ) + = X_2 ) ) + & ( ( ( minus_minus_pname_o @ A_10 @ ( insert_pname @ X_2 @ bot_bot_pname_o ) ) + != bot_bot_pname_o ) + => ( ( F @ ( insert_pname @ X_2 @ A_10 ) ) + = ( F_1 @ X_2 @ ( F @ ( minus_minus_pname_o @ A_10 @ ( insert_pname @ X_2 @ bot_bot_pname_o ) ) ) ) ) ) ) ) ) )). + +thf(fact_681_folding__one_Oinsert__remove,axiom,( + ! [X_2: hoare_1167836817_state,A_10: hoare_1167836817_state > $o,F_1: hoare_1167836817_state > hoare_1167836817_state > hoare_1167836817_state,F: ( hoare_1167836817_state > $o ) > hoare_1167836817_state] : + ( ( finite1074406356_state @ F_1 @ F ) + => ( ( finite1084549118_state @ A_10 ) + => ( ( ( ( minus_2107060239tate_o @ A_10 @ ( insert2134838167_state @ X_2 @ bot_bo70021908tate_o ) ) + = bot_bo70021908tate_o ) + => ( ( F @ ( insert2134838167_state @ X_2 @ A_10 ) ) + = X_2 ) ) + & ( ( ( minus_2107060239tate_o @ A_10 @ ( insert2134838167_state @ X_2 @ bot_bo70021908tate_o ) ) + != bot_bo70021908tate_o ) + => ( ( F @ ( insert2134838167_state @ X_2 @ A_10 ) ) + = ( F_1 @ X_2 @ ( F @ ( minus_2107060239tate_o @ A_10 @ ( insert2134838167_state @ X_2 @ bot_bo70021908tate_o ) ) ) ) ) ) ) ) ) )). + +thf(fact_682_folding__one_Oinsert__remove,axiom,( + ! [X_2: pname > $o,A_10: ( pname > $o ) > $o,F_1: ( pname > $o ) > ( pname > $o ) > pname > $o,F: ( ( pname > $o ) > $o ) > pname > $o] : + ( ( finite349908348name_o @ F_1 @ F ) + => ( ( finite297249702name_o @ A_10 ) + => ( ( ( ( minus_1480864103me_o_o @ A_10 @ ( insert_pname_o @ X_2 @ bot_bot_pname_o_o ) ) + = bot_bot_pname_o_o ) + => ( ( F @ ( insert_pname_o @ X_2 @ A_10 ) ) + = X_2 ) ) + & ( ( ( minus_1480864103me_o_o @ A_10 @ ( insert_pname_o @ X_2 @ bot_bot_pname_o_o ) ) + != bot_bot_pname_o_o ) + => ( ( F @ ( insert_pname_o @ X_2 @ A_10 ) ) + = ( F_1 @ X_2 @ ( F @ ( minus_1480864103me_o_o @ A_10 @ ( insert_pname_o @ X_2 @ bot_bot_pname_o_o ) ) ) ) ) ) ) ) ) )). + +thf(fact_683_folding__one_Oinsert__remove,axiom,( + ! [X_2: hoare_1167836817_state > $o,A_10: ( hoare_1167836817_state > $o ) > $o,F_1: ( hoare_1167836817_state > $o ) > ( hoare_1167836817_state > $o ) > hoare_1167836817_state > $o,F: ( ( hoare_1167836817_state > $o ) > $o ) > hoare_1167836817_state > $o] : + ( ( finite979047547tate_o @ F_1 @ F ) + => ( ( finite1380128977tate_o @ A_10 ) + => ( ( ( ( minus_1708687022te_o_o @ A_10 @ ( insert999278200tate_o @ X_2 @ bot_bo691907561te_o_o ) ) + = bot_bo691907561te_o_o ) + => ( ( F @ ( insert999278200tate_o @ X_2 @ A_10 ) ) + = X_2 ) ) + & ( ( ( minus_1708687022te_o_o @ A_10 @ ( insert999278200tate_o @ X_2 @ bot_bo691907561te_o_o ) ) + != bot_bo691907561te_o_o ) + => ( ( F @ ( insert999278200tate_o @ X_2 @ A_10 ) ) + = ( F_1 @ X_2 @ ( F @ ( minus_1708687022te_o_o @ A_10 @ ( insert999278200tate_o @ X_2 @ bot_bo691907561te_o_o ) ) ) ) ) ) ) ) ) )). + +thf(fact_684_DiffI,axiom,( + ! [B_3: pname > $o,C_1: pname,A_9: pname > $o] : + ( ( member_pname @ C_1 @ A_9 ) + => ( ~ ( member_pname @ C_1 @ B_3 ) + => ( member_pname @ C_1 @ ( minus_minus_pname_o @ A_9 @ B_3 ) ) ) ) )). + +thf(fact_685_DiffI,axiom,( + ! [B_3: hoare_1167836817_state > $o,C_1: hoare_1167836817_state,A_9: hoare_1167836817_state > $o] : + ( ( member2058392318_state @ C_1 @ A_9 ) + => ( ~ ( member2058392318_state @ C_1 @ B_3 ) + => ( member2058392318_state @ C_1 @ ( minus_2107060239tate_o @ A_9 @ B_3 ) ) ) ) )). + +thf(fact_686_DiffE,axiom,( + ! [C: pname,A_8: pname > $o,B_2: pname > $o] : + ( ( member_pname @ C @ ( minus_minus_pname_o @ A_8 @ B_2 ) ) + => ~ ( ( member_pname @ C @ A_8 ) + => ( member_pname @ C @ B_2 ) ) ) )). + +thf(fact_687_DiffE,axiom,( + ! [C: hoare_1167836817_state,A_8: hoare_1167836817_state > $o,B_2: hoare_1167836817_state > $o] : + ( ( member2058392318_state @ C @ ( minus_2107060239tate_o @ A_8 @ B_2 ) ) + => ~ ( ( member2058392318_state @ C @ A_8 ) + => ( member2058392318_state @ C @ B_2 ) ) ) )). + +thf(fact_688_finite__Diff,axiom,( + ! [B_1: ( pname > $o ) > $o,A_7: ( pname > $o ) > $o] : + ( ( finite297249702name_o @ A_7 ) + => ( finite297249702name_o @ ( minus_1480864103me_o_o @ A_7 @ B_1 ) ) ) )). + +thf(fact_689_finite__Diff,axiom,( + ! [B_1: ( hoare_1167836817_state > $o ) > $o,A_7: ( hoare_1167836817_state > $o ) > $o] : + ( ( finite1380128977tate_o @ A_7 ) + => ( finite1380128977tate_o @ ( minus_1708687022te_o_o @ A_7 @ B_1 ) ) ) )). + +thf(fact_690_finite__Diff,axiom,( + ! [B_1: pname > $o,A_7: pname > $o] : + ( ( finite_finite_pname @ A_7 ) + => ( finite_finite_pname @ ( minus_minus_pname_o @ A_7 @ B_1 ) ) ) )). + +thf(fact_691_finite__Diff,axiom,( + ! [B_1: hoare_1167836817_state > $o,A_7: hoare_1167836817_state > $o] : + ( ( finite1084549118_state @ A_7 ) + => ( finite1084549118_state @ ( minus_2107060239tate_o @ A_7 @ B_1 ) ) ) )). + +thf(fact_692_insert__Diff,axiom,( + ! [A_6: pname,A_5: pname > $o] : + ( ( member_pname @ A_6 @ A_5 ) + => ( ( insert_pname @ A_6 @ ( minus_minus_pname_o @ A_5 @ ( insert_pname @ A_6 @ bot_bot_pname_o ) ) ) + = A_5 ) ) )). + +thf(fact_693_insert__Diff,axiom,( + ! [A_6: hoare_1167836817_state,A_5: hoare_1167836817_state > $o] : + ( ( member2058392318_state @ A_6 @ A_5 ) + => ( ( insert2134838167_state @ A_6 @ ( minus_2107060239tate_o @ A_5 @ ( insert2134838167_state @ A_6 @ bot_bo70021908tate_o ) ) ) + = A_5 ) ) )). + +thf(fact_694_Diff__insert__absorb,axiom,( + ! [X_1: pname,A_4: pname > $o] : + ( ~ ( member_pname @ X_1 @ A_4 ) + => ( ( minus_minus_pname_o @ ( insert_pname @ X_1 @ A_4 ) @ ( insert_pname @ X_1 @ bot_bot_pname_o ) ) + = A_4 ) ) )). + +thf(fact_695_Diff__insert__absorb,axiom,( + ! [X_1: hoare_1167836817_state,A_4: hoare_1167836817_state > $o] : + ( ~ ( member2058392318_state @ X_1 @ A_4 ) + => ( ( minus_2107060239tate_o @ ( insert2134838167_state @ X_1 @ A_4 ) @ ( insert2134838167_state @ X_1 @ bot_bo70021908tate_o ) ) + = A_4 ) ) )). + +thf(fact_696_insert__Diff__single,axiom,( + ! [A_3: pname,A_2: pname > $o] : + ( ( insert_pname @ A_3 @ ( minus_minus_pname_o @ A_2 @ ( insert_pname @ A_3 @ bot_bot_pname_o ) ) ) + = ( insert_pname @ A_3 @ A_2 ) ) )). + +thf(fact_697_insert__Diff__single,axiom,( + ! [A_3: hoare_1167836817_state,A_2: hoare_1167836817_state > $o] : + ( ( insert2134838167_state @ A_3 @ ( minus_2107060239tate_o @ A_2 @ ( insert2134838167_state @ A_3 @ bot_bo70021908tate_o ) ) ) + = ( insert2134838167_state @ A_3 @ A_2 ) ) )). + +thf(fact_698_Diff__insert2,axiom,( + ! [A_1: hoare_1167836817_state > $o,A: hoare_1167836817_state,B: hoare_1167836817_state > $o] : + ( ( minus_2107060239tate_o @ A_1 @ ( insert2134838167_state @ A @ B ) ) + = ( minus_2107060239tate_o @ ( minus_2107060239tate_o @ A_1 @ ( insert2134838167_state @ A @ bot_bo70021908tate_o ) ) @ B ) ) )). + +%----Helper facts (16) +thf(help_fequal_1_1_fequal_000tc__Com__Opname_T,axiom,( + ! [X: pname,Y: pname] : + ( ~ ( fequal_pname @ X @ Y ) + | ( X = Y ) ) )). + +thf(help_fequal_2_1_fequal_000tc__Com__Opname_T,axiom,( + ! [X: pname,Y: pname] : + ( ( X != Y ) + | ( fequal_pname @ X @ Y ) ) )). + +thf(help_fequal_1_1_fequal_000tc__Com__Ostate_T,axiom,( + ! [X: state,Y: state] : + ( ~ ( fequal_state @ X @ Y ) + | ( X = Y ) ) )). + +thf(help_fequal_2_1_fequal_000tc__Com__Ostate_T,axiom,( + ! [X: state,Y: state] : + ( ( X != Y ) + | ( fequal_state @ X @ Y ) ) )). + +thf(help_fequal_1_1_fequal_000_062_Itc__Com__Opname_M_Eo_J_T,axiom,( + ! [X: pname > $o,Y: pname > $o] : + ( ~ ( fequal_pname_o @ X @ Y ) + | ( X = Y ) ) )). + +thf(help_fequal_2_1_fequal_000_062_Itc__Com__Opname_M_Eo_J_T,axiom,( + ! [X: pname > $o,Y: pname > $o] : + ( ( X != Y ) + | ( fequal_pname_o @ X @ Y ) ) )). + +thf(help_If_1_1_If_000tc__Option__Ooption_Itc__Com__Ocom_J_T,axiom,( + ! [X: option_com,Y: option_com] : + ( ( if_option_com @ $true @ X @ Y ) + = X ) )). + +thf(help_If_2_1_If_000tc__Option__Ooption_Itc__Com__Ocom_J_T,axiom,( + ! [X: option_com,Y: option_com] : + ( ( if_option_com @ $false @ X @ Y ) + = Y ) )). + +thf(help_If_3_1_If_000tc__Option__Ooption_Itc__Com__Ocom_J_T,axiom,( + ! [P: $o] : + ( ( P = $true ) + | ( P = $false ) ) )). + +thf(help_If_1_1_If_000tc__Hoare____Mirabelle____srushsumbx__Otriple_Itc__Com__Ostate,axiom,( + ! [X: hoare_1167836817_state,Y: hoare_1167836817_state] : + ( ( if_Hoa833675553_state @ $true @ X @ Y ) + = X ) )). + +thf(help_If_2_1_If_000tc__Hoare____Mirabelle____srushsumbx__Otriple_Itc__Com__Ostate,axiom,( + ! [X: hoare_1167836817_state,Y: hoare_1167836817_state] : + ( ( if_Hoa833675553_state @ $false @ X @ Y ) + = Y ) )). + +thf(help_If_3_1_If_000tc__Hoare____Mirabelle____srushsumbx__Otriple_Itc__Com__Ostate,axiom,( + ! [P: $o] : + ( ( P = $true ) + | ( P = $false ) ) )). + +thf(help_fequal_1_1_fequal_000tc__Hoare____Mirabelle____srushsumbx__Otriple_Itc__Com,axiom,( + ! [X: hoare_1167836817_state,Y: hoare_1167836817_state] : + ( ~ ( fequal1831255762_state @ X @ Y ) + | ( X = Y ) ) )). + +thf(help_fequal_2_1_fequal_000tc__Hoare____Mirabelle____srushsumbx__Otriple_Itc__Com,axiom,( + ! [X: hoare_1167836817_state,Y: hoare_1167836817_state] : + ( ( X != Y ) + | ( fequal1831255762_state @ X @ Y ) ) )). + +thf(help_fequal_1_1_fequal_000_062_Itc__Hoare____Mirabelle____srushsumbx__Otriple_It,axiom,( + ! [X: hoare_1167836817_state > $o,Y: hoare_1167836817_state > $o] : + ( ~ ( fequal1486222077tate_o @ X @ Y ) + | ( X = Y ) ) )). + +thf(help_fequal_2_1_fequal_000_062_Itc__Hoare____Mirabelle____srushsumbx__Otriple_It,axiom,( + ! [X: hoare_1167836817_state > $o,Y: hoare_1167836817_state > $o] : + ( ( X != Y ) + | ( fequal1486222077tate_o @ X @ Y ) ) )). + +%----Conjectures (8) +thf(conj_0,hypothesis,( + hoare_1201148605gleton )). + +thf(conj_1,hypothesis,( + wT_bodies )). + +thf(conj_2,hypothesis, + ( finite1084549118_state @ fa )). + +thf(conj_3,hypothesis,( + ~ ( member2058392318_state @ ( hoare_Mirabelle_MGT @ y ) @ fa ) )). + +thf(conj_4,hypothesis, + ( ord_le827224136tate_o @ fa + @ ( image_575578384_state + @ ^ [Pn: pname] : + ( hoare_Mirabelle_MGT @ ( the_com @ ( body @ Pn ) ) ) + @ ( dom_pname_com @ body ) ) )). + +thf(conj_5,hypothesis, + ( ( body @ pn ) + = ( some_com @ y ) )). + +thf(conj_6,hypothesis, + ( hoare_123228589_state + @ ( image_575578384_state + @ ^ [Pn: pname] : + ( hoare_Mirabelle_MGT @ ( body_1 @ Pn ) ) + @ ( dom_pname_com @ body ) ) + @ fa )). + +thf(conj_7,conjecture, + ( hoare_123228589_state + @ ( image_575578384_state + @ ^ [Pn: pname] : + ( hoare_Mirabelle_MGT @ ( body_1 @ Pn ) ) + @ ( dom_pname_com @ body ) ) + @ ( insert2134838167_state @ ( hoare_Mirabelle_MGT @ y ) @ bot_bo70021908tate_o ) )). + +%------------------------------------------------------------------------------