私には証明があり、私の仮説には次のようなものがあります。
...
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
H
x
必要な仮説 (および)を追加するにはどうすればよいHx
ですか?
ご助力ありがとうございます。