ITP001 Axioms: ITP028+5.ax


%------------------------------------------------------------------------------
% File     : ITP028+5 : TPTP v8.2.0. Bugfixed v7.5.0.
% Domain   : Interactive Theorem Proving
% Axioms   : HOL4 set theory export, chainy mode
% Version  : [BG+19] axioms.
% English  :

% Refs     : [BG+19] Brown et al. (2019), GRUNGE: A Grand Unified ATP Chall
%          : [Gau20] Gauthier (2020), Email to Geoff Sutcliffe
% Source   : [BG+19]
% Names    : fixedPoint+2.ax [Gau20]
%          : HL4028+5.ax [TPAP]

% Status   : Satisfiable
% Syntax   : Number of formulae    :   33 (   0 unt;   0 def)
%            Number of atoms       :  160 (  14 equ)
%            Maximal formula atoms :    8 (   4 avg)
%            Number of connectives :  127 (   0   ~;   0   |;  12   &)
%                                         (   3 <=>; 112  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   13 (   8 avg)
%            Maximal term depth    :    7 (   2 avg)
%            Number of predicates  :    4 (   3 usr;   0 prp; 1-2 aty)
%            Number of functors    :   22 (  22 usr;   1 con; 0-2 aty)
%            Number of variables   :   95 (  95   !;   0   ?)
% SPC      : FOF_SAT_RFO_SEQ

% Comments :
% Bugfixes : v7.5.0 - Fixes to the axioms.
%------------------------------------------------------------------------------
fof(mem_c_2EfixedPoint_2Eclosed,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => mem(c_2EfixedPoint_2Eclosed(A_27a),arr(arr(arr(A_27a,bool),arr(A_27a,bool)),arr(arr(A_27a,bool),bool))) ) ).

fof(mem_c_2EfixedPoint_2Edense,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => mem(c_2EfixedPoint_2Edense(A_27a),arr(arr(arr(A_27a,bool),arr(A_27a,bool)),arr(arr(A_27a,bool),bool))) ) ).

fof(mem_c_2EfixedPoint_2Eempty,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => mem(c_2EfixedPoint_2Eempty(A_27a,A_27b),arr(A_27a,arr(A_27b,bool))) ) ) ).

fof(mem_c_2EfixedPoint_2Efnsum,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => mem(c_2EfixedPoint_2Efnsum(A_27a,A_27b),arr(arr(A_27b,arr(A_27a,bool)),arr(arr(A_27b,arr(A_27a,bool)),arr(A_27b,arr(A_27a,bool))))) ) ) ).

fof(mem_c_2EfixedPoint_2Egfp,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => mem(c_2EfixedPoint_2Egfp(A_27a),arr(arr(arr(A_27a,bool),arr(A_27a,bool)),arr(A_27a,bool))) ) ).

fof(mem_c_2EfixedPoint_2Elfp,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => mem(c_2EfixedPoint_2Elfp(A_27a),arr(arr(arr(A_27a,bool),arr(A_27a,bool)),arr(A_27a,bool))) ) ).

fof(mem_c_2EfixedPoint_2Emonotone,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => mem(c_2EfixedPoint_2Emonotone(A_27a,A_27b),arr(arr(arr(A_27a,bool),arr(A_27b,bool)),bool)) ) ) ).

fof(ax_thm_2EfixedPoint_2Emonotone__def,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [V0f] :
              ( mem(V0f,arr(arr(A_27a,bool),arr(A_27b,bool)))
             => ( p(ap(c_2EfixedPoint_2Emonotone(A_27a,A_27b),V0f))
              <=> ! [V1X] :
                    ( mem(V1X,arr(A_27a,bool))
                   => ! [V2Y] :
                        ( mem(V2Y,arr(A_27a,bool))
                       => ( p(ap(ap(c_2Epred__set_2ESUBSET(A_27a),V1X),V2Y))
                         => p(ap(ap(c_2Epred__set_2ESUBSET(A_27b),ap(V0f,V1X)),ap(V0f,V2Y))) ) ) ) ) ) ) ) ).

