reserve G for Abelian add-associative right_complementable right_zeroed
  non empty addLoopStr;
reserve GS for non empty addLoopStr;
reserve F for Field;
reserve F for Field,
  n for Nat,
  D for non empty set,
  d for Element of D,
  B for BinOp of D,
  C for UnOp of D;
reserve x,y for set;
reserve D for non empty set,
  H,G for BinOp of D,
  d for Element of D,
  t1,t2 for Element of n-tuples_on D;
reserve x,y,z for set,
  A for AbGroup;
reserve a for Domain-Sequence,
  i for Element of dom a,
  p for FinSequence;
reserve i for Element of dom a;

theorem Th19:
  for b being BinOps of a, f being Element of product a st for i
  holds f.i is_a_unity_wrt b.i holds f is_a_unity_wrt [:b:]
proof
  let b be BinOps of a, f be Element of product a such that
A1: for i holds f.i is_a_unity_wrt b.i;
  now
    let x be Element of product a;
A3: now
      let y be object;
      assume y in dom a;
      then reconsider i = y as Element of dom a;
      [:b:].(f,x).i = (b.i).(f.i,x.i) & f.i is_a_unity_wrt b.i by A1,Def8;
      hence [:b:].(f,x).y = x.y by BINOP_1:3;
    end;
    dom ([:b:].(f,x)) = dom a by CARD_3:9;
    hence [:b:].(f,x) = x by A3,CARD_3:9;
A4: now
      let y be object;
      assume y in dom a;
      then reconsider i = y as Element of dom a;
      [:b:].(x,f).i = (b.i).(x.i,f.i) & f.i is_a_unity_wrt b.i by A1,Def8;
      hence [:b:].(x,f).y = x.y by BINOP_1:3;
    end;
    dom ([:b:].(x,f)) = dom a by CARD_3:9;
    hence [:b:].(x,f) = x by A4,CARD_3:9;
  end;
  hence thesis by BINOP_1:3;
end;
