SET007 Axioms: SET007+1.ax


%------------------------------------------------------------------------------
% File     : SET007+1 : TPTP v7.5.0. Released v3.4.0.
% Domain   : Set Theory
% Axioms   : Tarski Grothendieck Set Theory
% 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    : tarski [Urb08]

% Status   : Satisfiable
% Syntax   : Number of formulae    :   22 (  13 unit)
%            Number of atoms       :   62 (  12 equality)
%            Maximal formula depth :   14 (   4 average)
%            Number of connectives :   52 (  12 ~  ;   1  |;  21  &)
%                                         (  11 <=>;   7 =>;   0 <=)
%                                         (   0 <~>;   0 ~|;   0 ~&)
%            Number of predicates  :    6 (   1 propositional; 0-2 arity)
%            Number of functors    :    5 (   1 constant; 0-2 arity)
%            Number of variables   :   52 (   1 singleton;  47 !;   5 ?)
%            Maximal term depth    :    3 (   1 average)
% 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(t1_tarski,axiom,(
    $true )).

fof(t2_tarski,axiom,(
    ! [A,B] :
      ( ! [C] :
          ( r2_hidden(C,A)
        <=> r2_hidden(C,B) )
     => A = B ) )).

fof(d1_tarski,axiom,(
    ! [A,B] :
      ( B = k1_tarski(A)
    <=> ! [C] :
          ( r2_hidden(C,B)
        <=> C = A ) ) )).

fof(d2_tarski,axiom,(
    ! [A,B,C] :
      ( C = k2_tarski(A,B)
    <=> ! [D] :
          ( r2_hidden(D,C)
        <=> ( D = A
            | D = B ) ) ) )).

fof(t3_tarski,axiom,(
    $true )).

fof(t4_tarski,axiom,(
    $true )).

fof(d3_tarski,axiom,(
    ! [A,B] :
      ( r1_tarski(A,B)
    <=> ! [C] :
          ( r2_hidden(C,A)
         => r2_hidden(C,B) ) ) )).

fof(d4_tarski,axiom,(
    ! [A,B] :
      ( B = k3_tarski(A)
    <=> ! [C] :
          ( r2_hidden(C,B)
        <=> ? [D] :
              ( r2_hidden(C,D)
              & r2_hidden(D,A) ) ) ) )).

fof(t5_tarski,axiom,(
    $true )).

fof(t6_tarski,axiom,(
    $true )).

fof(t7_tarski,axiom,(
    ! [A,B] :
      ~ ( r2_hidden(A,B)
        & ! [C] :
            ~ ( r2_hidden(C,B)
              & ! [D] :
                  ~ ( r2_hidden(D,B)
                    & r2_hidden(D,C) ) ) ) )).

fof(d5_tarski,axiom,(
    ! [A,B] : k4_tarski(A,B) = k2_tarski(k2_tarski(A,B),k1_tarski(A)) )).

fof(t8_tarski,axiom,(
    $true )).

fof(d6_tarski,axiom,(
    ! [A,B] :
      ( r2_tarski(A,B)
    <=> ? [C] :
          ( ! [D] :
              ~ ( r2_hidden(D,A)
                & ! [E] :
                    ~ ( r2_hidden(E,B)
                      & r2_hidden(k4_tarski(D,E),C) ) )
          & ! [D] :
              ~ ( r2_hidden(D,B)
                & ! [E] :
                    ~ ( r2_hidden(E,A)
                      & r2_hidden(k4_tarski(E,D),C) ) )
          & ! [D,E,F,G] :
              ( ( r2_hidden(k4_tarski(D,E),C)
                & r2_hidden(k4_tarski(F,G),C) )
             => ( D = F
              <=> E = G ) ) ) ) )).

fof(t9_tarski,axiom,(
    ! [A] :
    ? [B] :
      ( r2_hidden(A,B)
      & ! [C,D] :
          ( ( r2_hidden(C,B)
            & r1_tarski(D,C) )
         => r2_hidden(D,B) )
      & ! [C] :
          ~ ( r2_hidden(C,B)
            & ! [D] :
                ~ ( r2_hidden(D,B)
                  & ! [E] :
                      ( r1_tarski(E,C)
                     => r2_hidden(E,D) ) ) )
      & ! [C] :
          ~ ( r1_tarski(C,B)
            & ~ r2_tarski(C,B)
            & ~ r2_hidden(C,B) ) ) )).

fof(s1_tarski,axiom,
    ( ! [A,B,C] :
        ( ( p1_s1_tarski(A,B)
          & p1_s1_tarski(A,C) )
       => B = C )
   => ? [A] :
      ! [B] :
        ( r2_hidden(B,A)
      <=> ? [C] :
            ( r2_hidden(C,f1_s1_tarski)
            & p1_s1_tarski(C,B) ) ) )).

fof(reflexivity_r1_tarski,axiom,(
    ! [A,B] : r1_tarski(A,A) )).

fof(dt_k1_tarski,axiom,(
    $true )).

fof(dt_k2_tarski,axiom,(
    $true )).

fof(commutativity_k2_tarski,axiom,(
    ! [A,B] : k2_tarski(A,B) = k2_tarski(B,A) )).

fof(dt_k3_tarski,axiom,(
    $true )).

fof(dt_k4_tarski,axiom,(
    $true )).
%------------------------------------------------------------------------------