fof(lameq_f310,axiom,
    ! [A_27a,V0f] :
      ( mem(V0f,arr(arr(A_27a,bool),arr(A_27a,bool)))
     => ! [V1X] : ap(f310(A_27a,V0f),V1X) = ap(ap(c_2Epair_2E_2C(arr(A_27a,bool),bool),V1X),ap(ap(c_2Epred__set_2ESUBSET(A_27a),ap(V0f,V1X)),V1X)) ) ).

fof(ax_thm_2EfixedPoint_2Elfp__def,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0f] :
          ( mem(V0f,arr(arr(A_27a,bool),arr(A_27a,bool)))
         => ap(c_2EfixedPoint_2Elfp(A_27a),V0f) = ap(c_2Epred__set_2EBIGINTER(A_27a),ap(c_2Epred__set_2EGSPEC(arr(A_27a,bool),arr(A_27a,bool)),f310(A_27a,V0f))) ) ) ).

fof(lameq_f311,axiom,
    ! [A_27a,V0f] :
      ( mem(V0f,arr(arr(A_27a,bool),arr(A_27a,bool)))
     => ! [V1X] : ap(f311(A_27a,V0f),V1X) = ap(ap(c_2Epair_2E_2C(arr(A_27a,bool),bool),V1X),ap(ap(c_2Epred__set_2ESUBSET(A_27a),V1X),ap(V0f,V1X))) ) ).

fof(ax_thm_2EfixedPoint_2Egfp__def,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0f] :
          ( mem(V0f,arr(arr(A_27a,bool),arr(A_27a,bool)))
         => ap(c_2EfixedPoint_2Egfp(A_27a),V0f) = ap(c_2Epred__set_2EBIGUNION(A_27a),ap(c_2Epred__set_2EGSPEC(arr(A_27a,bool),arr(A_27a,bool)),f311(A_27a,V0f))) ) ) ).

fof(ax_thm_2EfixedPoint_2Eclosed__def,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0f] :
          ( mem(V0f,arr(arr(A_27a,bool),arr(A_27a,bool)))
         => ! [V1X] :
              ( mem(V1X,arr(A_27a,bool))
             => ( p(ap(ap(c_2EfixedPoint_2Eclosed(A_27a),V0f),V1X))
              <=> p(ap(ap(c_2Epred__set_2ESUBSET(A_27a),ap(V0f,V1X)),V1X)) ) ) ) ) ).

fof(ax_thm_2EfixedPoint_2Edense__def,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0f] :
          ( mem(V0f,arr(arr(A_27a,bool),arr(A_27a,bool)))
         => ! [V1X] :
              ( mem(V1X,arr(A_27a,bool))
             => ( p(ap(ap(c_2EfixedPoint_2Edense(A_27a),V0f),V1X))
              <=> p(ap(ap(c_2Epred__set_2ESUBSET(A_27a),V1X),ap(V0f,V1X))) ) ) ) ) ).

fof(conj_thm_2EfixedPoint_2Elfp__least__closed,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0f] :
          ( mem(V0f,arr(arr(A_27a,bool),arr(A_27a,bool)))
         => ( p(ap(c_2EfixedPoint_2Emonotone(A_27a,A_27a),V0f))
           => ( p(ap(ap(c_2EfixedPoint_2Eclosed(A_27a),V0f),ap(c_2EfixedPoint_2Elfp(A_27a),V0f)))
              & ! [V1X] :
                  ( mem(V1X,arr(A_27a,bool))
                 => ( p(ap(ap(c_2EfixedPoint_2Eclosed(A_27a),V0f),V1X))
                   => p(ap(ap(c_2Epred__set_2ESUBSET(A_27a),ap(c_2EfixedPoint_2Elfp(A_27a),V0f)),V1X)) ) ) ) ) ) ) ).

fof(conj_thm_2EfixedPoint_2Egfp__greatest__dense,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0f] :
          ( mem(V0f,arr(arr(A_27a,bool),arr(A_27a,bool)))
         => ( p(ap(c_2EfixedPoint_2Emonotone(A_27a,A_27a),V0f))
           => ( p(ap(ap(c_2EfixedPoint_2Edense(A_27a),V0f),ap(c_2EfixedPoint_2Egfp(A_27a),V0f)))
              & ! [V1X] :
                  ( mem(V1X,arr(A_27a,bool))
                 => ( p(ap(ap(c_2EfixedPoint_2Edense(A_27a),V0f),V1X))
                   => p(ap(ap(c_2Epred__set_2ESUBSET(A_27a),V1X),ap(c_2EfixedPoint_2Egfp(A_27a),V0f))) ) ) ) ) ) ) ).

