TPTP Problem File: SWW863+1.p

View Solutions - Solve Problem

%------------------------------------------------------------------------------
% File     : SWW863+1 : TPTP v9.0.0. Released v7.3.0.
% Domain   : Software Verification
% Problem  : reg_allocProof__12__tactictoe_prove_11__dep
% Version  : Especial.
% English  :

% Refs     : [Kum18] Kumar (2018), Email to Geoff Sutcliffe
% Source   : [Kum18]
% Names    : reg_allocProof__12__tactictoe_prove_11__dep [Kum18]

% Status   : CounterSatisfiable
% Rating   : 0.00 v8.2.0, 0.33 v8.1.0, 0.50 v7.5.0, 0.60 v7.4.0, 0.33 v7.3.0
% Syntax   : Number of formulae    :   19 (   4 unt;   0 def)
%            Number of atoms       :   63 (  29 equ)
%            Maximal formula atoms :    9 (   3 avg)
%            Number of connectives :   48 (   4   ~;   4   |;  10   &)
%                                         (  10 <=>;  20  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   15 (   6 avg)
%            Maximal term depth    :   14 (   2 avg)
%            Number of predicates  :    2 (   1 usr;   0 prp; 1-2 aty)
%            Number of functors    :   23 (  23 usr;   7 con; 0-4 aty)
%            Number of variables   :   75 (  73   !;   2   ?)
% SPC      : FOF_CSA_RFO_SEQ

% Comments :
%------------------------------------------------------------------------------
fof('HL_TRUTH',axiom,
    p__01(s__02(cbool__00,cT__00)) ).

fof('HL_FALSITY',axiom,
    ~ p__01(s__02(cbool__00,cF__00)) ).

fof('HL_BOOL_CASES',axiom,
    ! [Vt] :
      ( s__02(cbool__00,Vt) = s__02(cbool__00,cT__00)
      | s__02(cbool__00,Vt) = s__02(cbool__00,cF__00) ) ).

fof('HL_EXT',axiom,
    ! [V_3f2384,V_3f2380,Vf,Vg] :
      ( ! [Vx] : s__02(V_3f2380,chapp__02(s__02(cfun__02(V_3f2384,V_3f2380),Vf),s__02(V_3f2384,Vx))) = s__02(V_3f2380,chapp__02(s__02(cfun__02(V_3f2384,V_3f2380),Vg),s__02(V_3f2384,Vx)))
     => s__02(cfun__02(V_3f2384,V_3f2380),Vf) = s__02(cfun__02(V_3f2384,V_3f2380),Vg) ) ).

fof('thm.bool.TRUTH',axiom,
    p__01(s__02(cbool__00,cT__00)) ).

fof('thm.bool.IMP_ANTISYM_AX',axiom,
    ! [V_27t1_27,V_27t2_27] :
      ( ( p__01(s__02(cbool__00,V_27t1_27))
       => p__01(s__02(cbool__00,V_27t2_27)) )
     => ( ( p__01(s__02(cbool__00,V_27t2_27))
         => p__01(s__02(cbool__00,V_27t1_27)) )
       => s__02(cbool__00,V_27t1_27) = s__02(cbool__00,V_27t2_27) ) ) ).

fof('thm.bool.FALSITY',axiom,
    ! [V_27t_27] :
      ( p__01(s__02(cbool__00,cF__00))
     => p__01(s__02(cbool__00,V_27t_27)) ) ).

fof('thm.bool.EXCLUDED_MIDDLE',axiom,
    ! [V_27t_27] :
      ( p__01(s__02(cbool__00,V_27t_27))
      | ~ p__01(s__02(cbool__00,V_27t_27)) ) ).

fof('thm.bool.EQ_SYM_EQ',axiom,
    ! [V_27A_27,V_27x_27,V_27y_27] :
      ( s__02(V_27A_27,V_27x_27) = s__02(V_27A_27,V_27y_27)
    <=> s__02(V_27A_27,V_27y_27) = s__02(V_27A_27,V_27x_27) ) ).

fof('thm.bool.EQ_CLAUSES',axiom,
    ! [V_27t_27] :
      ( ( s__02(cbool__00,cT__00) = s__02(cbool__00,V_27t_27)
      <=> p__01(s__02(cbool__00,V_27t_27)) )
      & ( s__02(cbool__00,V_27t_27) = s__02(cbool__00,cT__00)
      <=> p__01(s__02(cbool__00,V_27t_27)) )
      & ( s__02(cbool__00,cF__00) = s__02(cbool__00,V_27t_27)
      <=> ~ p__01(s__02(cbool__00,V_27t_27)) )
      & ( s__02(cbool__00,V_27t_27) = s__02(cbool__00,cF__00)
      <=> ~ p__01(s__02(cbool__00,V_27t_27)) ) ) ).

fof('thm.bool.COND_CLAUSES',axiom,
    ! [V_27A_27,V_27t1_27,V_27t2_27] :
      ( s__02(V_27A_27,c_27const_2ebool_2eCOND_27__03(s__02(cbool__00,cT__00),s__02(V_27A_27,V_27t1_27),s__02(V_27A_27,V_27t2_27))) = s__02(V_27A_27,V_27t1_27)
      & s__02(V_27A_27,c_27const_2ebool_2eCOND_27__03(s__02(cbool__00,cF__00),s__02(V_27A_27,V_27t1_27),s__02(V_27A_27,V_27t2_27))) = s__02(V_27A_27,V_27t2_27) ) ).

fof('thm.bool.AND_IMP_INTRO',axiom,
    ! [V_27t1_27,V_27t2_27,V_27t3_27] :
      ( ( p__01(s__02(cbool__00,V_27t1_27))
       => ( p__01(s__02(cbool__00,V_27t2_27))
         => p__01(s__02(cbool__00,V_27t3_27)) ) )
    <=> ( ( p__01(s__02(cbool__00,V_27t1_27))
          & p__01(s__02(cbool__00,V_27t2_27)) )
       => p__01(s__02(cbool__00,V_27t3_27)) ) ) ).

fof('thm.bool.IMP_CONG',axiom,
    ! [V_27x_27,V_27x_7c39_7c_27,V_27y_27,V_27y_7c39_7c_27] :
      ( ( s__02(cbool__00,V_27x_27) = s__02(cbool__00,V_27x_7c39_7c_27)
        & ( p__01(s__02(cbool__00,V_27x_7c39_7c_27))
         => s__02(cbool__00,V_27y_27) = s__02(cbool__00,V_27y_7c39_7c_27) ) )
     => ( ( p__01(s__02(cbool__00,V_27x_27))
         => p__01(s__02(cbool__00,V_27y_27)) )
      <=> ( p__01(s__02(cbool__00,V_27x_7c39_7c_27))
         => p__01(s__02(cbool__00,V_27y_7c39_7c_27)) ) ) ) ).

fof('thm.pair.pair_case_thm',axiom,
    ! [V_27A_27,V_27B_27,V_27C_27,V_27y_27,V_27x_27,V_27f_27] : s__02(V_27A_27,c_27const_2epair_2epair__CASE_27__02(s__02(c_27type_2epair_2eprod_27__02(V_27B_27,V_27C_27),c_27const_2epair_2e_2c_27__02(s__02(V_27B_27,V_27x_27),s__02(V_27C_27,V_27y_27))),s__02(cfun__02(V_27B_27,cfun__02(V_27C_27,V_27A_27)),V_27f_27))) = s__02(V_27A_27,chapp__02(s__02(cfun__02(V_27C_27,V_27A_27),chapp__02(s__02(cfun__02(V_27B_27,cfun__02(V_27C_27,V_27A_27)),V_27f_27),s__02(V_27B_27,V_27x_27))),s__02(V_27C_27,V_27y_27))) ).

fof('thm.list.EL_LUPDATE',axiom,
    ! [V_27A_27,V_27ys_27,V_27x_27,V_27i_27,V_27k_27] :
    ? [Vv] :
      ( ( p__01(s__02(cbool__00,Vv))
      <=> ( s__02(c_27type_2enum_2enum_27__00,V_27i_27) = s__02(c_27type_2enum_2enum_27__00,V_27k_27)
          & p__01(s__02(cbool__00,c_27const_2eprim__rec_2e_3c_27__02(s__02(c_27type_2enum_2enum_27__00,V_27k_27),s__02(c_27type_2enum_2enum_27__00,c_27const_2elist_2eLENGTH_27__01(s__02(c_27type_2elist_2elist_27__01(V_27A_27),V_27ys_27)))))) ) )
      & s__02(V_27A_27,c_27const_2elist_2eEL_27__02(s__02(c_27type_2enum_2enum_27__00,V_27i_27),s__02(c_27type_2elist_2elist_27__01(V_27A_27),c_27const_2elist_2eLUPDATE_27__03(s__02(V_27A_27,V_27x_27),s__02(c_27type_2enum_2enum_27__00,V_27k_27),s__02(c_27type_2elist_2elist_27__01(V_27A_27),V_27ys_27))))) = s__02(V_27A_27,c_27const_2ebool_2eCOND_27__03(s__02(cbool__00,Vv),s__02(V_27A_27,V_27x_27),s__02(V_27A_27,c_27const_2elist_2eEL_27__02(s__02(c_27type_2enum_2enum_27__00,V_27i_27),s__02(c_27type_2elist_2elist_27__01(V_27A_27),V_27ys_27))))) ) ).

fof('thm.reg_alloc.tag_case_def',axiom,
    ! [V_27A_27] :
      ( ! [V_27a_27,V_27f_27,V_27v_27,V_27v1_27] : s__02(V_27A_27,c_27const_2ereg__alloc_2etag__CASE_27__04(s__02(c_27type_2ereg__alloc_2etag_27__00,c_27const_2ereg__alloc_2eFixed_27__01(s__02(c_27type_2enum_2enum_27__00,V_27a_27))),s__02(cfun__02(c_27type_2enum_2enum_27__00,V_27A_27),V_27f_27),s__02(V_27A_27,V_27v_27),s__02(V_27A_27,V_27v1_27))) = s__02(V_27A_27,chapp__02(s__02(cfun__02(c_27type_2enum_2enum_27__00,V_27A_27),V_27f_27),s__02(c_27type_2enum_2enum_27__00,V_27a_27)))
      & ! [V_27f_27,V_27v_27,V_27v1_27] : s__02(V_27A_27,c_27const_2ereg__alloc_2etag__CASE_27__04(s__02(c_27type_2ereg__alloc_2etag_27__00,c_27const_2ereg__alloc_2eAtemp_27__00),s__02(cfun__02(c_27type_2enum_2enum_27__00,V_27A_27),V_27f_27),s__02(V_27A_27,V_27v_27),s__02(V_27A_27,V_27v1_27))) = s__02(V_27A_27,V_27v_27)
      & ! [V_27f_27,V_27v_27,V_27v1_27] : s__02(V_27A_27,c_27const_2ereg__alloc_2etag__CASE_27__04(s__02(c_27type_2ereg__alloc_2etag_27__00,c_27const_2ereg__alloc_2eStemp_27__00),s__02(cfun__02(c_27type_2enum_2enum_27__00,V_27A_27),V_27f_27),s__02(V_27A_27,V_27v_27),s__02(V_27A_27,V_27v1_27))) = s__02(V_27A_27,V_27v1_27) ) ).

fof('thm.reg_alloc.tag_nchotomy',axiom,
    ! [V_27tt_27] :
      ( ? [V_27n_27] : s__02(c_27type_2ereg__alloc_2etag_27__00,V_27tt_27) = s__02(c_27type_2ereg__alloc_2etag_27__00,c_27const_2ereg__alloc_2eFixed_27__01(s__02(c_27type_2enum_2enum_27__00,V_27n_27)))
      | s__02(c_27type_2ereg__alloc_2etag_27__00,V_27tt_27) = s__02(c_27type_2ereg__alloc_2etag_27__00,c_27const_2ereg__alloc_2eAtemp_27__00)
      | s__02(c_27type_2ereg__alloc_2etag_27__00,V_27tt_27) = s__02(c_27type_2ereg__alloc_2etag_27__00,c_27const_2ereg__alloc_2eStemp_27__00) ) ).

fof('thm.reg_allocProof.no_clash_def',axiom,
    ! [V__3] :
      ( ! [V_27n_27,V_27x_27,V_27y_27,V_27m_27] :
          ( p__01(s__02(cbool__00,chapp__02(s__02(cfun__02(c_27type_2enum_2enum_27__00,cbool__00),chapp__02(s__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,cbool__00)),chapp__02(s__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,cbool__00))),chapp__02(s__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,cbool__00)))),V__3),s__02(c_27type_2enum_2enum_27__00,V_27n_27))),s__02(c_27type_2enum_2enum_27__00,V_27x_27))),s__02(c_27type_2enum_2enum_27__00,V_27y_27))),s__02(c_27type_2enum_2enum_27__00,V_27m_27))))
        <=> ( s__02(c_27type_2enum_2enum_27__00,V_27n_27) = s__02(c_27type_2enum_2enum_27__00,V_27m_27)
           => s__02(c_27type_2enum_2enum_27__00,V_27x_27) = s__02(c_27type_2enum_2enum_27__00,V_27y_27) ) )
     => ! [V__2] :
          ( ! [V_27v3_27,V_27x_27,V_27y_27,V_27n_27] : s__02(cbool__00,chapp__02(s__02(cfun__02(c_27type_2enum_2enum_27__00,cbool__00),chapp__02(s__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,cbool__00)),chapp__02(s__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,cbool__00))),chapp__02(s__02(cfun__02(c_27type_2ereg__alloc_2etag_27__00,cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,cbool__00)))),V__2),s__02(c_27type_2ereg__alloc_2etag_27__00,V_27v3_27))),s__02(c_27type_2enum_2enum_27__00,V_27x_27))),s__02(c_27type_2enum_2enum_27__00,V_27y_27))),s__02(c_27type_2enum_2enum_27__00,V_27n_27))) = s__02(cbool__00,c_27const_2ereg__alloc_2etag__CASE_27__04(s__02(c_27type_2ereg__alloc_2etag_27__00,V_27v3_27),s__02(cfun__02(c_27type_2enum_2enum_27__00,cbool__00),chapp__02(s__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,cbool__00)),chapp__02(s__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,cbool__00))),chapp__02(s__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,cbool__00)))),V__3),s__02(c_27type_2enum_2enum_27__00,V_27n_27))),s__02(c_27type_2enum_2enum_27__00,V_27x_27))),s__02(c_27type_2enum_2enum_27__00,V_27y_27))),s__02(cbool__00,cT__00),s__02(cbool__00,cT__00)))
         => ! [V__1] :
              ( ! [V_27v2_27,V_27x_27,V_27y_27,V_27v3_27] : s__02(cbool__00,chapp__02(s__02(cfun__02(c_27type_2ereg__alloc_2etag_27__00,cbool__00),chapp__02(s__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2ereg__alloc_2etag_27__00,cbool__00)),chapp__02(s__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2ereg__alloc_2etag_27__00,cbool__00))),chapp__02(s__02(cfun__02(c_27type_2ereg__alloc_2etag_27__00,cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2ereg__alloc_2etag_27__00,cbool__00)))),V__1),s__02(c_27type_2ereg__alloc_2etag_27__00,V_27v2_27))),s__02(c_27type_2enum_2enum_27__00,V_27x_27))),s__02(c_27type_2enum_2enum_27__00,V_27y_27))),s__02(c_27type_2ereg__alloc_2etag_27__00,V_27v3_27))) = s__02(cbool__00,c_27const_2ereg__alloc_2etag__CASE_27__04(s__02(c_27type_2ereg__alloc_2etag_27__00,V_27v2_27),s__02(cfun__02(c_27type_2enum_2enum_27__00,cbool__00),chapp__02(s__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,cbool__00)),chapp__02(s__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,cbool__00))),chapp__02(s__02(cfun__02(c_27type_2ereg__alloc_2etag_27__00,cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,cbool__00)))),V__2),s__02(c_27type_2ereg__alloc_2etag_27__00,V_27v3_27))),s__02(c_27type_2enum_2enum_27__00,V_27x_27))),s__02(c_27type_2enum_2enum_27__00,V_27y_27))),s__02(cbool__00,cT__00),s__02(cbool__00,cT__00)))
             => ! [V__0] :
                  ( ! [V_27x_27,V_27y_27,V_27v2_27] : s__02(cfun__02(c_27type_2ereg__alloc_2etag_27__00,cbool__00),chapp__02(s__02(cfun__02(c_27type_2ereg__alloc_2etag_27__00,cfun__02(c_27type_2ereg__alloc_2etag_27__00,cbool__00)),chapp__02(s__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2ereg__alloc_2etag_27__00,cfun__02(c_27type_2ereg__alloc_2etag_27__00,cbool__00))),chapp__02(s__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2ereg__alloc_2etag_27__00,cfun__02(c_27type_2ereg__alloc_2etag_27__00,cbool__00)))),V__0),s__02(c_27type_2enum_2enum_27__00,V_27x_27))),s__02(c_27type_2enum_2enum_27__00,V_27y_27))),s__02(c_27type_2ereg__alloc_2etag_27__00,V_27v2_27))) = s__02(cfun__02(c_27type_2ereg__alloc_2etag_27__00,cbool__00),chapp__02(s__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2ereg__alloc_2etag_27__00,cbool__00)),chapp__02(s__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2ereg__alloc_2etag_27__00,cbool__00))),chapp__02(s__02(cfun__02(c_27type_2ereg__alloc_2etag_27__00,cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2ereg__alloc_2etag_27__00,cbool__00)))),V__1),s__02(c_27type_2ereg__alloc_2etag_27__00,V_27v2_27))),s__02(c_27type_2enum_2enum_27__00,V_27x_27))),s__02(c_27type_2enum_2enum_27__00,V_27y_27)))
                 => ! [V_27adj__ls_27,V_27node__tag_27] :
                      ( p__01(s__02(cbool__00,c_27const_2ereg__allocProof_2eno__clash_27__02(s__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2enum_2enum_27__00)),V_27adj__ls_27),s__02(c_27type_2elist_2elist_27__01(c_27type_2ereg__alloc_2etag_27__00),V_27node__tag_27))))
                    <=> ! [V_27x_27,V_27y_27] :
                          ( p__01(s__02(cbool__00,c_27const_2ereg__allocProof_2ehas__edge_27__03(s__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2enum_2enum_27__00)),V_27adj__ls_27),s__02(c_27type_2enum_2enum_27__00,V_27x_27),s__02(c_27type_2enum_2enum_27__00,V_27y_27))))
                         => p__01(s__02(cbool__00,c_27const_2epair_2epair__CASE_27__02(s__02(c_27type_2epair_2eprod_27__02(c_27type_2ereg__alloc_2etag_27__00,c_27type_2ereg__alloc_2etag_27__00),c_27const_2epair_2e_2c_27__02(s__02(c_27type_2ereg__alloc_2etag_27__00,c_27const_2elist_2eEL_27__02(s__02(c_27type_2enum_2enum_27__00,V_27x_27),s__02(c_27type_2elist_2elist_27__01(c_27type_2ereg__alloc_2etag_27__00),V_27node__tag_27))),s__02(c_27type_2ereg__alloc_2etag_27__00,c_27const_2elist_2eEL_27__02(s__02(c_27type_2enum_2enum_27__00,V_27y_27),s__02(c_27type_2elist_2elist_27__01(c_27type_2ereg__alloc_2etag_27__00),V_27node__tag_27))))),s__02(cfun__02(c_27type_2ereg__alloc_2etag_27__00,cfun__02(c_27type_2ereg__alloc_2etag_27__00,cbool__00)),chapp__02(s__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2ereg__alloc_2etag_27__00,cfun__02(c_27type_2ereg__alloc_2etag_27__00,cbool__00))),chapp__02(s__02(cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2enum_2enum_27__00,cfun__02(c_27type_2ereg__alloc_2etag_27__00,cfun__02(c_27type_2ereg__alloc_2etag_27__00,cbool__00)))),V__0),s__02(c_27type_2enum_2enum_27__00,V_27x_27))),s__02(c_27type_2enum_2enum_27__00,V_27y_27)))))) ) ) ) ) ) ) ).

fof(conjecture,conjecture,
    ! [V_27adjls_27,V_27tags_27,V_27n_27] :
      ( p__01(s__02(cbool__00,c_27const_2ereg__allocProof_2eno__clash_27__02(s__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2enum_2enum_27__00)),V_27adjls_27),s__02(c_27type_2elist_2elist_27__01(c_27type_2ereg__alloc_2etag_27__00),V_27tags_27))))
     => p__01(s__02(cbool__00,c_27const_2ereg__allocProof_2eno__clash_27__02(s__02(c_27type_2elist_2elist_27__01(c_27type_2elist_2elist_27__01(c_27type_2enum_2enum_27__00)),V_27adjls_27),s__02(c_27type_2elist_2elist_27__01(c_27type_2ereg__alloc_2etag_27__00),c_27const_2elist_2eLUPDATE_27__03(s__02(c_27type_2ereg__alloc_2etag_27__00,c_27const_2ereg__alloc_2eStemp_27__00),s__02(c_27type_2enum_2enum_27__00,V_27n_27),s__02(c_27type_2elist_2elist_27__01(c_27type_2ereg__alloc_2etag_27__00),V_27tags_27)))))) ) ).

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