SET007 Axioms: SET007+19.ax


%------------------------------------------------------------------------------
% File     : SET007+19 : TPTP v7.5.0. Released v3.4.0.
% Domain   : Set Theory
% Axioms   : Zermelo Theorem and Axiom of Choice
% 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    : wellord2 [Urb08]

% Status   : Satisfiable
% Syntax   : Number of formulae    :   39 (  14 unit)
%            Number of atoms       :  128 (  19 equality)
%            Maximal formula depth :   12 (   5 average)
%            Number of connectives :  107 (  18 ~  ;   1  |;  38  &)
%                                         (   6 <=>;  44 =>;   0 <=)
%                                         (   0 <~>;   0 ~|;   0 ~&)
%            Number of predicates  :   24 (   1 propositional; 0-3 arity)
%            Number of functors    :   17 (   6 constant; 0-2 arity)
%            Number of variables   :   72 (   1 singleton;  66 !;   6 ?)
%            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(d1_wellord2,axiom,(
    ! [A,B] :
      ( v1_relat_1(B)
     => ( B = k1_wellord2(A)
      <=> ( k3_relat_1(B) = A
          & ! [C,D] :
              ( ( r2_hidden(C,A)
                & r2_hidden(D,A) )
             => ( r2_hidden(k4_tarski(C,D),B)
              <=> r1_tarski(C,D) ) ) ) ) ) )).

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

fof(t2_wellord2,axiom,(
    ! [A] : v1_relat_2(k1_wellord2(A)) )).

fof(t3_wellord2,axiom,(
    ! [A] : v8_relat_2(k1_wellord2(A)) )).

fof(t4_wellord2,axiom,(
    ! [A] :
      ( v3_ordinal1(A)
     => v6_relat_2(k1_wellord2(A)) ) )).

fof(t5_wellord2,axiom,(
    ! [A] : v4_relat_2(k1_wellord2(A)) )).

fof(t6_wellord2,axiom,(
    ! [A] :
      ( v3_ordinal1(A)
     => v1_wellord1(k1_wellord2(A)) ) )).

fof(t7_wellord2,axiom,(
    ! [A] :
      ( v3_ordinal1(A)
     => v2_wellord1(k1_wellord2(A)) ) )).

fof(t8_wellord2,axiom,(
    ! [A,B] :
      ( r1_tarski(A,B)
     => k2_wellord1(k1_wellord2(B),A) = k1_wellord2(A) ) )).

fof(t9_wellord2,axiom,(
    ! [A] :
      ( v3_ordinal1(A)
     => ! [B] :
          ( r1_tarski(B,A)
         => v2_wellord1(k1_wellord2(B)) ) ) )).

fof(t10_wellord2,axiom,(
    ! [A] :
      ( v3_ordinal1(A)
     => ! [B] :
          ( v3_ordinal1(B)
         => ( r2_hidden(A,B)
           => A = k1_wellord1(k1_wellord2(B),A) ) ) ) )).

fof(t11_wellord2,axiom,(
    ! [A] :
      ( v3_ordinal1(A)
     => ! [B] :
          ( v3_ordinal1(B)
         => ( r4_wellord1(k1_wellord2(A),k1_wellord2(B))
           => A = B ) ) ) )).

fof(t12_wellord2,axiom,(
    ! [A] :
      ( v1_relat_1(A)
     => ! [B] :
          ( v3_ordinal1(B)
         => ! [C] :
              ( v3_ordinal1(C)
             => ( ( r4_wellord1(A,k1_wellord2(B))
                  & r4_wellord1(A,k1_wellord2(C)) )
               => B = C ) ) ) ) )).

fof(t13_wellord2,axiom,(
    ! [A] :
      ( v1_relat_1(A)
     => ~ ( v2_wellord1(A)
          & ! [B] :
              ~ ( r2_hidden(B,k3_relat_1(A))
                & ! [C] :
                    ( v3_ordinal1(C)
                   => ~ r4_wellord1(k2_wellord1(A,k1_wellord1(A,B)),k1_wellord2(C)) ) )
          & ! [B] :
              ( v3_ordinal1(B)
             => ~ r4_wellord1(A,k1_wellord2(B)) ) ) ) )).

fof(t14_wellord2,axiom,(
    ! [A] :
      ( v1_relat_1(A)
     => ~ ( v2_wellord1(A)
          & ! [B] :
              ( v3_ordinal1(B)
             => ~ r4_wellord1(A,k1_wellord2(B)) ) ) ) )).

fof(d2_wellord2,axiom,(
    ! [A] :
      ( v1_relat_1(A)
     => ( v2_wellord1(A)
       => ! [B] :
            ( v3_ordinal1(B)
           => ( B = k2_wellord2(A)
            <=> r4_wellord1(A,k1_wellord2(B)) ) ) ) ) )).

