Advertisement
Guest User

Untitled

a guest
Nov 13th, 2019
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.40 KB | None | 0 0
  1. open nat
  2.  
  3. --1.a.
  4. example : ∀ m n k : nat, m * (n + k) = m * n + m * k :=
  5. assume m n k,
  6. nat.rec_on k
  7. (show m * (n + 0) = m * n + m * 0, from calc
  8. m * (n + 0) = m * n : by rw add_zero
  9. ... = m * n + 0 : by rw add_zero
  10. ... = m * n + m * 0 : by rw mul_zero)
  11.  
  12. (assume k,
  13. assume ih: m * (n + k) = m * n + m * k,
  14. show m * (n + succ k) = m * n + m * (succ k), from calc
  15. m * (n + succ k) = m * (succ (n + k)) : by rw add_succ
  16. ... = m * (n + k) + m : by rw mul_succ
  17. ... = m * n + m * k + m : by rw ih
  18. ... = m * n + (m * k + m) : by simp
  19. ... = m * n + m * (succ k) : by rw mul_succ)
  20.  
  21.  
  22. --1.b.
  23. example : ∀ n : nat, 0 * n = 0 :=
  24. assume n,
  25. nat.rec_on n
  26. (show 0 * 0 = 0, from dec_trivial)
  27. (assume n,
  28. assume ih : 0 * n = 0,
  29. show 0 * (succ n) = 0, from calc
  30. 0 * (succ n) = 0 * n + 0 : by rw mul_succ
  31. ... = 0 * n : by rw add_zero
  32. ... = 0 : by rw ih)
  33.  
  34.  
  35. --1.c.
  36. example : ∀ n : nat, 1 * n = n :=
  37. assume n,
  38. nat.rec_on n
  39. (show 1 * 0 = 0, from dec_trivial)
  40. (assume n,
  41. assume ih : 1 * n = n,
  42. show 1 * (succ n) = succ n, from calc
  43. 1 * (succ n) = 1 * n + 1 : by rw mul_succ
  44. ... = n + 1 : by rw ih
  45. ... = succ n : by simp)
  46.  
  47.  
  48.  
  49. --1.d.
  50. example : ∀ m n k : nat, (m * n) * k = m * (n * k) := sorry
  51.  
  52. --1.e.
  53. example : ∀ m n : nat, m * n= n * m := sorry
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement