% Mizar problem: t28_zf_fund1,zf_fund1,2052,36 
fof(t28_zf_fund1,conjecture,(
    ! [A,B,C] : 
      ( ( v1_relat_1(C)
        & v1_funct_1(C) )
     => ( k1_relat_1(C) = k2_tarski(A,B)
      <=> C = k2_tarski(k4_tarski(A,k1_funct_1(C,A)),k4_tarski(B,k1_funct_1(C,B))) ) ) ),
    inference(mizar_bg_added,[status(thm)],[existence_m1_subset_1,dt_m1_subset_1,rc4_funct_1,t2_subset,antisymmetry_r2_hidden,dt_k1_xboole_0,cc1_ordinal1,cc2_ordinal1,rc1_ordinal1,rc2_ordinal1,fc2_ordinal1,rc3_ordinal1,rc3_funct_1,t1_subset,dt_k1_tarski,cc3_ordinal1,cc1_funct_1,rc2_funct_1,cc2_funct_1,rc1_finset_1,cc1_finset_1,fc1_finset_1,t6_boole,t7_boole,t8_boole,commutativity_k2_tarski,dt_k1_funct_1,dt_k1_relat_1,dt_k2_tarski,dt_k4_tarski,rc1_funct_1,fc2_finset_1,d5_tarski,l47_zf_fund1]),
    [file(zf_fund1,t28_zf_fund1)]).

fof(existence_m1_subset_1,axiom,(
    ! [A] : 
    ? [B] : m1_subset_1(B,A) ),
    file(subset_1,m1_subset_1),
    []).

fof(dt_m1_subset_1,axiom,(
    $true ),
    file(subset_1,m1_subset_1),
    []).

fof(rc4_funct_1,axiom,(
    ? [A] : 
      ( v1_relat_1(A)
      & v3_relat_1(A)
      & v1_funct_1(A) ) ),
    file(funct_1,rc4_funct_1),
    []).

fof(t2_subset,axiom,(
    ! [A,B] : 
      ( m1_subset_1(A,B)
     => ( v1_xboole_0(B)
        | r2_hidden(A,B) ) ) ),
    file(subset,t2_subset),
    []).

fof(antisymmetry_r2_hidden,axiom,(
    ! [A,B] : 
      ( r2_hidden(A,B)
     => ~ r2_hidden(B,A) ) ),
    file(hidden,r2_hidden),
    []).

fof(dt_k1_xboole_0,axiom,(
    $true ),
    file(xboole_0,k1_xboole_0),
    []).

fof(cc1_ordinal1,axiom,(
    ! [A] : 
      ( v3_ordinal1(A)
     => ( v1_ordinal1(A)
        & v2_ordinal1(A) ) ) ),
    file(ordinal1,cc1_ordinal1),
    []).

fof(cc2_ordinal1,axiom,(
    ! [A] : 
      ( ( v1_ordinal1(A)
        & v2_ordinal1(A) )
     => v3_ordinal1(A) ) ),
    file(ordinal1,cc2_ordinal1),
    []).

fof(rc1_ordinal1,axiom,(
    ? [A] : 
      ( v1_ordinal1(A)
      & v2_ordinal1(A)
      & v3_ordinal1(A) ) ),
    file(ordinal1,rc1_ordinal1),
    []).

fof(rc2_ordinal1,axiom,(
    ? [A] : 
      ( v1_relat_1(A)
      & v1_funct_1(A)
      & v2_funct_1(A)
      & v1_xboole_0(A)
      & v1_ordinal1(A)
      & v2_ordinal1(A)
      & v3_ordinal1(A) ) ),
    file(ordinal1,rc2_ordinal1),
    []).

fof(fc2_ordinal1,axiom,
    ( v1_relat_1(k1_xboole_0)
    & v3_relat_1(k1_xboole_0)
    & v1_funct_1(k1_xboole_0)
    & v2_funct_1(k1_xboole_0)
    & v1_xboole_0(k1_xboole_0)
    & v1_ordinal1(k1_xboole_0)
    & v2_ordinal1(k1_xboole_0)
    & v3_ordinal1(k1_xboole_0) ),
    file(ordinal1,fc2_ordinal1),
    []).

fof(rc3_ordinal1,axiom,(
    ? [A] : 
      ( ~ v1_xboole_0(A)
      & v1_ordinal1(A)
      & v2_ordinal1(A)
      & v3_ordinal1(A) ) ),
    file(ordinal1,rc3_ordinal1),
    []).

