Article EULER_1, MML version 4.99.1005

:: EULER_1:th 1
theorem
for b1, b2 being natural set holds
   b1 in b2
iff
   b1 < b2;

:: EULER_1:th 2
theorem
for b1 being natural set holds
      b1,b1 are_relative_prime
   iff
      b1 = 1;

:: EULER_1:th 3
theorem
for b1, b2 being natural set
      st b1 <> 0 & b1 < b2 & b2 is prime
   holds b1,b2 are_relative_prime;

:: EULER_1:th 4
theorem
for b1, b2 being natural set holds
   b1 is prime &
    b2 in {b3 where b3 is Element of NAT: b1,b3 are_relative_prime & 1 <= b3 & b3 <= b1}
iff
   b1 is prime & b2 in b1 & not b2 in {0};

:: EULER_1:th 5
theorem
for b1 being finite set
for b2 being set
      st b2 in b1
   holds card (b1 \ {b2}) = (card b1) - card {b2};

:: EULER_1:th 6
theorem
for b1, b2 being natural set
   st b1 hcf b2 = 1
for b3 being natural set holds
   (b1 * b3) hcf (b2 * b3) = b3;

:: EULER_1:th 7
theorem
for b1, b2, b3 being natural set
      st b1 <> 0 & b2 <> 0 & b3 <> 0 & (b1 * b3) hcf (b2 * b3) = b3
   holds b1,b2 are_relative_prime;

:: EULER_1:th 8
theorem
for b1, b2 being natural set
      st b1 hcf b2 = 1
   holds (b1 + b2) hcf b2 = 1;

:: EULER_1:th 9
theorem
for b1, b2, b3 being natural set holds
(b1 + (b2 * b3)) hcf b2 = b1 hcf b2;

:: EULER_1:th 10
theorem
for b1, b2 being natural set
      st b1,b2 are_relative_prime
   holds ex b3 being natural set st
      (ex b4, b5 being integer set st
          b3 = (b4 * b1) + (b5 * b2) & 0 < b3) &
       (for b4 being natural set
             st ex b5, b6 being integer set st
                  b4 = (b5 * b1) + (b6 * b2) & 0 < b4
          holds b3 <= b4);

:: EULER_1:th 11
theorem
for b1, b2 being natural set
   st b1,b2 are_relative_prime
for b3 being natural set holds
   ex b4, b5 being integer set st
      (b4 * b1) + (b5 * b2) = b3;

:: EULER_1:th 12
theorem
for b1, b2 being non empty finite set
      st ex b3 being Function-like quasi_total Relation of b1,b2 st
           b3 is one-to-one & b3 is onto(b1, b2)
   holds Card b1 = Card b2;

:: EULER_1:th 13
theorem
for b1, b2, b3 being integer set holds
(b1 + (b2 * b3)) mod b3 = b1 mod b3;

:: EULER_1:th 14
theorem
for b1, b2, b3 being natural set
      st b1 <> 0 & b2 <> 0 & b3 <> 0 & b3 divides b1 * b2 & b1,b3 are_relative_prime
   holds b3 divides b2;

:: EULER_1:th 15
theorem
for b1, b2, b3 being natural set
      st b1 <> 0 & b2 <> 0 & b3 <> 0 & b1,b3 are_relative_prime & b2,b3 are_relative_prime
   holds b1 * b2,b3 are_relative_prime;

:: EULER_1:th 16
theorem
for b1, b2, b3 being integer set
      st b1 <> 0 & b2 <> 0 & 0 < b3
   holds (b3 * b1) gcd (b3 * b2) = b3 * (b1 gcd b2);

:: EULER_1:th 17
theorem
for b1, b2 being natural set
for b3 being integer set
      st b1 <> 0 & b2 <> 0
   holds (b1 + (b3 * b2)) gcd b2 = b1 gcd b2;

:: EULER_1:funcnot 1 => EULER_1:func 1
definition
  let a1 be natural set;
  func Euler A1 -> Element of NAT equals
    Card {b1 where b1 is Element of NAT: a1,b1 are_relative_prime & 1 <= b1 & b1 <= a1};
end;

:: EULER_1:def 1
theorem
for b1 being natural set holds
   Euler b1 = Card {b2 where b2 is Element of NAT: b1,b2 are_relative_prime & 1 <= b2 & b2 <= b1};

:: EULER_1:th 18
theorem
Euler 1 = 1;

:: EULER_1:th 19
theorem
Euler 2 = 1;

:: EULER_1:th 20
theorem
for b1 being natural set
      st 1 < b1
   holds Euler b1 <= b1 - 1;

:: EULER_1:th 21
theorem
for b1 being natural set
      st b1 is prime
   holds Euler b1 = b1 - 1;

:: EULER_1:th 22
theorem
for b1, b2 being natural set
      st 1 < b1 & 1 < b2 & b1,b2 are_relative_prime
   holds Euler (b1 * b2) = (Euler b1) * Euler b2;