我有一个证据,在我的假设中我有:
...
l0 : list
(list (ATrs.rule (Sig a)) * boolean * option (list positiveInteger) *
option cpf.dpProof)
H: forall
x : list (ATrs.rule (Sig a)) * bool * option (list positiveInteger) *
option cpf.dpProof,
In x l0 ->
(let (p, o) := x in
let (p0, _) := p in
let (dps, b) := p0 in
if b
then
match o with
| Some pi => bool_of_result (dpProof n R dps pi)
| None => false
end
else co_scc (dpg_unif_N 100 R D) dps) = true
ci : list (ATrs.rule (Sig a))
Hin : In ci l1
===========================
....
我被困在打破假设的技术上H
。如果我有论据x:list (ATrs.rule (Sig a)) * bool * option (list positiveInteger) *
option cpf.dpProof
和假设,Hx: In x l0
那么我可以使用策略:ded (H x Hx)
获取(let (p, ...)
.H
所以在这种情况下我不能使用ded (H ci Hin)
,因为ci
类型与x
in不同H
。
我想知道如何添加我想要的假设(x
和Hx
)?
非常感谢您的帮助。