TPTP Problem File: SWX233_1.p

View Solutions - Solve Problem

%------------------------------------------------------------------------------
% File     : SWX233_1 : TPTP v9.3.0. Released v9.3.0.
% Domain   : Software Verification
% Problem  : Simple test case for recursion
% Version  : Especial.
% English  :

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

% Status   : Theorem
% Rating   : 0.00 v9.3.0
% Syntax   : Number of formulae    :   11 (   8 unt;   2 typ;   0 def)
%            Number of atoms       :   17 (   4 equ)
%            Maximal formula atoms :    2 (   1 avg)
%            Number of connectives :    6 (   3   ~;   0   |;   0   &)
%                                         (   3 <=>;   0  =>;   0  <=;   0 <~>)
%            Maximal formula depth :    5 (   3 avg)
%            Maximal term depth    :    2 (   1 avg)
%            Number of FOOLs       :   15 (   7 fml;   8 var)
%            Number of types       :    2 (   0 usr)
%            Number of type conns  :    3 (   2   >;   1   *;   0   +;   0  <<)
%            Number of predicates  :    7 (   6 usr;   1 prp; 0-2 aty)
%            Number of functors    :    1 (   1 usr;   0 con; 2-2 aty)
%            Number of variables   :   12 (  11   !;   1   ?;   6   :)
% SPC      : TX0_THM_EQU_NAR

% Comments :
%------------------------------------------------------------------------------
tff(type_001,type,
    cons: ( $o * $i ) > $i ).

tff(type_002,type,
    g: $o > $o ).

tff(axiom_003,axiom,
    ! [X: $o,X2] :
      ( head(cons((X),X2))
    <=> (X) ) ).

tff(axiom_004,axiom,
    ! [X: $o,X2] : ( tail(cons((X),X2)) = X2 ) ).

tff(axiom_005,axiom,
    ! [X: $o,X2] : ( nil != cons((X),X2) ) ).

tff(axiom_006,axiom,
    h(nil) = nil ).

tff(axiom_007,axiom,
    ! [Y: $o,Xs] : ( h(cons((Y),Xs)) = Xs ) ).

tff(axiom_008,axiom,
    ! [X: $o] :
      ( g((X))
    <=> ~ (X) ) ).

tff(axiom_009,axiom,
    f(nil) ).

tff(axiom_010,axiom,
    ! [Y: $o,Z] :
      ( f(cons((Y),Z))
    <=> ~ f(Z) ) ).

tff(goal_011,conjecture,
    ? [Xs] : f(Xs) ).

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