mirror of
https://github.com/idris-lang/Idris2.git
synced 2024-12-17 00:10:31 +03:00
a972778eab
They don't all pass yet, for minor reasons. Coming shortly... Unfortunately the startup overhead for chez is really noticeable here!
20 lines
617 B
Idris
20 lines
617 B
Idris
plusnZ : (n : Nat) -> n + 0 = n
|
|
plusnZ 0 = Refl
|
|
plusnZ (S k) = rewrite plusnZ k in Refl
|
|
|
|
plusnSm : (n, m : Nat) -> n + (S m) = S (n + m)
|
|
plusnSm Z m = Refl
|
|
plusnSm (S k) m = rewrite plusnSm k m in Refl
|
|
|
|
plusCommutes : (n, m : Nat) -> n + m = m + n
|
|
plusCommutes Z m = sym (plusnZ m)
|
|
plusCommutes (S k) m = rewrite plusCommutes k m in sym (plusnSm m k)
|
|
|
|
wrongCommutes : (n, m : Nat) -> n + m = m + n
|
|
wrongCommutes Z m = sym (plusnZ m)
|
|
wrongCommutes (S k) m = rewrite plusCommutes m k in ?bar
|
|
|
|
wrongCommutes2 : (n, m : Nat) -> n + m = m + n
|
|
wrongCommutes2 Z m = sym (plusnZ m)
|
|
wrongCommutes2 (S k) m = rewrite m in ?bar
|