haskell-te: e46304ac7b621d8228f7a4a045cf0d1235fc4ab2
1: From: Chris Warburton
2: Date: Fri, 28 Jul 2017 14:40:33 +0100
3: State: resolved
4: Subject: Equation comparison seems to be missing some matches
5: Message-Id: <bdf42f45a49924b8-0-artemis@nixos>
6: resolution: fixed
7:
8: Running QuickSpec on list-full.smt, we get the following:
9:
10: {"relation":"~=","lhs":{"role":"application","lhs":{"role":"application","lhs":{"role":"application","lhs":{"role":"constant","type":"(Integer -> Integer -> Integer) -> Integer -> List Integer -> Integer","symbol":"foldl"},"rhs":{"role":"variable","type":"Integer -> Integer -> Integer","id":12}},"rhs":{"role":"variable","type":"Integer","id":0}},"rhs":{"role":"constant","type":"List Integer","symbol":"constructorNil"}},"rhs":{"role":"variable","type":"Integer","id":0}}
11: {"relation":"~=","lhs":{"role":"application","lhs":{"role":"application","lhs":{"role":"application","lhs":{"role":"constant","type":"(Integer -> Integer -> Integer) -> List Integer -> Integer -> Integer","symbol":"foldr"},"rhs":{"role":"variable","type":"Integer -> Integer -> Integer","id":12}},"rhs":{"role":"constant","type":"List Integer","symbol":"constructorNil"}},"rhs":{"role":"variable","type":"Integer","id":0}},"rhs":{"role":"variable","type":"Integer","id":0}}
12: {"relation":"~=","lhs":{"role":"application","lhs":{"role":"application","lhs":{"role":"constant","type":"List Integer -> List Integer -> List Integer","symbol":"append"},"rhs":{"role":"variable","type":"List Integer","id":3}},"rhs":{"role":"constant","type":"List Integer","symbol":"constructorNil"}},"rhs":{"role":"variable","type":"List Integer","id":3}}
13: {"relation":"~=","lhs":{"role":"application","lhs":{"role":"application","lhs":{"role":"constant","type":"(Integer -> Integer) -> List Integer -> List Integer","symbol":"map"},"rhs":{"role":"variable","type":"Integer -> Integer","id":9}},"rhs":{"role":"constant","type":"List Integer","symbol":"constructorNil"}},"rhs":{"role":"constant","type":"List Integer","symbol":"constructorNil"}}
14: {"relation":"~=","lhs":{"role":"application","lhs":{"role":"application","lhs":{"role":"constant","type":"List Integer -> List Integer -> List Integer","symbol":"append"},"rhs":{"role":"constant","type":"List Integer","symbol":"constructorNil"}},"rhs":{"role":"variable","type":"List Integer","id":3}},"rhs":{"role":"variable","type":"List Integer","id":3}}
15: {"relation":"~=","lhs":{"role":"application","lhs":{"role":"constant","type":"List Integer -> Integer","symbol":"destructorhead"},"rhs":{"role":"constant","type":"List Integer","symbol":"constructorNil"}},"rhs":{"role":"constant","type":"Integer","symbol":"undefined"}}
16: {"relation":"~=","lhs":{"role":"application","lhs":{"role":"constant","type":"List Integer -> List Integer","symbol":"reverse"},"rhs":{"role":"constant","type":"List Integer","symbol":"constructorNil"}},"rhs":{"role":"constant","type":"List Integer","symbol":"constructorNil"}}
17: {"relation":"~=","lhs":{"role":"application","lhs":{"role":"constant","type":"List Integer -> List Integer","symbol":"destructortail"},"rhs":{"role":"constant","type":"List Integer","symbol":"constructorNil"}},"rhs":{"role":"constant","type":"List Integer","symbol":"undefined"}}
18: {"relation":"~=","lhs":{"role":"application","lhs":{"role":"constant","type":"List Integer -> Nat","symbol":"length"},"rhs":{"role":"constant","type":"List Integer","symbol":"constructorNil"}},"rhs":{"role":"constant","type":"Nat","symbol":"constructorZ"}}
19: {"relation":"~=","lhs":{"role":"application","lhs":{"role":"constant","type":"Nat -> Nat","symbol":"destructorp"},"rhs":{"role":"constant","type":"Nat","symbol":"constructorZ"}},"rhs":{"role":"constant","type":"Nat","symbol":"undefined"}}
20: {"relation":"~=","lhs":{"role":"application","lhs":{"role":"application","lhs":{"role":"application","lhs":{"role":"constant","type":"(Integer -> Integer -> Integer) -> Integer -> List Integer -> Integer","symbol":"foldl"},"rhs":{"role":"variable","type":"Integer -> Integer -> Integer","id":12}},"rhs":{"role":"application","lhs":{"role":"application","lhs":{"role":"application","lhs":{"role":"constant","type":"(Integer -> Integer -> Integer) -> Integer -> List Integer -> Integer","symbol":"foldl"},"rhs":{"role":"variable","type":"Integer -> Integer -> Integer","id":12}},"rhs":{"role":"variable","type":"Integer","id":0}},"rhs":{"role":"variable","type":"List Integer","id":3}}},"rhs":{"role":"variable","type":"List Integer","id":4}},"rhs":{"role":"application","lhs":{"role":"application","lhs":{"role":"application","lhs":{"role":"constant","type":"(Integer -> Integer -> Integer) -> Integer -> List Integer -> Integer","symbol":"foldl"},"rhs":{"role":"variable","type":"Integer -> Integer -> Integer","id":12}},"rhs":{"role":"variable","type":"Integer","id":0}},"rhs":{"role":"application","lhs":{"role":"application","lhs":{"role":"constant","type":"List Integer -> List Integer -> List Integer","symbol":"append"},"rhs":{"role":"variable","type":"List Integer","id":3}},"rhs":{"role":"variable","type":"List Integer","id":4}}}}
21: {"relation":"~=","lhs":{"role":"application","lhs":{"role":"application","lhs":{"role":"application","lhs":{"role":"constant","type":"(Integer -> Integer -> Integer) -> List Integer -> Integer -> Integer","symbol":"foldr"},"rhs":{"role":"variable","type":"Integer -> Integer -> Integer","id":12}},"rhs":{"role":"application","lhs":{"role":"application","lhs":{"role":"constant","type":"List Integer -> List Integer -> List Integer","symbol":"append"},"rhs":{"role":"variable","type":"List Integer","id":3}},"rhs":{"role":"variable","type":"List Integer","id":4}}},"rhs":{"role":"variable","type":"Integer","id":0}},"rhs":{"role":"application","lhs":{"role":"application","lhs":{"role":"application","lhs":{"role":"constant","type":"(Integer -> Integer -> Integer) -> List Integer -> Integer -> Integer","symbol":"foldr"},"rhs":{"role":"variable","type":"Integer -> Integer -> Integer","id":12}},"rhs":{"role":"variable","type":"List Integer","id":3}},"rhs":{"role":"application","lhs":{"role":"application","lhs":{"role":"application","lhs":{"role":"constant","type":"(Integer -> Integer -> Integer) -> List Integer -> Integer -> Integer","symbol":"foldr"},"rhs":{"role":"variable","type":"Integer -> Integer -> Integer","id":12}},"rhs":{"role":"variable","type":"List Integer","id":4}},"rhs":{"role":"variable","type":"Integer","id":0}}}}
22: {"relation":"~=","lhs":{"role":"application","lhs":{"role":"application","lhs":{"role":"constant","type":"List Integer -> List Integer -> List Integer","symbol":"append"},"rhs":{"role":"application","lhs":{"role":"application","lhs":{"role":"constant","type":"Integer -> List Integer -> List Integer","symbol":"constructorCons"},"rhs":{"role":"variable","type":"Integer","id":0}},"rhs":{"role":"variable","type":"List Integer","id":3}}},"rhs":{"role":"variable","type":"List Integer","id":4}},"rhs":{"role":"application","lhs":{"role":"application","lhs":{"role":"constant","type":"Integer -> List Integer -> List Integer","symbol":"constructorCons"},"rhs":{"role":"variable","type":"Integer","id":0}},"rhs":{"role":"application","lhs":{"role":"application","lhs":{"role":"constant","type":"List Integer -> List Integer -> List Integer","symbol":"append"},"rhs":{"role":"variable","type":"List Integer","id":3}},"rhs":{"role":"variable","type":"List Integer","id":4}}}}
23: {"relation":"~=","lhs":{"role":"application","lhs":{"role":"application","lhs":{"role":"constant","type":"List Integer -> List Integer -> List Integer","symbol":"append"},"rhs":{"role":"application","lhs":{"role":"application","lhs":{"role":"constant","type":"List Integer -> List Integer -> List Integer","symbol":"append"},"rhs":{"role":"variable","type":"List Integer","id":3}},"rhs":{"role":"variable","type":"List Integer","id":4}}},"rhs":{"role":"variable","type":"List Integer","id":5}},"rhs":{"role":"application","lhs":{"role":"application","lhs":{"role":"constant","type":"List Integer -> List Integer -> List Integer","symbol":"append"},"rhs":{"role":"variable","type":"List Integer","id":3}},"rhs":{"role":"application","lhs":{"role":"application","lhs":{"role":"constant","type":"List Integer -> List Integer -> List Integer","symbol":"append"},"rhs":{"role":"variable","type":"List Integer","id":4}},"rhs":{"role":"variable","type":"List Integer","id":5}}}}
24: {"relation":"~=","lhs":{"role":"application","lhs":{"role":"constant","type":"List Integer -> Integer","symbol":"destructorhead"},"rhs":{"role":"application","lhs":{"role":"application","lhs":{"role":"constant","type":"Integer -> List Integer -> List Integer","symbol":"constructorCons"},"rhs":{"role":"variable","type":"Integer","id":0}},"rhs":{"role":"variable","type":"List Integer","id":3}}},"rhs":{"role":"variable","type":"Integer","id":0}}
25: {"relation":"~=","lhs":{"role":"application","lhs":{"role":"constant","type":"List Integer -> List Integer","symbol":"destructortail"},"rhs":{"role":"application","lhs":{"role":"application","lhs":{"role":"constant","type":"Integer -> List Integer -> List Integer","symbol":"constructorCons"},"rhs":{"role":"variable","type":"Integer","id":0}},"rhs":{"role":"variable","type":"List Integer","id":3}}},"rhs":{"role":"variable","type":"List Integer","id":3}}
26: {"relation":"~=","lhs":{"role":"application","lhs":{"role":"constant","type":"List Integer -> Nat","symbol":"length"},"rhs":{"role":"application","lhs":{"role":"application","lhs":{"role":"constant","type":"Integer -> List Integer -> List Integer","symbol":"constructorCons"},"rhs":{"role":"variable","type":"Integer","id":1}},"rhs":{"role":"variable","type":"List Integer","id":3}}},"rhs":{"role":"application","lhs":{"role":"constant","type":"List Integer -> Nat","symbol":"length"},"rhs":{"role":"application","lhs":{"role":"application","lhs":{"role":"constant","type":"Integer -> List Integer -> List Integer","symbol":"constructorCons"},"rhs":{"role":"variable","type":"Integer","id":0}},"rhs":{"role":"variable","type":"List Integer","id":3}}}}
27: {"relation":"~=","lhs":{"role":"application","lhs":{"role":"constant","type":"List Integer -> Nat","symbol":"length"},"rhs":{"role":"application","lhs":{"role":"application","lhs":{"role":"constant","type":"List Integer -> List Integer -> List Integer","symbol":"append"},"rhs":{"role":"variable","type":"List Integer","id":4}},"rhs":{"role":"variable","type":"List Integer","id":3}}},"rhs":{"role":"application","lhs":{"role":"constant","type":"List Integer -> Nat","symbol":"length"},"rhs":{"role":"application","lhs":{"role":"application","lhs":{"role":"constant","type":"List Integer -> List Integer -> List Integer","symbol":"append"},"rhs":{"role":"variable","type":"List Integer","id":3}},"rhs":{"role":"variable","type":"List Integer","id":4}}}}
28: {"relation":"~=","lhs":{"role":"application","lhs":{"role":"constant","type":"List Integer -> Nat","symbol":"length"},"rhs":{"role":"application","lhs":{"role":"application","lhs":{"role":"constant","type":"(Integer -> Integer) -> List Integer -> List Integer","symbol":"map"},"rhs":{"role":"variable","type":"Integer -> Integer","id":9}},"rhs":{"role":"variable","type":"List Integer","id":3}}},"rhs":{"role":"application","lhs":{"role":"constant","type":"List Integer -> Nat","symbol":"length"},"rhs":{"role":"variable","type":"List Integer","id":3}}}
29: {"relation":"~=","lhs":{"role":"application","lhs":{"role":"application","lhs":{"role":"constant","type":"(Integer -> Integer) -> List Integer -> List Integer","symbol":"map"},"rhs":{"role":"variable","type":"Integer -> Integer","id":9}},"rhs":{"role":"application","lhs":{"role":"constant","type":"List Integer -> List Integer","symbol":"reverse"},"rhs":{"role":"variable","type":"List Integer","id":3}}},"rhs":{"role":"application","lhs":{"role":"constant","type":"List Integer -> List Integer","symbol":"reverse"},"rhs":{"role":"application","lhs":{"role":"application","lhs":{"role":"constant","type":"(Integer -> Integer) -> List Integer -> List Integer","symbol":"map"},"rhs":{"role":"variable","type":"Integer -> Integer","id":9}},"rhs":{"role":"variable","type":"List Integer","id":3}}}}
30: {"relation":"~=","lhs":{"role":"application","lhs":{"role":"application","lhs":{"role":"constant","type":"(Integer -> Integer) -> List Integer -> List Integer","symbol":"map"},"rhs":{"role":"variable","type":"Integer -> Integer","id":9}},"rhs":{"role":"application","lhs":{"role":"constant","type":"List Integer -> List Integer","symbol":"destructortail"},"rhs":{"role":"variable","type":"List Integer","id":3}}},"rhs":{"role":"application","lhs":{"role":"constant","type":"List Integer -> List Integer","symbol":"destructortail"},"rhs":{"role":"application","lhs":{"role":"application","lhs":{"role":"constant","type":"(Integer -> Integer) -> List Integer -> List Integer","symbol":"map"},"rhs":{"role":"variable","type":"Integer -> Integer","id":9}},"rhs":{"role":"variable","type":"List Integer","id":3}}}}
31: {"relation":"~=","lhs":{"role":"application","lhs":{"role":"constant","type":"List Integer -> Integer","symbol":"destructorhead"},"rhs":{"role":"application","lhs":{"role":"application","lhs":{"role":"constant","type":"List Integer -> List Integer -> List Integer","symbol":"append"},"rhs":{"role":"variable","type":"List Integer","id":3}},"rhs":{"role":"variable","type":"List Integer","id":3}}},"rhs":{"role":"application","lhs":{"role":"constant","type":"List Integer -> Integer","symbol":"destructorhead"},"rhs":{"role":"variable","type":"List Integer","id":3}}}
32: {"relation":"~=","lhs":{"role":"application","lhs":{"role":"constant","type":"List Integer -> List Integer","symbol":"reverse"},"rhs":{"role":"application","lhs":{"role":"constant","type":"List Integer -> List Integer","symbol":"reverse"},"rhs":{"role":"variable","type":"List Integer","id":3}}},"rhs":{"role":"variable","type":"List Integer","id":3}}
33: {"relation":"~=","lhs":{"role":"application","lhs":{"role":"constant","type":"List Integer -> Nat","symbol":"length"},"rhs":{"role":"application","lhs":{"role":"constant","type":"List Integer -> List Integer","symbol":"reverse"},"rhs":{"role":"variable","type":"List Integer","id":3}}},"rhs":{"role":"application","lhs":{"role":"constant","type":"List Integer -> Nat","symbol":"length"},"rhs":{"role":"variable","type":"List Integer","id":3}}}
34: {"relation":"~=","lhs":{"role":"application","lhs":{"role":"constant","type":"Nat -> Nat","symbol":"destructorp"},"rhs":{"role":"application","lhs":{"role":"constant","type":"List Integer -> Nat","symbol":"length"},"rhs":{"role":"variable","type":"List Integer","id":3}}},"rhs":{"role":"application","lhs":{"role":"constant","type":"List Integer -> Nat","symbol":"length"},"rhs":{"role":"application","lhs":{"role":"constant","type":"List Integer -> List Integer","symbol":"destructortail"},"rhs":{"role":"variable","type":"List Integer","id":3}}}}
35: {"relation":"~=","lhs":{"role":"application","lhs":{"role":"constant","type":"Nat -> Nat","symbol":"destructorp"},"rhs":{"role":"application","lhs":{"role":"constant","type":"Nat -> Nat","symbol":"constructorS"},"rhs":{"role":"variable","type":"Nat","id":6}}},"rhs":{"role":"variable","type":"Nat","id":6}}
36: {"relation":"~=","lhs":{"role":"application","lhs":{"role":"constant","type":"Nat -> Nat","symbol":"constructorS"},"rhs":{"role":"application","lhs":{"role":"constant","type":"List Integer -> Nat","symbol":"length"},"rhs":{"role":"variable","type":"List Integer","id":3}}},"rhs":{"role":"application","lhs":{"role":"constant","type":"List Integer -> Nat","symbol":"length"},"rhs":{"role":"application","lhs":{"role":"application","lhs":{"role":"constant","type":"Integer -> List Integer -> List Integer","symbol":"constructorCons"},"rhs":{"role":"variable","type":"Integer","id":0}},"rhs":{"role":"variable","type":"List Integer","id":3}}}}
37: {"relation":"~=","lhs":{"role":"application","lhs":{"role":"application","lhs":{"role":"constant","type":"List Integer -> List Integer -> List Integer","symbol":"append"},"rhs":{"role":"application","lhs":{"role":"constant","type":"List Integer -> List Integer","symbol":"destructortail"},"rhs":{"role":"variable","type":"List Integer","id":3}}},"rhs":{"role":"variable","type":"List Integer","id":3}},"rhs":{"role":"application","lhs":{"role":"constant","type":"List Integer -> List Integer","symbol":"destructortail"},"rhs":{"role":"application","lhs":{"role":"application","lhs":{"role":"constant","type":"List Integer -> List Integer -> List Integer","symbol":"append"},"rhs":{"role":"variable","type":"List Integer","id":3}},"rhs":{"role":"variable","type":"List Integer","id":3}}}}
38: {"relation":"~=","lhs":{"role":"application","lhs":{"role":"application","lhs":{"role":"constant","type":"List Integer -> List Integer -> List Integer","symbol":"append"},"rhs":{"role":"application","lhs":{"role":"application","lhs":{"role":"constant","type":"(Integer -> Integer) -> List Integer -> List Integer","symbol":"map"},"rhs":{"role":"variable","type":"Integer -> Integer","id":9}},"rhs":{"role":"variable","type":"List Integer","id":3}}},"rhs":{"role":"application","lhs":{"role":"application","lhs":{"role":"constant","type":"(Integer -> Integer) -> List Integer -> List Integer","symbol":"map"},"rhs":{"role":"variable","type":"Integer -> Integer","id":9}},"rhs":{"role":"variable","type":"List Integer","id":4}}},"rhs":{"role":"application","lhs":{"role":"application","lhs":{"role":"constant","type":"(Integer -> Integer) -> List Integer -> List Integer","symbol":"map"},"rhs":{"role":"variable","type":"Integer -> Integer","id":9}},"rhs":{"role":"application","lhs":{"role":"application","lhs":{"role":"constant","type":"List Integer -> List Integer -> List Integer","symbol":"append"},"rhs":{"role":"variable","type":"List Integer","id":3}},"rhs":{"role":"variable","type":"List Integer","id":4}}}}
39: {"relation":"~=","lhs":{"role":"application","lhs":{"role":"application","lhs":{"role":"application","lhs":{"role":"constant","type":"(Integer -> Integer -> Integer) -> List Integer -> Integer -> Integer","symbol":"foldr"},"rhs":{"role":"variable","type":"Integer -> Integer -> Integer","id":12}},"rhs":{"role":"application","lhs":{"role":"application","lhs":{"role":"constant","type":"Integer -> List Integer -> List Integer","symbol":"constructorCons"},"rhs":{"role":"variable","type":"Integer","id":0}},"rhs":{"role":"constant","type":"List Integer","symbol":"constructorNil"}}},"rhs":{"role":"variable","type":"Integer","id":1}},"rhs":{"role":"application","lhs":{"role":"application","lhs":{"role":"application","lhs":{"role":"constant","type":"(Integer -> Integer -> Integer) -> Integer -> List Integer -> Integer","symbol":"foldl"},"rhs":{"role":"variable","type":"Integer -> Integer -> Integer","id":12}},"rhs":{"role":"variable","type":"Integer","id":0}},"rhs":{"role":"application","lhs":{"role":"application","lhs":{"role":"constant","type":"Integer -> List Integer -> List Integer","symbol":"constructorCons"},"rhs":{"role":"variable","type":"Integer","id":1}},"rhs":{"role":"constant","type":"List Integer","symbol":"constructorNil"}}}}
40: {"relation":"~=","lhs":{"role":"application","lhs":{"role":"application","lhs":{"role":"constant","type":"List Integer -> List Integer -> List Integer","symbol":"append"},"rhs":{"role":"application","lhs":{"role":"constant","type":"List Integer -> List Integer","symbol":"reverse"},"rhs":{"role":"variable","type":"List Integer","id":3}}},"rhs":{"role":"application","lhs":{"role":"constant","type":"List Integer -> List Integer","symbol":"reverse"},"rhs":{"role":"variable","type":"List Integer","id":4}}},"rhs":{"role":"application","lhs":{"role":"constant","type":"List Integer -> List Integer","symbol":"reverse"},"rhs":{"role":"application","lhs":{"role":"application","lhs":{"role":"constant","type":"List Integer -> List Integer -> List Integer","symbol":"append"},"rhs":{"role":"variable","type":"List Integer","id":4}},"rhs":{"role":"variable","type":"List Integer","id":3}}}}
41: {"relation":"~=","lhs":{"role":"application","lhs":{"role":"application","lhs":{"role":"constant","type":"(Integer -> Integer) -> List Integer -> List Integer","symbol":"map"},"rhs":{"role":"application","lhs":{"role":"application","lhs":{"role":"constant","type":"(Integer -> Integer -> Integer) -> List Integer -> Integer -> Integer","symbol":"foldr"},"rhs":{"role":"variable","type":"Integer -> Integer -> Integer","id":12}},"rhs":{"role":"constant","type":"List Integer","symbol":"constructorNil"}}},"rhs":{"role":"variable","type":"List Integer","id":3}},"rhs":{"role":"variable","type":"List Integer","id":3}}
42: {"relation":"~=","lhs":{"role":"application","lhs":{"role":"constant","type":"List Integer -> List Integer","symbol":"reverse"},"rhs":{"role":"application","lhs":{"role":"application","lhs":{"role":"constant","type":"Integer -> List Integer -> List Integer","symbol":"constructorCons"},"rhs":{"role":"variable","type":"Integer","id":0}},"rhs":{"role":"constant","type":"List Integer","symbol":"constructorNil"}}},"rhs":{"role":"application","lhs":{"role":"application","lhs":{"role":"constant","type":"Integer -> List Integer -> List Integer","symbol":"constructorCons"},"rhs":{"role":"variable","type":"Integer","id":0}},"rhs":{"role":"constant","type":"List Integer","symbol":"constructorNil"}}}
43: {"relation":"~=","lhs":{"role":"application","lhs":{"role":"application","lhs":{"role":"constant","type":"(Integer -> Integer) -> List Integer -> List Integer","symbol":"map"},"rhs":{"role":"application","lhs":{"role":"application","lhs":{"role":"constant","type":"(Integer -> Integer -> Integer) -> List Integer -> Integer -> Integer","symbol":"foldr"},"rhs":{"role":"variable","type":"Integer -> Integer -> Integer","id":12}},"rhs":{"role":"variable","type":"List Integer","id":3}}},"rhs":{"role":"application","lhs":{"role":"application","lhs":{"role":"constant","type":"Integer -> List Integer -> List Integer","symbol":"constructorCons"},"rhs":{"role":"variable","type":"Integer","id":0}},"rhs":{"role":"constant","type":"List Integer","symbol":"constructorNil"}}},"rhs":{"role":"application","lhs":{"role":"application","lhs":{"role":"constant","type":"Integer -> List Integer -> List Integer","symbol":"constructorCons"},"rhs":{"role":"application","lhs":{"role":"application","lhs":{"role":"application","lhs":{"role":"constant","type":"(Integer -> Integer -> Integer) -> List Integer -> Integer -> Integer","symbol":"foldr"},"rhs":{"role":"variable","type":"Integer -> Integer -> Integer","id":12}},"rhs":{"role":"variable","type":"List Integer","id":3}},"rhs":{"role":"variable","type":"Integer","id":0}}},"rhs":{"role":"constant","type":"List Integer","symbol":"constructorNil"}}}
44: {"relation":"~=","lhs":{"role":"application","lhs":{"role":"application","lhs":{"role":"constant","type":"List Integer -> List Integer -> List Integer","symbol":"append"},"rhs":{"role":"application","lhs":{"role":"constant","type":"List Integer -> List Integer","symbol":"reverse"},"rhs":{"role":"variable","type":"List Integer","id":3}}},"rhs":{"role":"application","lhs":{"role":"application","lhs":{"role":"constant","type":"Integer -> List Integer -> List Integer","symbol":"constructorCons"},"rhs":{"role":"variable","type":"Integer","id":0}},"rhs":{"role":"constant","type":"List Integer","symbol":"constructorNil"}}},"rhs":{"role":"application","lhs":{"role":"constant","type":"List Integer -> List Integer","symbol":"reverse"},"rhs":{"role":"application","lhs":{"role":"application","lhs":{"role":"constant","type":"Integer -> List Integer -> List Integer","symbol":"constructorCons"},"rhs":{"role":"variable","type":"Integer","id":0}},"rhs":{"role":"variable","type":"List Integer","id":3}}}}
45:
46: The ground-truth theorems for list-full.smt2 are the following:
47:
48: {"relation":"~=","lhs":{"role":"application","lhs":{"role":"application","lhs":{"type":"unknown","role":"constant","symbol":"append"},"rhs":{"type":"(List t)","role":"variable","id":0}},"rhs":{"type":"unknown","role":"constant","symbol":"constructorNil"}},"rhs":{"type":"(List t)","role":"variable","id":0}}
49: {"relation":"~=","lhs":{"role":"application","lhs":{"type":"unknown","role":"constant","symbol":"reverse"},"rhs":{"role":"application","lhs":{"type":"unknown","role":"constant","symbol":"reverse"},"rhs":{"type":"(List t)","role":"variable","id":0}}},"rhs":{"type":"(List t)","role":"variable","id":0}}
50: {"relation":"~=","lhs":{"role":"application","lhs":{"role":"application","lhs":{"type":"unknown","role":"constant","symbol":"map"},"rhs":{"type":"(=> i o)","role":"variable","id":0}},"rhs":{"role":"application","lhs":{"type":"unknown","role":"constant","symbol":"reverse"},"rhs":{"type":"(List i)","role":"variable","id":0}}},"rhs":{"role":"application","lhs":{"type":"unknown","role":"constant","symbol":"reverse"},"rhs":{"role":"application","lhs":{"role":"application","lhs":{"type":"unknown","role":"constant","symbol":"map"},"rhs":{"type":"(=> i o)","role":"variable","id":0}},"rhs":{"type":"(List i)","role":"variable","id":0}}}}
51: {"relation":"~=","lhs":{"role":"application","lhs":{"role":"application","lhs":{"role":"application","lhs":{"type":"unknown","role":"constant","symbol":"foldl"},"rhs":{"type":"(=> o (=> i o))","role":"variable","id":0}},"rhs":{"role":"application","lhs":{"role":"application","lhs":{"role":"application","lhs":{"type":"unknown","role":"constant","symbol":"foldl"},"rhs":{"type":"(=> o (=> i o))","role":"variable","id":0}},"rhs":{"type":"o","role":"variable","id":0}},"rhs":{"type":"(List o)","role":"variable","id":0}}},"rhs":{"type":"(List i)","role":"variable","id":0}},"rhs":{"role":"application","lhs":{"role":"application","lhs":{"role":"application","lhs":{"type":"unknown","role":"constant","symbol":"foldl"},"rhs":{"type":"(=> o (=> i o))","role":"variable","id":0}},"rhs":{"type":"o","role":"variable","id":0}},"rhs":{"role":"application","lhs":{"role":"application","lhs":{"type":"unknown","role":"constant","symbol":"append"},"rhs":{"type":"(List o)","role":"variable","id":0}},"rhs":{"type":"(List i)","role":"variable","id":0}}}}
52: {"relation":"~=","lhs":{"role":"application","lhs":{"type":"unknown","role":"constant","symbol":"length"},"rhs":{"role":"application","lhs":{"type":"unknown","role":"constant","symbol":"reverse"},"rhs":{"type":"(List t)","role":"variable","id":0}}},"rhs":{"role":"application","lhs":{"type":"unknown","role":"constant","symbol":"length"},"rhs":{"type":"(List t)","role":"variable","id":0}}}
53: {"relation":"~=","lhs":{"role":"application","lhs":{"role":"application","lhs":{"type":"unknown","role":"constant","symbol":"append"},"rhs":{"role":"application","lhs":{"role":"application","lhs":{"type":"unknown","role":"constant","symbol":"append"},"rhs":{"type":"(List t)","role":"variable","id":0}},"rhs":{"type":"(List t)","role":"variable","id":1}}},"rhs":{"type":"(List t)","role":"variable","id":2}},"rhs":{"role":"application","lhs":{"role":"application","lhs":{"type":"unknown","role":"constant","symbol":"append"},"rhs":{"type":"(List t)","role":"variable","id":0}},"rhs":{"role":"application","lhs":{"role":"application","lhs":{"type":"unknown","role":"constant","symbol":"append"},"rhs":{"type":"(List t)","role":"variable","id":1}},"rhs":{"type":"(List t)","role":"variable","id":2}}}}
54: {"relation":"~=","lhs":{"role":"application","lhs":{"role":"application","lhs":{"type":"unknown","role":"constant","symbol":"append"},"rhs":{"role":"application","lhs":{"type":"unknown","role":"constant","symbol":"reverse"},"rhs":{"type":"(List t)","role":"variable","id":0}}},"rhs":{"role":"application","lhs":{"type":"unknown","role":"constant","symbol":"reverse"},"rhs":{"type":"(List t)","role":"variable","id":1}}},"rhs":{"role":"application","lhs":{"type":"unknown","role":"constant","symbol":"reverse"},"rhs":{"role":"application","lhs":{"role":"application","lhs":{"type":"unknown","role":"constant","symbol":"append"},"rhs":{"type":"(List t)","role":"variable","id":1}},"rhs":{"type":"(List t)","role":"variable","id":0}}}}
55: {"relation":"~=","lhs":{"role":"application","lhs":{"role":"application","lhs":{"type":"unknown","role":"constant","symbol":"append"},"rhs":{"role":"application","lhs":{"role":"application","lhs":{"type":"unknown","role":"constant","symbol":"map"},"rhs":{"type":"(=> i o)","role":"variable","id":0}},"rhs":{"type":"(List i)","role":"variable","id":0}}},"rhs":{"role":"application","lhs":{"role":"application","lhs":{"type":"unknown","role":"constant","symbol":"map"},"rhs":{"type":"(=> i o)","role":"variable","id":0}},"rhs":{"type":"(List i)","role":"variable","id":1}}},"rhs":{"role":"application","lhs":{"role":"application","lhs":{"type":"unknown","role":"constant","symbol":"map"},"rhs":{"type":"(=> i o)","role":"variable","id":0}},"rhs":{"role":"application","lhs":{"role":"application","lhs":{"type":"unknown","role":"constant","symbol":"append"},"rhs":{"type":"(List i)","role":"variable","id":0}},"rhs":{"type":"(List i)","role":"variable","id":1}}}}
56: {"relation":"~=","lhs":{"role":"application","lhs":{"role":"application","lhs":{"role":"application","lhs":{"type":"unknown","role":"constant","symbol":"foldr"},"rhs":{"type":"(=> i (=> o o))","role":"variable","id":0}},"rhs":{"role":"application","lhs":{"role":"application","lhs":{"type":"unknown","role":"constant","symbol":"append"},"rhs":{"type":"(List i)","role":"variable","id":0}},"rhs":{"type":"(List i)","role":"variable","id":1}}},"rhs":{"type":"o","role":"variable","id":0}},"rhs":{"role":"application","lhs":{"role":"application","lhs":{"role":"application","lhs":{"type":"unknown","role":"constant","symbol":"foldr"},"rhs":{"type":"(=> i (=> o o))","role":"variable","id":0}},"rhs":{"type":"(List i)","role":"variable","id":0}},"rhs":{"role":"application","lhs":{"role":"application","lhs":{"role":"application","lhs":{"type":"unknown","role":"constant","symbol":"foldr"},"rhs":{"type":"(=> i (=> o o))","role":"variable","id":0}},"rhs":{"type":"(List i)","role":"variable","id":1}},"rhs":{"type":"o","role":"variable","id":0}}}}
57:
58: When pretty-printed, these are the found ones:
59:
60: ((foldl iii12) i0) constructorNil ~= i0
61: ((foldr iii12) constructorNil) i0 ~= i0
62: (append li3) constructorNil ~= li3
63: (map ii9) constructorNil ~= constructorNil
64: (append constructorNil) li3 ~= li3
65: destructorhead constructorNil ~= undefined
66: reverse constructorNil ~= constructorNil
67: destructortail constructorNil ~= undefined
68: length constructorNil ~= constructorZ
69: destructorp constructorZ ~= undefined
70: ((foldl iii12) (((foldl iii12) i0) li3)) li4 ~= ((foldl iii12) i0) ((append li3) li4)
71: ((foldr iii12) ((append li3) li4)) i0 ~= ((foldr iii12) li3) (((foldr iii12) li4) i0)
72: (append ((constructorCons i0) li3)) li4 ~= (constructorCons i0) ((append li3) li4)
73: (append ((append li3) li4)) li5 ~= (append li3) ((append li4) li5)
74: destructorhead ((constructorCons i0) li3) ~= i0
75: destructortail ((constructorCons i0) li3) ~= li3
76: length ((constructorCons i1) li3) ~= length ((constructorCons i0) li3)
77: length ((append li4) li3) ~= length ((append li3) li4)
78: length ((map ii9) li3) ~= length li3
79: (map ii9) (reverse li3) ~= reverse ((map ii9) li3)
80: (map ii9) (destructortail li3) ~= destructortail ((map ii9) li3)
81: destructorhead ((append li3) li3) ~= destructorhead li3
82: reverse (reverse li3) ~= li3
83: length (reverse li3) ~= length li3
84: destructorp (length li3) ~= length (destructortail li3)
85: destructorp (constructorS n6) ~= n6
86: constructorS (length li3) ~= length ((constructorCons i0) li3)
87: (append (destructortail li3)) li3 ~= destructortail ((append li3) li3)
88: (append ((map ii9) li3)) ((map ii9) li4) ~= (map ii9) ((append li3) li4)
89: ((foldr iii12) ((constructorCons i0) constructorNil)) i1 ~= ((foldl iii12) i0) ((constructorCons i1) constructorNil)
90: (append (reverse li3)) (reverse li4) ~= reverse ((append li4) li3)
91: (map ((foldr iii12) constructorNil)) li3 ~= li3
92: reverse ((constructorCons i0) constructorNil) ~= (constructorCons i0) constructorNil
93: (map ((foldr iii12) li3)) ((constructorCons i0) constructorNil) ~= (constructorCons (((foldr iii12) li3) i0)) constructorNil
94: (append (reverse li3)) ((constructorCons i0) constructorNil) ~= reverse ((constructorCons i0) li3)
95:
96: These are the ground truths:
97:
98: (append l0) constructorNil ~= l0
99: reverse (reverse l0) ~= l0
100: (map 0) (reverse l0) ~= reverse ((map 0) l0)
101: ((foldl 0) (((foldl 0) 0) l0)) l0 ~= ((foldl 0) 0) ((append l0) l0)
102: length (reverse l0) ~= length l0
103: (append ((append l0) l1)) l2 ~= (append l0) ((append l1) l2)
104: (append (reverse l0)) (reverse l1) ~= reverse ((append l1) l0)
105: (append ((map 0) l0)) ((map 0) l1) ~= (map 0) ((append l0) l1)
106: ((foldr 0) ((append l0) l1)) 0 ~= ((foldr 0) l0) (((foldr 0) l1) 0)
107:
108: It looks like (almost?) all of the ground truths appear, just with
109: different variable names. Yet the precision and recall for this come out
110: at 0 and 0.
Generated by git2html.