@kha I'm not sure if this is the right fix. I just avoided the loop that adds
`mk_expr_placeholder` if the function is not a projection.
I didn't spend time investigating why we need `mk_proj_app`.
I know the library doesn't compile if we don't use it, and just use
```
return mk_app(copy_tag(ref, mk_constant(S_name + fname)), e);
```
:)
19 lines
326 B
Text
19 lines
326 B
Text
def prod.foo (s : bool × bool) (fst : bool) : bool × bool :=
|
||
match s with
|
||
(a, b) := (fst, b)
|
||
end
|
||
|
||
variable s : bool × bool
|
||
|
||
#check prod.foo s
|
||
#check prod.foo s tt
|
||
#check s.foo
|
||
#check s.foo tt
|
||
|
||
def prod.foo2 {α β} (s : α × β) (fst : α) : α × β :=
|
||
match s with
|
||
(a, b) := (fst, b)
|
||
end
|
||
|
||
#check s.foo2
|
||
#check s.foo2 tt
|