Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个看起来像这样的目标:
x \in [seq (f v j) | j <- enum 'I_m & P v j] -> 0 < x
在上面,f是产生不等式的解的定义,v, j并且P v j是一个谓词,将 j 限制为满足另一个不等式的索引。
f
v, j
P v j
我已经证明了这一点Goal : P v j -> (f v j > 0),但是我如何使用它来证明它适用x于序列中的任何一个?我发现了一些相关的引理,比如nthP引入序列操作,我非常不熟悉。
Goal : P v j -> (f v j > 0)
x
nthP
提前致谢!
您需要使用mapP引理(表征membership wrt map):
mapP
mem
map
Lemma U m (P : rel 'I_m) f v x (hp : forall j, P v j -> f v j > 0) : x \in [seq f v j | j <- enum 'I_m & P v j] -> 0 < x. Proof. by case/mapP=> [y]; rewrite mem_filter; case/andP=> /hp ? _ ->. Qed.