TSTP Solution File: SCT102+1 by Twee---2.4.2

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : Twee---2.4.2
% Problem  : SCT102+1 : TPTP v8.1.2. Released v5.2.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : parallel-twee %s --tstp --conditional-encoding if --smaller --drop-non-horn --give-up-on-saturation --explain-encoding --formal-proof

% Computer : n020.cluster.edu
% Model    : x86_64 x86_64
% CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 2.10GHz
% Memory   : 8042.1875MB
% OS       : Linux 3.10.0-693.el7.x86_64
% CPULimit : 300s
% WCLimit  : 300s
% DateTime : Thu Aug 31 14:22:07 EDT 2023

% Result   : Theorem 48.72s 6.72s
% Output   : Proof 49.39s
% Verified : 
% SZS Type : -

% Comments : 
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.00/0.12  % Problem  : SCT102+1 : TPTP v8.1.2. Released v5.2.0.
% 0.00/0.13  % Command  : parallel-twee %s --tstp --conditional-encoding if --smaller --drop-non-horn --give-up-on-saturation --explain-encoding --formal-proof
% 0.14/0.35  % Computer : n020.cluster.edu
% 0.14/0.35  % Model    : x86_64 x86_64
% 0.14/0.35  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.14/0.35  % Memory   : 8042.1875MB
% 0.14/0.35  % OS       : Linux 3.10.0-693.el7.x86_64
% 0.14/0.35  % CPULimit : 300
% 0.14/0.35  % WCLimit  : 300
% 0.14/0.35  % DateTime : Thu Aug 24 15:52:15 EDT 2023
% 0.14/0.35  % CPUTime  : 
% 48.72/6.72  Command-line arguments: --lhs-weight 1 --flip-ordering --normalise-queue-percent 10 --cp-renormalise-threshold 10
% 48.72/6.72  
% 48.72/6.72  % SZS status Theorem
% 48.72/6.72  
% 48.72/6.72  % SZS output start Proof
% 48.72/6.72  Take the following subset of the input axioms:
% 49.39/6.73    fof(conj_1, conjecture, ?[B_c]: c_List_Odistinct(tc_Arrow__Order__Mirabelle_Oalt, hAPP(hAPP(c_List_Olist_OCons(tc_Arrow__Order__Mirabelle_Oalt), v_a), hAPP(hAPP(c_List_Olist_OCons(tc_Arrow__Order__Mirabelle_Oalt), v_b), hAPP(hAPP(c_List_Olist_OCons(tc_Arrow__Order__Mirabelle_Oalt), B_c), c_List_Olist_ONil(tc_Arrow__Order__Mirabelle_Oalt)))))).
% 49.39/6.73    fof(fact_Suc__n__not__n, axiom, ![V_n]: hAPP(c_Nat_OSuc, V_n)!=V_n).
% 49.39/6.73    fof(fact_Suc__neq__Zero, axiom, ![V_m]: hAPP(c_Nat_OSuc, V_m)!=c_Groups_Ozero__class_Ozero(tc_Nat_Onat)).
% 49.39/6.73    fof(fact_Suc__not__Zero, axiom, ![V_m2]: hAPP(c_Nat_OSuc, V_m2)!=c_Groups_Ozero__class_Ozero(tc_Nat_Onat)).
% 49.39/6.73    fof(fact_Zero__neq__Suc, axiom, ![V_m2]: c_Groups_Ozero__class_Ozero(tc_Nat_Onat)!=hAPP(c_Nat_OSuc, V_m2)).
% 49.39/6.73    fof(fact_Zero__not__Suc, axiom, ![V_m2]: c_Groups_Ozero__class_Ozero(tc_Nat_Onat)!=hAPP(c_Nat_OSuc, V_m2)).
% 49.39/6.73    fof(fact_dropWhile__eq__Cons__conv, axiom, ![T_a, V_ys_2, V_xs_2, V_y_2, V_P_2]: (c_List_OdropWhile(T_a, V_P_2, V_xs_2)=hAPP(hAPP(c_List_Olist_OCons(T_a), V_y_2), V_ys_2) <=> (V_xs_2=hAPP(hAPP(c_List_Oappend(T_a), c_List_OtakeWhile(T_a, V_P_2, V_xs_2)), hAPP(hAPP(c_List_Olist_OCons(T_a), V_y_2), V_ys_2)) & ~hBOOL(hAPP(V_P_2, V_y_2))))).
% 49.39/6.73    fof(fact_gr__implies__not0, axiom, ![V_m2, V_n2]: (hBOOL(hAPP(c_Orderings_Oord__class_Oless(tc_Nat_Onat, V_m2), V_n2)) => V_n2!=c_Groups_Ozero__class_Ozero(tc_Nat_Onat))).
% 49.39/6.73    fof(fact_insort__not__Nil, axiom, ![V_f_2, V_aa_2, T_b, T_a2, V_xs_2_2]: (class_Orderings_Olinorder(T_b) => hAPP(hAPP(c_List_Olinorder__class_Oinsort__key(T_a2, T_b, V_f_2), V_aa_2), V_xs_2_2)!=c_List_Olist_ONil(T_a2))).
% 49.39/6.73    fof(fact_int__less__0__conv, axiom, ![V_k]: ~hBOOL(hAPP(c_Orderings_Oord__class_Oless(tc_Int_Oint, c_Nat_Osemiring__1__class_Oof__nat(tc_Int_Oint, V_k)), c_Groups_Ozero__class_Ozero(tc_Int_Oint)))).
% 49.39/6.73    fof(fact_length__greater__0__conv, axiom, ![T_a2, V_xs_2_2]: (hBOOL(hAPP(c_Orderings_Oord__class_Oless(tc_Nat_Onat, c_Groups_Ozero__class_Ozero(tc_Nat_Onat)), hAPP(c_Nat_Osize__class_Osize(tc_List_Olist(T_a2)), V_xs_2_2))) <=> V_xs_2_2!=c_List_Olist_ONil(T_a2))).
% 49.39/6.73    fof(fact_less__imp__neq, axiom, ![V_x, V_y, T_a2]: (class_Orderings_Oorder(T_a2) => (hBOOL(hAPP(c_Orderings_Oord__class_Oless(T_a2, V_x), V_y)) => V_x!=V_y))).
% 49.39/6.73    fof(fact_less__irrefl__nat, axiom, ![V_n2]: ~hBOOL(hAPP(c_Orderings_Oord__class_Oless(tc_Nat_Onat, V_n2), V_n2))).
% 49.39/6.73    fof(fact_less__nat__zero__code, axiom, ![V_n2]: ~hBOOL(hAPP(c_Orderings_Oord__class_Oless(tc_Nat_Onat, V_n2), c_Groups_Ozero__class_Ozero(tc_Nat_Onat)))).
% 49.39/6.73    fof(fact_less__not__refl, axiom, ![V_n2]: ~hBOOL(hAPP(c_Orderings_Oord__class_Oless(tc_Nat_Onat, V_n2), V_n2))).
% 49.39/6.73    fof(fact_less__not__refl2, axiom, ![V_m2, V_n2]: (hBOOL(hAPP(c_Orderings_Oord__class_Oless(tc_Nat_Onat, V_n2), V_m2)) => V_m2!=V_n2)).
% 49.39/6.73    fof(fact_less__not__refl3, axiom, ![V_t, V_s]: (hBOOL(hAPP(c_Orderings_Oord__class_Oless(tc_Nat_Onat, V_s), V_t)) => V_s!=V_t)).
% 49.39/6.73    fof(fact_less__zeroE, axiom, ![V_n2]: ~hBOOL(hAPP(c_Orderings_Oord__class_Oless(tc_Nat_Onat, V_n2), c_Groups_Ozero__class_Ozero(tc_Nat_Onat)))).
% 49.39/6.73    fof(fact_linorder__neq__iff, axiom, ![V_x_2, T_a2, V_y_2_2]: (class_Orderings_Olinorder(T_a2) => (V_x_2!=V_y_2_2 <=> (hBOOL(hAPP(c_Orderings_Oord__class_Oless(T_a2, V_x_2), V_y_2_2)) | hBOOL(hAPP(c_Orderings_Oord__class_Oless(T_a2, V_y_2_2), V_x_2)))))).
% 49.39/6.73    fof(fact_list_Osimps_I2_J, axiom, ![V_list_H, V_a_H, T_a2]: c_List_Olist_ONil(T_a2)!=hAPP(hAPP(c_List_Olist_OCons(T_a2), V_a_H), V_list_H)).
% 49.39/6.73    fof(fact_list_Osimps_I3_J, axiom, ![T_a2, V_list_H2, V_a_H2]: hAPP(hAPP(c_List_Olist_OCons(T_a2), V_a_H2), V_list_H2)!=c_List_Olist_ONil(T_a2)).
% 49.39/6.73    fof(fact_list__ex1__simps_I1_J, axiom, ![V_P_2_2, T_a2]: ~c_List_Olist__ex1(T_a2, V_P_2_2, c_List_Olist_ONil(T_a2))).
% 49.39/6.73    fof(fact_list__ex__simps_I2_J, axiom, ![V_P_2_2, T_a2]: ~c_List_Olist__ex(T_a2, V_P_2_2, c_List_Olist_ONil(T_a2))).
% 49.39/6.73    fof(fact_member__rec_I2_J, axiom, ![T_a2, V_y2]: ~c_List_Omember(T_a2, c_List_Olist_ONil(T_a2), V_y2)).
% 49.39/6.73    fof(fact_n__not__Suc__n, axiom, ![V_n2]: V_n2!=hAPP(c_Nat_OSuc, V_n2)).
% 49.39/6.73    fof(fact_nat_Osimps_I2_J, axiom, ![V_nat_H]: c_Groups_Ozero__class_Ozero(tc_Nat_Onat)!=hAPP(c_Nat_OSuc, V_nat_H)).
% 49.39/6.74    fof(fact_nat_Osimps_I3_J, axiom, ![V_nat_H_1]: hAPP(c_Nat_OSuc, V_nat_H_1)!=c_Groups_Ozero__class_Ozero(tc_Nat_Onat)).
% 49.39/6.74    fof(fact_nat__less__cases, axiom, ![V_n_2, V_m_2, V_P_2_2]: ((hBOOL(hAPP(c_Orderings_Oord__class_Oless(tc_Nat_Onat, V_m_2), V_n_2)) => hBOOL(hAPP(hAPP(V_P_2_2, V_n_2), V_m_2))) => ((V_m_2=V_n_2 => hBOOL(hAPP(hAPP(V_P_2_2, V_n_2), V_m_2))) => ((hBOOL(hAPP(c_Orderings_Oord__class_Oless(tc_Nat_Onat, V_n_2), V_m_2)) => hBOOL(hAPP(hAPP(V_P_2_2, V_n_2), V_m_2))) => hBOOL(hAPP(hAPP(V_P_2_2, V_n_2), V_m_2)))))).
% 49.39/6.74    fof(fact_nat__neq__iff, axiom, ![V_n_2_2, V_m_2_2]: (V_m_2_2!=V_n_2_2 <=> (hBOOL(hAPP(c_Orderings_Oord__class_Oless(tc_Nat_Onat, V_m_2_2), V_n_2_2)) | hBOOL(hAPP(c_Orderings_Oord__class_Oless(tc_Nat_Onat, V_n_2_2), V_m_2_2))))).
% 49.39/6.74    fof(fact_neq0__conv, axiom, ![V_n_2_2]: (V_n_2_2!=c_Groups_Ozero__class_Ozero(tc_Nat_Onat) <=> hBOOL(hAPP(c_Orderings_Oord__class_Oless(tc_Nat_Onat, c_Groups_Ozero__class_Ozero(tc_Nat_Onat)), V_n_2_2)))).
% 49.39/6.74    fof(fact_neq__Nil__conv, axiom, ![T_a2, V_xs_2_2]: (V_xs_2_2!=c_List_Olist_ONil(T_a2) <=> ?[B_ys, B_y]: V_xs_2_2=hAPP(hAPP(c_List_Olist_OCons(T_a2), B_y), B_ys))).
% 49.39/6.74    fof(fact_not__Cons__self, axiom, ![V_xs, T_a2, V_x2]: V_xs!=hAPP(hAPP(c_List_Olist_OCons(T_a2), V_x2), V_xs)).
% 49.39/6.74    fof(fact_not__Cons__self2, axiom, ![T_a2, V_x2, V_xs2]: hAPP(hAPP(c_List_Olist_OCons(T_a2), V_x2), V_xs2)!=V_xs2).
% 49.39/6.74    fof(fact_not__add__less1, axiom, ![V_i, V_j]: ~hBOOL(hAPP(c_Orderings_Oord__class_Oless(tc_Nat_Onat, hAPP(hAPP(c_Groups_Oplus__class_Oplus(tc_Nat_Onat), V_i), V_j)), V_i))).
% 49.39/6.74    fof(fact_not__add__less2, axiom, ![V_i2, V_j2]: ~hBOOL(hAPP(c_Orderings_Oord__class_Oless(tc_Nat_Onat, hAPP(hAPP(c_Groups_Oplus__class_Oplus(tc_Nat_Onat), V_j2), V_i2)), V_i2))).
% 49.39/6.74    fof(fact_not__less0, axiom, ![V_n2]: ~hBOOL(hAPP(c_Orderings_Oord__class_Oless(tc_Nat_Onat, V_n2), c_Groups_Ozero__class_Ozero(tc_Nat_Onat)))).
% 49.39/6.74    fof(fact_not__less__eq, axiom, ![V_n_2_2, V_m_2_2]: (~hBOOL(hAPP(c_Orderings_Oord__class_Oless(tc_Nat_Onat, V_m_2_2), V_n_2_2)) <=> hBOOL(hAPP(c_Orderings_Oord__class_Oless(tc_Nat_Onat, V_n_2_2), hAPP(c_Nat_OSuc, V_m_2_2))))).
% 49.39/6.74    fof(fact_not__less__iff__gr__or__eq, axiom, ![T_a2, V_x_2_2, V_y_2_2]: (class_Orderings_Olinorder(T_a2) => (~hBOOL(hAPP(c_Orderings_Oord__class_Oless(T_a2, V_x_2_2), V_y_2_2)) <=> (hBOOL(hAPP(c_Orderings_Oord__class_Oless(T_a2, V_y_2_2), V_x_2_2)) | V_x_2_2=V_y_2_2)))).
% 49.39/6.74    fof(fact_nth__length__takeWhile, axiom, ![V_P_2_2, T_a2, V_xs_2_2]: (hBOOL(hAPP(c_Orderings_Oord__class_Oless(tc_Nat_Onat, hAPP(c_Nat_Osize__class_Osize(tc_List_Olist(T_a2)), c_List_OtakeWhile(T_a2, V_P_2_2, V_xs_2_2))), hAPP(c_Nat_Osize__class_Osize(tc_List_Olist(T_a2)), V_xs_2_2))) => ~hBOOL(hAPP(V_P_2_2, hAPP(c_List_Onth(T_a2, V_xs_2_2), hAPP(c_Nat_Osize__class_Osize(tc_List_Olist(T_a2)), c_List_OtakeWhile(T_a2, V_P_2_2, V_xs_2_2))))))).
% 49.39/6.74    fof(fact_null__rec_I1_J, axiom, ![T_a2, V_x2, V_xs2]: ~c_List_Onull(T_a2, hAPP(hAPP(c_List_Olist_OCons(T_a2), V_x2), V_xs2))).
% 49.39/6.74    fof(fact_of__nat__less__0__iff, axiom, ![T_a2, V_m2]: (class_Rings_Olinordered__semidom(T_a2) => ~hBOOL(hAPP(c_Orderings_Oord__class_Oless(T_a2, c_Nat_Osemiring__1__class_Oof__nat(T_a2, V_m2)), c_Groups_Ozero__class_Ozero(T_a2))))).
% 49.39/6.74    fof(fact_order__less__asym, axiom, ![T_a2, V_x2, V_y2]: (class_Orderings_Opreorder(T_a2) => (hBOOL(hAPP(c_Orderings_Oord__class_Oless(T_a2, V_x2), V_y2)) => ~hBOOL(hAPP(c_Orderings_Oord__class_Oless(T_a2, V_y2), V_x2))))).
% 49.39/6.74    fof(fact_order__less__asym_H, axiom, ![V_a, V_b, T_a2]: (class_Orderings_Opreorder(T_a2) => (hBOOL(hAPP(c_Orderings_Oord__class_Oless(T_a2, V_a), V_b)) => ~hBOOL(hAPP(c_Orderings_Oord__class_Oless(T_a2, V_b), V_a))))).
% 49.39/6.74    fof(fact_order__less__imp__not__eq, axiom, ![T_a2, V_x2, V_y2]: (class_Orderings_Oorder(T_a2) => (hBOOL(hAPP(c_Orderings_Oord__class_Oless(T_a2, V_x2), V_y2)) => V_x2!=V_y2))).
% 49.39/6.74    fof(fact_order__less__imp__not__eq2, axiom, ![T_a2, V_x2, V_y2]: (class_Orderings_Oorder(T_a2) => (hBOOL(hAPP(c_Orderings_Oord__class_Oless(T_a2, V_x2), V_y2)) => V_y2!=V_x2))).
% 49.39/6.74    fof(fact_order__less__imp__not__less, axiom, ![T_a2, V_x2, V_y2]: (class_Orderings_Opreorder(T_a2) => (hBOOL(hAPP(c_Orderings_Oord__class_Oless(T_a2, V_x2), V_y2)) => ~hBOOL(hAPP(c_Orderings_Oord__class_Oless(T_a2, V_y2), V_x2))))).
% 49.39/6.74    fof(fact_order__less__irrefl, axiom, ![T_a2, V_x2]: (class_Orderings_Opreorder(T_a2) => ~hBOOL(hAPP(c_Orderings_Oord__class_Oless(T_a2, V_x2), V_x2)))).
% 49.39/6.74    fof(fact_order__less__not__sym, axiom, ![T_a2, V_x2, V_y2]: (class_Orderings_Opreorder(T_a2) => (hBOOL(hAPP(c_Orderings_Oord__class_Oless(T_a2, V_x2), V_y2)) => ~hBOOL(hAPP(c_Orderings_Oord__class_Oless(T_a2, V_y2), V_x2))))).
% 49.39/6.74    fof(fact_snoc__eq__iff__butlast, axiom, ![T_a2, V_ys_2_2, V_x_2_2, V_xs_2_2]: (hAPP(hAPP(c_List_Oappend(T_a2), V_xs_2_2), hAPP(hAPP(c_List_Olist_OCons(T_a2), V_x_2_2), c_List_Olist_ONil(T_a2)))=V_ys_2_2 <=> (V_ys_2_2!=c_List_Olist_ONil(T_a2) & (c_List_Obutlast(T_a2, V_ys_2_2)=V_xs_2_2 & c_List_Olast(T_a2, V_ys_2_2)=V_x_2_2)))).
% 49.39/6.74    fof(fact_xt1_I9_J, axiom, ![T_a2, V_a2, V_b2]: (class_Orderings_Oorder(T_a2) => (hBOOL(hAPP(c_Orderings_Oord__class_Oless(T_a2, V_b2), V_a2)) => ~hBOOL(hAPP(c_Orderings_Oord__class_Oless(T_a2, V_a2), V_b2))))).
% 49.39/6.74    fof(help_c__COMBI__1, axiom, ![V_P, T_a2]: hAPP(c_COMBI(T_a2), V_P)=V_P).
% 49.39/6.74    fof(help_c__COMBS__1, axiom, ![V_Q_2, V_R_2, T_c, V_P_2_2, T_a2, T_b2]: hAPP(c_COMBS(T_b2, T_c, T_a2, V_P_2_2, V_Q_2), V_R_2)=hAPP(hAPP(V_P_2_2, V_R_2), hAPP(V_Q_2, V_R_2))).
% 49.39/6.74    fof(help_c__fNot__1, axiom, ![V_P_2_2]: (~hBOOL(hAPP(c_fNot, V_P_2_2)) | ~hBOOL(V_P_2_2))).
% 49.39/6.74  
% 49.39/6.74  Now clausify the problem and encode Horn clauses using encoding 3 of
% 49.39/6.74  http://www.cse.chalmers.se/~nicsma/papers/horn.pdf.
% 49.39/6.74  We repeatedly replace C & s=t => u=v by the two clauses:
% 49.39/6.74    fresh(y, y, x1...xn) = u
% 49.39/6.74    C => fresh(s, t, x1...xn) = v
% 49.39/6.74  where fresh is a fresh function symbol and x1..xn are the free
% 49.39/6.74  variables of u and v.
% 49.39/6.74  A predicate p(X) is encoded as p(X)=true (this is sound, because the
% 49.39/6.74  input problem has no model of domain size 1).
% 49.39/6.74  
% 49.39/6.74  The encoding turns the above axioms into the following unit equations and goals:
% 49.39/6.74  
% 49.39/6.74  Axiom 1 (help_c__COMBI__1): hAPP(c_COMBI(X), Y) = Y.
% 49.39/6.74  Axiom 2 (help_c__COMBS__1): hAPP(c_COMBS(X, Y, Z, W, V), U) = hAPP(hAPP(W, U), hAPP(V, U)).
% 49.39/6.74  
% 49.39/6.74  Goal 1 (fact_not__Cons__self): X = hAPP(hAPP(c_List_Olist_OCons(Y), Z), X).
% 49.39/6.74  The goal is true when:
% 49.39/6.74    X = hAPP(c_COMBS(V, U, T, c_COMBI(S), c_COMBI(X2)), c_COMBS(X, Y, Z, c_List_Olist_OCons(W), c_COMBS(V, U, T, c_COMBI(S), c_COMBI(X2))))
% 49.39/6.74    Y = W
% 49.39/6.74    Z = c_COMBS(X, Y, Z, c_List_Olist_OCons(W), c_COMBS(V, U, T, c_COMBI(S), c_COMBI(X2)))
% 49.39/6.74  
% 49.39/6.74  Proof:
% 49.39/6.74    hAPP(c_COMBS(V, U, T, c_COMBI(S), c_COMBI(X2)), c_COMBS(X, Y, Z, c_List_Olist_OCons(W), c_COMBS(V, U, T, c_COMBI(S), c_COMBI(X2))))
% 49.39/6.74  = { by axiom 2 (help_c__COMBS__1) }
% 49.39/6.74    hAPP(hAPP(c_COMBI(S), c_COMBS(X, Y, Z, c_List_Olist_OCons(W), c_COMBS(V, U, T, c_COMBI(S), c_COMBI(X2)))), hAPP(c_COMBI(X2), c_COMBS(X, Y, Z, c_List_Olist_OCons(W), c_COMBS(V, U, T, c_COMBI(S), c_COMBI(X2)))))
% 49.39/6.74  = { by axiom 1 (help_c__COMBI__1) }
% 49.39/6.74    hAPP(c_COMBS(X, Y, Z, c_List_Olist_OCons(W), c_COMBS(V, U, T, c_COMBI(S), c_COMBI(X2))), hAPP(c_COMBI(X2), c_COMBS(X, Y, Z, c_List_Olist_OCons(W), c_COMBS(V, U, T, c_COMBI(S), c_COMBI(X2)))))
% 49.39/6.74  = { by axiom 1 (help_c__COMBI__1) }
% 49.39/6.74    hAPP(c_COMBS(X, Y, Z, c_List_Olist_OCons(W), c_COMBS(V, U, T, c_COMBI(S), c_COMBI(X2))), c_COMBS(X, Y, Z, c_List_Olist_OCons(W), c_COMBS(V, U, T, c_COMBI(S), c_COMBI(X2))))
% 49.39/6.74  = { by axiom 2 (help_c__COMBS__1) }
% 49.39/6.74    hAPP(hAPP(c_List_Olist_OCons(W), c_COMBS(X, Y, Z, c_List_Olist_OCons(W), c_COMBS(V, U, T, c_COMBI(S), c_COMBI(X2)))), hAPP(c_COMBS(V, U, T, c_COMBI(S), c_COMBI(X2)), c_COMBS(X, Y, Z, c_List_Olist_OCons(W), c_COMBS(V, U, T, c_COMBI(S), c_COMBI(X2)))))
% 49.39/6.74  % SZS output end Proof
% 49.39/6.74  
% 49.39/6.74  RESULT: Theorem (the conjecture is true).
%------------------------------------------------------------------------------