我有一个证据,在我的假设中我有:
...
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类型与xin不同H。
我想知道如何添加我想要的假设(x和Hx)?
非常感谢您的帮助。