disco-0.1.0.0: docs/tutorial/example/property.disco
!!! ∀ x:Bool. neg (neg x) == x
neg : Bool -> Bool
neg x = not x
!!! ∀p: N + N. plusIsoR (plusIso p) == p
plusIso : N + N -> N
plusIso (left n) = 2n
plusIso (right n) = 2n + 1
!!! ∀n:N. plusIso (plusIsoR n) == n
plusIsoR : N -> N + N
plusIsoR n =
{? left (n // 2) if 2 divides n
, right (n // 2) otherwise
?}
!!! forall x:N, y:N, z:N.
f(f(x,y), z) == f(x, f(y,z))
f : N*N -> N
f (x,y) = x + x*y + y