% Mizar problem: t58_algspec1,algspec1,1547,20 
fof(t58_algspec1,conjecture,(
    ! [A] : 
      ( ( v1_instalg1(A)
        & l1_msualg_1(A) )
     => ! [B] : 
          ( m2_algspec1(B,A)
         => ! [C] : 
              ( m4_algspec1(C,B)
             => m4_algspec1(C,A) ) ) ) ),
    inference(mizar_bg_added,[status(thm)],[cc1_algspec1,cc2_algspec1,cc2_instalg1,cc3_instalg1,cc4_instalg1,cc5_instalg1,d7_algspec1,dt_l1_msualg_1,dt_l1_struct_0,dt_l2_msualg_1,dt_l3_msualg_1,dt_m2_algspec1,dt_m3_algspec1,dt_m4_algspec1,existence_l1_msualg_1,existence_l1_struct_0,existence_l2_msualg_1,existence_l3_msualg_1,existence_m2_algspec1,existence_m3_algspec1,existence_m4_algspec1,rc1_instalg1,rc3_struct_0,t48_algspec1]),
    [file(algspec1,t58_algspec1)]).

fof(cc1_algspec1,axiom,(
    ! [A] : 
      ( ( ~ v3_struct_0(A)
        & v1_instalg1(A)
        & l1_msualg_1(A) )
     => ! [B] : 
          ( m2_algspec1(B,A)
         => ( ~ v3_struct_0(B)
            & v1_instalg1(B) ) ) ) ),
    file(algspec1,cc1_algspec1),
    []).

fof(cc2_algspec1,axiom,(
    ! [A] : 
      ( ( ~ v2_msualg_1(A)
        & v1_instalg1(A)
        & l1_msualg_1(A) )
     => ! [B] : 
          ( m2_algspec1(B,A)
         => ( ~ v3_struct_0(B)
            & ~ v2_msualg_1(B)
            & v1_instalg1(B) ) ) ) ),
    file(algspec1,cc2_algspec1),
    []).

fof(cc2_instalg1,axiom,(
    ! [A] : 
      ( l1_msualg_1(A)
     => ( ~ v3_struct_0(A)
       => v1_instalg1(A) ) ) ),
    file(instalg1,cc2_instalg1),
    []).

fof(cc3_instalg1,axiom,(
    ! [A] : 
      ( l1_msualg_1(A)
     => ( v2_msualg_1(A)
       => v1_instalg1(A) ) ) ),
    file(instalg1,cc3_instalg1),
    []).

fof(cc4_instalg1,axiom,(
    ! [A] : 
      ( l1_msualg_1(A)
     => ( ( v3_struct_0(A)
          & v1_instalg1(A) )
       => v2_msualg_1(A) ) ) ),
    file(instalg1,cc4_instalg1),
    []).

fof(cc5_instalg1,axiom,(
    ! [A] : 
      ( l1_msualg_1(A)
     => ( ( ~ v2_msualg_1(A)
          & v1_instalg1(A) )
       => ~ v3_struct_0(A) ) ) ),
    file(instalg1,cc5_instalg1),
    []).

fof(d7_algspec1,axiom,(
    ! [A] : 
      ( ( v1_instalg1(A)
        & l1_msualg_1(A) )
     => ! [B] : 
          ( m3_algspec1(B)
         => ( m4_algspec1(B,A)
          <=> ? [C] : 
                ( ~ v2_msualg_1(C)
                & m2_algspec1(C,A)
                & v1_msualg_6(B,C)
                & l3_msualg_1(B,C) ) ) ) ) ),
    file(algspec1,d7_algspec1),
    []).

fof(dt_l1_msualg_1,axiom,(
    ! [A] : 
      ( l1_msualg_1(A)
     => l1_struct_0(A) ) ),
    file(msualg_1,l1_msualg_1),
    []).

fof(dt_l1_struct_0,axiom,(
    $true ),
    file(struct_0,l1_struct_0),
    []).

fof(dt_l2_msualg_1,axiom,(
    $true ),
    file(msualg_1,l2_msualg_1),
    []).

fof(dt_l3_msualg_1,axiom,(
    ! [A] : 
      ( ( ~ v3_struct_0(A)
        & l1_msualg_1(A) )
     => ! [B] : 
          ( l3_msualg_1(B,A)
         => l2_msualg_1(B,A) ) ) ),
    file(msualg_1,l3_msualg_1),
    []).

fof(dt_m2_algspec1,axiom,(
    ! [A] : 
      ( ( v1_instalg1(A)
        & l1_msualg_1(A) )
     => ! [B] : 
          ( m2_algspec1(B,A)
         => ( v1_instalg1(B)
            & l1_msualg_1(B) ) ) ) ),
    file(algspec1,m2_algspec1),
    []).

fof(dt_m3_algspec1,axiom,(
    $true ),
    file(algspec1,m3_algspec1),
    []).

fof(dt_m4_algspec1,axiom,(
    ! [A] : 
      ( ( v1_instalg1(A)
        & l1_msualg_1(A) )
     => ! [B] : 
          ( m4_algspec1(B,A)
         => m3_algspec1(B) ) ) ),
    file(algspec1,m4_algspec1),
    []).

fof(existence_l1_msualg_1,axiom,(
    ? [A] : l1_msualg_1(A) ),
    file(msualg_1,l1_msualg_1),
    []).

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

fof(existence_l2_msualg_1,axiom,(
    ! [A] : 
      ( l1_struct_0(A)
     => ? [B] : l2_msualg_1(B,A) ) ),
    file(msualg_1,l2_msualg_1),
    []).

fof(existence_l3_msualg_1,axiom,(
    ! [A] : 
      ( ( ~ v3_struct_0(A)
        & l1_msualg_1(A) )
     => ? [B] : l3_msualg_1(B,A) ) ),
    file(msualg_1,l3_msualg_1),
    []).

fof(existence_m2_algspec1,axiom,(
    ! [A] : 
      ( ( v1_instalg1(A)
        & l1_msualg_1(A) )
     => ? [B] : m2_algspec1(B,A) ) ),
    file(algspec1,m2_algspec1),
    []).

fof(existence_m3_algspec1,axiom,(
    ? [A] : m3_algspec1(A) ),
    file(algspec1,m3_algspec1),
    []).

fof(existence_m4_algspec1,axiom,(
    ! [A] : 
      ( ( v1_instalg1(A)
        & l1_msualg_1(A) )
     => ? [B] : m4_algspec1(B,A) ) ),
    file(algspec1,m4_algspec1),
    []).

fof(rc1_instalg1,axiom,(
    ? [A] : 
      ( l1_msualg_1(A)
      & ~ v3_struct_0(A)
      & ~ v2_msualg_1(A)
      & v1_instalg1(A) ) ),
    file(instalg1,rc1_instalg1),
    []).

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

fof(t48_algspec1,axiom,(
    ! [A] : 
      ( ( v1_instalg1(A)
        & l1_msualg_1(A) )
     => ! [B] : 
          ( m2_algspec1(B,A)
         => ! [C] : 
              ( m2_algspec1(C,B)
             => m2_algspec1(C,A) ) ) ) ),
    file(algspec1,t48_algspec1),
    []).
