packages feed

liquid-fixpoint-0.9.6.3.4: tests/pos/len00.fq

// This qualifier saves the day; solve constraints WITHOUT IT

qualif ListZ(v : [@(0)]) { len v >= 0 }

constant len : (func(2, [(@(0)  @(1)); int]))

bind 0 yoink : {v : [(Tuple int a)] | [len v >= 0]}

constraint:
  env [0]
  lhs {v : [(Tuple int a)] | [v = yoink] }
  rhs {v : [(Tuple int a)] | [$k0]   }
  id 1 tag []

constraint:
  env []
  lhs {v : [(Tuple int a)] | [$k0]             }
  rhs {v : [(Tuple int a)] | [len v >= 0] }
  id 2 tag []

wf:
  env [ ]
  reft {v : [(Tuple int a)] | [$k0] }