reserve s for set,
  i,j for natural Number,
  k for Nat,
  x,x1,x2,x3 for Real,
  r,r1,r2,r3,r4 for Real,
  F,F1,F2,F3 for real-valued FinSequence,
  R,R1,R2 for Element of i-tuples_on REAL;

theorem Th3:
  multreal is_distributive_wrt addreal
proof
  now
    let x1,x2,x3 be Element of REAL;
    thus multreal.(x1,addreal.(x2,x3)) = multreal.(x1,x2+x3) by BINOP_2:def 9
      .= x1*(x2+x3) by BINOP_2:def 11
      .= x1*x2+x1*x3
      .= addreal.(x1*x2,x1*x3) by BINOP_2:def 9
      .= addreal.(multreal.(x1,x2),x1*x3) by BINOP_2:def 11
      .= addreal.(multreal.(x1,x2),multreal.(x1,x3)) by BINOP_2:def 11;
    thus multreal.(addreal.(x1,x2),x3) = multreal.(x1+x2,x3) by BINOP_2:def 9
      .= (x1+x2)*x3 by BINOP_2:def 11
      .= x1*x3+x2*x3
      .= addreal.(x1*x3,x2*x3) by BINOP_2:def 9
      .= addreal.(multreal.(x1,x3),x2*x3) by BINOP_2:def 11
      .= addreal.(multreal.(x1,x3),multreal.(x2,x3)) by BINOP_2:def 11;
  end;
  hence thesis by BINOP_1:11;
end;
