TPTP Problem File: SWX185+1.p

View Solutions - Solve Problem

%------------------------------------------------------------------------------
% File     : SWX185+1 : TPTP v9.3.0. Released v9.3.0.
% Domain   : Software Verification
% Problem  : An ambiguous printing function
% Version  : Especial.
% English  :

% Refs     : [CST26] Claessen et al. (2026), Email to Geoff Sutcliffe
% Source   : [CST26]
% Names    : CFG5_prop_unambig.p [CST26]

% Status   : Theorem
% Rating   : 0.25 v9.3.0
% Syntax   : Number of formulae    :   41 (  37 unt;   0 def)
%            Number of atoms       :   46 (  46 equ)
%            Maximal formula atoms :    3 (   1 avg)
%            Number of connectives :   32 (  27   ~;   0   |;   0   &)
%                                         (   0 <=>;   5  =>;   0  <=;   0 <~>)
%            Maximal formula depth :    6 (   3 avg)
%            Maximal term depth    :    5 (   2 avg)
%            Number of predicates  :    1 (   0 usr;   0 prp; 2-2 aty)
%            Number of functors    :   22 (  22 usr;   9 con; 0-2 aty)
%            Number of variables   :   47 (  45   !;   2   ?)
% SPC      : FOF_THM_RFO_PEQ

% Comments :
%------------------------------------------------------------------------------
fof(axiom_001,axiom,
    ! [X,X2] : head(cons(X,X2)) = X ).

fof(axiom_002,axiom,
    ! [X,X2] : tail(cons(X,X2)) = X2 ).

fof(axiom_003,axiom,
    ! [X,X2] : nil != cons(X,X2) ).

fof(axiom_004,axiom,
    c != d ).

fof(axiom_005,axiom,
    c != x ).

fof(axiom_006,axiom,
    c != y ).

fof(axiom_007,axiom,
    c != plus ).

fof(axiom_008,axiom,
    c != mul ).

fof(axiom_009,axiom,
    d != x ).

fof(axiom_010,axiom,
    d != y ).

fof(axiom_011,axiom,
    d != plus ).

fof(axiom_012,axiom,
    d != mul ).

fof(axiom_013,axiom,
    x != y ).

fof(axiom_014,axiom,
    x != plus ).

fof(axiom_015,axiom,
    x != mul ).

fof(axiom_016,axiom,
    y != plus ).

fof(axiom_017,axiom,
    y != mul ).

fof(axiom_018,axiom,
    plus != mul ).

fof(axiom_019,axiom,
    ! [X,X2] : proj1(z(X,X2)) = X ).

fof(axiom_020,axiom,
    ! [X,X2] : proj2(z(X,X2)) = X2 ).

fof(axiom_021,axiom,
    ! [X,X2] : proj12(x2(X,X2)) = X ).

fof(axiom_022,axiom,
    ! [X,X2] : proj22(x2(X,X2)) = X2 ).

fof(axiom_023,axiom,
    ! [X,X2,X3,X4] : z(X,X2) != x2(X3,X4) ).

fof(axiom_024,axiom,
    ! [X,X2] : z(X,X2) != eX ).

fof(axiom_025,axiom,
    ! [X,X2] : z(X,X2) != eY ).

fof(axiom_026,axiom,
    ! [X,X2] : x2(X,X2) != eX ).

fof(axiom_027,axiom,
    ! [X,X2] : x2(X,X2) != eY ).

fof(axiom_028,axiom,
    eX != eY ).

fof(axiom_029,axiom,
    ! [X] :
      ( X != z(proj1(X),proj2(X))
     => ( X != x2(proj12(X),proj22(X))
       => assoc(X) = X ) ) ).

fof(axiom_030,axiom,
    ! [Y,C] :
      ( Y != z(proj1(Y),proj2(Y))
     => assoc(z(Y,C)) = z(assoc(Y),assoc(C)) ) ).

fof(axiom_031,axiom,
    ! [C,A,B] : assoc(z(z(A,B),C)) = assoc(z(A,z(B,C))) ).

fof(axiom_032,axiom,
    ! [A2,B2] : assoc(x2(A2,B2)) = x2(assoc(A2),assoc(B2)) ).

fof(axiom_033,axiom,
    ! [Y] : append(nil,Y) = Y ).

fof(axiom_034,axiom,
    ! [Y,Z,Xs] : append(cons(Z,Xs),Y) = cons(Z,append(Xs,Y)) ).

fof(axiom_035,axiom,
    ! [X] :
      ( X != x2(proj12(X),proj22(X))
     => linTerm(X) = lin(X) ) ).

fof(axiom_036,axiom,
    ! [A,B] : linTerm(x2(A,B)) = append(cons(c,nil),append(lin(z(A,B)),cons(d,nil))) ).

fof(axiom_037,axiom,
    ! [A,B] : lin(z(A,B)) = append(linTerm(A),append(cons(plus,nil),linTerm(B))) ).

fof(axiom_038,axiom,
    ! [A3,B2] : lin(x2(A3,B2)) = append(lin(A3),append(cons(mul,nil),lin(B2))) ).

fof(axiom_039,axiom,
    lin(eX) = cons(x,nil) ).

fof(axiom_040,axiom,
    lin(eY) = cons(y,nil) ).

fof(goal_041,conjecture,
    ? [U,V] :
      ~ ( lin(U) = lin(V)
       => assoc(U) = assoc(V) ) ).

%------------------------------------------------------------------------------