You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Consider the original sig, with _contains in the signature proper:
== Functions ==
withReply :: Thread -> Thread -> Thread
True :: Bool
== Functions ==
comment :: Post -> Thread
lock :: Thread -> Thread
replyTo :: Post -> Thread -> Thread -> Thread
_contains :: Post -> Thread -> Bool
== Laws ==
1. lock (lock t) = lock t
2. _contains p (comment p2) = _contains p2 (comment p)
3. _contains p (comment p)
4. _contains p (lock t) = _contains p t
5. withReply (lock t) t2 = lock t
6. _contains p (withReply t t) = _contains p t
7. replyTo p t (comment p) = withReply (comment p) t
8. replyTo p t (lock t2) = lock t2
9. _contains p t => _contains p (withReply t t2)
10. _contains p (replyTo p2 t t2) = _contains p t2
11. replyTo p (comment p2) (comment p2) = replyTo p (comment p) (comment p2)
12. _contains p t2 => replyTo p t (withReply t2 t) = withReply (replyTo p t t2) t
13. _contains p (withReply t (lock t2)) = _contains p (withReply t t2)
14. _contains p3 t & _contains p2 t2 => _contains p (withReply t (comment p2)) = _contains p (withReply t t2)
15. _contains p t2 => _contains p (withReply t (comment p)) = _contains p (withReply t t2)
16. _contains p t4 => replyTo p t (replyTo p2 t2 t3) = replyTo p2 t2 (replyTo p t t3)
17. _contains p2 t5 & _contains p3 t2 => replyTo p (replyTo p2 t t2) t3 = replyTo p (replyTo p2 t4 t2) t3
18. _contains p2 t4 & _contains p4 t2 & _contains p3 t5 => replyTo p (replyTo p2 t t2) t3 = replyTo p (replyTo
p3 t t2) t3
19. _contains p (withReply t (withReply t t2)) = _contains p (withReply t t2)
20. _contains p (withReply t (withReply t2 t)) = _contains p (withReply t t2)
21. _contains p (withReply t (withReply t2 t2)) = _contains p (withReply t t2)
22. _contains p (withReply (withReply t t2) t3) = _contains p (withReply t (withReply t3 t2))
23. replyTo p t (withReply (comment p) t2) = withReply (withReply (comment p) t2) t
24. replyTo p (lock (comment p2)) (comment p2) = replyTo p (lock (comment p)) (comment p2
but when it's moved to the background, we no longer see law 12 or similar laws with a _contains p t => precondition:
== Functions ==
withReply :: Thread -> Thread -> Thread
True :: Bool
_contains :: Post -> Thread -> Bool
== Functions ==
comment :: Post -> Thread
lock :: Thread -> Thread
replyTo :: Post -> Thread -> Thread -> Thread
== Laws ==
1. lock (lock t) = lock t
2. _contains p (comment p2) = _contains p2 (comment p)
3. _contains p (comment p)
4. _contains p (lock t) = _contains p t
5. withReply (lock t) t2 = lock t
6. replyTo p t (comment p) = withReply (comment p) t
7. replyTo p t (lock t2) = lock t2
8. _contains p (replyTo p2 t t2) = _contains p t2
9. replyTo p (comment p2) (comment p2) = replyTo p (comment p) (comment p2)
10. _contains p (withReply t (lock t2)) = _contains p (withReply t t2)
11. replyTo p t (withReply (comment p) t2) = withReply (withReply (comment p) t2) t
12. replyTo p (lock (comment p2)) (comment p2) = replyTo p (lock (comment p)) (comment p2)
The text was updated successfully, but these errors were encountered:
Consider the original sig, with
_contains
in the signature proper:but when it's moved to the background, we no longer see law 12 or similar laws with a
_contains p t =>
precondition:The text was updated successfully, but these errors were encountered: