SET007 Axioms: SET007+200.ax


%------------------------------------------------------------------------------
% File     : SET007+200 : TPTP v9.0.0. Released v3.4.0.
% Domain   : Set Theory
% Axioms   : Preliminaries to Structures
% Version  : [Urb08] axioms.
% English  :

% Refs     : [Mat90] Matuszewski (1990), Formalized Mathematics
%          : [Urb07] Urban (2007), MPTP 0.2: Design, Implementation, and In
%          : [Urb08] Urban (2006), Email to G. Sutcliffe
% Source   : [Urb08]
% Names    : struct_0 [Urb08]

% Status   : Satisfiable
% Syntax   : Number of formulae    :   27 (   4 unt;   0 def)
%            Number of atoms       :   83 (  10 equ)
%            Maximal formula atoms :    6 (   3 avg)
%            Number of connectives :   73 (  17   ~;   0   |;  32   &)
%                                         (   2 <=>;  22  =>;   0  <=;   0 <~>)
%            Maximal formula depth :    8 (   5 avg)
%            Maximal term depth    :    3 (   1 avg)
%            Number of predicates  :   10 (   8 usr;   1 prp; 0-3 aty)
%            Number of functors    :    9 (   9 usr;   0 con; 1-3 aty)
%            Number of variables   :   45 (  37   !;   8   ?)
% SPC      : 

% Comments : The individual reference can be found in [Mat90] by looking for
%            the name provided by [Urb08].
%          : Translated by MPTP from the Mizar Mathematical Library 4.48.930.
%          : These set theory axioms are used in encodings of problems in
%            various domains, including ALG, CAT, GRP, LAT, SET, and TOP.
%------------------------------------------------------------------------------
fof(rc1_struct_0,axiom,
    ? [A] :
      ( l1_struct_0(A)
      & v1_struct_0(A) ) ).

fof(rc2_struct_0,axiom,
    ? [A] :
      ( l2_struct_0(A)
      & v2_struct_0(A) ) ).

fof(rc3_struct_0,axiom,
    ? [A] :
      ( l1_struct_0(A)
      & ~ v3_struct_0(A) ) ).

fof(rc4_struct_0,axiom,
    ? [A] :
      ( l2_struct_0(A)
      & ~ v3_struct_0(A) ) ).

fof(fc1_struct_0,axiom,
    ! [A] :
      ( ( ~ v3_struct_0(A)
        & l1_struct_0(A) )
     => ~ v1_xboole_0(u1_struct_0(A)) ) ).

fof(rc5_struct_0,axiom,
    ! [A] :
      ( ( ~ v3_struct_0(A)
        & l1_struct_0(A) )
     => ? [B] :
          ( m1_subset_1(B,k1_zfmisc_1(u1_struct_0(A)))
          & ~ v1_xboole_0(B) ) ) ).

fof(d1_struct_0,axiom,
    ! [A] :
      ( l1_struct_0(A)
     => ( v3_struct_0(A)
      <=> v1_xboole_0(u1_struct_0(A)) ) ) ).

fof(dt_m1_struct_0,axiom,
    ! [A,B] :
      ( ( ~ v3_struct_0(A)
        & l1_struct_0(A)
        & ~ v1_xboole_0(B)
        & m1_subset_1(B,k1_zfmisc_1(u1_struct_0(A))) )
     => ! [C] :
          ( m1_struct_0(C,A,B)
         => m1_subset_1(C,u1_struct_0(A)) ) ) ).

fof(existence_m1_struct_0,axiom,
    ! [A,B] :
      ( ( ~ v3_struct_0(A)
        & l1_struct_0(A)
        & ~ v1_xboole_0(B)
        & m1_subset_1(B,k1_zfmisc_1(u1_struct_0(A))) )
     => ? [C] : m1_struct_0(C,A,B) ) ).