fof(d3_wellord2,axiom,(
    ! [A] :
      ( v3_ordinal1(A)
     => ! [B] :
          ( v1_relat_1(B)
         => ( r1_wellord2(A,B)
          <=> A = k2_wellord2(B) ) ) ) )).

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

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

fof(t17_wellord2,axiom,(
    ! [A,B] :
      ( v3_ordinal1(B)
     => ( r1_tarski(A,B)
       => r1_ordinal1(k2_wellord2(k1_wellord2(A)),B) ) ) )).

fof(d4_wellord2,axiom,(
    ! [A,B] :
      ( r2_wellord2(A,B)
    <=> ? [C] :
          ( v1_relat_1(C)
          & v1_funct_1(C)
          & v2_funct_1(C)
          & k1_relat_1(C) = A
          & k2_relat_1(C) = B ) ) )).

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

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

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

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

fof(t22_wellord2,axiom,(
    ! [A,B,C] :
      ( ( r2_wellord2(A,B)
        & r2_wellord2(B,C) )
     => r2_wellord2(A,C) ) )).

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

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

fof(t25_wellord2,axiom,(
    ! [A,B] :
      ( v1_relat_1(B)
     => ( r2_wellord1(B,A)
       => ( k3_relat_1(k2_wellord1(B,A)) = A
          & v2_wellord1(k2_wellord1(B,A)) ) ) ) )).

fof(t26_wellord2,axiom,(
    ! [A] :
    ? [B] :
      ( v1_relat_1(B)
      & r2_wellord1(B,A) ) )).

fof(t27_wellord2,axiom,(
    ! [A] :
      ( ~ v1_xboole_0(A)
     => ~ ( ! [B] :
              ~ ( r2_hidden(B,A)
                & B = k1_xboole_0 )
          & ! [B,C] :
              ( ( r2_hidden(B,A)
                & r2_hidden(C,A) )
             => ( B = C
                | r1_xboole_0(B,C) ) )
          & ! [B] :
            ? [C] :
              ( r2_hidden(C,A)
              & ! [D] : k3_xboole_0(B,C) != k1_tarski(D) ) ) ) )).

fof(t28_wellord2,axiom,(
    ! [A] :
      ( ~ v1_xboole_0(A)
     => ~ ( ! [B] :
              ~ ( r2_hidden(B,A)
                & B = k1_xboole_0 )
          & ! [B] :
              ( ( v1_relat_1(B)
                & v1_funct_1(B) )
             => ~ ( k1_relat_1(B) = A
                  & ! [C] :
                      ( r2_hidden(C,A)
                     => r2_hidden(k1_funct_1(B,C),C) ) ) ) ) ) )).

fof(s1_wellord2,axiom,
    ( ! [A] :
        ~ ( r2_hidden(A,f1_s1_wellord2)
          & ! [B] :
              ~ ( r2_hidden(B,f2_s1_wellord2)
                & p1_s1_wellord2(A,B) ) )
   => ? [A] :
        ( v1_relat_1(A)
        & v1_funct_1(A)
        & k1_relat_1(A) = f1_s1_wellord2
        & r1_tarski(k2_relat_1(A),f2_s1_wellord2)
        & ! [B] :
            ( r2_hidden(B,f1_s1_wellord2)
           => p1_s1_wellord2(B,k1_funct_1(A,B)) ) ) )).

fof(s2_wellord2,axiom,
    ( ! [A] :
        ~ ( r2_hidden(A,f1_s2_wellord2)
          & ! [B,C] :
              ~ ( r2_hidden(B,f2_s2_wellord2)
                & r2_hidden(C,f3_s2_wellord2)
                & p1_s2_wellord2(A,B,C) ) )
   => ? [A] :
        ( v1_relat_1(A)
        & v1_funct_1(A)
        & ? [B] :
            ( v1_relat_1(B)
            & v1_funct_1(B)
            & k1_relat_1(A) = f1_s2_wellord2
            & k1_relat_1(B) = f1_s2_wellord2
            & ! [C] :
                ( r2_hidden(C,f1_s2_wellord2)
               => p1_s2_wellord2(C,k1_funct_1(A,C),k1_funct_1(B,C)) ) ) ) )).

fof(symmetry_r2_wellord2,axiom,(
    ! [A,B] :
      ( r2_wellord2(A,B)
     => r2_wellord2(B,A) ) )).

fof(reflexivity_r2_wellord2,axiom,(
    ! [A,B] : r2_wellord2(A,A) )).

fof(redefinition_r2_wellord2,axiom,(
    ! [A,B] :
      ( r2_wellord2(A,B)
    <=> r2_tarski(A,B) ) )).

fof(dt_k1_wellord2,axiom,(
    ! [A] : v1_relat_1(k1_wellord2(A)) )).

fof(dt_k2_wellord2,axiom,(
    ! [A] :
      ( v1_relat_1(A)
     => v3_ordinal1(k2_wellord2(A)) ) )).
%------------------------------------------------------------------------------