liquid-fixpoint-8.10.7: tests/proof/list02.fq
fixpoint "--rewrite"
data Blob 0 = [
| VBlob { vgoo : Int }
]
data Vec 1 = [
| VCons { vhead : @(0) }
]
constant len : (func(1, [(Vec @(0)); int]))
constant hen : (func(1, [Blob; int]))
constant tt : (Vec bool)
constant bob : (Blob)
constant foo : (func(0, [Blob; Blob]))
match hen VBlob z = 10
match len VCons x = (hen (foo (VBlob 12)))
bind 0 thing : {v: int | true}
constraint:
env [0]
lhs {v : int | len (VCons 1) = 10 }
rhs {v : int | len (VCons 1) = 10 }
id 1 tag []
expand [1 : True]