packages feed

liquid-fixpoint-0.9.6.3.1: tests/pos/polyset.fq

data PolySet.Lst 1 = [
       | PolySet.Cons {PolySet.Cons##lqdc##$select##PolySet.Cons##1 : @(0), PolySet.Cons##lqdc##$select##PolySet.Cons##2 : (PolySet.Lst @(0))}
       | PolySet.Emp {}
     ]

constant PolySet.Cons##lqdc##$select##PolySet.Cons##1 : (func(1 , [(PolySet.Lst @(0));
                                                                   @(0)]))
constant PolySet.Cons##lqdc##$select##PolySet.Cons##2 : (func(1 , [(PolySet.Lst @(0));
                                                                   (PolySet.Lst @(0))]))
constant is$PolySet.Cons : (func(1 , [(PolySet.Lst @(0)); bool]))
constant is$PolySet.Emp : (func(1 , [(PolySet.Lst @(0)); bool]))
constant PolySet.Cons : (func(1 , [@(0);
                                   (PolySet.Lst @(0));
                                   (PolySet.Lst @(0))]))
constant PolySet.lstHd : (func(1 , [(PolySet.Lst @(0));
                                    (Set_Set @(0))]))

bind 1 PolySet.Emp : {VV : func(1 , [(PolySet.Lst @(0))]) | []}
bind 2 PolySet.Cons : {VV : func(1 , [@(0);
                                       (PolySet.Lst @(0));
                                       (PolySet.Lst @(0))]) | []}
bind 3 p : {VV : (PolySet.Lst l##a1Uh) | []}

constraint:
  env [1; 2; 3]
  lhs {VV : (PolySet.Lst (PolySet.Lst l##a1Uh)) | [(is$PolySet.Cons VV);
                                                   (~ ((is$PolySet.Emp VV)));
                                                   (VV = (PolySet.Cons p PolySet.Emp));
                                                   ((PolySet.Cons##lqdc##$select##PolySet.Cons##1 VV) =
                                                      p);
                                                   ((PolySet.Cons##lqdc##$select##PolySet.Cons##2 VV) =
                                                      PolySet.Emp);
                                                   ((PolySet.lstHd VV) = (Set_sng p))]}
  rhs {VV : (PolySet.Lst (PolySet.Lst l##a1Uh)) | [(VV =
                                                      (PolySet.Cons p PolySet.Emp))]}
  id 4 tag [4]