reserve C for CategoryStr;
reserve f,f1,f2,f3 for morphism of C;
reserve g1,g2 for morphism of C opp;

theorem Th13:
  C is right_composable iff the CategoryStr of C is right_composable
  proof
    hereby
      assume
A1:  C is right_composable;
      for g,g1,g2 being morphism of the CategoryStr of C st g1 |> g2 holds
      g |> g1 (*) g2 iff g |> g1
      proof
        let g,g1,g2 be morphism of the CategoryStr of C;
        reconsider f=g,f1=g1,f2=g2 as morphism of C;
        assume g1 |> g2;
        then
A2:     f1 |> f2;
        hereby
          assume g |> g1 (*) g2;
          then f |> f1 (*) f2 by A2,Th11;
          then f |> f1 by A2,A1;
          hence g |> g1;
        end;
        assume g |> g1;
        then f |> f1;
        then f |> f1 (*) f2 by A2,A1;
        hence g |> g1 (*) g2 by A2,Th11;
      end;
      hence the CategoryStr of C is right_composable;
    end;
    assume
A3: the CategoryStr of C is right_composable;
    for f,f1,f2 being morphism of C st f1 |> f2 holds
    f |> f1 (*) f2 iff f |> f1
    proof
      let f,f1,f2 be morphism of C;
      reconsider g=f,g1=f1,g2=f2 as morphism of the CategoryStr of C;
      assume
A4:   f1 |> f2;
      then
A5:  g1 |> g2;
      hereby
        assume f |> f1 (*) f2;
        then g |> g1 (*) g2 by A4,Th11;
        then g |> g1 by A3,A5;
        hence f |> f1;
      end;
      assume f |> f1;
      then g |> g1;
      then g |> g1 (*) g2 by A3,A5;
      hence f |> f1 (*) f2 by A4,Th11;
    end;
    hence C is right_composable;
  end;
