miscelleaneous

Random Lean experiments

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
def gcd (a b : Nat) : Nat :=
  if b > 0 then gcd b (a % b) else a
termination_by b
decreasing_by
  rename_i h
  exact Nat.mod_lt a h

def N := 1000

def A := List.range N

def sum := (A.map fun x  A.map (gcd x ·) |>.sum).sum

def sumParallel := (Task.mapList List.sum <| A.map fun x  (Task.spawn fun _  A.map (gcd x ·) |>.sum)) |>.get

-- #eval sum
-- #eval sumParallel

def main := do
  IO.println "test"
  IO.println sum