% Mizar problem: t38_mcart_4,mcart_4,1521,40 
fof(t38_mcart_4,conjecture,(
    ! [A,B,C,D,E,F,G,H] : 
      ( ! [I] : 
          ( r2_hidden(I,H)
        <=> ? [J,K,L,M,N,O,P] : 
              ( r2_hidden(J,A)
              & r2_hidden(K,B)
              & r2_hidden(L,C)
              & r2_hidden(M,D)
              & r2_hidden(N,E)
              & r2_hidden(O,F)
              & r2_hidden(P,G)
              & I = k1_mcart_4(J,K,L,M,N,O,P) ) )
     => H = k2_mcart_4(A,B,C,D,E,F,G) ) ),
    inference(mizar_bg_added,[status(thm)],[antisymmetry_r2_hidden,d1_mcart_4,d2_mcart_4,d2_zfmisc_1,dt_k1_mcart_3,dt_k1_mcart_4,dt_k1_xboole_0,dt_k2_mcart_3,dt_k2_mcart_4,dt_k2_zfmisc_1,dt_k4_tarski,dt_m1_subset_1,existence_m1_subset_1,fc1_xboole_0,rc1_xboole_0,rc2_xboole_0,t1_subset,t2_subset,t2_tarski,t33_mcart_3,t34_mcart_3,t6_boole,t7_boole,t8_boole]),
    [file(mcart_4,t38_mcart_4)]).

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

fof(d1_mcart_4,axiom,(
    ! [A,B,C,D,E,F,G] : k1_mcart_4(A,B,C,D,E,F,G) = k4_tarski(k1_mcart_3(A,B,C,D,E,F),G) ),
    file(mcart_4,d1_mcart_4),
    []).

fof(d2_mcart_4,axiom,(
    ! [A,B,C,D,E,F,G] : k2_mcart_4(A,B,C,D,E,F,G) = k2_zfmisc_1(k2_mcart_3(A,B,C,D,E,F),G) ),
    file(mcart_4,d2_mcart_4),
    []).

fof(d2_zfmisc_1,axiom,(
    ! [A,B,C] : 
      ( C = k2_zfmisc_1(A,B)
    <=> ! [D] : 
          ( r2_hidden(D,C)
        <=> ? [E,F] : 
              ( r2_hidden(E,A)
              & r2_hidden(F,B)
              & D = k4_tarski(E,F) ) ) ) ),
    file(zfmisc_1,d2_zfmisc_1),
    []).

fof(dt_k1_mcart_3,axiom,(
    $true ),
    file(mcart_3,k1_mcart_3),
    []).

fof(dt_k1_mcart_4,axiom,(
    $true ),
    file(mcart_4,k1_mcart_4),
    []).

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

fof(dt_k2_mcart_3,axiom,(
    $true ),
    file(mcart_3,k2_mcart_3),
    []).

fof(dt_k2_mcart_4,axiom,(
    $true ),
    file(mcart_4,k2_mcart_4),
    []).

fof(dt_k2_zfmisc_1,axiom,(
    $true ),
    file(zfmisc_1,k2_zfmisc_1),
    []).

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

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

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

fof(fc1_xboole_0,axiom,(
    v1_xboole_0(k1_xboole_0) ),
    file(xboole_0,fc1_xboole_0),
    []).

fof(rc1_xboole_0,axiom,(
    ? [A] : v1_xboole_0(A) ),
    file(xboole_0,rc1_xboole_0),
    []).

fof(rc2_xboole_0,axiom,(
    ? [A] : ~ v1_xboole_0(A) ),
    file(xboole_0,rc2_xboole_0),
    []).

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

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

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

fof(t33_mcart_3,axiom,(
    ! [A,B,C,D,E,F,G] : ~ ( r2_hidden(A,k2_mcart_3(B,C,D,E,F,G))
      & ! [H,I,J,K,L,M] : ~ ( r2_hidden(H,B)
          & r2_hidden(I,C)
          & r2_hidden(J,D)
          & r2_hidden(K,E)
          & r2_hidden(L,F)
          & r2_hidden(M,G)
          & A = k1_mcart_3(H,I,J,K,L,M) ) ) ),
    file(mcart_3,t33_mcart_3),
    []).

fof(t34_mcart_3,axiom,(
    ! [A,B,C,D,E,F,G,H,I,J,K,L] : 
      ( r2_hidden(k1_mcart_3(A,B,C,D,E,F),k2_mcart_3(G,H,I,J,K,L))
    <=> ( r2_hidden(A,G)
        & r2_hidden(B,H)
        & r2_hidden(C,I)
        & r2_hidden(D,J)
        & r2_hidden(E,K)
        & r2_hidden(F,L) ) ) ),
    file(mcart_3,t34_mcart_3),
    []).

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),
    []).
