 reserve a,b,r for Complex;
 reserve V for ComplexLinearSpace;
reserve A,B for non empty set;
reserve f,g,h for Element of PFuncs(A,COMPLEX);

theorem
  CPFuncUnit A is_a_unity_wrt multcpfunc A
proof
  thus CPFuncUnit A is_a_left_unity_wrt multcpfunc A
  proof
    let f;
    set h = (multcpfunc A).(CPFuncUnit A,f);
    dom h = dom(CPFuncUnit A) /\ dom f by Th5;
    then dom h = A /\ dom f by FUNCOP_1:13;
    then
A1: dom h = dom f by XBOOLE_1:28;
    now
      let x be Element of A;
      assume x in dom f;
      then h.x = (CPFuncUnit A).x * f.x by A1,Th5;
      then h.x = 1r * f.x by FUNCOP_1:7
      .= f.x by COMPLEX1:def 4;
      hence h.x = f.x;
    end;
    hence thesis by A1,PARTFUN1:5;
  end;
  let f;
  set h = (multcpfunc A).(f,CPFuncUnit A);
  dom h = dom(CPFuncUnit A) /\ dom f by Th5;
  then dom h = A /\ dom f by FUNCOP_1:13;
  then
A2: dom h = dom f by XBOOLE_1:28;
    now
      let x be Element of A;
      assume x in dom f;
      then h.x = (CPFuncUnit A).x * f.x by A2,Th5;
      then h.x = 1r * f.x by FUNCOP_1:7
      .= f.x by COMPLEX1:def 4;
      hence h.x = f.x;
    end;
    hence thesis by A2,PARTFUN1:5;
  end;
