
theorem Th56:
  for C1,C2 be category, f1 being morphism of C1, f2 being morphism of C2,
  f being morphism of C1 [x] C2
  st f = [f1,f2] & C1 is non empty & C2 is non empty
  holds f is identity iff f1 is identity & f2 is identity
  proof
    let C1,C2 be category;
    let f1 be morphism of C1;
    let f2 be morphism of C2;
    let f be morphism of C1 [x] C2;
    assume
A1: f = [f1,f2];
    assume
A2: C1 is non empty & C2 is non empty;
    hereby
      assume
A3:   f is identity;
      f1 = pr1(C1,C2).f & f2 = pr2(C1,C2).f by A2,A1,Def23;
      hence f1 is identity & f2 is identity by A3,CAT_6:def 22,def 25;
    end;
    assume
A4: f1 is identity & f2 is identity;
    for g being morphism of C1 [x] C2 st f |> g holds f (*) g = g
    proof
      let g be morphism of C1 [x] C2;
      assume
A5:   f |> g;
      consider g1 be morphism of C1, g2 be morphism of C2 such that
A6:   g = [g1,g2] by Th52;
A7:   f1 |> g1 & f2 |> g2 by A6,A5,A1,Th54;
      hence f (*) g = [f1(*)g1,f2(*)g2] by A6,A1,Th55
      .= [g1,f2(*)g2] by A7,A4,Th4
      .= g by A6,A7,A4,Th4;
    end;
    then
A8: f is left_identity by CAT_6:def 4;
    for g being morphism of C1 [x] C2 st g |> f holds g (*) f = g
    proof
      let g be morphism of C1 [x] C2;
      assume
A9:   g |> f;
      consider g1 be morphism of C1, g2 be morphism of C2 such that
A10:   g = [g1,g2] by Th52;
A11:   g1 |> f1 & g2 |> f2 by A10,A9,A1,Th54;
      hence g (*) f = [g1(*)f1,g2(*)f2] by A10,A1,Th55
      .= [g1,g2(*)f2] by A11,A4,Th4
      .= g by A10,A11,A4,Th4;
    end;
    hence f is identity by A8,CAT_6:def 5,def 14;
  end;
