reserve x,y for set;
reserve C,C9,D,E for non empty set;
reserve c,c9,c1,c2,c3 for Element of C;
reserve B,B9,B1,B2 for Element of Fin C;
reserve A for Element of Fin C9;
reserve d,d1,d2,d3,d4,e for Element of D;
reserve F,G for BinOp of D;
reserve u for UnOp of D;
reserve f,f9 for Function of C,D;
reserve g for Function of C9,D;
reserve H for BinOp of E;
reserve h for Function of D,E;
reserve i,j for Nat;
reserve s for Function;
reserve p,q for FinSequence of D;
reserve T1,T2 for Element of i-tuples_on D;

theorem
  F is commutative associative & (B1 <> {} & B2 <> {} or F is
having_a_unity) & B1 misses B2 implies F $$(B1 \/ B2, f) = F.(F $$(B1,f),F $$(
  B2,f))
proof
  assume that
A1: F is commutative associative and
A2: B1 <> {} & B2 <> {} or F is having_a_unity and
A3: B1 /\ B2 = {};
  now
    per cases;
    suppose
A4:   B1 = {} or B2 = {};
      now
        per cases by A4;
        suppose
A5:       B1 = {};
          hence F $$(B1 \/ B2, f) = F.(the_unity_wrt F,F $$(B2,f)) by A2,
SETWISEO:15
            .= F.(F $$({}.C,f),F $$(B2,f)) by A1,A2,A4,SETWISEO:31
            .= F.(F $$(B1,f),F $$(B2,f)) by A5;
        end;
        suppose
A6:       B2 = {};
          hence F $$(B1 \/ B2, f) = F.(F $$(B1,f),the_unity_wrt F) by A2,
SETWISEO:15
            .= F.(F $$(B1,f),F $$({}.C,f)) by A1,A2,A4,SETWISEO:31
            .= F.(F $$(B1,f),F $$(B2,f)) by A6;
        end;
      end;
      hence thesis;
    end;
    suppose
A7:   B1 <> {} & B2 <> {};
      defpred X[Element of Fin C] means $1 <> {} & B1 /\ $1 = {} implies F $$(
      B1 \/ $1,f) = F.(F $$(B1,f),F $$($1,f));
A8:   for B9 being Element of Fin C, b being Element of C holds X[B9] &
      not b in B9 implies X[B9 \/ {.b.}]
      proof
        let B,c such that
A9:     B <> {} & B1 /\ B = {} implies F $$(B1 \/ B,f) = F.(F $$ (B1,
        f),F $$(B,f)) and
A10:    not c in B and
        B \/ {c} <> {};
        assume
A11:    B1 /\ (B \/ {c}) = {};
        then
A12:    B1 misses (B \/ {c});
        c in B \/ {c} by ZFMISC_1:136;
        then
A13:    not c in B1 by A11,XBOOLE_0:def 4;
A14:    B <> {} & B1 misses B implies F $$(B1 \/ B,f) = F.(F $$ (B1,f),F
        $$(B,f)) by A9;
        now
          per cases;
          suppose
A15:        B = {};
            hence
            F $$ (B1 \/ (B \/ {.c.}),f) = F.(F $$ (B1,f), f.c) by A1,A7,A13,Th2
              .= F.(F $$ (B1,f),F $$(B \/ {.c.},f)) by A1,A15,SETWISEO:17;
          end;
          suppose
A16:        B <> {};
A17:        not c in B1 \/ B by A10,A13,XBOOLE_0:def 3;
            thus F $$ (B1 \/ (B \/ {.c.}),f) = F $$ (B1 \/ B \/ {.c.},f) by
XBOOLE_1:4
              .= F.(F.(F $$ (B1,f),F $$(B,f)), f.c) by A1,A14,A12,A16,A17,Th2,
XBOOLE_1:7,63
              .= F.(F $$ (B1,f),F.(F $$(B,f), f.c)) by A1
              .= F.(F $$(B1,f),F $$(B \/ {.c.},f)) by A1,A10,A16,Th2;
          end;
        end;
        hence thesis;
      end;
A18:  X[{}.C];
      for B2 holds X[B2] from SETWISEO:sch 2(A18,A8);
      hence thesis by A3,A7;
    end;
  end;
  hence thesis;
end;