fof(redefinition_m1_struct_0,axiom,
    ! [A,B] :
      ( ( ~ v3_struct_0(A)
        & l1_struct_0(A)
        & ~ v1_xboole_0(B)
        & m1_subset_1(B,k1_zfmisc_1(u1_struct_0(A))) )
     => ! [C] :
          ( m1_struct_0(C,A,B)
        <=> m1_subset_1(C,B) ) ) ).

fof(dt_l1_struct_0,axiom,
    $true ).

fof(existence_l1_struct_0,axiom,
    ? [A] : l1_struct_0(A) ).

fof(dt_l2_struct_0,axiom,
    ! [A] :
      ( l2_struct_0(A)
     => l1_struct_0(A) ) ).

fof(existence_l2_struct_0,axiom,
    ? [A] : l2_struct_0(A) ).

fof(abstractness_v1_struct_0,axiom,
    ! [A] :
      ( l1_struct_0(A)
     => ( v1_struct_0(A)
       => A = g1_struct_0(u1_struct_0(A)) ) ) ).

fof(abstractness_v2_struct_0,axiom,
    ! [A] :
      ( l2_struct_0(A)
     => ( v2_struct_0(A)
       => A = g2_struct_0(u1_struct_0(A),u2_struct_0(A)) ) ) ).

fof(dt_k1_struct_0,axiom,
    ! [A,B] :
      ( ( ~ v3_struct_0(A)
        & l1_struct_0(A)
        & m1_subset_1(B,u1_struct_0(A)) )
     => m1_subset_1(k1_struct_0(A,B),k1_zfmisc_1(u1_struct_0(A))) ) ).

fof(redefinition_k1_struct_0,axiom,
    ! [A,B] :
      ( ( ~ v3_struct_0(A)
        & l1_struct_0(A)
        & m1_subset_1(B,u1_struct_0(A)) )
     => k1_struct_0(A,B) = k1_tarski(B) ) ).

fof(dt_k2_struct_0,axiom,
    ! [A,B,C] :
      ( ( ~ v3_struct_0(A)
        & l1_struct_0(A)
        & m1_subset_1(B,u1_struct_0(A))
        & m1_subset_1(C,u1_struct_0(A)) )
     => m1_subset_1(k2_struct_0(A,B,C),k1_zfmisc_1(u1_struct_0(A))) ) ).

fof(commutativity_k2_struct_0,axiom,
    ! [A,B,C] :
      ( ( ~ v3_struct_0(A)
        & l1_struct_0(A)
        & m1_subset_1(B,u1_struct_0(A))
        & m1_subset_1(C,u1_struct_0(A)) )
     => k2_struct_0(A,B,C) = k2_struct_0(A,C,B) ) ).

fof(redefinition_k2_struct_0,axiom,
    ! [A,B,C] :
      ( ( ~ v3_struct_0(A)
        & l1_struct_0(A)
        & m1_subset_1(B,u1_struct_0(A))
        & m1_subset_1(C,u1_struct_0(A)) )
     => k2_struct_0(A,B,C) = k2_tarski(B,C) ) ).

fof(dt_u1_struct_0,axiom,
    $true ).

fof(dt_u2_struct_0,axiom,
    ! [A] :
      ( l2_struct_0(A)
     => m1_subset_1(u2_struct_0(A),u1_struct_0(A)) ) ).

fof(dt_g1_struct_0,axiom,
    ! [A] :
      ( v1_struct_0(g1_struct_0(A))
      & l1_struct_0(g1_struct_0(A)) ) ).

fof(free_g1_struct_0,axiom,
    ! [A,B] :
      ( g1_struct_0(A) = g1_struct_0(B)
     => A = B ) ).

fof(dt_g2_struct_0,axiom,
    ! [A,B] :
      ( m1_subset_1(B,A)
     => ( v2_struct_0(g2_struct_0(A,B))
        & l2_struct_0(g2_struct_0(A,B)) ) ) ).

fof(free_g2_struct_0,axiom,
    ! [A,B] :
      ( m1_subset_1(B,A)
     => ! [C,D] :
          ( g2_struct_0(A,B) = g2_struct_0(C,D)
         => ( A = C
            & B = D ) ) ) ).

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