#lang ivy1.7
type t
type r = struct {
f : t
}
var q : t
schema thing = {
property exists Y. f(Y) = X
property exists R. f(R) = q named foo
proof {
apply constructor[r]
property f(foo) = q