{"action":"created","issue":{"url":"https://api.github.com/repos/kframework/k/issues/1282","labels_url":"https://api.github.com/repos/kframework/k/issues/1282/labels{/name}","comments_url":"https://api.github.com/repos/kframework/k/issues/1282/comments","events_url":"https://api.github.com/repos/kframework/k/issues/1282/events","html_url":"https://github.com/kframework/k/issues/1282","id":53328676,"number":1282,"title":"How to check for List equality","user":{"login":"omarz1","id":7592333,"avatar_url":"https://avatars.githubusercontent.com/u/7592333?v=3","gravatar_id":"","url":"https://api.github.com/users/omarz1","html_url":"https://github.com/omarz1","followers_url":"https://api.github.com/users/omarz1/followers","following_url":"https://api.github.com/users/omarz1/following{/other_user}","gists_url":"https://api.github.com/users/omarz1/gists{/gist_id}","starred_url":"https://api.github.com/users/omarz1/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/omarz1/subscriptions","organizations_url":"https://api.github.com/users/omarz1/orgs","repos_url":"https://api.github.com/users/omarz1/repos","events_url":"https://api.github.com/users/omarz1/events{/privacy}","received_events_url":"https://api.github.com/users/omarz1/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-01-04T07:34:26Z","updated_at":"2015-01-04T08:17:57Z","closed_at":null,"body":"I have two Lists of Int with the same items in the same order, yet `List1 ==K List2` returns false. How do I do it?"},"comment":{"url":"https://api.github.com/repos/kframework/k/issues/comments/68625064","html_url":"https://github.com/kframework/k/issues/1282#issuecomment-68625064","issue_url":"https://api.github.com/repos/kframework/k/issues/1282","id":68625064,"user":{"login":"omarz1","id":7592333,"avatar_url":"https://avatars.githubusercontent.com/u/7592333?v=3","gravatar_id":"","url":"https://api.github.com/users/omarz1","html_url":"https://github.com/omarz1","followers_url":"https://api.github.com/users/omarz1/followers","following_url":"https://api.github.com/users/omarz1/following{/other_user}","gists_url":"https://api.github.com/users/omarz1/gists{/gist_id}","starred_url":"https://api.github.com/users/omarz1/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/omarz1/subscriptions","organizations_url":"https://api.github.com/users/omarz1/orgs","repos_url":"https://api.github.com/users/omarz1/repos","events_url":"https://api.github.com/users/omarz1/events{/privacy}","received_events_url":"https://api.github.com/users/omarz1/received_events","type":"User","site_admin":false},"created_at":"2015-01-04T08:17:57Z","updated_at":"2015-01-04T08:17:57Z","body":"`==KList` is found in the file k-equal.k but is not implemented. I tried to do the following but I can't use the `-Int` operator in this module because I can't import `INT-HOOKS` because that will create a circularity:\r\n\r\n```\r\n  // equality over KList\r\n  syntax Bool ::= KList \"==KList\" KList    [function, hook(KEqual:_==KList_)]\r\n  rule LK1:KList ==KList LK2:KList => \r\n    LK1[0] ==K LK2[0] andBool \r\n    range(LK1, 1, size(LK1) -Int 1) ==K range(LK2, 1, size(LK2) -Int 1)\r\n  when size(LK1) >Int 0 andBool size(LK2) >Int 0 \r\n  rule .List ==K .List => true\r\n```\r\n\r\nNow what?!"}}