fof(conj_thm_2EfixedPoint_2Elfp__fixedpoint,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0f] :
          ( mem(V0f,arr(arr(A_27a,bool),arr(A_27a,bool)))
         => ( p(ap(c_2EfixedPoint_2Emonotone(A_27a,A_27a),V0f))
           => ( ap(c_2EfixedPoint_2Elfp(A_27a),V0f) = ap(V0f,ap(c_2EfixedPoint_2Elfp(A_27a),V0f))
              & ! [V1X] :
                  ( mem(V1X,arr(A_27a,bool))
                 => ( V1X = ap(V0f,V1X)
                   => p(ap(ap(c_2Epred__set_2ESUBSET(A_27a),ap(c_2EfixedPoint_2Elfp(A_27a),V0f)),V1X)) ) ) ) ) ) ) ).

fof(conj_thm_2EfixedPoint_2Egfp__greatest__fixedpoint,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0f] :
          ( mem(V0f,arr(arr(A_27a,bool),arr(A_27a,bool)))
         => ( p(ap(c_2EfixedPoint_2Emonotone(A_27a,A_27a),V0f))
           => ( ap(c_2EfixedPoint_2Egfp(A_27a),V0f) = ap(V0f,ap(c_2EfixedPoint_2Egfp(A_27a),V0f))
              & ! [V1X] :
                  ( mem(V1X,arr(A_27a,bool))
                 => ( V1X = ap(V0f,V1X)
                   => p(ap(ap(c_2Epred__set_2ESUBSET(A_27a),V1X),ap(c_2EfixedPoint_2Egfp(A_27a),V0f))) ) ) ) ) ) ) ).

fof(conj_thm_2EfixedPoint_2Elfp__induction,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0f] :
          ( mem(V0f,arr(arr(A_27a,bool),arr(A_27a,bool)))
         => ( p(ap(c_2EfixedPoint_2Emonotone(A_27a,A_27a),V0f))
           => ! [V1X] :
                ( mem(V1X,arr(A_27a,bool))
               => ( p(ap(ap(c_2Epred__set_2ESUBSET(A_27a),ap(V0f,V1X)),V1X))
                 => p(ap(ap(c_2Epred__set_2ESUBSET(A_27a),ap(c_2EfixedPoint_2Elfp(A_27a),V0f)),V1X)) ) ) ) ) ) ).

fof(conj_thm_2EfixedPoint_2Egfp__coinduction,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0f] :
          ( mem(V0f,arr(arr(A_27a,bool),arr(A_27a,bool)))
         => ( p(ap(c_2EfixedPoint_2Emonotone(A_27a,A_27a),V0f))
           => ! [V1X] :
                ( mem(V1X,arr(A_27a,bool))
               => ( p(ap(ap(c_2Epred__set_2ESUBSET(A_27a),V1X),ap(V0f,V1X)))
                 => p(ap(ap(c_2Epred__set_2ESUBSET(A_27a),V1X),ap(c_2EfixedPoint_2Egfp(A_27a),V0f))) ) ) ) ) ) ).

fof(conj_thm_2EfixedPoint_2Elfp__strong__induction,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0f] :
          ( mem(V0f,arr(arr(A_27a,bool),arr(A_27a,bool)))
         => ( p(ap(c_2EfixedPoint_2Emonotone(A_27a,A_27a),V0f))
           => ! [V1X] :
                ( mem(V1X,arr(A_27a,bool))
               => ( p(ap(ap(c_2Epred__set_2ESUBSET(A_27a),ap(V0f,ap(ap(c_2Epred__set_2EINTER(A_27a),V1X),ap(c_2EfixedPoint_2Elfp(A_27a),V0f)))),V1X))
                 => p(ap(ap(c_2Epred__set_2ESUBSET(A_27a),ap(c_2EfixedPoint_2Elfp(A_27a),V0f)),V1X)) ) ) ) ) ) ).

fof(conj_thm_2EfixedPoint_2Egfp__strong__coinduction,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0f] :
          ( mem(V0f,arr(arr(A_27a,bool),arr(A_27a,bool)))
         => ( p(ap(c_2EfixedPoint_2Emonotone(A_27a,A_27a),V0f))
           => ! [V1X] :
                ( mem(V1X,arr(A_27a,bool))
               => ( p(ap(ap(c_2Epred__set_2ESUBSET(A_27a),V1X),ap(V0f,ap(ap(c_2Epred__set_2EUNION(A_27a),V1X),ap(c_2EfixedPoint_2Egfp(A_27a),V0f)))))
                 => p(ap(ap(c_2Epred__set_2ESUBSET(A_27a),V1X),ap(c_2EfixedPoint_2Egfp(A_27a),V0f))) ) ) ) ) ) ).

fof(ax_thm_2EfixedPoint_2Efnsum__def,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [V0f1] :
              ( mem(V0f1,arr(A_27b,arr(A_27a,bool)))
             => ! [V1f2] :
                  ( mem(V1f2,arr(A_27b,arr(A_27a,bool)))
                 => ! [V2X] :
                      ( mem(V2X,A_27b)
                     => ap(ap(ap(c_2EfixedPoint_2Efnsum(A_27a,A_27b),V0f1),V1f2),V2X) = ap(ap(c_2Epred__set_2EUNION(A_27a),ap(V0f1,V2X)),ap(V1f2,V2X)) ) ) ) ) ) ).

fof(conj_thm_2EfixedPoint_2Efnsum__monotone,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [V0f1] :
              ( mem(V0f1,arr(arr(A_27a,bool),arr(A_27b,bool)))
             => ! [V1f2] :
                  ( mem(V1f2,arr(arr(A_27a,bool),arr(A_27b,bool)))
                 => ( ( p(ap(c_2EfixedPoint_2Emonotone(A_27a,A_27b),V0f1))
                      & p(ap(c_2EfixedPoint_2Emonotone(A_27a,A_27b),V1f2)) )
                   => p(ap(c_2EfixedPoint_2Emonotone(A_27a,A_27b),ap(ap(c_2EfixedPoint_2Efnsum(A_27b,arr(A_27a,bool)),V0f1),V1f2))) ) ) ) ) ) ).

fof(ax_thm_2EfixedPoint_2Eempty__def,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => c_2EfixedPoint_2Eempty(A_27a,A_27b) = k(A_27a,c_2Epred__set_2EEMPTY(A_27b)) ) ) ).

fof(conj_thm_2EfixedPoint_2Eempty__monotone,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => p(ap(c_2EfixedPoint_2Emonotone(A_27a,A_27b),c_2EfixedPoint_2Eempty(arr(A_27a,bool),A_27b))) ) ) ).

fof(conj_thm_2EfixedPoint_2Efnsum__empty,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [V0f] :
              ( mem(V0f,arr(A_27a,arr(A_27b,bool)))
             => ( ap(ap(c_2EfixedPoint_2Efnsum(A_27b,A_27a),V0f),c_2EfixedPoint_2Eempty(A_27a,A_27b)) = V0f
                & ap(ap(c_2EfixedPoint_2Efnsum(A_27b,A_27a),c_2EfixedPoint_2Eempty(A_27a,A_27b)),V0f) = V0f ) ) ) ) ).

fof(conj_thm_2EfixedPoint_2Efnsum__ASSOC,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [V0f] :
              ( mem(V0f,arr(A_27a,arr(A_27b,bool)))
             => ! [V1g] :
                  ( mem(V1g,arr(A_27a,arr(A_27b,bool)))
                 => ! [V2h] :
                      ( mem(V2h,arr(A_27a,arr(A_27b,bool)))
                     => ap(ap(c_2EfixedPoint_2Efnsum(A_27b,A_27a),V0f),ap(ap(c_2EfixedPoint_2Efnsum(A_27b,A_27a),V1g),V2h)) = ap(ap(c_2EfixedPoint_2Efnsum(A_27b,A_27a),ap(ap(c_2EfixedPoint_2Efnsum(A_27b,A_27a),V0f),V1g)),V2h) ) ) ) ) ) ).

