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.