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

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : Twee---2.4.2
% Problem  : ALG211+1 : TPTP v8.1.2. Released v3.1.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 : n025.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 : Wed Aug 30 16:42:30 EDT 2023

% Result   : Theorem 0.21s 0.41s
% Output   : Proof 0.21s
% Verified : 
% SZS Type : -

% Comments : 
%------------------------------------------------------------------------------
%----WARNING: Could not form TPTP format derivation
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.00/0.13  % Problem  : ALG211+1 : TPTP v8.1.2. Released v3.1.0.
% 0.00/0.14  % 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 : n025.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 : Mon Aug 28 03:41:54 EDT 2023
% 0.14/0.35  % CPUTime  : 
% 0.21/0.41  Command-line arguments: --ground-connectedness --complete-subsets
% 0.21/0.41  
% 0.21/0.41  % SZS status Theorem
% 0.21/0.41  
% 0.21/0.41  % SZS output start Proof
% 0.21/0.41  Take the following subset of the input axioms:
% 0.21/0.41    fof(basis_of, axiom, ![B, V]: (basis_of(B, V) => (lin_ind_subset(B, V) & a_subset_of(B, vec_to_class(V))))).
% 0.21/0.41    fof(bg_2_2_5, axiom, ![S, T, V2]: ((lin_ind_subset(S, V2) & basis_of(T, V2)) => ?[U]: (a_subset_of(U, T) & basis_of(union(S, U), V2)))).
% 0.21/0.41    fof(bg_2_4_2, axiom, ![W, E, V2]: ((a_vector_subspace_of(W, V2) & a_subset_of(E, vec_to_class(W))) => (lin_ind_subset(E, W) <=> lin_ind_subset(E, V2)))).
% 0.21/0.41    fof(bg_2_4_3, conjecture, ![V2, W2]: ((a_vector_subspace_of(W2, V2) & a_vector_space(V2)) => ?[F, E2]: (basis_of(union(E2, F), V2) & basis_of(E2, W2)))).
% 0.21/0.41    fof(bg_2_4_a, axiom, ![A2, B2]: (a_vector_subspace_of(A2, B2) => a_vector_space(A2))).
% 0.21/0.41    fof(bg_remark_63_a, axiom, ![A2_2]: (a_vector_space(A2_2) => ?[B2]: basis_of(B2, A2_2))).
% 0.21/0.41  
% 0.21/0.41  Now clausify the problem and encode Horn clauses using encoding 3 of
% 0.21/0.41  http://www.cse.chalmers.se/~nicsma/papers/horn.pdf.
% 0.21/0.41  We repeatedly replace C & s=t => u=v by the two clauses:
% 0.21/0.41    fresh(y, y, x1...xn) = u
% 0.21/0.41    C => fresh(s, t, x1...xn) = v
% 0.21/0.41  where fresh is a fresh function symbol and x1..xn are the free
% 0.21/0.41  variables of u and v.
% 0.21/0.42  A predicate p(X) is encoded as p(X)=true (this is sound, because the
% 0.21/0.42  input problem has no model of domain size 1).
% 0.21/0.42  
% 0.21/0.42  The encoding turns the above axioms into the following unit equations and goals:
% 0.21/0.42  
% 0.21/0.42  Axiom 1 (bg_2_4_3): a_vector_space(v) = true2.
% 0.21/0.42  Axiom 2 (bg_2_4_3_1): a_vector_subspace_of(w, v) = true2.
% 0.21/0.42  Axiom 3 (bg_remark_63_a): fresh(X, X, Y) = true2.
% 0.21/0.42  Axiom 4 (bg_2_4_a): fresh2(X, X, Y) = true2.
% 0.21/0.42  Axiom 5 (bg_remark_63_a): fresh(a_vector_space(X), true2, X) = basis_of(b(X), X).
% 0.21/0.42  Axiom 6 (bg_2_4_2): fresh12(X, X, Y, Z) = true2.
% 0.21/0.42  Axiom 7 (basis_of_1): fresh10(X, X, Y, Z) = true2.
% 0.21/0.42  Axiom 8 (basis_of): fresh9(X, X, Y, Z) = true2.
% 0.21/0.42  Axiom 9 (bg_2_2_5): fresh7(X, X, Y, Z, W) = true2.
% 0.21/0.42  Axiom 10 (bg_2_4_2): fresh4(X, X, Y, Z, W) = lin_ind_subset(W, Z).
% 0.21/0.42  Axiom 11 (bg_2_4_a): fresh2(a_vector_subspace_of(X, Y), true2, X) = a_vector_space(X).
% 0.21/0.42  Axiom 12 (bg_2_4_2): fresh11(X, X, Y, Z, W) = fresh12(lin_ind_subset(W, Y), true2, Z, W).
% 0.21/0.42  Axiom 13 (basis_of_1): fresh10(basis_of(X, Y), true2, X, Y) = a_subset_of(X, vec_to_class(Y)).
% 0.21/0.42  Axiom 14 (basis_of): fresh9(basis_of(X, Y), true2, X, Y) = lin_ind_subset(X, Y).
% 0.21/0.42  Axiom 15 (bg_2_2_5): fresh8(lin_ind_subset(X, Y), true2, X, Z, Y) = fresh7(basis_of(Z, Y), true2, X, Z, Y).
% 0.21/0.42  Axiom 16 (bg_2_2_5): fresh8(X, X, Y, Z, W) = basis_of(union(Y, u(Y, Z, W)), W).
% 0.21/0.42  Axiom 17 (bg_2_4_2): fresh11(a_vector_subspace_of(X, Y), true2, X, Y, Z) = fresh4(a_subset_of(Z, vec_to_class(X)), true2, X, Y, Z).
% 0.21/0.42  
% 0.21/0.42  Lemma 18: basis_of(b(w), w) = true2.
% 0.21/0.42  Proof:
% 0.21/0.42    basis_of(b(w), w)
% 0.21/0.42  = { by axiom 5 (bg_remark_63_a) R->L }
% 0.21/0.42    fresh(a_vector_space(w), true2, w)
% 0.21/0.42  = { by axiom 11 (bg_2_4_a) R->L }
% 0.21/0.42    fresh(fresh2(a_vector_subspace_of(w, v), true2, w), true2, w)
% 0.21/0.42  = { by axiom 2 (bg_2_4_3_1) }
% 0.21/0.42    fresh(fresh2(true2, true2, w), true2, w)
% 0.21/0.42  = { by axiom 4 (bg_2_4_a) }
% 0.21/0.42    fresh(true2, true2, w)
% 0.21/0.42  = { by axiom 3 (bg_remark_63_a) }
% 0.21/0.42    true2
% 0.21/0.42  
% 0.21/0.42  Goal 1 (bg_2_4_3_2): tuple(basis_of(X, w), basis_of(union(X, Y), v)) = tuple(true2, true2).
% 0.21/0.42  The goal is true when:
% 0.21/0.42    X = b(w)
% 0.21/0.42    Y = u(b(w), b(v), v)
% 0.21/0.42  
% 0.21/0.42  Proof:
% 0.21/0.42    tuple(basis_of(b(w), w), basis_of(union(b(w), u(b(w), b(v), v)), v))
% 0.21/0.42  = { by axiom 16 (bg_2_2_5) R->L }
% 0.21/0.42    tuple(basis_of(b(w), w), fresh8(true2, true2, b(w), b(v), v))
% 0.21/0.42  = { by axiom 6 (bg_2_4_2) R->L }
% 0.21/0.42    tuple(basis_of(b(w), w), fresh8(fresh12(true2, true2, v, b(w)), true2, b(w), b(v), v))
% 0.21/0.42  = { by axiom 8 (basis_of) R->L }
% 0.21/0.42    tuple(basis_of(b(w), w), fresh8(fresh12(fresh9(true2, true2, b(w), w), true2, v, b(w)), true2, b(w), b(v), v))
% 0.21/0.42  = { by lemma 18 R->L }
% 0.21/0.42    tuple(basis_of(b(w), w), fresh8(fresh12(fresh9(basis_of(b(w), w), true2, b(w), w), true2, v, b(w)), true2, b(w), b(v), v))
% 0.21/0.42  = { by axiom 14 (basis_of) }
% 0.21/0.42    tuple(basis_of(b(w), w), fresh8(fresh12(lin_ind_subset(b(w), w), true2, v, b(w)), true2, b(w), b(v), v))
% 0.21/0.42  = { by axiom 12 (bg_2_4_2) R->L }
% 0.21/0.42    tuple(basis_of(b(w), w), fresh8(fresh11(true2, true2, w, v, b(w)), true2, b(w), b(v), v))
% 0.21/0.42  = { by axiom 2 (bg_2_4_3_1) R->L }
% 0.21/0.42    tuple(basis_of(b(w), w), fresh8(fresh11(a_vector_subspace_of(w, v), true2, w, v, b(w)), true2, b(w), b(v), v))
% 0.21/0.42  = { by axiom 17 (bg_2_4_2) }
% 0.21/0.42    tuple(basis_of(b(w), w), fresh8(fresh4(a_subset_of(b(w), vec_to_class(w)), true2, w, v, b(w)), true2, b(w), b(v), v))
% 0.21/0.42  = { by axiom 13 (basis_of_1) R->L }
% 0.21/0.42    tuple(basis_of(b(w), w), fresh8(fresh4(fresh10(basis_of(b(w), w), true2, b(w), w), true2, w, v, b(w)), true2, b(w), b(v), v))
% 0.21/0.42  = { by lemma 18 }
% 0.21/0.42    tuple(basis_of(b(w), w), fresh8(fresh4(fresh10(true2, true2, b(w), w), true2, w, v, b(w)), true2, b(w), b(v), v))
% 0.21/0.42  = { by axiom 7 (basis_of_1) }
% 0.21/0.42    tuple(basis_of(b(w), w), fresh8(fresh4(true2, true2, w, v, b(w)), true2, b(w), b(v), v))
% 0.21/0.42  = { by axiom 10 (bg_2_4_2) }
% 0.21/0.42    tuple(basis_of(b(w), w), fresh8(lin_ind_subset(b(w), v), true2, b(w), b(v), v))
% 0.21/0.42  = { by axiom 15 (bg_2_2_5) }
% 0.21/0.42    tuple(basis_of(b(w), w), fresh7(basis_of(b(v), v), true2, b(w), b(v), v))
% 0.21/0.42  = { by axiom 5 (bg_remark_63_a) R->L }
% 0.21/0.42    tuple(basis_of(b(w), w), fresh7(fresh(a_vector_space(v), true2, v), true2, b(w), b(v), v))
% 0.21/0.42  = { by axiom 1 (bg_2_4_3) }
% 0.21/0.42    tuple(basis_of(b(w), w), fresh7(fresh(true2, true2, v), true2, b(w), b(v), v))
% 0.21/0.42  = { by axiom 3 (bg_remark_63_a) }
% 0.21/0.42    tuple(basis_of(b(w), w), fresh7(true2, true2, b(w), b(v), v))
% 0.21/0.42  = { by axiom 9 (bg_2_2_5) }
% 0.21/0.42    tuple(basis_of(b(w), w), true2)
% 0.21/0.42  = { by lemma 18 }
% 0.21/0.42    tuple(true2, true2)
% 0.21/0.42  % SZS output end Proof
% 0.21/0.42  
% 0.21/0.42  RESULT: Theorem (the conjecture is true).
%------------------------------------------------------------------------------