fof(conj_thm_2EfixedPoint_2Efnsum__COMM,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [V0f] :
              ( mem(V0f,arr(A_27a,arr(A_27b,bool)))
             => ! [V1g] :
                  ( mem(V1g,arr(A_27a,arr(A_27b,bool)))
                 => ap(ap(c_2EfixedPoint_2Efnsum(A_27b,A_27a),V0f),V1g) = ap(ap(c_2EfixedPoint_2Efnsum(A_27b,A_27a),V1g),V0f) ) ) ) ) ).

fof(conj_thm_2EfixedPoint_2Efnsum__SUBSET,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [A_27b] :
          ( ne(A_27b)
         => ! [V0f] :
              ( mem(V0f,arr(A_27a,arr(A_27b,bool)))
             => ! [V1g] :
                  ( mem(V1g,arr(A_27a,arr(A_27b,bool)))
                 => ! [V2X] :
                      ( mem(V2X,A_27a)
                     => ( p(ap(ap(c_2Epred__set_2ESUBSET(A_27b),ap(V0f,V2X)),ap(ap(ap(c_2EfixedPoint_2Efnsum(A_27b,A_27a),V0f),V1g),V2X)))
                        & p(ap(ap(c_2Epred__set_2ESUBSET(A_27b),ap(V1g,V2X)),ap(ap(ap(c_2EfixedPoint_2Efnsum(A_27b,A_27a),V0f),V1g),V2X))) ) ) ) ) ) ) ).

fof(conj_thm_2EfixedPoint_2Elfp__fnsum,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0f1] :
          ( mem(V0f1,arr(arr(A_27a,bool),arr(A_27a,bool)))
         => ! [V1f2] :
              ( mem(V1f2,arr(arr(A_27a,bool),arr(A_27a,bool)))
             => ( ( p(ap(c_2EfixedPoint_2Emonotone(A_27a,A_27a),V0f1))
                  & p(ap(c_2EfixedPoint_2Emonotone(A_27a,A_27a),V1f2)) )
               => ( p(ap(ap(c_2Epred__set_2ESUBSET(A_27a),ap(c_2EfixedPoint_2Elfp(A_27a),V0f1)),ap(c_2EfixedPoint_2Elfp(A_27a),ap(ap(c_2EfixedPoint_2Efnsum(A_27a,arr(A_27a,bool)),V0f1),V1f2))))
                  & p(ap(ap(c_2Epred__set_2ESUBSET(A_27a),ap(c_2EfixedPoint_2Elfp(A_27a),V1f2)),ap(c_2EfixedPoint_2Elfp(A_27a),ap(ap(c_2EfixedPoint_2Efnsum(A_27a,arr(A_27a,bool)),V0f1),V1f2)))) ) ) ) ) ) ).

fof(conj_thm_2EfixedPoint_2Elfp__rule__applied,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0f] :
          ( mem(V0f,arr(arr(A_27a,bool),arr(A_27a,bool)))
         => ! [V1X] :
              ( mem(V1X,arr(A_27a,bool))
             => ! [V2y] :
                  ( mem(V2y,A_27a)
                 => ( ( p(ap(c_2EfixedPoint_2Emonotone(A_27a,A_27a),V0f))
                      & p(ap(ap(c_2Epred__set_2ESUBSET(A_27a),V1X),ap(c_2EfixedPoint_2Elfp(A_27a),V0f)))
                      & p(ap(ap(c_2Ebool_2EIN(A_27a),V2y),ap(V0f,V1X))) )
                   => p(ap(ap(c_2Ebool_2EIN(A_27a),V2y),ap(c_2EfixedPoint_2Elfp(A_27a),V0f))) ) ) ) ) ) ).

fof(conj_thm_2EfixedPoint_2Elfp__empty,axiom,
    ! [A_27a] :
      ( ne(A_27a)
     => ! [V0f] :
          ( mem(V0f,arr(arr(A_27a,bool),arr(A_27a,bool)))
         => ! [V1x] :
              ( mem(V1x,A_27a)
             => ( ( p(ap(c_2EfixedPoint_2Emonotone(A_27a,A_27a),V0f))
                  & p(ap(ap(c_2Ebool_2EIN(A_27a),V1x),ap(V0f,c_2Epred__set_2EEMPTY(A_27a)))) )
               => p(ap(ap(c_2Ebool_2EIN(A_27a),V1x),ap(c_2EfixedPoint_2Elfp(A_27a),V0f))) ) ) ) ) ).

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