Zulip Chat Archive
Stream: new members
Topic: How to return a proof in a product.
Julian Sutherland (Dec 09 2021 at 16:23):
I have a function that returns some finset
which I want to relate to one of the functions inputs:
evalStatement :
∀ ... {vars : finset Identifier}, ... → Σ vars' : finset Identifier, vars ⊆ vars' × ...
...
However, prod
is of type Type u → Type v → Type (max u v)
, and therefore I cannot pass to it an element of type Prop
. Is there some standard functor in Lean for lifting a Prop to Type 0
?
Huỳnh Trần Khanh (Dec 09 2021 at 16:26):
(deleted)
Kevin Buzzard (Dec 09 2021 at 16:27):
plift
?
Yakov Pechersky (Dec 09 2021 at 16:27):
pprod will accept proofs
Julian Sutherland (Dec 09 2021 at 16:33):
@Kevin Buzzard @Yakov Pechersky Both work for my use case! Thanks to you both! :)
Eric Wieser (Dec 09 2021 at 17:01):
Is it possible that instead of sigma
you want subtype
there?
Eric Wieser (Dec 09 2021 at 17:02):
{ vars' : finset Identifier // vars ⊆ vars' ∧ ... }
Julian Sutherland (Dec 09 2021 at 19:21):
That might be a better way of doing it, thank you :) I'll give it a try.
Last updated: Dec 20 2023 at 11:08 UTC