fof(rc3_funct_1,axiom,(
    ? [A] : 
      ( v1_relat_1(A)
      & v1_funct_1(A)
      & v2_funct_1(A) ) ),
    file(funct_1,rc3_funct_1),
    []).

fof(t1_subset,axiom,(
    ! [A,B] : 
      ( r2_hidden(A,B)
     => m1_subset_1(A,B) ) ),
    file(subset,t1_subset),
    []).

fof(dt_k1_tarski,axiom,(
    $true ),
    file(tarski,k1_tarski),
    []).

fof(cc3_ordinal1,axiom,(
    ! [A] : 
      ( v1_xboole_0(A)
     => ( v1_ordinal1(A)
        & v2_ordinal1(A)
        & v3_ordinal1(A) ) ) ),
    file(ordinal1,cc3_ordinal1),
    []).

fof(cc1_funct_1,axiom,(
    ! [A] : 
      ( v1_xboole_0(A)
     => v1_funct_1(A) ) ),
    file(funct_1,cc1_funct_1),
    []).

fof(rc2_funct_1,axiom,(
    ? [A] : 
      ( v1_relat_1(A)
      & v1_xboole_0(A)
      & v1_funct_1(A) ) ),
    file(funct_1,rc2_funct_1),
    []).

fof(cc2_funct_1,axiom,(
    ! [A] : 
      ( ( v1_relat_1(A)
        & v1_xboole_0(A)
        & v1_funct_1(A) )
     => ( v1_relat_1(A)
        & v1_funct_1(A)
        & v2_funct_1(A) ) ) ),
    file(funct_1,cc2_funct_1),
    []).

fof(rc1_finset_1,axiom,(
    ? [A] : 
      ( ~ v1_xboole_0(A)
      & v1_finset_1(A) ) ),
    file(finset_1,rc1_finset_1),
    []).

fof(cc1_finset_1,axiom,(
    ! [A] : 
      ( v1_xboole_0(A)
     => v1_finset_1(A) ) ),
    file(finset_1,cc1_finset_1),
    []).

fof(fc1_finset_1,axiom,(
    ! [A] : 
      ( ~ v1_xboole_0(k1_tarski(A))
      & v1_finset_1(k1_tarski(A)) ) ),
    file(finset_1,fc1_finset_1),
    []).

fof(t6_boole,axiom,(
    ! [A] : 
      ( v1_xboole_0(A)
     => A = k1_xboole_0 ) ),
    file(boole,t6_boole),
    []).

fof(t7_boole,axiom,(
    ! [A,B] : ~ ( r2_hidden(A,B)
      & v1_xboole_0(B) ) ),
    file(boole,t7_boole),
    []).

fof(t8_boole,axiom,(
    ! [A,B] : ~ ( v1_xboole_0(A)
      & A != B
      & v1_xboole_0(B) ) ),
    file(boole,t8_boole),
    []).

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

fof(dt_k1_funct_1,axiom,(
    $true ),
    file(funct_1,k1_funct_1),
    []).

fof(dt_k1_relat_1,axiom,(
    $true ),
    file(relat_1,k1_relat_1),
    []).

fof(dt_k2_tarski,axiom,(
    $true ),
    file(tarski,k2_tarski),
    []).

fof(dt_k4_tarski,axiom,(
    $true ),
    file(tarski,k4_tarski),
    []).

fof(rc1_funct_1,axiom,(
    ? [A] : 
      ( v1_relat_1(A)
      & v1_funct_1(A) ) ),
    file(funct_1,rc1_funct_1),
    []).

fof(fc2_finset_1,axiom,(
    ! [A,B] : 
      ( ~ v1_xboole_0(k2_tarski(A,B))
      & v1_finset_1(k2_tarski(A,B)) ) ),
    file(finset_1,fc2_finset_1),
    []).

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

fof(l47_zf_fund1,axiom,(
    ! [A,B,C] : 
      ( ( v1_relat_1(C)
        & v1_funct_1(C) )
     => ( k1_relat_1(C) = k2_tarski(A,B)
      <=> C = k2_tarski(k4_tarski(A,k1_funct_1(C,A)),k4_tarski(B,k1_funct_1(C,B))) ) ) ),
    file(zf_fund1,l47_zf_fund1),
    []).
